[Lösung] Passthrough für Nvidia Geforce GTX Consumer GPUs in VSphere (ESXi) 6.0

Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ist bei mir inzwischen auch ein Weilchen her. Ich hab' aber bei mir aktuell mit 6.7U3 zwei GPUs im Passthrough laufen, allerdings nicht mehr die GT610 sondern eine TitanXp und Quadro P400. Eine 2080Ti lief auch.

Ja, ich meine Du musst den Host nach Änderungen an der Passthru.map neu starten. Wenn d3d0 nicht funktioniert, mal "link" in die passthru.map eintragen. Wenn ich mich richtig erinnere war ich damit zuerst erfolgreich und brauchte ich d3d0 dann für die Pascal/Turing Karten.

Wenn Du schon 3 Percs im passthrough laufen hast, vielleicht beisst sich da ja etwas? Hab' das auch noch nie mit Multi-CPU-Systemen ausprobiert.

Ansonsten vielleicht einfach mal zu Testzwecken einen Perc mit dem es funktionierte rausnehmen und in den Slot die Graka stecken. Im Zweifel definitiv GPU mal in Slot 3 oder 5 (die x16 Slots) und Slot 2 bzw. 4 frei lassen (wenn Slot 2/4 belegt sind, gehen 3/5 von elektrisch x16 auf x8).

Achtung: wenn die GPU in PCIe-Slot1 (ganz "unten") steckt, wird das wohl auch nicht funktionieren, da dieser Slot am Chipsatz hängt.

Ist leider ein bisserl trial&error. Hab leider keine 610 mehr hier.

Also "Intel VT for Directed I/O (VT-D)" ist im Bios bereits auf Enabled gestellt gewesen, aber zu VT-X oder ähnlich (teils steht ja auch einfach "Intel Virtualization Technology" dort) finde ich keine Einstellung.
1606943912671.png


Was ich noch im PCI Setup gefunden habe "SR-IOV Support", ist per default Disabled. Wäre das wichtig?
1606943986973.png


