[SOLVED] Probleme mit Passthrough von Grafikkarte in VM


meggo

Recommended Posts

Dein Soundkarten-Eintrag:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>

ganz unten bei dem Soundkarten-Eintrag muss 2x => function='0x1' sein, du hast es nur einmal.

Ich glaub allerdings nicht, dass dies die Ursache ist...

Ich hab gestern noch Fotos von meinen BIOS Einstellungen gemacht, die poste ich nachher.

Link to comment

ok, nun meine Bilder vom BIOS.

Wichtig hier vor allem die von mir markierten/beschrifteten Bilder 05 und 07 (IOMMU & SR-IOV). Beide Optionen habe ich aktiviert / aktivieren müssen, damit die Grafikkarte ordentlich durchgereicht wird. Auch ich hatte den Fehler 43, aber leider muss ich zugeben, dass ich nicht mehr weiß welcher Schritt nun zum Erfolg geführt hat....

Eine Möglichkeit die Hauptgrafikkarte auszuwählen habe ich im BIOS nicht; er nimmt immer die erste.
Ich habe allerdings festgestellt, dass der Monitor schon vor dem Serverstart auf dem richtigen Port (HDMI/DP/DVI/...) stehen muss, da ich sonst kein Bild bekomme......

 

01.thumb.jpg.be6c4d41b6bdb15c999ef4954524da34.jpg

02.thumb.jpg.6e32c86a28ea8ab3b1bf1b6b32708898.jpg

 

 

----------------------------------- SR-IOV -----------------------------------

05_sriov.thumb.jpg.09107af01c82bb07669029324ce57fdb.jpg

 

 

 

06.thumb.jpg.d967c02aefbccbca92238240605a85fc.jpg

 

 

----------------------------------- IOMMU -----------------------------------

07_iommu.thumb.jpg.b75012a4e92c8122f0f0a19725378f0e.jpg

 

 

08.thumb.jpg.ffd341ca803b6fb424a381427c691f6a.jpg

 

09.thumb.jpg.6e4bdf613ebb16207804bfecf5b308f9.jpg

 

Noch 2-3 Quellen zum lesen:

https://www.thomas-krenn.com/de/wiki/Virtualisierungsfunktion_SR-IOV_aktivieren

https://www.thomas-krenn.com/de/wiki/Intel_VT_Virtualisierungsfunktionen_im_%C3%9Cberblick?xtxsearchselecthit=1

https://www.andysblog.de/virtualisierung-intel-vt-d-und-amd-vi-iommu

 

Edited by vakilando
Quellen zum Lesen hinzugefügt
  • Like 1
Link to comment

Danke für die Bilder. im groben und ganzen sieht es bei mir genau so aus. Gut, die Bilder sind von ASUS, mein Board ist ASRock. Da finde ich nicht alle Punkte bis ins kleinste Detail so.

 

Doch die beiden wichtigen Punkte hab ich mir genauer angesehen:

 

1 hour ago, vakilando said:

----------------------------------- SR-IOV -----------------------------------

War bei mir deaktiviert, habe ich aktiviert.

 

1 hour ago, vakilando said:

----------------------------------- IOMMU -----------------------------------

Diesen Punkt finde ich nicht bei mir, auch im Mainboard Handbuch kann ich nach dem Begriff suchen: Ohne Erfolg. 

Ist dieses I/O-MMU nicht das selbe wie VT-D? 

IOMMU ist nur bei AMD zu finden und ist das selbe wie Intels VT-D, das habe ich bereits schon aktiviert.

 

Bei mir ist jedenfalls SR-IOV nun aktiviert und VT-D war schon immer aktiviert. Dennoch: Fehler 43...

Edited by meggo
IOMMU ist das selbe wie Intels VT-D, das war bereits aktiviert
Link to comment

hmpf!

Hab das hier noch gefunden und poste es mal, da es von meinen Einstellungen abweicht: https://www.reddit.com/r/unRAID/...

Kurzfassung: 

Quote

