Sapphire Vega 64

Nerd Talk: Sapphire Vega 64 Nitro+ eGPU MacMini 2018 Windows 10 Error CODE 12

Vorwort:

Ich habe nun eine ganze Weile Windows 10 mit externer eGPU (Sapphire RX 580) am MacMini 2018 betrieben. Windows und Treiber aktuell, alles läuft fehlerfrei. 

Nun wollte ich auf eine Sapphire Vega 64 Nitro+ wechseln. Doch diese lässt sich unter Windows nicht starten. Er bootet…Monitor flackert wild und nichts geht mehr. Schalte ich die eGPU erst zu, wenn Windows gestartet ist, wird die Karte gefunden, lässt sich jedoch nicht aktivieren und wird mit einem CODE12 gekennzeichnet. Da diese Probleme ebenfalls mit Vega 56 und RX5700 Karten besteht, mit der RX580 jedoch nicht, vermute ich das es sich hier um ein Problem der Ressourcen Verteilung unter Windows handelt. Unter MacOS läuft die Vega 64 auch mit 2 Monitoren Plug&Play. Muss also schlussendlich am Betriebssystem liegen. Ich hatte unzählige Workarounds ausprobiert und war ziemlich gefrustet und kurz vorm Aufgeben. Zu guter letzt habe ich es doch hin bekommen und möchte meine Schritte gerne teilen.

Mein Hardware Aufbau sieht wie folgt aus:

Monitor 2 (über eGPU) ist mein Hauptmonitor und nutzt die volle Leistung der Vega 64. 

Monitor 1 (über HDMI am MacMini) dient unter MacOS als Zweitmonitor.


Zusammenfassung was gemacht werden muss.

  • Windows 10 wird in einer alten Version auf einer externen SSD installiert

  • Updates werden verhindert 

  • alle Grafikkarten Treiber deinstalliert

  • modifizierte Treiber aufgespielt.


Ob alle Schritte wirklich nötig sind kann ich nicht sagen. Hier mein Ablauf:


STEP 1

BootCamp Treiber Paket erstellen:

  1. MacOS starten mit eGPU eingeschaltet

  2. Programme > Dienstprogramme > Boot Camp-Assistent starten

  3. Leiste oben > Aktion > Windows Support Software laden > sichern unter z.B. USB Stick

Es wird ein Ordner „WindowsSupport“ erstellt indem passende Boot Camp Treiber für dein System enthalten sind.


Step 2

Rufus (Tool zum erstellen eines Bootfähigen Laufwerks) herunter laden:

https://rufus.ie


Step 3

Windows 10 Rev. 19.03 ISO herunter laden:

https://windowstan.com/win/windows-10-iso-v1903/

Datei: windowstan_Win10_1903_V1_EnglishInternational_x64.iso


STEP 4

Modifizierte AMD Radeon Adrenalin Treiber herunter laden:

https://www.bootcampdrivers.com

Downloads > 2020 Drivers > Erste Datei von oben:

  • Win10-Radeon-Software-Adrenalin-Jan2020-BootCamp-Red-Edition (Best FPS in Games)

Downloads > more Downloads > Windows10 > 2019drivers

  • W10-x64-Radeon-Software-Adrenalin-18.2.2-Bootcamp-XG-Edition-[RCert]

(Die Datein sind auf MEGA.NZ gespeichert. Download geht nur über Google Chrome oder Opera)


Step 5

“Windows to go” Laufwerk erstellen:
Die eGPU bleibt vorerst ausgeschaltet.

Wir brauchen einen Windows 10 Rechner zum Erstellen eines “Windows to go” Laufwerkes.

  1. Rufus starten

  2. Erweiterte Laufwerkseigenschaften aufklappen

  3. “USB Laufwerke anzeigen“ aktivieren

  4. Oben als Ziellaufwerk die USB SSD auswählen

  5. „Auswahl“ klicken und Windows 10 19.03 ISO auswählen

  6. Abbildungseigenschaft: Windows To Go 

  7. Das Filesystem sollte dann auf NTFS stehen

  8. Start drücken, 2 Fenster bestätigen, Windows 10 Home auswählen

  9. Durchlaufen lassen.

Kann sein das eine Fehlermeldung zwischenzeitlich kommt wenn er die Laufwerke deaktiviert und aktiviert. Das ist aber egal.

Ich habe mir abschließend noch einen Tools Ordner erstellt wo die 2 Radeon Adrenalin Treiber und Bootcamp Treiber enthalten sind. 


Step 6


Erster Windows start:

  1. Netzwerk Kabel abstecken!!!!!!!!

  2. Mac starten und „alt“ Taste gedrückt halten

  3. EFI Partition (Windows to go) auswählen

  4. “Offline einrichten” auswählen, wenn Windows nach der Netzwerkverbindung fragt. Da gibt es einen Button unten links für.

  5. Wenn Windows neu startet, wieder mit „Alt“ Taste die EFI Partition auswählen.

  6. Sobald Windows fertig eingerichtet, und man auf dem Desktop angekommen ist, müssen Windows Updates verhindert werden.


