{ "meta": { "title": "Pridanie GPU do VM | Dokumentácia ProxMenux", "description": "Priraďte fyzickú GPU virtuálnemu stroju Proxmox. ProxMenux overí IOMMU, nastaví VFIO a zariadenia VM a zistí konflikty s inými VM alebo LXC." }, "header": { "title": "Pridať GPU do VM (passthrough)", "description": "Zistí GPU Intel, AMD alebo NVIDIA pre priamy prístup z VM. Overí IOMMU a pridružené zariadenia, nastaví VFIO a VM a použije pravidlá kompatibility. Overte všetky dotknuté zariadenia.", "section": "Hardvér: grafické karty a Coral TPU" }, "intro": { "title": "Čo robí", "body": "Automatizuje nastavenie hostiteľa a hostpci z dokumentácie PCI passthrough Proxmox. Overí priradenia iným hosťom a ponúkne riešenie konfliktov. Nezaručuje podporu každej GPU, resetovania či hosťovského ovládača." }, "who": { "heading": "Pre koho je toto?", "body": "Pre priamy prístup virtuálneho stroja ku GPU cez VFIO. Kým je GPU priradená VFIO, ovládač hostiteľa ju nepoužije ani pri zastavenej VM. Na zdieľanie s LXC použite Pridať GPU do LXC." }, "prereqs": { "title": "Skôr ako začnete", "gpu": "Fyzicky nainštalovaná kompatibilná GPU. Skript zisťuje Intel, AMD a NVIDIA cez lspci.", "gpuCheck": "lspci | grep -iE 'VGA|3D|Display'", "iommu": "Podpora IOMMU v hardvéri a potrebné zapnutie vo firmvéri (Intel VT-d alebo AMD-Vi). Overí systém a môže nastaviť Linux; nemení BIOS/UEFI ani nedokazuje, že neaktívne IOMMU je vypnuté vo firmvéri.", "q35": "Sprievodca vyžaduje q35 a odmietne i440fx. Typ stroja je oddelený od firmvéru BIOS/UEFI. Zmena čipovej súpravy existujúcej VM vyžaduje plánovanie a nevykonáva sa automaticky.", "q35Check": "qm config VMID | grep machine", "moreGpus": "Pripravte ďalšiu GPU alebo náhradný prístup cez SSH, IPMI či sériovú konzolu. Rezervovanie hlavnej GPU môže vypnúť miestny obraz. Pri NVIDIA môže karta mimo dotknutej skupiny IOMMU zostať hostiteľovi.", "nvidiaInstalled": "Po inštalácii NVIDIA na hostiteľa sa vybrané funkcie rezervujú pre vfio-pci namiesto nvidia. Modul nvidia môže zostať pre ostatné karty mimo dotknutej skupiny IOMMU. Overte ich cez nvidia-smi." }, "pickOne": { "title": "Výhradné priradenie VM alebo zdieľanie LXC", "body": "Používateľ GPU viazaný na vfio-pci pre prechod VM nemôže súčasne používať hostiteľ ani LXC. Ak máte dva GPU, môžete vyhradiť jeden pre každú cestu. Ak máte iba jeden, vyberte:", "vmItem": "VM: priamy a výhradný prístup pre túto VM.", "lxcItem": "LXC (Pridať GPU do LXC): zdieľa zariadenie s hostiteľom a ďalšími kontajnermi cez natívny ovládač." }, "running": { "heading": "Spustenie inštalátora", "body": "Otvorte ProxMenux a vyberte Hardvér: GPU a Coral-TPU → Pridať GPU do VM.", "imageAlt": "Položka ponuky na pridanie GPU do VM" }, "howRuns": { "heading": "Ako skript funguje", "body": "Zistenie a výber predchádzajú hlavným zmenám potvrdeným súhrnom. Zapnutie IOMMU má skoršie samostatné potvrdenie a môže už zmeniť štart systému. Neskoršie čistenie zvuku môže tiež vyžadovať výber." }, "walkthrough": { "heading": "Postup krok za krokom", "detect": { "title": "Detekovať GPU a skontrolovať IOMMU", "body": "Považuje IOMMU za aktívne iba vtedy, keď bežiace jadro má intel_iommu=on alebo amd_iommu=on a existujú skupiny IOMMU. Ak je parameter už uložený pre ďalší štart, pokračuje v režime čakajúceho reštartu; inak ho samostatne potvrdený krok môže pridať s iommu=pt. Jeho heuristika zavádzacieho súboru použije /etc/kernel/cmdline, keď sa v ňom nachádza značka koreňa ZFS ako root=ZFS=; inak použije /etc/default/grub. Táto heuristika nedokazuje skutočne použitý zavádzač. Novo nakonfigurované IOMMU sa prejaví po reštarte; potom overte skutočné skupiny.", "tipTitle": "Už ste nastavili kroky po inštalácii?", "tipBody": "Ak je podpora VFIO IOMMU nastavená a aktívna v jadre, kontrola prejde. Nastavenie pre ďalší štart samo osebe nedokazuje aktuálne zapnutie.", "imageAlt": "Zoznam zistených GPU s predávajúcim a PCI adresa" }, "preflight": { "title": "Výber GPU a predbežné kontroly", "intro": "Akonáhle si vyberiete GPU, skript spustí sériu kontrol, ktoré môžu každý blok ďalší postup:", "items": [ "Ochrana SR-IOV. Odmietne VF a PF s aktívnymi VF, pretože nastavuje celé zariadenia, nie SR-IOV. SR-IOV nastavte samostatne na podporovanom hardvéri.", "Jediná GPU. Po rezervovaní pre VFIO môže miestna konzola stratiť obraz. Najprv overte SSH alebo webový prístup z iného počítača.", "Politika resetovania AMD. Číta /sys/bus/pci/devices/<pci>/reset_method. APU alebo samostatná karta bez FLR je blokovaná politikou sprievodcu; neznámy podtyp bez FLR vyžaduje potvrdenie. Nedokazuje to všeobecnú nemožnosť.", "Stav D3cold. Sprievodca blokuje AMD karty so stavom D3cold pre riziko zlyhania aktivácie. Overte napájanie a firmvér.", "Analýza skupiny IOMMU. Číta /sys/kernel/iommu_groups/ a do plánu VM zahrnie všetkých členov okrem mostov, prípadne aj sieťové či úložné radiče. Skript ich nevypíše, preto skupinu pred potvrdením overte sami. Pri čakajúcom reštarte IOMMU nie sú skutočné skupiny dostupné a plán najprv obsahuje iba vybranú funkciu GPU; izoláciu overte po reštarte." ], "audioIntro": "Pridružený zvuk. Dva prípady podľa umiestnenia radiča:", "audioDgpu": "Samostatná GPU: zvuk HDMI býva vo funkcii .1 rovnakého PCI slotu a pri zistení sa zahrnie. Ak ho používal hostiteľ, rezervovaním pre VM stratí prístup.", "audioIgpu": "Bez zvukovej funkcie .1: zvuk môže byť na inom zariadení ako 00:1f.3. Vypíše radiče a ovládače, napríklad snd_hda_intel. Predvolene nie je vybraný žiadny; vyberte iba potrebné." }, "pickVm": { "title": "Vyberte cieľovú VM", "body": "Vyberte VM zo zoznamu. Vyžaduje q35 a podľa možnosti použije existujúce položky GPU. BIOS/UEFI je samostatné nastavenie, nie typ stroja. Čipovú súpravu ani režim štartu hosťa automaticky nemení.", "imageAlt": "Výber VM podľa názvu, ID a stavu" }, "switchMode": { "title": "Riešenie existujúcich priradení", "intro": "Skript prehľadá konfigurácie VM a LXC na hostiteľovi a zisťuje použitie vybranej GPU. Možné výsledky:", "items": [ "GPU je voľná. Pokračuje bez odstránenia priradení.", "Priradená inej VM. Najprv zastavte zdrojovú VM. Môžete ponechať položky a vypnúť automatický štart alebo odstrániť položky a ponechať automatický štart. Pri aktívnom vfio-pci bez potrebných zmien hostiteľa možno presun VM→VM vykonať bez jeho reštartu.", "GPU používaná LXC. Pri bežných kontajneroch zvoľte ponechať konfiguráciu GPU a vypnúť automatický štart alebo odstrániť konfiguráciu zariadenia GPU a automatický štart ponechať. Odstránenie vymaže položky devN a pri AMD/Intel aj staré pravidlá /dev/dri lxc.mount.entry a lxc.cgroup2.devices.allow. Kontajnery OCI si ponechajú konfiguráciu a zastavia sa s vypnutým automatickým štartom; ich GPU odstráňte cez OCI manager Apps. Detekcia konfliktov prebieha podľa rodiny zariadení GPU a môže zahrnúť ďalšie karty tejto rodiny." ], "imageAlt": "Dialóg ponúka odstrániť GPU z LXC pred pridelením do VM", "smartTitle": "Kontrola pridruženého zvuku pri odstránení GPU", "smartBody": "Potom môže ponúknuť zoznam potenciálne nepotrebných zvukových zariadení zdrojovej VM. Zrušte výber stále potrebných. Napríklad môže ponechať 02:00.1 a ponúknuť odstránenie 00:1f.3. O odstránení rozhoduje výber, nie zaručená univerzálna väzba zvuku a obrazu." }, "audioPick": { "title": "Bez zvukovej funkcie .1 vyberte potrebné radiče", "body": "Stáva sa to len pre Intel iGPU a podobné split-audio nastavenia. Kontrolný zoznam zobrazuje každý PCI audio ovládač na hostiteľovi (s výnimkou všetkých už v skupine IOMMU GPU), označený jeho súčasným vodičom. Vyberte tie, ktoré chcete, alebo žiadne, ak VM nepotrebuje audio z hostiteľa hardvéru.", "imageAlt": "Kontrolný dialóg s každým hostiteľom PCI audio ovládač (BDF + ovládač), keď GPU nemá .1 súrodenec", "warnTitle": "Nevyberajte zvuk potrebný hostiteľovi", "warnBody": "Priradenie zvuku môže odobrať prístup hostiteľovi; radič nemôže súčasne patriť inej spustenej VM. Nepotrebný zvuk nevyberajte a overte priradenia. Pípanie konzoly nemusí pochádzať z PCI zvuku." }, "summary": { "title": "Preskúmanie zhrnutia potvrdenia", "body": "Overte konečný plán hostiteľa a VM a pri chybe ho zrušte. Zobrazuje skupinu IOMMU a počet jej zariadení, nie jednotlivých členov, preto skupinu overte vopred. Zrušenie zastaví hlavné zmeny, nevráti však skoršiu samostatne potvrdenú zmenu nastavenia štartu pre IOMMU.", "imageAlt": "Súhrn plánovaných zmien hostiteľa a VM" }, "hostApply": { "title": "Uplatnia sa zmeny hostiteľa", "intro": "Fáza vykonania mení hostiteľa a VM. Čistenie zvuku môže ešte vyžadovať výber. Možné zmeny:", "items": [ "/etc/modules Dodáva: vfio, vfio_iommu_type1, vfio_pci (plus vfio_virqfd o jadrách < 6.2).", "/etc/modprobe.d/vfio.conf — AMD/Intel: options vfio-pci ids=<vendor:device,...> disable_vga=1. NVIDIA: softdep nvidia pre: vfio-pci (_drm/_modeset/_uvm); skutočné priradenie je podľa BDF. AMD pridáva poradie načítania softdep: vfio-pci → radeon/amdgpu.", "Zapíše /etc/modprobe.d/iommu_unsafe_interrupts.conf a kvm.conf s allow_unsafe_interrupts=1 a ignore_msrs=1. Ide o nastavenia skriptu, nie všeobecné požiadavky Windows/macOS; nebezpečné prerušenia oslabujú ochranu premapovania.", "/etc/modprobe.d/blacklist.conf: NVIDIA — nouveau/lbm-nouveau; AMD — radeon + amdgpu; Intel — i915. Tieto pravidlá výrobcu môžu ovplyvniť ďalšie karty s rovnakým ovládačom. Modul nvidia sa blokuje iba cez /etc/modprobe.d/proxmenux-nvidia-vfio-blacklist.conf, keď sú všetky NVIDIA hostiteľa evidované pre VFIO.", "/etc/udev/rules.d/10-proxmenux-vfio-bind.rules + /etc/proxmenux/vfio-bind.bdfs — Iba NVIDIA. Nastaví ATTR'{'driver_override'}'=\"vfio-pci\" pri PCI ADD pre evidované BDF vrátane funkcií dotknutej skupiny IOMMU. Mimo skupín môže zostať nvidia. Politika BDF nerozdelí hardvérovú skupinu IOMMU.", "Iba AMD. Pokúsi sa o výpis ROM z /sys/bus/pci/.../rom alebo ACPI VFCT do /usr/share/kvm/vbios_<vendor>_<device>.bin. Pri úspechu VM použije romfile=. Platný výpis nezaručí úspešnú inicializáciu GPU.", "Iba NVIDIA. Zastaví a vypne nvidia-persistenced, nvidia-powerd, nvidia-fabricmanager iba ak sú všetky NVIDIA rezervované pre VFIO. Pri zmiešanom použití zachová služby a nvidia pre natívne karty.", "update-initramfs -u -k all — spustí sa iba pri zmene nastavenia hostiteľa." ] }, "vmApply": { "title": "Konfigurácia VM sa aplikuje pomocou qm set", "body": "VM konfig na /etc/pve/qemu-server/<vmid>.conf je aktualizovaný prostredníctvom qm set (nikdy priamo sed):", "after1": "Pridáva x-vga=1 pre AMD a NVIDIA, nie Intel. Ide o politiku skriptu, nie dôkaz, že všetkým Intel iGPU chýba firmvér alebo že príznak vždy spôsobuje zamrznutie.", "after2": "Dodatočné linky hostpciN sú pripojené, ak skupina IOMMU GPU obsahuje ďalšie zariadenia, ktoré potrebujete spoločne prechádzať." }, "reboot": { "title": "Reštart pri požadovanej zmene hostiteľa", "body": "Pri zmene štartu alebo ovládačov postupujte podľa výzvy na reštart a pred VM overte aktívne priradenie GPU. Uložené nastavenie nepotvrdzuje aktiváciu. Presun VM→VM so správnym VFIO nemusí vyžadovať reštart hostiteľa.", "imageAlt": "Súhrnná obrazovka znázorňujúca, čo bolo zmenené, nasledovaná reštartom" } }, "vendors": { "heading": "Poznámky podľa výrobcu", "nvidiaHeading": "NVIDIA", "nvidiaBody": "Zachováva staršie riešenie pre Code 43: hidden=1, ID NV43FIX v args a kvm=off. Nie je všeobecnou požiadavkou dnešných GeForce; NVIDIA povolila Windows passthrough od R465. Chyba môže mať iné príčiny; overte GPU a ovládač.", "nvidiaMultiHeading": "Podpora multi-GPU NVIDIA", "nvidiaMultiBody": "Zmiešané použitie NVIDIA podľa BDF. Funkcie vfio-pci eviduje podľa adresy, nielen ID vendor:device. Mimo dotknutých skupín môže ponechať nvidia; overte cez nvidia-smi. Dve karty v rovnakej skupine tým neizoluje.", "amdHeading": "AMD", "amdBody": "Niektoré AMD GPU sa po zastavení VM nedajú resetovať. Sprievodca overuje hlásené schopnosti, nie každý reálny cyklus. vendor-reset podporuje obmedzený zoznam, vyžaduje kompatibilné jadro a skoré načítanie; nenainštaluje sa. Aj RadeonResetBugFix pre Windows závisí od hardvéru, bez všeobecnej záruky.", "intelHeading": "Intel iGPU", "intelBody": "Úplné priradenie Intel iGPU a SR-IOV sú odlišné postupy. Sprievodca rezervuje celé zariadenie pre jednu VM bez x-vga=1. i915-sriov-dkms vyžaduje podporovaný hardvér a jadro; „UHD 630+“ nie je pravidlo kompatibility. Pripravte náhradný prístup k hostiteľovi." }, "verification": { "heading": "Overenie" }, "troubleshoot": { "heading": "Riešenie problémov", "code43Title": "Kód 43 vo Windows (NVIDIA)", "code43Body": "Code 43 nedokazuje chybu skrytia KVM. Overte qm config VMID | grep -E \"cpu|args\" so skutočným VMID, potom hidden=1 a hv_vendor_id=NV43FIX. Overte aj hosťovský ovládač, firmvér a priradenie. Opakovanie môže pri existujúcom priradení skončiť.", "amdResetTitle": "AMD GPU funguje raz, zlyháva na reštarte VM", "amdResetBody": "Zlyhanie resetovania je jednou z príčin. Reštart alebo úplné vypnutie môže dočasne pomôcť. Overte podporu a skoré načítanie vendor-reset; samotné softdep amdgpu pre: vendor-reset nezaručí načítanie pred VFIO. Aj RadeonResetBugFix potrebuje kompatibilnú GPU.", "stuckBootTitle": "VM prilepené booting / GPU nezistené", "stuckBootBody": "Overte skutočnú adresu cez lspci -nnk -s PCI_ADDRESS; očakáva sa Kernel driver in use: vfio-pci. Nahraďte PCI_ADDRESS. Pri natívnom ovládači overte politiku priradenia, nielen /etc/modprobe.d/blacklist.conf; NVIDIA používa stav BDF. Pozrite dmesg | grep vfio. Po oprave spustite update-initramfs -u -k all a plánovaný reštart.", "darkTitle": "Hostiteľská konzola ide tma po reštarte a nemôžem SSH v", "darkBody": "Čierna obrazovka nedokazuje výpadok hostiteľa. Ak nefunguje ani SSH, overte sieť a radiče zahrnuté v skupine IOMMU. Obnovte prístup cez IPMI, sériovú konzolu alebo záchranné prostredie; overte /etc/pve/qemu-server/<vmid>.conf a vráťte iba príslušné priradenia a pravidlá. Nemažte nesúvisiace nastavenia.", "logTitle": "Skontrolujte protokol inštalácie", "logBody": "Každé spustenie zapisuje /tmp/add_gpu_vm.log. Záznam priložte k žiadosti o pomoc." }, "revert": { "heading": "Ručné vrátenie zmien", "intro": "Zastavte VM a odstráňte iba príslušné PCI priradenia v Hardvéri alebo pomocou nižšie uvedeného indexu. GPU sa tým nevráti natívnemu ovládaču hostiteľa. Na to použite Zmeniť režim GPU a pred potvrdením overte dotknutých hostí." }, "related": { "heading": "Súvisiace", "items": [ { "label": "Nainštalovať ovládače NVIDIA (host)", "href": "/docs/hardware/nvidia-host", "tail": " — príprava ovládača pre natívne karty hostiteľa; GPU vo VFIO ho nemôže používať súčasne." }, { "label": "Pridať GPU do LXC", "href": "/docs/hardware/igpu-acceleration-lxc", "tail": " — alternatíva: zdieľať GPU s viacerými kontajnermi namiesto vyhradenia jednej VM." }, { "label": "Zmeniť režim GPU (VM ↔ LXC)", "href": "/docs/hardware/switch-gpu-mode", "tail": " — prepnutie tej istej GPU medzi zdieľaním a výhradným priradením." }, { "label": "GPU Prenosové príkazy", "href": "/docs/help-info/gpu-commands", "tail": " — lspci, overenie IOMMU a prehľad qm set hostpci." } ] } }