Umstellung der Grafikkarte funktioniert nicht

paxtn

Captain
Registriert
März 2007
Beiträge
3.660
Hallo zusammen,

ich bin vor geraumer Zeit von Windows aus auf die aktuelle Linux Mint Version gewechselt und es funktioniert soweit alles tadellos.

Nun hatte ich gesehen, dass mit PCI Passthrough betriebene virtuelle Maschinen angebliche fast dieselbe Leistung (ca. 5 % weniger als bei Windows) bei Games liefern. Ich spiele derzeit eigentlich primär nur ein Game (Tom Clancy The Division 2) und möchte das gerne weiterhin spielen. Aktuell habe ich extra dafür ein Dualboot, aber so eine VM (auch wenn die Performance minimal schlechter ist) wäre eine gute Lösung.

Mein System: AMD Ryzen 1700, Gigabyte AX370-Gaming5, 16 GB RAM, ASUS RX570 Expedition (für die Windows VM) und Palit Nvidia 750ti (für das Linux System).

Ich habe mir schon viele How-Tos angeschaut, darunter https://forums.linuxmint.com/viewtopic.php?f=231&t=212692&sid=557bf95a236b9831b7e4c447dfd6ea32 und https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/.

IOMMU habe ich auch schon aktiviert, aber ich bekomme es einfach nicht hin, das Linux nach dem Start nur auf nVidia-Karte laufen zu lassen. Ich bin auch auf der folgenden Webseite schon alle Schritte genauestens durchgegangen: https://heiko-sieger.info/blacklisting-graphics-driver/#Using_a_module_alias .

Was passiert:

Wenn der PC startet liefern beide Grafikkarten ein Signal. Dann komme ich zum Screen, wo ich das Entschlüsselungspasswort eingebe. Dieser Screen ist über die nVidia Grafikkarte richtigerweise zu sehen. Wenn ich das eingegeben habe und er die Entschlüsselung durchgeführt hat, dann liefert die nVidia Grafikkarte kein Signal mehr und die AMD-Grafikkarte liefert nur ein schwarzes Display (wahrscheinlich, weil der Grafiktreiber hierfür deaktiviert wurde).

Ich finde leider keine weiteren Informationen im Internet und hoffe auf eure Rückmeldung und Hilfe.

Vielen Dank schon einmal im Voraus.

Viele Grüße
 
Kannst dich nach dem booten mal per SSH verbinden um zu sehen ob überhaupt eine graka treiber aktiv ist.

dmesg könnte vlt auch was Sinnvolles anzeigen. ist halt nicht einfach zu sagen, ohne Fehler was dir Ursache iat..
 
Hast du ein Grub Menu beim Starten ? (sonst siehe unten oder hier)
Dann dort die Kommandozeile editieren: das quiet entfernen und dann single einfügen für den "Single User Mode". Das sollte dann mehr Text ausgeben und es nicht in einen Grafikmodus booten, der nicht funktioniert. Außerdem gibt es diverse Möglichkeiten zum Einstellen von Modulparametern oder Blacklisten von Modulen. Dokumentation vga=ask oder ein anderer Modus und module_blacklist= helfen vielleicht als Ansatzpunkt.

Keine Ahnung ob du es schaffst ohne Grafik / Konsole also blind den SSH Server einzuschalten.

Dann entweder das System neu aufsetzen oder von einem USB Stick ein Livesystem starten und von dort mittels chroot dann die Grub Konfiguration ändern und die Module korrekt einrichten beziehungsweise die Blacklists entfernen.

Ansonsten sollte Grub "problemlos" den Kernel starten.
Falls Xorg nicht funktioniert, dann gibt es noch die virtuellen Konsolen (STRG+ALT+F1 bis F7) in denen Kommandos eingegeben werden können, falls der Nvidia-Treiber irgendwie den Xserver kaputtgemacht hat.

Ansonsten hilft bei Problemen oft die Ausgabe von dmesg
 
