abra8c Posted October 15, 2021 Share Posted October 15, 2021 Hallo zusammen, ich versuche schon seit 5 Tagen eine gtx 680 in eine Windows VM durchzuschleifen. Das Mainbord ist ein Asrock x399 taichi. Was ich bislang versucht hab(nicht unbedingt in dieser Reihenfolge): Alle spaceinvaderone videos sowie das the geek freaks video zum error 43 gesehen und alles erwähnte versucht. In einem anderen Pc mit gpuz das Vbios runtergeladen. Den Vbios header mit einem hex editor entfernt. Die gpu als multifunction device mit sound part durchgeschleift. 2. gpu für Unraid eingebaut. Die IOMMU Gruppe der gpu gebunden. KVM in der xml hiermit versteckt: <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='1234567890ab'/> </hyperv> <kvm> <hidden state='on'/> </kvm> <ioapic driver='kvm'/> </features> Die syslinux config hiermit angepasst: append amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initrd=/bzroot vfio_iommu_type1.allow_unsafe_interrupts=1 Ein paar Bios settings verändert: Tweaked some Bios settings: VM Mode -> Enable IOMMU -> Enable ACS -> Enable SR-IOV -> Enable Unraid auf legacy boot umgestellt. Mehrfach Unraid neu gestartet. Windows mehrfach neu installiert mit verschiedenen Optionen: q35/i440fx OVMF/Seabios Hyper-V Yes/No Vielleicht hab ich auch noch mehr gemacht aber ich kann mich nach allem nicht mehr dran erinnern. Manchmal tauchte sie in Windows als gtx 680 mit dem code43 auf, manchmal auch nur als basic display adapter. Aus der gpu kam auch nie ein display signal. Es ist einfach nur noch frustrierend. Die letzten 2 dinge die ich noch versucht hab: 1. das hier in die command line gepasted: echo 0 > /sys/class/vtconsole/vtcon0/bind echo 0 > /sys/class/vtconsole/vtcon1/bind echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind Bei der 2. Zeile bekomme ich diesen Fehler: bash: /sys/class/vtconsole/vtcon1/bind: No such file or directory Und bei der 3.: bash: echo: write error: No such device Ich weiß nicht mal was diese commands machen sollten. Was mache ich hier falsch? 2.Ich bin diesem guide gefolgt: Leider funktioniert das patcher.ps1 skript aus dem guide nicht mehr mit der neusten cuda version, deshalb komme ich da auch nicht weiter. Meine aktuelle xml hab ich angehängt. Jeder Rat wie ich weiter machen soll wäre willkommen! xml.txt Quote Link to comment
alturismo Posted October 15, 2021 Share Posted October 15, 2021 Ironie an "auf Intel wechseln" ... Ironie aus, bringt ja jetzt nichts, ich gehe davon aus du hast 2 GPU's ? Ich hoffe du kannst den ganzen Spaß auch wieder revidieren was du da alles irgendwo gemacht hast ... syslinux, was auch immer, alles raus. also, unraid wird beim boot die 1 gpu für sich beanspruchen, bios Einstellung schauen was da eingestellt ist beim boot wenn beide GPU's drin sind, kannst du da etwas verstellen welche die primary sein soll ? wenn Nein, nimm die wo NICHT in die VM soll als primary (oder den 1. slot), die für die VM sollte NICHT die primary sein. dann in unraid, tools, system devices, vfio bind, die wo du an eine VM durchreichen willst binden (Haken setzen), KOMPLETT (auch den audio part, ...) Beispiele von hier NUR für die Karte wo in die VM soll ... Neustart wie angewiesen dann machen, danach einfach die GPU inkl. Audio in eine VM einbinden, multifunction ist sicherlich kein Schaden (manuell in der xml, hast ja jetzt Erfahrung damit), vbios eintragen (wenn du sicher bist dass es korrekt ist, muss eigentlich nicht mehr sein ...) das sollte es gewesen sein Jetzt mit deinem AMD System, manchmal muss man unraid in legacy booten anstelle uefi, die VM kann auch seabios oder ovmf sein ...musst du testen falls es nicht direkt geht, hier gehen alle Konstellationen. dann blieben noch diese Einstellungen zum Test Override, eigentlich nur nötig wenn das iommu grouping nicht sauber geht (Karte nicht sauber in eigener IOMMU sitzt) unsafe interupts, brauchte ich nur für den MacOS Quatsch wo ich mal getestet hatte ... aber evtl. auch einen Test wert. Die manuellen Einträge in der syslinux sollten nicht mehr benötigt werden da tools mit vfio bind das sauber übernimmt, früher war das eine Option. Viel Erfolg, nächstes mal, Intel / Nvidia ... das ist weniger zum "wahnsinnig werden" Quote Link to comment
alturismo Posted October 15, 2021 Share Posted October 15, 2021 kleiner Nachtrag, eigentlich gedacht um noch etwas mehr performance raus zu holen, aber vielleicht hilft es auch ... xml edit (teilweise kennst du das ja) <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vpindex state='on'/> <synic state='on'/> <stimer state='on'/> <reset state='on'/> <vendor_id state='on' value='1234567890ab'/> <frequencies state='on'/> </hyperv> <kvm> <hidden state='on'/> </kvm> <vmport state='off'/> <ioapic driver='kvm'/> </features> <clock offset='localtime'> <timer name='rtc' present='no' tickpolicy='catchup'/> <timer name='pit' present='no' tickpolicy='delay'/> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> <timer name='tsc' present='yes' mode='native'/> </clock> Quote Link to comment
alturismo Posted October 16, 2021 Share Posted October 16, 2021 und vielleicht noch ein Nachtrag, lies Dir mal das hier durch Thema video=efifb:off, vielleicht hilft auch das schon ... Quote Link to comment
abra8c Posted October 16, 2021 Author Share Posted October 16, 2021 Vielen Dank schonmal für die ausführliche Antwort. Mir ist durchaus bewusst das es für viele Einstellungen die ich gemacht habe mittlerweile bessere in Unraid implementierte Lösungen gibt, die ich meist auch als erstes ausprobiert hab. Es hat nur einfach nichts funktioniert, deswegen hab ich dann angefangen aus jedem noch so alten Forumspost den ich gefunden hab mir eine Lösung zu erhoffen. Ich denke ich werde als erstes mal aufräumen und dann mit klarem Kopf mal von vorne beginnen. 14 hours ago, alturismo said: dann in unraid, tools, system devices, vfio bind, die wo du an eine VM durchreichen willst binden (Haken setzen), KOMPLETT (auch den audio part, ...) Ich habe die gtx 680 die ich durchreichen will bereits als 2. gpu und sie auch schon samt audio an vfio gebunden. Wahrscheinlich ist es auch einfach eine Kombination aus Einstellungen und nicht eine einzelne weswegen es bei mir einfach nicht klappt. Heute mache ich erst mal pause, ich berichte dann morgen wie es gelaufen ist. Quote Link to comment
abra8c Posted October 17, 2021 Author Share Posted October 17, 2021 So, jetzt hab ich mich noch mal ran gewagt. Als erstes hab ich alle Systemweiten Einstellungen wie die Syslinux config zurückgesetzt. Dann hab ich komplett von vorne begonnen. Meine zweite gpu, die gtx 680 + sound an vfio gebunden, iommu groups meines Mainboards sind von Haus aus recht gut sortiert. Dann der notwendige neustart. Als nächstes hab ich ein neues VM Template erstellt mit folgenden Einstellungen: Machine: Q35-5.1 BIOS: OVMF Hyper-V: Yes Grafik als VNC Dann hab ich erst mal ein komplett frisches win10 installiert und die VM sauber runtergefahren. Jetzt hab ich VNC durch die gtx680 ersetzt und auch den sound part mit durchgereicht. Dann auf Update gedrückt nochmal auf bearbeiten und in die xml Ansicht gewechselt, hier hab ich die gpu als multifunction device eingetragen und auch die vorgeschlagene Hyper-V + clock config reinkopiert. Wieder auf Update und jetzt die VM gestartet. Per rdp auf die VM zugegriffen, die gpu wird als basic display adapter erkannt und ein display signal der gpu blieb auch aus. Jetzt die Treiber der gpu installiert und neu gestartet. Kein Displaysignal, error 43, alles wie gehabt. Nach diesem weiteren erfolglosen Versuch ist mir aufgefallen das ich in meiner gpu Sammlung eine weitere unbenutzte mit DisplayPort Ausgang hab, eine radeon hd 7750. Also hab ich einfach mal die ausprobiert. Einfach in der vorher erstellten VM die eine gpu + sound durch die andere getauscht und mit dem erst besten Vbios von Techpowerup durchgereicht. In der VM wurde sie wie auch zuvor als basic display adapter erkannt. Dann hab ich die Nvidia Treiber runter geschmissen, die Amd Treiber installiert und neu gestartet. Und tada, die gpu wird fehlerfrei in Windows erkannt und hat jetzt auch ein monitor Signal. Genau so hab ich es mir vorgestellt, mich stört nur leider das die hd 7750 verglichen mit der gtx 680 nur 1080p statt 4k unterstützt. Es liegt also ziemlich sicher an der gpu, kann es sein das sich die gtx 680 wirklich einfach nicht durchschleifen lässt? Es scheint zumindest ein ziemlicher Härtefall zu sein. Quote Link to comment
abra8c Posted October 17, 2021 Author Share Posted October 17, 2021 Kleiner Nachtrag: Mir ist gerade aufgefallen das jetzt mein Unraid log ziemlich mit diesen Fehlermeldungen vollgespammt wird: Oct 17 13:09:54 Ripper kernel: pcieport 0000:00:03.1: AER: Corrected error received: 0000:09:00.0 Oct 17 13:09:54 Ripper kernel: vfio-pci 0000:09:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Receiver ID) Oct 17 13:09:54 Ripper kernel: vfio-pci 0000:09:00.0: device [1002:683f] error status/mask=00000040/00000000 Sollte ich mir dazu Gedanken machen? Scheint bislang nicht die Funktion der gpu zu beeinträchtigen. Quote Link to comment
alturismo Posted October 17, 2021 Share Posted October 17, 2021 6 hours ago, abra8c said: Es liegt also ziemlich sicher an der gpu sieht leider danach aus, ist auch ein relativ alter ... freut mich jedoch dass du die andere zum Laufen bekommen hast. Die Fehlermeldungen, gesund ist das sicherlich nicht, und da AMD auch nicht die erste Wahl ist was passthrough angeht ... bitte nicht wundern wenn dein System sich mal komplett aufhängt. wenn du von 4k sprichst, ist dein Monitor 4k wo die VM dran hängt ? weil zum Abspielen etc ... kann die nur h264 und da wirst du nichts interessantes in 4k finden, falls es dir darum geht. Quote Link to comment
abra8c Posted October 17, 2021 Author Share Posted October 17, 2021 1 hour ago, alturismo said: Die Fehlermeldungen, gesund ist das sicherlich nicht, und da AMD auch nicht die erste Wahl ist was passthrough angeht ... bitte nicht wundern wenn dein System sich mal komplett aufhängt. Ich hatte das ganze jetzt schon ein paar Stunden laufen und es lief komplett stabil. 1 hour ago, alturismo said: wenn du von 4k sprichst, ist dein Monitor 4k wo die VM dran hängt ? weil zum Abspielen etc ... kann die nur h264 und da wirst du nichts interessantes in 4k finden, falls es dir darum geht. Ja, es ist ein 4k Monitor, 1080p sieht da halt nur so ok drauf aus aber fürs erste reicht es. Ich brauche halt auch wirklich nur ein Bildschirm Signal. VNC und auch RDP sind mir einfach zu rucklig auf dauer. Vielleicht besorg ich mir auch noch ne andere Karte die 4k kann. Vielleicht ne alte Quadro? Da sollte ich doch gar keine Probleme haben weil die von Nvidia offiziell für VM's erlaubt sind, oder bin ich da falsch informiert? Quote Link to comment
alturismo Posted October 18, 2021 Share Posted October 18, 2021 8 hours ago, abra8c said: Da sollte ich doch gar keine Probleme haben weil die von Nvidia offiziell für VM's erlaubt sind, oder bin ich da falsch informiert? https://nvidia.custhelp.com/app/answers/detail/a_id/5173/~/geforce-gpu-passthrough-for-windows-virtual-machine-(beta) Quote Link to comment
abra8c Posted October 18, 2021 Author Share Posted October 18, 2021 2 hours ago, alturismo said: https://nvidia.custhelp.com/app/answers/detail/a_id/5173/~/geforce-gpu-passthrough-for-windows-virtual-machine-(beta) Die gtx 680 wäre ja sogar Keppler und sollte laut diesem Artikel offiziell unterstützt werden. Vielleicht deshalb ja dieser (beta) status. Quote Link to comment
mgutt Posted October 18, 2021 Share Posted October 18, 2021 20 hours ago, abra8c said: gtx 680 Nvidia unterstützt die Virtualisierung erst offiziell ab der 700er Serie: https://nvidia.custhelp.com/app/answers/detail/a_id/5173/~/geforce-gpu-passthrough-for-windows-virtual-machine-(beta) Will man es mit einer älteren Karte realisieren, muss man das BIOS auslesen, die Datei modizieren und als vBIOS hinterlegen. Hast du das gemacht? Quote Link to comment
abra8c Posted October 18, 2021 Author Share Posted October 18, 2021 (edited) 2 hours ago, mgutt said: Nvidia unterstützt die Virtualisierung erst offiziell ab der 700er Serie: https://nvidia.custhelp.com/app/answers/detail/a_id/5173/~/geforce-gpu-passthrough-for-windows-virtual-machine-(beta) Wie kommst du auf die 700er Serie? Auf der Seite von Nvidia steht: Quote Which GeForce GPUs and Windows OSes support virtualization? ...Kepler and later for Desktop... Keppler ist die 600er und 700er Serie. https://nvidia.custhelp.com/app/answers/detail/a_id/5204/~/list-of-kepler-series-geforce-desktop-gpus 2 hours ago, mgutt said: Will man es mit einer älteren Karte realisieren, muss man das BIOS auslesen, die Datei modizieren und als vBIOS hinterlegen. Hast du das gemacht? Ich habe in einem anderen Pc mit gpuz das Bios ausgelesen und dann mit einem Hex Editor den Header vom vbios entfernt. Edited October 18, 2021 by abra8c additional information Quote Link to comment
mgutt Posted October 18, 2021 Share Posted October 18, 2021 5 hours ago, abra8c said: Keppler ist die 600er und 700er Serie. Stimmt Quote Link to comment
Recommended Posts
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.