What helped fix my problem was changing 'VFIO allow unsafe interrupts' setting to 'Yes', and the 'PCIe ACS override' setting to 'Both'.
Didn't even need a BIOS dump to get it to work :)

 

Meine Einstellungen:

PCIe ACS override:            Multi-function
VFIO allow unsafe interrupts: No

 

Link to comment
On 11/14/2020 at 3:52 PM, vakilando said:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/disks/UD_SSD480_1/vm-domains-ud/vbios/nvidia-gtx1050ti-nvflash.rom'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x09' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </hostdev>

In der ursprünglichen Zeile der Grafikkarte habe ich folgendes am Ende hinzugefügt:  multifunction='on'

In der Zeile für die Soundkarte habe ich "slot" angepasst auf den Slot der Grafikkarte: also "0x05" und bei 'function' auf "0x1":

<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>

Auch wenn dir dieser Post nicht beim Fehler 43 helfen wird......., ich habe gerade den Fehler gefunden warum bei meiner Linux VM plötzlich der Sound nicht mehr ging: Ich hatte den "bus" nicht angepasst!

Richtig muss der letzte Satz folgendermaßen heißen:

In der ursprünglichen Zeile der Grafikkarte habe ich folgendes am Ende hinzugefügt:  multifunction='on'

In der Zeile für die Soundkarte habe ich "bus" und "slot" angepasst auf den Bus bzw. Slot der Grafikkarte:

<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>

 

Link to comment
hmpf!
Hab das hier noch gefunden und poste es mal, da es von meinen Einstellungen abweicht: https://www.reddit.com/r/unRAID/...
Kurzfassung: 
What helped fix my problem was changing 'VFIO allow unsafe interrupts' setting to 'Yes', and the 'PCIe ACS override' setting to 'Both'.
Didn't even need a BIOS dump to get it to work

 
Meine Einstellungen:
PCIe ACS override:            Multi-functionVFIO allow unsafe interrupts: No

 

Okay, danke, werde das auch noch mal probieren......

Eine Frage zu dem BIOS extrahieren der Graka: Ich versuche die nächsten Tage das BIOS meiner Karte mal zu extrahieren. Muss ich die .rom Datei dann noch bearbeiten? Also wie spaceinvader das gemacht hat (die ersten Zeilen löschen und als .dump Datei abspeichern), oder geht das dann direkt mit der extrahierten Datei?


Gesendet von iPhone mit Tapatalk

Link to comment
6 minutes ago, meggo said:

Eine Frage zu dem BIOS extrahieren der Graka: Ich versuche die nächsten Tage das BIOS meiner Karte mal zu extrahieren. Muss ich die .rom Datei dann noch bearbeiten? Also wie spaceinvader das gemacht hat (die ersten Zeilen löschen und als .dump Datei abspeichern), oder geht das dann direkt mit der extrahierten Datei?

Ja. Ich habe mit cpu-z und mit nvflash gearbeitet und bei beiden musste ich mit einem HEX Editor den Header anschließend entfernen.

Umbenennen musst du sie m.W. nicht.
Noch eine Anmerkung: Ich konnte immer nur das Rom der Grafikkarte extrahieren, die nicht aktiv war (am Monitor).

Link to comment

wie sehen eigentlich deine IOMMU Gruppen bzg. Grafikkarten aus? Nicht dass da noch irgendein USB Device mit drin steckt, das dann auch durchgereicht werden muss (ich gebe zu, mir gehen langsam auch die Ideen aus.....)....

Meine:

IOMMU group 26:	[10de:1c82] 09:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
IOMMU group 27:	[10de:0fb9] 09:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
IOMMU group 28:	[10de:1382] 0a:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 745] (rev a2)
IOMMU group 29:	[10de:0fbc] 0a:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1)

 

Link to comment