Windows Updates verhindern:

  1. unten in das Suchfeld „Service“ eintippen und die Service.app starten.

  2. Runter scrollen und Doppelklick auf „Windows Update“

  3. Automatische Updates auf „deaktivieren“ stellen und den „Dienststatus“ beenden.

Hinweis: Windows 10 19.03 ist die letzte Version die funktioniert. Jedes weitere Update bewirkt das die Karte nicht mehr startet.

Tipp: Ich persönlich brauche kein Anmelde Passwort für Win to Go Laufwerk wo nur Games sind. Daher habe ich diese Deaktiviert. „Netplwiz“ in der Suchleiste eintippen um die automatische Anmeldung zu deaktivieren.


Step 7

Boot Camp Treiber installieren:

  1. Netzwerk Kabel einstecken.

  2. Die Setup Datei aus dem BootCamp Treiber starten (Ich denke für die PCI Schnittstelle ist dieser Schritt nicht ganz unwichtig. Kann aber auch sein das er unnötig ist).

  3. Sollte er danach neu starten wollen, mache dies.

  4. Zurück in Windows wird die eGPU eingeschaltet.

  5. Suchfeld Geräte Manager / Devices eintippen und starten. 

Bei mir werden 2 Grafikkarten „Microsoft Basic Display Adapter“ verzeichnet, wovon die Vega 64 mit einem Warnschild versehen ist (Code12).


Step 8

Grafikkarten Treiber löschen:

Als nächstes werden alle Grafikkarten Treiber mit dem Tool DDU restlos gelöscht und verhindert das Windows neue suchen kann.

  1. „Advance Start-Up options“ im Suchfeld eintippen und auf “Restart” klicken.

  2. eGPU ausschalten!

  3. Bei Neustart wieder mit „Alt“ Taste die EFI Partition auswählen.

  4. Auswahl: Troubleshoot > Advanced Options > Start-up Settings > restart

  5. Bei Neustart wieder mit „Alt“ Taste die EFI Partition auswählen.

  6. Mit Taste 4 den „Enable Safe Mode“ auswählen um im abgesicherten Modus zu starten.

  7. Wenn Windows fertig geladen ist, startest du die DDU App aus dem Adrenalin Jan 2020 Ordner. Diese muss ggf erst entpackt werden.

  8. Hier unter Options einen Harken bei „Prevent downloads of drivers from windows update when Windows search for a driver for a device“ setzen. Dann das Options Fenster wieder schließen.

  9. Auf der rechten Seite auf „select device Type“ klicken und AMD auswählen.

  10. Danach oben links „Clean and restart“ klicken.

  11. Er entfernt restlos alle Treiber und startet neu.

  12. Bei Neustart wieder mit „Alt“ Taste die EFI Partition auswählen.


Step 9

Neuinstallation Treiber:

Wir haben 2 Adrenalin Pakete bestehend aus Treiber und Software.

Die 2020 zu installieren funktioniert nicht da Windows die Karte nicht aktiviert bekommt. Die Installation bricht ab.

Mit einem Trick geht es aber dennoch:

  1. Du nimmst die 2019er Treiber (18.2.2.). Die Software läuft durch und ist installiert, die Karte startet dennoch nicht.

  2. Neustart.

  3. Im Gerätemanager (devices in die Suchleiste unten eintippen) sind nun beide Karten verzeichnet. 

  4. Die mit gelben Warnzeichen versehene ist die Vega 64. (Kann man in den Details auch erkennen. Diese wird mit Code 12 gekennzeichnet)

  5. Hier gehen wir mit rechter Maustaste auf die Auswahl update Driver. Wir wählen „Browse my Computer for Driver Software“.

  6. Wir geben den Adrenalin 2020 Ordner an. Jetzt findet er einen Vega 64 Treiber und installiert ihn. 

  7. Neustart, eGPU einschalten und in Windows booten.

Jetzt sollte die eGPU mit dem angeschlossenen Monitor 2 funktionieren. Der Monitor 1 zeigt nur noch ein Windows Logo und kann nicht mehr verwendet werden. An die eGPU können wir natürlich mehrere Monitore betreiben.

Jetzt haben wir 2020 Treiber und 2019 Software.

Da die Vega 64 nun Treiber hat und aktiv funktioniert, kann man die Adrenalin 2020 Software einfach nochmal drüber installieren und man hat nun alle Funktionen der Software zur Verfügung.


Schlusswort