Meine Advanced -> CSM Configurations, zwangsläufig ja auf Legacy (dank der Perc's)
1606944036305.png


Die Perc's hatte ich bereits bis auf eine im Slot 3 von oben (8/8-fach) reduziert, und die GT 610 in Slot 2 von oben (16/16-fach, da Slot 1 von oben leer) installiert, aber auch das hat nichts gebracht. In dem Slot steckte vorher auch eine Perc, die konnte ich ohne Probleme durchreichen. Wobei die VMs an denen die Perc's durchgereicht werden Linux Systeme sind. Im ersten Slot von unten (8/4-fach PCIe2.0 Chipset) steckt eine Dual Port SFP+ 10gbit Karte von IBM, die an einem vSwitch hängt.
Beitrag automatisch zusammengeführt:

Eventuell auch ne gebrauchte 2000/2200er Quadro holen.
Danke für den Tipp, an sowas hatte ich auch schon gedacht, wäre aber eher so die Notlösung wenn nichts anderes mehr geht.

Welche Nivida Karten im Bereich 50 Euro max 100 Euro gebraucht aus der Bucht würden neben der Quadro 2000/2200 speziell für ESXi in Frage kommen? Womit habt ihr gute Erfahrungen gemacht? Gern Low Profile mit Full Profile Blende und aktiver Kühlung (wenn möglich).
 
Zuletzt bearbeitet:
Vielleicht noch einmal einen Schritt zurück: was passiert denn genau, wenn du die VM startest und einfach mal wirklich lange wartest? Wirft ESXi eine Fehlermeldung? Ein einfaches "Einfrieren" habe ich jedenfalls noch nicht gehabt. Entweder funzt richtig, VM startet mit Error 43 zur GPU oder VM/ESXi wirft Fehlermeldung.

Hast Du die VMware-GPU noch drin gelassen (SVGA present=TRUE oder so ähnlich)? Wenn nein, mach mal und guck' was passiert.

Was willst Du denn genau machen? Wenn Du keine spezifische Leistung brauchst, würde ich 'ne P400 nehmen. Funzt 1a bei mir.
 
Vielleicht noch einmal einen Schritt zurück: was passiert denn genau, wenn du die VM startest und einfach mal wirklich lange wartest? Wirft ESXi eine Fehlermeldung? Ein einfaches "Einfrieren" habe ich jedenfalls noch nicht gehabt. Entweder funzt richtig, VM startet mit Error 43 zur GPU oder VM/ESXi wirft Fehlermeldung.

Hast Du die VMware-GPU noch drin gelassen (SVGA present=TRUE oder so ähnlich)? Wenn nein, mach mal und guck' was passiert.

Was willst Du denn genau machen? Wenn Du keine spezifische Leistung brauchst, würde ich 'ne P400 nehmen. Funzt 1a bei mir.

Also für mich siehts so aus als würde gar nichts mehr passieren, weder ein Fehler noch startet das System. Mit erscheinen des blauen Win10 Logos Stillstand, die weißen sich drehenden Punkte drunter erscheinen gar nicht erst. Habe dann teils recht lange gewartet, aber nichts. Habe in der VM nen VNC Server laufen, der war aber nicht erreichbar, also gehe ich schon von so einer Art Freeze aus.

VMware-GPU war immer aktiv, denn bis zu Schritt 7.c deiner Anleitung bin ich gar nicht erst gekommen, ist ja quasi schon vor 7.a gescheitert, denn sobald die GPU eingehängt ist komme ich nicht weiter. Hatte auch mal versucht den Nvidia Treiber vorher zu installieren, das lässt das Setup aber natürlich nicht zu.

Die GPU soll der VM bei Zugriff über VNC nur etwas mehr Grafik Power für Desktop Anwendungen geben die ggf. auf DirectX oder ähnlich zurückgreifen, aber keine Games oder so. Würde noch einen HDMI Dummy Stecker dran stecken, damit Windows diese auch als Primary GPU nutzt.

EDIT:
was ich noch nicht gemacht hatte, einfach mal einen Monitor an die GPU zu stecken.. das werde ich morgen nochmal checken, vielleicht ist dort ja mehr zu sehen als nur ein Windows Logo.
 
Zuletzt bearbeitet:
Mach mal. Und ping die VM mal an.

Ich hab aktuell keine Sonder-Settings in der passthru.map.

Meine aktuelle passthru.map auf meiner ESXi 6.7 (ohne U ;)) Kiste (Xeon 4108, p400 im passthrough):

Code:
# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default
1000  0058  d3d0     default
# NVIDIA
10de  ffff  bridge   false

Meine aktuelle passthru.map auf der ESXi 6.7U3 (TR1920X, TitanXp im passthrough):
Code:
# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default
1000  0058  d3d0     default
# NVIDIA
10de  ffff  bridge   false
 
Mach mal. Und ping die VM mal an.

Ich hab aktuell keine Sonder-Settings in der passthru.map.

Meine aktuelle passthru.map auf meiner ESXi 6.7 (ohne U ;)) Kiste (Xeon 4108, p400 im passthrough):

Code:
# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default
1000  0058  d3d0     default
# NVIDIA
10de  ffff  bridge   false

Meine aktuelle passthru.map auf der ESXi 6.7U3 (TR1920X, TitanXp im passthrough):
Code:
# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default
1000  0058  d3d0     default
# NVIDIA
10de  ffff  bridge   false

Leider auch kein Erfolg.

Wenn ich die GPU auf Passthrough umstelle, dann einen Neustart des Hosts mache, bekomme ich folgendes Bild über den HDMI der GT 610 ausgegeben, welches sich dann auch nicht mehr ändert. Wohl der Punkt wo er die GPU für Passthrough bereit macht, dann gibts halt eben auch keine weitere Ausgabe mehr des ESXi Screens und das war der letzte Frame:
1607025067849.png


Wenn ich dann die GPU in die VM einhänge und diese starte, verschwindet dieser letzte Frame, das Bild wird einfach schwarz und er bekommt kein Signal mehr auf dem HDMI Port.

Anpingen lässt sich die VM nicht und auch ein Scan des Netzwerk ergab leider nichts.

Im Protokoll der Überwachung sehe ich auch nichts, wo ich sagen würd "das muss es sein", dafür hab ich leider zu wenig Ahnung von ESXi.
 