Wirklich letzter Tipp bevor du dich wieder meldest....

  • Ich habe ja auch länger mit dem Fehler 43 gekämpft und mir ist eingefallen, dass ich irgendwann entnervt auch einfach mal den Treiber restlos entfernt habe, zumal ich gelesen habe dass der nvidia Treiber "ungern" auf VMs läuft. Dies habe mit dem DDU Display Driver Uninstaller gemacht. Damit das klappt musst du vermutlic eine andere Grafikkarte durchreichen, per VNC oder RDP auf die Maschine, da die zu entfernende nvidia Karte nicht aktiv sein darf.
    Auf die Schnelle gefunden: giga.de - nvidia-treiber-deinstallieren 
     
  • Außerdem habe ich diesen Post gelesen und mich erinnert, dass man nie alleine mit dem Error 43 ist.....
    Folgendes hast du - glaube ich - noch nicht ausprobiert, oder?
    https://forums.unraid.net/topic/87504-unable-to-passthrough-gtx-1050-ti-to-win-10-code-43/
    Guys I just fixed it thanks to @rachid596 In my case I've got two 1050ti and was never able to pass my primary because unraid OS was using it during boot. You have to add "video=efifb:off" to the flash drive. That prevents the primary video card from being used at all (even if you isolate it in vfio)

 

Link to comment
13 hours ago, vakilando said:

wie sehen eigentlich deine IOMMU Gruppen bzg. Grafikkarten aus?

image.png.40ef041495cbe11f8b41686f2489f73c.png

 

Sieht nicht so aus, als wäre da noch irgendwas anderes mit drin.

 

Über den ganzen Gruppen steht folgender Hinweis, hat das was zu sagen?

image.thumb.png.4549a994eb10258c90bbeff73c145890.png

 

12 hours ago, vakilando said:

Ich habe ja auch länger mit dem Fehler 43 gekämpft und mir ist eingefallen, dass ich irgendwann entnervt auch einfach mal den Treiber restlos entfernt habe, zumal ich gelesen habe dass der nvidia Treiber "ungern" auf VMs läuft. Dies habe mit dem DDU Display Driver Uninstaller gemacht. Damit das klappt musst du vermutlic eine andere Grafikkarte durchreichen, per VNC oder RDP auf die Maschine, da die zu entfernende nvidia Karte nicht aktiv sein darf.

Ja das Tool kenne ich, habe ich bei diesem Problem auch schon des öfteren benutzt.

 

12 hours ago, vakilando said:

Außerdem habe ich diesen Post gelesen und mich erinnert, dass man nie alleine mit dem Error 43 ist.....
Folgendes hast du - glaube ich - noch nicht ausprobiert, oder?
https://forums.unraid.net/topic/87504-unable-to-passthrough-gtx-1050-ti-to-win-10-code-43/
Guys I just fixed it thanks to @rachid596 In my case I've got two 1050ti and was never able to pass my primary because unraid OS was using it during boot. You have to add "video=efifb:off" to the flash drive. That prevents the primary video card from being used at all (even if you isolate it in vfio)

Diese Ergänzung habe ich auch schon mal ausprobiert, damit werden meines Wissens nach alle GraKas als Grafikausgabe deaktiviert. So bekomme ich keinerlei Konsole o.Ä. mehr aus, auch nicht über die primäre GraKa. Habe ich wieder entfernt, weil es auch nichts gebracht hat.

 

 

PS: Im Laufe dieser Woche probiere ich es, das originale BIOS der GraKa zu extrahieren. Das ist mein letzter Versuch. Ihr seid hier ja auch schon Ende eures Wissens. Werde dann wohl einen zweiten "Server" bauen mit Windows als OS, brauche dann zwar sämtliche Hardware doppelt, aber dafür weiß ich, dass das funktioniert... 

Link to comment

So Leute, ich gebe es nun offiziell auf... Habe ein Windows aufgesetzt und das BIOS der 1050Ti extrahiert und bearbeitet. Alle hier geposteten Einstellungen im Mainboard BIOS habe ich durchgeführt und auch sonst alle Tips welche ihr mir gegeben habt. Es sei mir wohl schlichtweg nicht gegönnt eine Graka an eine VM durchzureichen.

