gpu passthrough geht nicht richtig

ItalyBoy

New Member
Jul 14, 2020
11
0
1
39
Guten abend

ich bekomme es einfach nicht hin. Habe es mit der Einleitung in der Wiki gemacht. Mein Problem ist das es zwar geht das es bei vm debian 11 erkennt aber wenn ich vainfo mache zeigt es mir Fehler.Die Anleitungen habe ich außer natürlich passthrough in der vm gemacht vielleicht liegt es daran ? wenn ja gibt es eine saubere Lösung es auf dem host system zu machen ohne es zu verschmutzen ? Was mir aufgefallen ist das normaler weise wenn ich die gpu im vm einstelle sollte es dann nicht auf dem host gesperrt sein ? bzw nicht mehr erkannt werden ? Als VM DISPLAY habe ich standard vga genommen wenn ich z.b virtio gpu nehme geht es überhaupt nicht.

VM INFO:
Code:
Maschine : q35
Bios: OFMV
dazu muss ich sagen das gpu anscheinend OFMV uefi nicht unterstützt : 
https://vfio.blogspot.com/2014/08/does-my-graphics-card-rom-support-efi.html

Vainfo:
Code:
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc

GRAFIK IN VM:
Code:
01:00.0 VGA compatible controller [0300]: Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:3e92]
        Subsystem: ASUSTeK Computer Inc. UHD Graphics 630 (Desktop) [1043:8694]
        Kernel driver in use: i915
        Kernel modules: i915

GRAFIK IN HOST:
Code:
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:3e92]
        DeviceName: Onboard - Video
        Subsystem: ASUSTeK Computer Inc. UHD Graphics 630 (Desktop) [1043:8694]
        Kernel driver in use: vfio-pci
        Kernel modules: i915


einleitungen die ich benutzt habe
Code:
https://gist.github.com/Brainiarc7/4f831867f8e55d35cbcb527e15f9f116
https://github.com/intel/media-driver
https://pve.proxmox.com/wiki/Pci_passthrough
 
Last edited:
Willkommen im Club.

Leider gibt es im Proxmox Wiki 2 PCI passthrough Anleitungen, die hier würde ich fast als "neuer" ansehen:
https://pve.proxmox.com/wiki/PCI(e)_Passthrough

Im Host würde ich das Kernelmodul für i915 blacklisten, angeblich ist das uncool wenn der Host noch auf einem passthrough device rumfummelt.
q35 ist gut, dann tut's ein SeaBios auch

virtio-gpu ist ganz schlecht. Wenn Du das Device durchreichst, dann ist ja die Hardware in der VM "da", da ist nix mehr virtualisiert.
 
vielen dank habe das alles dort stehen (modprobe.d) Das mit dem virtio-gpu habe ich nicht gewusst danke dir.Hast vielleicht eine lösung für mich ? irgendwie geht es nicht... CPU TYPE habe ich HOST angegeben.

blacklist.conf:
blacklist radeon blacklist nouveau blacklist nvidia blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist i915

iommu_unsafe_interrupts.conf:
vfio_iommu_type1 allow_unsafe_interrupts=1

kvm.conf:
options kvm ignore_msrs=1

pve-blacklist.conf:
# This file contains a list of modules which are not supported by Proxmox VE # nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701 blacklist nvidiafb

vfio.conf :
options vfio-pci ids=8086:3e92 disable_vga=1

zfs.conf :
options zfs zfs_arc_min=34359738368 options zfs zfs_arc_max=107374182400
 
Last edited:
Also ein einfaches PCI durchreichen bekomme ich schon lange hin, das ist kein Problem. Bei Dir oben unter "VM Info" fehlt eigentlich die wichtigste Zeile: Der PCI passthrough.

Da müsste eine Zeile stehen mit (ich hasse diese Forumsoftware - kann copy&paste nicht richtig):

Code:
hostpci0: 81:00,pcie=1,x-vga=on

Entsprechend weil bei mir auf dem host ein
Code:
lspci | grep -i vga
das hier liefert:

Code:
81:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)

Naja und auf der VM ist die dann unter

Code:
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)

sichtbar. Ab da hat die Software eigentlich kein Problem mehr. Meistens. Wenn man nicht OpenCL mit AMD machen will gerade...


Schick doch mal die Ausgabe von dmesg auf der VM also "dmesg | grep 915"
 