Das Verhalten des Bildes ist normal. Der Bildschirm friert zunächst ein, sobald die GPU dem ESXi durch passthrough "weggenommen" wird. Das passiert beim Bootvorgang in der Tat an der Stelle.

In einem zweiten Schritt wird das Bild dann erst schwarz und bekommt dann eben normalerweise auch ein neues Bild, nämlich in dem Moment wo die VM auf die GPU zugreift, also wenn Du die VM startest.

Evtl. im BIOS auch einmal auf "initialize display first: onboard" oder zumindest "dual mode" oder so ähnlich einstellen anstelle von PCIE (jedenfalls so, dass zumindest "auch" die onboard GPU benutzt wird). Ist schon lange her, aber ich glaub, da war auch tatsächlich was...

Am Ende kann's auch einfach sein, dass vmware ggf. etwas geändert hat und/oder dein Mainboard nicht so recht will oder oder oder. Passthrough mit Consumer-Grakas ist Glückssache bzw. fieses trial&error. Bin nicht ohne Grund bei meinem Mainserver noch auf 6.7 (ohne U) und die passthrough-VM ist eine alte 6.5er VM, die ich nie auf 6.7 migriert/hochgestuft habe. Hier gilt m.E. ganz besonders: "never change a running system/setup". ;) Werde einen Teufel tun, und das System irgendwie anpacken, wenn ich nicht muss. Läuft halt:
Code:
[root:~] uptime
  0:02:43 up 223 days, 14:53:14, load average: 0.42, 0.41, 0.41
[root:~] echo -n "ESXi install date: " ; date -d @$(printf "%d" 0x$(esxcli
system uuid get | cut -d \- -f1 ))
ESXi install date: Wed Apr 18 19:32:41 UTC 2018
:d
 
Was ich noch im PCI Setup gefunden habe "SR-IOV Support", ist per default Disabled. Wäre das wichtig?
SR-IOV braucht man nur für spezielle Aufgaben bei denen sich mehrere VMs eine Karte teilen. Aktuell wird das eigentlich nur von Netzwerkkarten unterstützt.
 
  • Danke
Reaktionen: TCS
Das Verhalten des Bildes ist normal. Der Bildschirm friert zunächst ein, sobald die GPU dem ESXi durch passthrough "weggenommen" wird. Das passiert beim Bootvorgang in der Tat an der Stelle.

In einem zweiten Schritt wird das Bild dann erst schwarz und bekommt dann eben normalerweise auch ein neues Bild, nämlich in dem Moment wo die VM auf die GPU zugreift, also wenn Du die VM startest.

Evtl. im BIOS auch einmal auf "initialize display first: onboard" oder zumindest "dual mode" oder so ähnlich einstellen anstelle von PCIE (jedenfalls so, dass zumindest "auch" die onboard GPU benutzt wird). Ist schon lange her, aber ich glaub, da war auch tatsächlich was...

Am Ende kann's auch einfach sein, dass vmware ggf. etwas geändert hat und/oder dein Mainboard nicht so recht will oder oder oder. Passthrough mit Consumer-Grakas ist Glückssache bzw. fieses trial&error. Bin nicht ohne Grund bei meinem Mainserver noch auf 6.7 (ohne U) und die passthrough-VM ist eine alte 6.5er VM, die ich nie auf 6.7 migriert/hochgestuft habe. Hier gilt m.E. ganz besonders: "never change a running system/setup". ;) Werde einen Teufel tun, und das System irgendwie anpacken, wenn ich nicht muss. Läuft halt:
Code:
[root:~] uptime
  0:02:43 up 223 days, 14:53:14, load average: 0.42, 0.41, 0.41
[root:~] echo -n "ESXi install date: " ; date -d @$(printf "%d" 0x$(esxcli
system uuid get | cut -d \- -f1 ))
ESXi install date: Wed Apr 18 19:32:41 UTC 2018
:d
Habe es nun auch nochmal mit einer GTX 980ti probiert, mit der ich vor einiger Zeit einmal erfolgreich einen Passthrough unter ESXi 6.5 ausgeführt habe, und das ohne besondere Einstellungen wenn ich recht entsinne, aber auch das hat nicht geklappt, selbes Verhalten wir mit der GT 610.