Vielen vielen Dank trotzdem für Eure investierte Zeit und die ganzen Tipps und Hinweise, die ihr mir rausgesucht und gegeben habt. Toll, dass es so eine Community gibt.

 

Edited by meggo
Danksagung hinzugefügt
Link to comment

Hey @ich777 und @vakilando,

habe dieses Video auf YouTube gesehen, kam brandneu raus:

 

 

 

Das hat mir Mut gemacht, es noch einmal zu probieren. Weil da ein Tipp drin vor kam, der hier noch nie zum Gespräch kam (Ab Minute 5:00 im Video).

 

Habe vorher aber einfach eine neue VM erstellt und wollte gucken ob es ZUFÄLLIG auch funktioniert, wenn ich nur das ROM einfüge. Habe diesmal nicht SeaBIOS genommen, sonder OVMF.

Und was soll ich sagen, es funktioniert komischer Weise. Kein Fehler 43 mehr und die Graka wird im Geräte Manager erkannt (nach Treiber Installation).

Allerdings habe ich dazu jetzt zwei Fragen: Im VM Editor ist jetzt VNC drin UND die 1050Ti, obwohl ich nur die 1050Ti ausgewählt habe. Hat sich von allein geändert:

image.png.ec802750cb7c22cc8e6eebcc5f13121e.png

 

Das hat mich stutzig gemacht, ich traue mich jetzt aber auch nicht mehr den VNC rauszunehmen. 

 

 

Im folgenden Screenshot seht ihr die VM. Im Geräte Manager sind zwei Grakas, einmal die 1050Ti und einmal den Basic Adapter, das ist wohl der VNC oder? Auch unter den Bildschirmen habe ich zwei: "Kabelgebundener Monitor" (VNC?) und den "Mi Monitor" mein HDMI Dongle (habe jetzt einfach "Inhalt nur auf Monitor 2 anzeigen" ausgewählt).

Habe auch als Stresstest FurMark laufen lassen, um zu sehen, ob wirklich die 1050Ti genutzt wird. Wird sie anscheinend.
PS: Der Screenshot würde über AnyDesk aufgenommen.

image.thumb.png.57361fe555d8db720fb3dfa778cbd3fa.png

  • Like 2
Link to comment

Ja prima, dass es nun funktioniert!

Das mit VNC parallel zur 1050TI hatte ich auch.

Ich glaub ich habe damals

  1. den MS Basic Display Adapter aus der VM entfernt
  2. die VM heruntergefahren
  3. die VM einfach unter Verwendung der bestehenden vdisk1.img nochmal neu erstellt 

Ich schätze du kannst die VNC auch gar nicht entfernen, weil es die erste ist - oder?

 

Wie schon beschrieben habe ich 2 Win10 VMs, eine mit Seabios (alt) und eine mit OVMF (neu). Am Bios liegt es also nicht.

Allerdings habe ich auch die Erfahrung gemacht, dass die Neuerstellung einer VM unter Verwendung der bestehenden virt. Festplatte manchmal Wunder wirkt....

 

Wenn das Problem gelöst ist könntest du den Thread entspr. markieren 🙂 

  • Like 1
Link to comment

Hallo,
Ich habe wieder eine frage zur Grafikkarte;
ich wollte die Grafikkarte auf meine VM installieren finde die aber nicht,also was habe ich getan, habe mich durch youtube durch geschaut viele videos angeschaut auf Deutsch auf Englisch (leider verstehe ich kein Englisch sorry) aber leider kein Video gefunden wo das langsam durch geht dass mir weiter hilft könnt ihr mir weiter helfen?
noch was ich habe keinen update gemacht muss ich ein update durchführen? bin auf 6.8.3 da ich ja unraid auf Deutsch möchte
ach ja ich hatte auch ein video gesehen wo mann den Nvidia-server installiert den finde ich nicht (meine Grafikkarte ist eine KFA2 nVidia GeForce GTX 1650 Super EX OC 4GB 128-bit GDDR6 PCIe Grafikkarte, 65SQL8DS61EK, Schwarz)
habe noch viele Fragen aber jetzt zuerst die Grafikkarte und dann sehe wir weiter
Dankeschön für eure Hilfe
Chris75


