NVIDIA GP107 GeForce GTX 1050 GPU passthrough

Odys001kn

Member
Oct 30, 2017
6
0
6
64
Hallo,
nach dem heutigen Update kann das GPU passthrough mit der GP107 GeForce GTX 1050 nicht mehr genutzt werden.

Nach vielen Configurations-Versuchen hatte ich die Funktion erfolgreich eingerichtet, nur mit der Option "machine: pc-i440fx-2.2" und "
args: -cpu host,kvm=off -device vfio-pci,host=01:00.0,addr=0x06,x-vga=on -device vfio-pci,host=01:00.1,addr=0x04" war eine Nutzung möglich. Mit "machine: q35" kein Sound über HDMI und Videos liefen ca. 3 Sekunden.

Nach dem Update wird die Option "vga: none" ignoriert, im Webif steht weiterhin "Display Default" und am HDMi wird nur das Bios angezeigt, anschließend nur ein schwarzer Bildschirm, dafür kann über VNC die Ausgabe aufgerufen werden.
Ja, bis gestern hatte die Option "vga: none" auch Probleme verursacht, sobald die Option in der conf aktiv war konnte im Webif keine Konfiguration ausgeführt werden, es kommt eine Fehlermeldung wg. "vga: none" aber damit konnte ich leben.

Welche Lösung ist nun für Systeme mit pc-i440fx verfügbar?


# hostpci0: 01:00.0,pcie=1,x-vga=on,romfile=vbios.bin
# hostpci0: 01:00.0,pcie=1
# machine: q35
# args: -cpu host,kvm=off
args: -cpu host,kvm=off -device vfio-pci,host=01:00.0,addr=0x06,x-vga=on -device vfio-pci,host=01:00.1,addr=0x04
balloon: 0
bios: ovmf
boot: cn
bootdisk: scsi0
cores: 2
cpu: host
efidisk0: local:500/vm-500-disk-0.raw,size=128K
machine: pc-i440fx-2.2
memory: 2048
name: ubuntu1050
net0: virtio=52:54:00:a3:00:56,bridge=vmbr0
numa: 0
ostype: l26
scsi0: local:500/vm-500-disk-1.qcow2,cache=unsafe,size=30G
scsihw: virtio-scsi-pci
smbios1: uuid=3b21453b-8113-41dd-90d2-b847b648edf4
sockets: 1
usb0: host=413c:2003
usb1: host=046d:c050
vga: none
proxmox-ve: 5.2-2 (running kernel: 4.15.18-8-pve)
pve-manager: 5.2-11 (running version: 5.2-11/13c2da63)
pve-kernel-4.15: 5.2-11
pve-kernel-4.15.18-8-pve: 4.15.18-28
pve-kernel-4.15.18-5-pve: 4.15.18-24
pve-kernel-4.15.18-4-pve: 4.15.18-23
pve-kernel-4.15.17-1-pve: 4.15.17-9
corosync: 2.4.4-pve1
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.0-8
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-41
libpve-guest-common-perl: 2.0-18
libpve-http-server-perl: 2.0-11
libpve-storage-perl: 5.0-31
libqb0: 1.0.3-1~bpo9
lvm2: 2.02.168-pve6
lxc-pve: 3.0.2+pve1-3
lxcfs: 3.0.2-2
novnc-pve: 1.0.0-2
proxmox-widget-toolkit: 1.0-20
pve-cluster: 5.0-30
pve-container: 2.0-30
pve-docs: 5.2-9
pve-edk2-firmware: 1.20180612-1
pve-firewall: 3.0-14
pve-firmware: 2.0-6
pve-ha-manager: 2.0-5
pve-i18n: 1.0-6
pve-libspice-server1: 0.14.1-1
pve-qemu-kvm: 2.12.1-1
pve-xtermjs: 1.0-5
qemu-server: 5.0-40
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
zfsutils-linux: 0.7.11-pve2~bpo1
 
Nach dem Update wird die Option "vga: none" ignoriert, im Webif steht weiterhin "Display Default" und am HDMi wird nur das Bios angezeigt, anschließend nur ein schwarzer Bildschirm, dafür kann über VNC die Ausgabe aufgerufen werden.
das wurde nie so akzeptiert, das wurde geregelt über den 'x-vga' parameter beim hostpci device

nach dem heutigen Update kann das GPU passthrough mit der GP107 GeForce GTX 1050 nicht mehr genutzt werden.
wie genau hat die config vorher ausgesehen und was war das ergebnis?
auch, was genau wurde versucht in der config umzustellen?