Habe zu dem Thema noch das hier gefunden, verstehe aber grad nicht so wirklich was da mit Version 14, 11 und 13 gemeint ist:
Beitrag automatisch zusammengeführt:

SR-IOV braucht man nur für spezielle Aufgaben bei denen sich mehrere VMs eine Karte teilen. Aktuell wird das eigentlich nur von Netzwerkkarten unterstützt.
Das heißt folgendes unter SR-IOV "Nicht fähig" spielt auch keine rolle:
1607116339320.png



EDIT:
Problem gelöst, bzw. eher umgangen. Hatte die Win10 VM ja bisher unter EFI laufen, und habe das ganze nun einfach nochmal unter BIOS installiert. Nun startet das System mit durchgereichter GPU + GPU-Audio problemlos, und das ohne jegliche Änderungen an der VM Config oder der passthru.map

Hier bin ich fündig geworden, war aber mehr Zufall weil es da ja um ein Upgrade von 5.5 auf 6.x bzw. 7.0 ging:

EDIT 2:
Dann doch noch eine kleine Korrektur. Nach dem ersten Neustart erst Error 43, weil ich den hypervisor.cpuid.v0 FALSE vergessen hatte. Dann nach einem weiteren Restart kompletter Freeze des Hosts, ESXi nicht mehr erreichbar. Den Eintrag 10de ffff bridge false in der passthru.map auf 10de ffff link false geändert, hats dann aber gebracht, nun läufts.

Danke euch für den Support, das mit der Quadro P400 überlege ich mir trotzdem nochmal 😉(y)
 
Zuletzt bearbeitet:
Hi Zusammen,

ich versuche derzeit mit ESXi 7.0.1 U1 einen GPU Pass through hin zu bekommen. Leider bekomme ich den Fehler 43 nicht aus den Systemsteuerungen. Ich hab schon etliche Sachen probiert:

hypervisor.cpuid.v0 = FALSE
10de ffff bridge false
10de ffff link false
10de ffff d3d0 false
usw.

Also ziemlich alles was hier im Thread steht xD.

Komponenten:
GTX 1060
Intel I5 7500
16GB DDR4 Ram
some HDDs

würde mich mal interessieren ob es jemand mit der neuesten Version von ESXi hinbekommen hat. Und wenn er es hinbekommen hat wie :)

Gruß Miraculix
 
Zuletzt bearbeitet:
Hast Du die Nvidia-Zeile auch mal ganz auskommentiert? VM-Einstellungen außer cpuid=false?
 
Sry für dich späte Meldung. Bisl viel los gerade.


Du meinst in der passtrhu.map alle nvidia Einstellungen aus kommentieren?

Anbei die passthru.map:
Code:
# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default
1000  0058  d3d0     default
# NVIDIA
10de  ffff  d3d0    false
#10de   ffff  link     false
# AMD FCH SATA Controller [AHCI mode]
1022  7901  d3d0     default

Hier noch die VMX:

Code:
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "18"
vmci0.present = "TRUE"
numvcpus = "2"
memSize = "8192"
bios.bootRetry.delay = "10"
firmware = "efi"
powerType.suspend = "soft"
tools.upgrade.policy = "manual"
sched.cpu.units = "mhz"
sched.cpu.affinity = "all"
vm.createDate = "1607524163491495"
scsi0.virtualDev = "lsisas1068"
scsi0.present = "TRUE"
sata0.present = "TRUE"
usb_xhci.present = "TRUE"
scsi0:0.deviceType = "disk"
scsi0:0.fileName = "win10.vmdk"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "off"
scsi0:0.present = "TRUE"
ethernet0.virtualDev = "e1000e"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "generated"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.present = "TRUE"
sata0:0.deviceType = "cdrom-image"
sata0:0.fileName = "/vmfs/volumes/5fd09547-ac99141a-f2ca-d89ef31cd026/isos/Windows.iso"
sata0:0.present = "TRUE"
displayName = "win10"
guestOS = "windows9-64"
uefi.secureBoot.enabled = "TRUE"
toolScripts.afterPowerOn = "TRUE"
toolScripts.afterResume = "TRUE"
toolScripts.beforeSuspend = "TRUE"
toolScripts.beforePowerOff = "TRUE"
tools.syncTime = "FALSE"
uuid.bios = "56 4d d4 17 5c 24 bf 05-56 6a ca 30 27 65 57 1b"
uuid.location = "56 4d d4 17 5c 24 bf 05-56 6a ca 30 27 65 57 1b"
vc.uuid = "52 07 4c d4 af 40 ab b8-36 fe 5e 04 02 a8 98 52"
sched.cpu.min = "0"
sched.cpu.shares = "normal"
sched.mem.min = "8192"
sched.mem.minSize = "8192"
sched.mem.shares = "normal"
ethernet0.generatedAddress = "00:0c:29:65:57:1b"
vmci0.id = "660952859"
cleanShutdown = "FALSE"
sata0:0.startConnected = "TRUE"
extendedConfigFile = "win10.vmxf"
pciPassthru0.id = "00000:001:00.0"
pciPassthru0.deviceId = "0x1c03"
pciPassthru0.vendorId = "0x10de"
pciPassthru0.systemId = "5fd09485-c757-5f10-e9b1-d89ef31cd026"
pciPassthru0.present = "TRUE"
pciPassthru1.id = "00000:001:00.1"
pciPassthru1.deviceId = "0x10f1"
pciPassthru1.vendorId = "0x10de"
pciPassthru1.systemId = "5fd09485-c757-5f10-e9b1-d89ef31cd026"
pciPassthru1.present = "TRUE"
sched.mem.pin = "TRUE"
pciPassthru0.pciSlotNumber = "256"
pciPassthru1.pciSlotNumber = "1184"
tools.guest.desktop.autolock = "FALSE"
nvram = "win10.nvram"
pciBridge0.present = "TRUE"
svga.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
hpet0.present = "TRUE"
RemoteDisplay.maxConnections = "-1"
sched.cpu.latencySensitivity = "normal"
svga.autodetect = "TRUE"
disk.EnableUUID = "TRUE"
numa.autosize.cookie = "20012"
numa.autosize.vcpu.maxPerVirtualNode = "2"
sched.swap.derivedName = "/vmfs/volumes/5fd09547-ac99141a-f2ca-d89ef31cd026/win10/win10-cc8fd652.vswp"
vm.genid = "-8863863675339720357"
vm.genidX = "-1932996321759382645"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
ethernet0.pciSlotNumber = "192"
usb_xhci.pciSlotNumber = "224"
vmci0.pciSlotNumber = "32"
sata0.pciSlotNumber = "33"
scsi0.sasWWID = "50 05 05 67 5c 24 bf 00"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "16777216"
vmotion.svga.mobMaxSize = "16777216"
vmotion.svga.graphicsMemoryKB = "16384"
ethernet0.generatedAddressOffset = "0"
monitor.phys_bits_used = "45"
softPowerOff = "FALSE"
toolsInstallManager.lastInstallError = "0"
svga.guestBackedPrimaryAware = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "1"
pciPassthru0.msiEnabled = "FALSE"
pciPassthru.use64bitMMIO = "TRUE"
hypervisor.CPUID.v0 = "FALSE"
pciPassthru1.msiEnabled = "False"
migrate.hostLog = "./win10-cc8fd652.hlog"
scsi0:0.redo = ""
svga.vramSize = "16777216"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"
guestOS.detailed.data = ""
virtualHW.productCompatibility = "hosted"
floppy0.present = "FALSE"


hoffe das hilft weiter
 
GPU-Passthrough einer Quadro P400 an eine Win10 20H2 VM. Es müssen GPU und Audio zusammen durchgereicht werden.
ESXi 7.0.1 U1c mit X570D4U-2L2T und 5600X funtioniert. :-)
Treiber 460.89 WHQL.

Einfach die üblichen verdächtigen Einträge vornehmen.

/etc/vmware/passthru.map
Code:
#NVIDIA P400 gpu
10de  1cb3  d3d0   false
#NVIDIA P400 audio
10de  0fb9  d3d0   false