Gesendet von iPhone mit Tapatalk

Link to comment
3 hours ago, chris75 said:

bin auf 6.8.3 da ich ja unraid auf Deutsch möchte

Ja upgrade auf die beta. Musst bei update unter tools den branch auf next stellen und updaten.

 

3 hours ago, chris75 said:

Nvidia-server installiert den finde ich nicht

Was willst du genau machen die grafikkarte in einer VM nutzen oder in Docker containern?

Link to comment
Was willst du genau machen die grafikkarte in einer VM nutzen oder in Docker containern?

Hallo ich777,

also ich wollte sie generell durchführen so dass ich sie ja eingebaut habe
wollte sie auch zum Steam zum spielen einsetzen aber auch da habe ich ein problem ich finde den docker auch nicht!

ich bin leider kein profi so wie ihr hier ich muss leider von vorn bis hinten alles lernen
da ich ja auch kein englisch kann habe ich ja dass problem dass ich nicht viel videos zum dem thema gefunden habe und wollt auch nicht alles installieren da mit dem glück wo ich habe alles wieder verstelle würde
ich bin schon froh dass ich die Community gefunden habe und sehr geholfen kriege dafür schonmal dankeschön


Gesendet von iPhone mit Tapatalk
Link to comment
Moin @chris75, ja, das ist ein nerviges Problem, ich hatte da selber mit zu kämpfen. Am Besten du liest dir diesen Thread von Anfang bis Ende durch und probierst alle Tipps die hier schon von @ich777 und @vakilando gepostet wurden. Das sind schon sehr viele hilfreiche Tipps, welche auch mir geholfen haben 

Moi meggo,
danke für dein interesse ich werde mir das in ruhe anschauen vielen dank an dich ich bin richteg


Gesendet von iPhone mit Tapatalk
Link to comment
5 minutes ago, chris75 said:

wollte sie auch zum Steam zum spielen einsetzen aber auch da habe ich ein problem ich finde den docker auch nicht!

Wenn du sie in einer vm nutzen willst kannst du sie nicht gleichzeitig im docker benutzen.

Ich glaub da liegt ein verständnisproblem vor...

Du willst die vm nutzen um nen monitor/maus/tastatur/headset/was auch immer... an der grafikkarte die in dem server verbaut ist anzustöpseln und dann spielen hab ich das richtig erkannt?

 

Dafür brauchst du keinen docker.

 

Btw du kannst auch multiqotes in einem post machen so kammst meggo und mir in einem post antworten

  • Like 1
Link to comment
Wenn du sie in einer vm nutzen willst kannst du sie nicht gleichzeitig im docker benutzen.
Ich glaub da liegt ein verständnisproblem vor...
Du willst die vm nutzen um nen monitor/maus/tastatur/headset/was auch immer... an der grafikkarte die in dem server verbaut ist anzustöpseln und dann spielen hab ich das richtig erkannt?
 
Dafür brauchst du keinen docker.
 
Btw du kannst auch multiqotes in einem post machen so kammst meggo und mir in einem post antworten

ich habe gesehen dass es ein dicker gibt mit Steam aber den habe ich nicht auch nicht die nvidia docker
ja ich wollte dann die Grafikkarte für VM benutzen auch zum spielen


Gesendet von iPhone mit Tapatalk
Link to comment
17 minutes ago, chris75 said:

ich habe gesehen dass es ein dicker gibt mit Steam aber den habe ich nicht auch nicht die nvidia docker
ja ich wollte dann die Grafikkarte für VM benutzen auch zum spielen

Dann stöpselst du einen monitor, maus, tastatur,... an den server an und spielst so, stimmt das?

Link to comment
  • ich777 changed the title to [SOLVED] Probleme mit Passthrough von Grafikkarte in VM

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.