Proxmox GPU passthrough dual-head

Fórumok

sziasztok,

friss Proxmox használó vagyok, kevés tapasztalattal. a host-on egy Alder Lake-P Integrated Graphics Controller (Intel Iris Xe) a GPU. ezt PCI passthrough-val dedikáltam egy Ubuntu 22.04 Desktop VM-nek. Intel VT-d BIOS-ban bekapcsolva, intel_iommu=on a grub.conf-ban, a szükséges 4 modul (vfio, vfio_iommu_type1, vfio_pci, vfio_virqfd) behúzva /etc/modules-ba.

eddig jó is minden (bár elsőre ablakok nyitására vibrálni kezdett a kép, lefagytak az alkalmazások, sőt egyszer a VM is merevre fagyott, de a memória növelése 4GB-ról 8GB-ra úgy tűnik megoldotta a problémát, azóta reccenés nélkül megy minden).

a GPU viszont dual-head (sőt bizonyos leírások szerint quad, de nekem most elég lenne a 2 HDMI), és szeretném a guest-en mindkét HDMI-t használni, de egyelőre csak az egyiken ad ki jelet a VM. a Settings-ben lát egy RedHat 15" nevű kijelzőt, erre nem jöttem még rá, mi lehet.

hogyan tudnám működésre bírni a második HDMI-t? olvasgattam virt-viewer-ről, SPICE-kliensről, de kezdek elveszni a sok info között... van köztetek, aki csinált már ilyet, vagy legalább képben van ezekkel kapcsolatban?

illetve még egy kérdés: kell nekem (ehhez vagy más miatt) az iommu=pt beállítás (illetve bármi további) a grub.conf-ban?

előre is köszi a releváns hozzászólásokat.

Hozzászólások

csak egy tipp: 
NIC passthru esetén úgy működik, h ahány portja van a kártyának (ahány PCI ID) azokat mind hozzá kell rendelni a VMhez (értsd: 1 kártya 2 portját AZONOS VM-hez, másiknál nem működik)

Esetleg boot-olj be ProxMox virtualizáció nélkül, nézd meg, melyik PCI ID(k) van(nak) használatban a GPU által, és ezeket mind rendeld hozzá a VMhez.
Ha pedig mind hozzá van, akkor vélhetően a VM-ben kell tekergetni valamit

köszi a tippet. gondoltam erre is, de a Proxmox csak egy GPU device-t lát. ami viszont érdekes, hogy a hozzászólásod miatt újra megnéztem, és azt az egyet engedi újra kiválasztani. még nem adtam hozzá újra, mert most nincs időm játszani vele, de hamarosan kipróbálom és beszámolok a tapasztalatokról.

időközben hozzáadtam a grub.conf-hoz a többi, leírásokban javasolt paramétert is:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init video=simplefb:off video=vesafb:off video=efifb:off video=vesa:off disable_vga=1 vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=radeon,nouveau,nvidia,nvidiafb,nvidia-gpu,snd_hda_intel,snd_hda_codec_hdmi,i915"

így eltűnt a második, RedHat 15" nevű kijelző, ezen felül semmilyen változást nem tapasztalok. emellett a Machine-t átállítottam i440fx-ről q35-re, ettől viszont érzésre gyorsabb lett a VM működése, hamarabb teszi ki az ablakokat stb.

elkezdek abban az irányban is keresgélni, hogyan lehetne rávenni a Proxmox-ot, hogy több GPU PC-t lásson (ahány port-ja van a kártyának).

A virt-viewer (mint SPICE kliens) csak akkor játszik, ha a virtuális konzolt szeretnéd használni. Ennek valóban van olyan lehetősége, hogy dual képernyős virtuális konzolt kérsz, és akkor a VM két "monitort" lát, annyit tud használni, amit aztán a SPICE kliensben vagy váltogatsz, vagy valóban két tényleges monitorra teszed ki egy időben. De ez virtuális konzol virtuális VGA-val.

Viszont GPU passthrough-nál a GPU valódi kimenetére kötsz monitort és azt használod, így sem a SPICE kliens sem más virtuális konzol nem érdekes.

Amikor a GPU-t átadod, akkor azt az eredeti driver-e kezeli, szóval mindennek működnie kellene amit natívan tud. Persze olyan elképzelhető, hogy a virtuális környezetet észlelve a driver szűkebb szolgáltatás készletet ad...

Ami még érdekes lehet GPU passthrough-nál, az a Looking Glass, amikor is a VM által a valódi (átadott) kártyán generált kép a host képernyőjén jelenik meg (VGA memória tartalom másolással operál), nem a hardverre (átadott VGA-ra) kötött fizikai külön monitoron. De ez olyankor érdekes csak, amikor pl. a host-nak marad ez a CPU-ba integrált VGA, a VM kap egy nagy teljesítményű diszkrét VGA-t, de nem akarsz arra is plusz garnitúra monitort kötni. Ez jelen esetben szerintem nem játszik.

tegyel fel egy masik OS-t (windoz pl?), akar ugyanarra a vm-re, (csak tolj egy snapshotot amire visszaallsz), es probald meg azzal. vagy live akarmivel, vagy...
amugy fontos lenne a HW is ilyenkor (ha mar hw passthrough), mert eddig csak szoftverrol beszelsz, de a hardverrol hallgatsz. (alaplap/cpu/stbstb...)

HDMI portok mennyisége 

1
...

amugymeg: https://forum.proxmox.com/threads/passthrough-igpu-alder-lake-intel-12t…
lehet jatszani hatha sikerul.

Azt nem tudom mi a celod vele (a bulinak tuno mokazason tul), amit ubuntu VM-ben akarsz megoldani a debian host helyett (a proxmox egy koszos debian).

amiket fentebb irogatsz (spice es tarsai) nem hw HDMI portok amugy, sot, hogy elszomoritsalak van, hogy a HDMI csak egy HW chip (vagy SW, ezzel kuzd az AMD eppen, mert a HDMI-maffia nem engedi neki linuxon a 2.1 szabvanyt... LOL) emulacio, valojaban DP-bol konvertalodik, plusz az egyeb nyalanksagok (hang, stb) rakerulnek.

basszus, akkor ezért nem megy a második HDMI, mert nincs rajta! köszi...

benéztem egy betűt, itt a rendes speci: https://simplynuc.com/product/nuc12wski5-full/
mennyivel kerültünk közelebb a megoldáshoz?

a célom, hogy vm-eket és konténereket futtassak a gépen párhuzamosan, és az egyik vm-et munkaállomásként használjam dual monitorral. ha ez számodra mókázás, ám legyen... kérlek írd meg, hogyan tudnám ezt a host-on megvalósítani.

elolvastam a linkelt szálat, windows 11 vm-mel küzdenek és nem találtam benne dual-head-re vonatkozó bármilyen említést. ahogy a nyitóban írtam, a GPU passthrough megy nálam gond nélkül.

valahogy nem érzem azt, hogy a kérdésemről beszélgetnénk, de azért kösz a hozzászólásokat.

en a debian hostot hasznalnam munkaallomaskent, rajta proxmox-szal (vagy kvm-mel, vbox-szal, [insert your fav. here]). igy nativ megy a dual monitor is es tudsz kontenert/vm-et futtatni, es a desktop performance is sokkal jobb, mert azon nincs virtualizacios reteg. plusz egyszerubb dolgod van barmilyen host hiba eseten, mert van local konzolod (nem adtad oda vm-nek). erre mondtam, hogy imho amit probalsz felepiteni, az mokazas.

HDMI-maffia nem engedi neki linuxon a 2.1 szabvanyt

Basszus, ez kemény. Mindez a HDCP faszság miatt, amit nem nagy kunszt megkerülni. Ráadásul ha az open-source driver ezt a védelmet gyengíti, akkor véleményem szerint az egész technológia/architektúra szarul van kitalálva. Amúgy Aliexpressen pár dollárér lehet kapni olyan HDMI splittert, ami behazudja a HDCP-t, innentől azt veszel fel, amit akarsz. A torrent size-ok tele vannak a Netflix és társairól felvett anyagokkal, úgyhogy tényleg nincs értelme ennek.

Az összes szoftveres DRM cucc a védelmi pénz beszedésről szól. Élvezettel nézném, ha valami okból ez az AMD driver felkerülne a githubra...