auch die '-cpu' option in den args sollte nicht notwendig sein, das machen wir automatisch

(man kann sich die commandline auch ausgeben lassen mit 'qm showcmd ID --pretty')
 
Hallo Dominik,
vielen Dank für die Rückmeldung.
Ja, ist richtig "vga: none" wurde nicht unterstützt, hat aber für die Lösung gesorgt.Und hiermit bin ich schon bei meiner Lösung die ich jetzt nutze, womit ich die VM wieder nutzen kann, jedoch auch nicht offiziell:
ich setze in der conf die Option "vga: console0" damit erfolgt die Ausgabe wieder über HDMI, jedoch kann diese Option nicht über das WebIf gesetzt werden, nur in der conf direkt und verhindert auch nicht andere WebIf Eingaben / bringt keine Fehlermeldung.

Die conf zum Testen mit Option "machine: q35" war diese:
hostpci0 01:00.0,pcie=1,x-vga=on,romfile=vbios.bin
hostpci1: 01:00.0,pcie=1
machine: q35
balloon: 0
bios: ovmf
boot: cn
bootdisk: scsi0
cores: 2
cpu: host
efidisk0: local:500/vm-500-disk-0.raw,size=128K
memory: 2048
name: ubuntu1050
net0: virtio=52:54:00:a3:00:56,bridge=vmbr0
numa: 0
ostype: l26
scsi0: local:500/vm-500-disk-1.qcow2,cache=unsafe,size=30G
scsihw: virtio-scsi-pci
smbios1: uuid=3b21453b-8113-41dd-90d2-b847b648edf4
sockets: 1
usb0: host=413c:2003
usb1: host=046d:c050

bei der conf war die Nutzung nicht möglich, allerdings habe ich noch eine NVIDIA GF108 GeForce GT 430 , mit dieser Karte kann q35 genutzt werden, ein Eintrag "vga: none" ist nicht erforderlich, Video und Sound perfekt.

Zur arg: Option, diese scheint bei der q35 conf durch den Zusatz x-vga=on bei hostpciX: automatisch die Ausgabe auf dem HDMI zu aktivieren, aber bei der conf mit pc-i440fx-2.2 nicht und arg: ... wird nur mit der Option -cpu host,kvm=off auch die Grafikkarte ordentlich erkannt und der Treiber geladen, ohne die Option startet die VM nur in die Konsole (Nvidia 43 Problem?).

also x-vga=on bei q35 führt gewünschte Funktion aus und bei i440fx in der Zeile arg: nicht.

Gruß Mike
 
Ja, ist richtig "vga: none" wurde nicht unterstützt, hat aber für die Lösung gesorgt.
mit hat nicht funktioniert meinte ich: wurde ignoriert und hätte dieselben auswirkungen gehabt wie wenn es nicht in der config gestanden wäre, so glaube ich nicht,
dass damit irgendein problem gelöst wurde

ich setze in der conf die Option "vga: console0" damit erfolgt die Ausgabe wieder über HDMI,
genauso hier, 'console0' ist kein gültiger wert und wird ignoriert, dh das default wird verwendet

hostpci0 01:00.0,pcie=1,x-vga=on,romfile=vbios.bin
hostpci1: 01:00.0,pcie=1
da stimmt wohl etwas nicht, wenn 2x das gleiche device durchgereicht wird?

Zur arg: Option, diese scheint bei der q35 conf durch den Zusatz x-vga=on bei hostpciX: automatisch die Ausgabe auf dem HDMI zu aktivieren, aber bei der conf mit pc-i440fx-2.2 nicht und arg: ... wird nur mit der Option -cpu host,kvm=off auch die Grafikkarte ordentlich erkannt und der Treiber geladen, ohne die Option startet die VM nur in die Konsole (Nvidia 43 Problem?).
hier verstehe ich nicht genau was ausgesagt werden soll, da sich einige dinge widersprechen und einfach keinen sinn ergeben (zb hat arg nichts mit q35 oder x-vga zu tun)
außerdem warum pc-i440fx-2.2 ? qemu 2.2 ist doch schon etwas älter, vielleicht einfach mal 'pc' versuchen

ich glaube hier sind einige Missverständnisse am Werk was die verschiedenen Optionen betrifft, ich würde vorschlagen, die aktuelle dokumentation zu lesen
(https://pve.proxmox.com/pve-docs/)

auch würde ich empfehlen, config Änderungen immer einzeln nacheinander zu versuchen (dazwischen zb mit qm showcmd sich die kommandozeile anzeigen lassen) und nicht mehrere Änderungen auf einmal in wilder Reihenfolge
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!