Abschließend sei noch einmal darauf hingewiesen das die Windows 10 Rev. 19.03 die letzte Version ist, wo man die Code12 Problematik noch beheben kann. Windows auf einer alten Version zu betreiben ist vielleicht nicht die beste Lösung, aber aktuell halt die Einzige.

Ich hoffe ich konnte dir mit meinem Bericht helfen deine Karte ebenfalls zum laufen zu bekommen.


Step 10

Nachtrag:

Es hat sich nun noch eine weitere Sache ergeben. Windows Updates ist zwar als Service in Step 6 deaktiviert, wird von Windows Updates dennoch angestoßen. Standardmäßig sind hier 7 Tage eingestellt, sie lassen sich auf 35Tage erweitern, jedoch nicht ohne weiteres abstellen. Bei mir wurde ein Update beim herunterfahren installiert und promt ging die Grafikkarte nicht mehr. Also wieder Neustarten mit ausgeschalteter eGPU. Systemsteuerung -> Update&Security -> View update History -> Uninstall Updates und dort die letzten Updates deinstallieren. Nach dem Neustart geht die eGPU dann wieder.

Um die Funktion der “temporäre Pause” ganz ab zu schalten sind leider wieder einige Schritte nötig. Du musst dazu das Tool "Group Policy Editor” starten indem du unten in der Suchzeile “gpedit.msc” eintippst. Voraussichtlich ist dieses in der Windows 10 Home nicht enthalten, kann aber nachinstalliert werden.

Rechte Maustaste auf Desktop -> New -> Text Document

In diese trägst du folgenden Text ein:

@echo off
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause

Jetzt “save as” und dort mit einem beliebigen Dateiname + die Endung .bat (z.B. batch.bat) speichern. Die Datei dann ausführen indem du mit rechter Maustaste “Run as Administrator” drauf klickst. Die Datei lädt dann entsprechende Datein herunter.

Diese Info habe ich auf Giga.de gefunden.

Nun sollte die Datei gpedit.msc über die Suchleiste unten ausführbar sein.

Ist das Tool Local Group Editor gestartet, browsen wir links zu folgendem Pfad:

-> Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update

Dort suchen wir auf der rechten Seite den Eintrag “Remove access to Pause update features” und doppelklicken darauf. Es öffnet sich ein Fenster. Du klickst auf “Enabled” und dann auf Apply und Ok. Es klingt erst einmal falsch herum aber wir müssen das “Removen” der Funktion ja aktivieren.

Danach sollte zwar der Button “Check for Updates” und auch die “Pause updates for 7 Days” noch in den Windows Update Einstellungen vorhanden sein, funktionieren aber nicht mehr und werden beim aktivieren mit einem “Error encountered…There are some Problems installing updates..” betitelt.

Über den gleichen Weg kannst du auch die Update Funktion wieder herstellen.

NACHTRAG August 2020:

Nachdem Windows immer noch versucht alle 35Tage Updates oder neue Programme zu installieren habe ich nach einer weiteren Lösung gesucht und bin mit dem kostenfreien Tool “Win Update Stop” weiter gekommen. Hier wird direkt angezeigt ob Updates aktuell ein- oder ausgeschaltet sind. Mit einem Knopfdruck lässt sich das ganze dann abschalten. Bleibt zu hoffen das Windows nun Ruhe gibt.

Des weiteren habe ich mit dem Game “Star Wars: Fallen Order” bei den aktuellen Sommertemperaturen das Netzteil der eGPU thermisch an sein Limit gebracht. Das Spiel belastet die Grafikkarte ungewöhnlich stark was sich in der Leistungsaufnahme trotz Undervolting und 60fps Limit mit ca. 230Watt bemerkbar macht. Trotz des hohen Stromverbrauches der Vega64 sollte das Netzteil keine Probleme damit haben. Es kann also am ausgetauschten Silent Lüfter liegen der ggf nicht denselben Luftdurchsatz hat, bzw nicht den selben Druck ausüben kann. Ich hatte bemerkt das zwischen Netzteil und Gehäuse ein feines Staubfanggitter sitzt. Am Luftaustritt ein Staubschutz? damit der Staub im Netzteil bleibt? Also…raus damit. Gefühlt kommt nun mehr Luft aus dem Netzteil und ich hoffe eine Verbesserung der Temperatur. Eine weitere mögliche Verbesserung der Kühlung wäre sicher der Austausch gegen ein Netzteil mit großem Seitenlüfter wie z.B. das modulare Corsair SF750 welches in der Community oftmals empfohlen wird. So wird viel besser kalte Luft von beiden Seiten der ePGU eingesaugt, und hinten wieder ausgegeben. Der Preis liegt aktuell bei stolzen 149€. Vorteil hierbei soll sein, das zu dem modularen Kabelsystem noch die Tatsache kommt, das der Lüfter erst bei ca. 300W anfängt zu drehen.

Ich hoffe das hat ebenfalls geholfen.