Es scheint so, dass er sich jedes Mal aufgehängt hatte. Er war nicht mehr ansprechbar und hat auch auf nichts mehr reagiert.
Ich habe dann noch einige andere Vorgehensweisen probiert und dann einfach mal den Spieß umgedreht und anstatt der AMD die nvidia Grafikkarte treibertechnisch deaktiviert.
Das hat dann auch auf Anhieb direkt funktioniert.

Das zeigt mir, dass die Grafikkarte zu alt ist und in dieser Situation scheinbar nicht funktioniert. Ich werde nun versuchen möglichst günstig eine rx 550 zu bekommen und hoffe, dass es dann problemlos funktioniert.
 
Edit: Habe eben nochmal Deinen Post gelesen. Also Linux bootet ohne Grafiktreiber. Wenn möglich, dann über ssh mit dem PC verbinden und den Linux-Grafiktreiber manuell installieren.

Schau aber auch mal im BIOS nach: In welchem PCI -Slot steckt die Grafikkarte, die für Linux verwendet wird, in welchem die für Windows? Vielleicht musst Du im BIOS angeben, mit welcher GK der Rechner booten soll.

Wenn nichts hilft, ist es manchmal am einfachsten, die Grafikkarten auszutauschen, d.h. AMD in den Nvidia Slot und umgekehrt.

Wenn Du mal wieder in Linux bist, gilt dann das, was hier unten steht.

Originalpost:

Hallo paxtn. Habe gesehen, dass Du mein Tutorial versucht hast. Leider habe ich wenig Erfahrung mit AMD-Grafikkarten, doch haben sich immer wieder Anwender mit Problemen und Problemlösungen gemeldet.

Zur RX570 habe ich kürzlich einige Posts in Reddit gefunden. Wenn du in meinem How-to unter Abschnitt Troubleshooting schaust, findest Du einige Hinweise und weiterführende Links - siehe https://heiko-sieger.info/running-w...with-vga-passthrough/#Part_12_Troubleshooting

Wenn ich es richtig gelesen habe, bootest Du Linux mit der Nvidia und willst die AMD für Windows nehmen. Als erstes mußt du schauen, dass die RX570 an den vfio-pci-Treiber gebunden ist:

Did vfio load and bind to the graphics card?
lspci -kn | grep -A 2 02:00
where 02:00 is the bus number of the graphics card to pass to Windows. Here the output on my PC:
02:00.0 0300: 10de:13c2 (rev a1)
Subsystem: 1458:3679
Kernel driver in use: vfio-pci
02:00.1 0403: 10de:0fbb (rev a1)
Subsystem: 1458:3679
Kernel driver in use: vfio-pci

Ersetze 02:00 mit der PCI-ID Deiner Grafikkarte.

Wenn das der Fall ist, siehe unbedingt diesen Teil: https://heiko-sieger.info/running-w...ssthrough/#AMD_Vega_RX_5700_XT_Graphics_Cards

Falls Deine Karte anstatt zwei Devices (Grafik und Audio) 3 Devices listet, z.B. eine PCI-Bridge, solltest Du wie in obigem Post beschrieben das Startscript ergänzen. Zum Prüfen, welche Devices die Grafikkarte besitzt, verwendest Du:

lspci -tv

Bei mir ist der Output:

\-[0000:00]-+-00.0 Intel Corporation Xeon E5/Core i7 DMI2
+-01.0-[03]--
+-02.0-[01]--+-00.0 NVIDIA Corporation GF106GL [Quadro 2000]
| \-00.1 NVIDIA Corporation GF106 High Definition Audio Controller
+-03.0-[02]--+-00.0 NVIDIA Corporation GM204 [GeForce GTX 970]
| \-00.1 NVIDIA Corporation GM204 High Definition Audio Controller