vmx-file der VM.
Code:
hypervisor.cpuid.v0 = false
pciPassthru0.msiEnabled = false
Hinweis: Die durchgereichte GPU ist hier pcidevice 0, Device 1 = Audioteil der Grafikkarte)

Kein Error 43. 8-)
 
Zuletzt bearbeitet:
OHA! Gerade erst darüber gestolpert - ist das womöglich etwa das Ende des ewigen "Error 43"?

GeForce GPU Passthrough for Windows Virtual Machine (Beta)​

Updated 03/30/2021 06:34 AM

GeForce GPU Passthrough for Windows Virtual Machine (Beta)​



NVIDIA has enabled GPU passthrough beta support for a Windows virtual machine on GeForce GPUs. What does this mean?
With virtualization enabled, GeForce customers on a Linux host PC can now enable GeForce GPU passthrough on a virtual Windows guest OS. There are a few GeForce use cases where this functionality is beneficial such as:
  • GeForce customers wanting to run a Linux host and be able to launch a Windows virtual machine (VM) to play games
  • Game developers wanting to test code in both Windows and Linux on one machine

What class of virtualization is supported on GeForce GPUs?
GeForce GPU passthrough supports 1 virtual machine. SR-IOV is not supported on GeForce. If you want to enable multiple virtual machines to have direct access to a single GPU or want the GPU to be able to assign virtual functions to multiple virtual machines, you will need to use NVIDIA Tesla, Quadro, or RTX enterprise GPUs.

Which driver is GeForce virtualization (beta) supported on?
GeForce virtualization (beta) is supported on R465 or higher drivers.

Which GeForce GPUs and Windows OSes support virtualization?
The feature is enabled on all GeForce/TITAN GPUs supported in the R465 driver (Kepler and later for Desktop; Maxwell and later for Notebook) for Windows 10.

Do you need to have more than one GPU installed or can you leverage the same GPU being used by the host OS for virtualization?
One GPU is required for the Linux host OS and one GPU is required for the Windows virtual machine.
Quelle

Wer hat's schon getestet? :d ESXi ist doch eigentlich auch nur'n Linux... ;)
 
OHA! Gerade erst darüber gestolpert - ist das womöglich etwa das Ende des ewigen "Error 43"?


Quelle

Wer hat's schon getestet? :d ESXi ist doch eigentlich auch nur'n Linux... ;)

Ich habe es heute mal getestet. Ja funkt jetzt ohne Probleme mit meiner RTX3090. Es ist zu keinen Error 43 gekommen. Einfach neusten Treiber installieren und fertig.
Danach habe ich noch UnRaid ausprobiert, auch da braucht man kein modifiziertes Bios mehr bei der VM hinterlegen und andere Modifikationen vornehmen.
Es ist jetzt sogar so bei UnRaid, das du garkein Bios mehr bei der VM hinterlegen musst.
 
Zuletzt bearbeitet:
@Ceiber3 Cool. Danke für Test und das Feedback!

Da juckt es doch glatt wieder in den Fingern, mal wieder zu frickeln...
 
EDIT:
Funktioniert. Man muss aber sämtliche Frickeleien wie zum Beispiel hypervisor.cpuid.v0 usw entfernen falls eingebaut, ansonsten bleibt der Code 43 bestehen.
 
Zuletzt bearbeitet:
Moin,
ich versuche auf ESXi-7.0U2a-17867351 eine GTX 1650 durchzureichen.
Habe natürlich schon alles mögliche hier aus dem Forum probiert.

Irgendwie lässt sich von der Grafikkarte nur der Audio teil auf passthrough schalten.
Es wird zwar angezeigt, dass passthrough aktiviert ist und einen Neustart braucht, nach dem Neustart ist dann aber wieder deaktiviert.
Bildschirmfoto 2021-07-31 um 14.45.44.png
Bildschirmfoto 2021-07-31 um 14.44.04.png


Seit ESXi 7 wird ja nicht mehr die "esx.conf" genutzt fürs passthrough, sondern die "ah-trees.conf".
Irgendwer schon Erfahrungen, wie man dort einen eigenen Eintrag erstellen kann?