Last edited:
Also ein einfaches PCI durchreichen bekomme ich schon lange hin, das ist kein Problem. Bei Dir oben unter "VM Info" fehlt eigentlich die wichtigste Zeile: Der PCI passthrough.

Da müsste eine Zeile stehen mit (ich hasse diese Forumsoftware - kann copy&paste nicht richtig):

Code:
hostpci0: 81:00,pcie=1,x-vga=on

Entsprechend weil bei mir auf dem host ein
Code:
lspci | grep -i vga
das hier liefert:

Code:
81:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)

Naja und auf der VM ist die dann unter

Code:
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)

sichtbar. Ab da hat die Software eigentlich kein Problem mehr. Meistens. Wenn man nicht OpenCL mit AMD machen will gerade...


Schick doch mal die Ausgabe von dmesg auf der VM also "dmesg | grep 915"

@MoxProxxer
sry hatte es aufgegeben nun versuche ich es nochmal.

dmesg | grep 915

Code:
[    0.080541] Memory: 7915848K/8240580K available (14339K kernel code, 2400K rwdata, 5016K rodata, 2728K init, 4972K bss, 324732K reserved, 0K cma-reserved)
[    1.161602] i915 0000:01:00.0: VT-d active for gfx access
[    1.194517] [drm:gen9_set_dc_state [i915]] *ERROR* DC state mismatch (0x0 -> 0x2)
[    1.196840] i915 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[    1.214374] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    1.223548] i915 0000:01:00.0: Failed to program MOCS registers; expect performance issues.
[    1.424571] i915 0000:01:00.0: Failed to idle engines, declaring wedged!
[    5.232721] i915 0000:01:00.0: Failed to initialize GPU, declaring it wedged!
[    5.232744] i915 0000:01:00.0: Please file a bug on drm/i915; see https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs for details.
[    5.351127] [drm] Initialized i915 1.6.0 20190822 for 0000:01:00.0 on minor 1

grep -i vga

Code:
00:01.0 VGA compatible controller: Device 1234:1111 (rev 02)
01:00.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop)
 
Hallo,

wie genau hast du denn deine Grafikkarte durchgereicht?
Bei mir sieht das ganze so aus -> hostpci0: 01:00,pcie=1,x-vga=1

Sprich ich habe alle Checkboxen in der GUI aktiviert:

1634540600211.png


Was mir auch noch einfallen würde: Nvidia deaktiviert ja bei den "Standard-GPUs" ja gerne die Passthrough-Möglichkeit. In einer Windows-VM siehst du hier dann einen Error beim Geräte-Manager.
 
Last edited:
Ich habe hostpci0: 0000:00:02,pcie=1,x-vga=1,romfile=vbios.bin ansonsten alles gleich.. Musste es wieder auf OMV Bios einstellen da es sonst nicht ging mit primäre gpu. Wenn ich bei Windows die gpu durchreiche zeigt es ohne fehler an aber wenn ich es benutzen möchte sagen mir verschiedene Programme das gpu nicht unterstützt wird. z.b headbrake (transcoding) erkennt die gpu und kann es auch benutzen aber bei anderen Programme nicht obwohl intelsync unterstützt wird. Bei debian/ubuntu geht überhaupt nichts mit gpu obwohl viele Programme es erkennt schätze das es nicht richtig funktioniert wegen der Fehler Ausgabe.
 
Könntest du auf deinen GPU-Ausgang irgendeinen Monitor anstecken?
Mitunter kann es sein, dass die GPU ihren Dienst verweigert, wenn da kein Gerät dranhängt.
 
geht nicht ist ein hetzner server habe mal windows 11 installiert (ohne proxmox) treiber installiert quicksync aktiv....verstehe nicht wieso bei ubuntu/debian so kompliziert ist.
 
Ich habe - ist aber nur Intuition - so einen Verdacht. Bei meinem Server ist es kein Problem die PCI Devices durchzureichen und dann die VM auf ihnen "rumhacken lassen", weil diese Devices exklusiv der VM vorbehalten sind. Z.b. den Framebuffer erledigt dann ein BMC Aspeed AST2400. Es ist bekanntlich nicht möglich (also nicht ohne sich einen Sack anderer Probleme einzuhandeln) ein Device sowohl dem Host wie auch einer VM zur Verfügung zu stellen.

Mich beschleicht daher der Verdacht, dass das Durchreichen der i915 gar nicht gehen kann, weil diese vom Host verwendet wird.
 

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!