Die Ergänzung im Startscript ist dann unter qemu-system...
...
...
-device ioh3420,id=root_port1,chassis=1,slot=2,bus=pcie.0 \
-device x3130-upstream,id=upstream_port1,bus=root_port1 \
-device xio3130-downstream,id=downstream_port1,chassis=11,slot=21,bus=upstream_port1 \
-device vfio-pci,host=05:00.0,bus=downstream_port1,multifunction=on \
-device vfio-pci,host=05:00.1,bus=downstream_port1 \

Hoffe sehr, dass es klappt. Ist schon schön, wenn man Windows einfach laden kann, wenn man es braucht, aber sonst nur Linux nimmt.

Viel Erfolg!
 
Zuletzt bearbeitet:
Hallo Heiko,

vielen Dank für die Hinweise. Ich werde mich die Tage nochmal daran versuchen und auf keinen Fall aufgeben ;)

Ich werde dann hier nochmal eine Rückmeldung geben.

Viele Grüße
 
Viel Glück beim PCI Passthrough! Das Ergebnis würde mich auch interessieren, da ich aktuell auf der Suche nach einem Upgrade für meine alte GTX 970 bin. Wenn die Finanzen es zulassen, will ich im Winter einen neuen PC bauen.
 
powerhouse schrieb:
Schau aber auch mal im BIOS nach: In welchem PCI -Slot steckt die Grafikkarte, die für Linux verwendet wird, in welchem die für Windows? Vielleicht musst Du im BIOS angeben, mit welcher GK der Rechner booten soll.

Wenn nichts hilft, ist es manchmal am einfachsten, die Grafikkarten auszutauschen, d.h. AMD in den Nvidia Slot und umgekehrt.

Das wars auch. Ich habe im BIOS den priorisiertem PCIe Slot umgestellt und dann hatte es auch funktioniert.

Leider hat es mit der VM nicht funktioniert. Ich habe nun massig diverse Konfigurationen durchprobiert und bei der Letzten ist der Rechner komplett eingefroren (nicht nur die GUI). Ich musste einen Hard-Reset durchführen, wobei die Partitionen (inkl. root Partition) so beschädigt wurden, dass selbst mit einem Live-Stick keine Rettung mehr möglich war und ich das System dann vom Backup restoren musste.

Ich habe die Vermutung, dass die nVidia Karte Probleme bekommt, sobald ich die VM starte. Aus zeitlichen Gründen muss ich das Vorhanden erstmal verschieben und werde es irgendwann nochmal probieren.

powerhouse schrieb:
Viel Glück beim PCI Passthrough! Das Ergebnis würde mich auch interessieren, da ich aktuell auf der Suche nach einem Upgrade für meine alte GTX 970 bin. Wenn die Finanzen es zulassen, will ich im Winter einen neuen PC bauen.

Viel Erfolg dabei. Es ist nicht einfach, auch wenn es sich immer so einfach liest und auch bei Youtube so easy aussieht. ;)
 
Wenn Du eine Nvidia-Karte an die VM durchreichst, musst Du unbedingt folgende Option im Script angeben:

-cpu host,kvm=off \

Damit wird verhindert, dass Nvidia erkennt, dass es in einer virtualisierten Umgebung läuft.

Falls Du virt-manager verwendest, mußt Du im Internet schauen, wie man die Option in die xml-Datei einträgt.
 
Andersherum, die AMD-Karte sollte durchgereicht werden und nVidia Karte war für das Linux System.
 
OK, ich habe kürzlich einige Trouble Shooting Tips auch für AMD Karten aufgenommen. Leider muss ich mich auf die Erfahrung anderer verlassen, da ich selbst keine neue AMD Karte besitze und wohl auch nicht kaufe.

Leider gibt es mit manchen AMD-Karten immer wieder Schwierigkeiten. Am besten, du googlest nach deiner Karte und "passthrough" bzw. in den einschlägigen Foren. Oft gibt es Lösungen oder Work-Arounds.
 
Zurück
Oben