Danke,
Grüße
 
Vielleicht ein Bug ? Ich musste wie geschrieben bei meiner 3090 garnichts mehr machen. Nur Passthrough umschalten und durchreichen und Nvidia Treiber installieren.
 
Hab ESXi mal frisch auf nem USB Stick installiert. Gleiches Problem, aber immerhin gibt es eine Fehlermeldung.Bildschirmfoto 2021-07-31 um 21.03.19.png
 
Hab ESXi mal frisch auf nem USB Stick installiert. Gleiches Problem, aber immerhin gibt es eine Fehlermeldung.Anhang anzeigen 655715
BIOS aktuell?
Dort auch alles richtig eingestellt? VT-D, VT-X und wie das alles heißt an Optionen?
Bare-Metal läuft die Karte? Nicht, dass hier bspw. ein M.2 Slot und die Grafikkarte genutzt wird und dort eine Inkompatibilität besteht, aufgrund zu weniger Lanes oder dgl.

Würde das nochmal durchgehen.
 
Jap, BIOS aktuell und alle Setting richtig gesetzt.
Die GPU der CPU kann ich ohne Probleme durchleiten.

Mit Bare Metal meinst du direkt im PCIe Slot oder?
 
Jap, BIOS aktuell und alle Setting richtig gesetzt.
Die GPU der CPU kann ich ohne Probleme durchleiten.

Mit Bare Metal meinst du direkt im PCIe Slot oder?
Nein.
Sondern, wenn Windows direkt und als einziges Betriebssystem auf der Festplatte installiert wäre. Mal testweise geschaut, ob es dann funktioniert?

Ich hatte auch Ewigkeiten Error 43 Probleme mit ESXI. Lag dann tatsächlich an zu wenig verfügbaren PCIe Lanes, da diese sich mit der M.2 SSD gebissen hatten.
Handbuch also auch schon durchgeblättert, ob alles soweit kompatibel ist? Das kleingedruckte macht viel aus.
 
Ich hab ja keine Error 43 Probleme.
Die Grafikkarte lässt sich ja einfach nicht aktivieren.
 
Würde mal die PCIE-Slots durchwechseln.

Alternativ mal 6.7u3 ausprobieren. Wenn sich da passthrough auf ESXi-Ebene für das Gerät aktivieren lässt und aktiviert bleibt, liegt’s an ESXi 7. Wenn nicht, an Deiner Hardware oder Hardware-nahen Einstellungen. :)

Ich hatte mit der 7er Version auch Ärger - mit PCIE-Passthrough und mit SR-IOV. Bin daher wieder / noch auf 6.7u3 - damit funktioniert alles was ich brauch einwandfrei.
 
Leider funktioniert es mit 6.7u3 auch nicht.
Gleiches Fehlerbild. Dann liegt es wohl irgendwo an meiner Hardware.
 
Fehlerbild = GPU taucht in der Hardwareliste auf, Du aktivierst passthrough für die GPU (setzt den Haken), rebootest und dann sagt er immer noch, dass ein Reboot erforderlich ist?

Welche Hardware ist’s genau? Also Board, CPU und weitere Stecklarten?
 
/etc/vmware/passthru.map
Code:
#NVIDIA P400 gpu
10de 1cb3 d3d0 false
#NVIDIA P400 audio
10de 0fb9 d3d0 false
vmx-file der VM.
Code:
hypervisor.cpuid.v0 = false
pciPassthru0.msiEnabled = false
Hinweis: Die durchgereichte GPU ist hier pcidevice 0, Device 1 = Audioteil der Grafikkarte)
Ich wurde netterweise von besterino auf das Thema aufmerksam gemacht.
Kann mir vielleicht jemand kurz erklären, was eigentlich in der 'passthru.map' modifiziert wird? Sind das die PCI-IDs welche die VM dann zugeteilt bekommt?

Bei mir (ESXi 7u2) ist es nämlich aktuell so, dass GPU-Passthrough an eine VM zwar funktioniert, aber nur einmal.
Danach ist die GPU "gesperrt" und lässt sich bis zum Reboot des Hosts an keine andere VM mehr durchreichen! :(
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh