Współdzielenie iGPU w Proxmox: Kompleksowy przewodnik po konfiguracji Intel GVT-g
Intel GVT-g: Wirtualizacja i współdzielenie zintegrowanej karty graficznej
Intel GVT-g (Graphics Virtualization Technology-g) to technologia wirtualizacji procesorów graficznych (GPU) firmy Intel. Umożliwia ona współdzielenie pojedynczego, zintegrowanego układu graficznego (iGPU) między wieloma maszynami wirtualnymi (VM). Dzięki temu każda z maszyn wirtualnych zyskuje dostęp do sprzętowej akceleracji grafiki, oferując wydajność zbliżoną do natywnej.
Spis treści
- Intel GVT-g: Wirtualizacja i współdzielenie zintegrowanej karty graficznej
- Jak to działa? Architektura “Mediated Pass-Through”
- Główne zalety i zastosowania GVT-g
- Ograniczenia i następcy technologii
- GVT-g a inne technologie wirtualizacji Intela
- Poradnik: Konfiguracja Intel GVT-g w Proxmox
- 1. Konfiguracja GRUB
- 2. Ładowanie wymaganych modułów kernela
- 3. Weryfikacja konfiguracji GVT-g
- 4. Wymagania dla maszyny wirtualnej
- 5. Przypisanie wirtualnego GPU (vGPU) do maszyny wirtualnej
- 6. Instalacja sterowników w maszynie wirtualnej
- Podsumowanie
W przeciwieństwie do pełnego przypisania karty graficznej do jednej maszyny wirtualnej (znanego jako “passthrough” lub GVT-d), GVT-g pozwala na jednoczesne korzystanie z mocy obliczeniowej iGPU zarówno przez system-gospodarza, jak i przez systemy gości.
Jak to działa? Architektura “Mediated Pass-Through”
Sercem technologii GVT-g jest mechanizm “mediated pass-through” (pośredniczonego przekazywania). Polega on na tym, że hypervisor (oprogramowanie do wirtualizacji, takie jak KVM) “pośredniczy” w dostępie maszyn wirtualnych do fizycznego GPU.
W praktyce wygląda to następująco:
- Wirtualne GPU (vGPU): Dla każdej maszyny wirtualnej tworzony jest wirtualny procesor graficzny (vGPU), który jest przez nią widziany jako standardowa karta graficzna Intela. Pozwala to na instalację natywnych sterowników graficznych Intela wewnątrz maszyny wirtualnej.
- Podział zasobów: Technologia GVT-g dzieli zasoby fizycznego iGPU, takie jak pamięć graficzna, między poszczególne maszyny wirtualne.
- Minimalna interwencja hypervisora: Krytyczne dla wydajności operacje graficzne są przekazywane bezpośrednio do fizycznego GPU, co minimalizuje narzut wydajnościowy związany z wirtualizacją.
Główne zalety i zastosowania GVT-g
Technologia GVT-g oferuje szereg korzyści, które sprawiają, że jest atrakcyjna w wielu scenariuszach:
- Współdzielenie i elastyczność: Jedna fizyczna karta graficzna może być wykorzystywana przez wiele maszyn wirtualnych jednocześnie, co jest znacznie bardziej efektywne niż dedykowanie całego GPU jednemu systemowi.
- Wydajność zbliżona do natywnej: Dzięki bezpośredniemu dostępowi do kluczowych zasobów sprzętowych maszyny wirtualne mogą osiągać wysoką wydajność w zadaniach wymagających akceleracji graficznej.
- Szerokie zastosowanie:
- Wirtualne stacje robocze (VDI): Umożliwia płynną pracę zdalną z aplikacjami biurowymi i multimedialnymi.
- Domowe serwery multimedialne: Idealne rozwiązanie do przyspieszania transkodowania wideo w aplikacjach takich jak Plex czy Emby, uruchomionych w maszynie wirtualnej.
- Chmura obliczeniowa: Dostawcy usług mogą oferować maszyny wirtualne z akceleracją graficzną dla zadań takich jak streaming wideo.
- Testowanie oprogramowania: Pozwala na uruchamianie aplikacji wymagających akceleracji graficznej w izolowanym środowisku wirtualnym.
Ograniczenia i następcy technologii
Mimo swoich zalet GVT-g posiada również pewne ograniczenia:
- Wsparcie sprzętowe: Technologia ta jest obsługiwana przez procesory Intel od 5. generacji (Broadwell) do 10. generacji (Comet Lake). W nowszych procesorach (od 11. generacji) została zastąpiona przez technologię SR-IOV (Single Root I/O Virtualization).
- Stabilność: W niektórych konfiguracjach, zwłaszcza przy jednoczesnym wykorzystaniu dedykowanej karty graficznej innego producenta (np. NVIDIA) w systemie-gospodarzu, mogą występować problemy ze stabilnością.
GVT-g a inne technologie wirtualizacji Intela
- GVT-d (Direct Passthrough): Polega na całkowitym przypisaniu fizycznego iGPU do jednej maszyny wirtualnej. Zapewnia to najwyższą możliwą wydajność, ale uniemożliwia jednoczesne korzystanie z GPU przez system-gospodarza lub inne maszyny wirtualne.
- SR-IOV (Single Root I/O Virtualization): Nowocześniejszy następca GVT-g, zaimplementowany w procesorach od 11. generacji. SR-IOV to sprzętowy standard wirtualizacji I/O, który pozwala na bardziej efektywne dzielenie zasobów GPU.
Poradnik: Konfiguracja Intel GVT-g w Proxmox
Poniższy poradnik został przygotowany na komputerze Dell Optiplex 7050 z procesorem i7-7700, posiadającym zintegrowaną kartę graficzną Intel HD Graphics 630 i zainstalowanym systemem Proxmox w wersji 9.0.10.
1. Konfiguracja GRUB
Na początku należy zmodyfikować konfigurację programu rozruchowego GRUB, aby włączyć niezbędne opcje.
Edytuj plik /etc/default/grub i w linii GRUB_CMDLINE_LINUX_DEFAULT= dodaj następujące parametry:
intel_iommu=on i915.enable_gvt=1 kvm.ignore_msrs=1

Po zapisaniu zmian zaktualizuj konfigurację GRUB za pomocą polecenia:
update-grub
2. Ładowanie wymaganych modułów kernela
Następnie upewnij się, że system ładuje odpowiednie moduły jądra podczas startu. Edytuj plik /etc/modules i dodaj poniższe wpisy:
# Moduły wymagane dla VFIO i GVT-g
vfio # Bezpieczne przekazywanie urządzeń do VM
vfio_iommu_type1 # Izolacja pamięci
vfio_pci # Obsługa urządzeń PCI dla VM
vfio_virqfd # Obsługa przerwań (część vfio)
vfio_mdev # Tworzenie urządzeń wirtualnych (mediated devices)
kvmgt # Implementacja GVT-g dla KVM
i915 # Sterownik iGPU Intela
Po zapisaniu pliku zrestartuj system, aby zmiany weszły w życie.
3. Weryfikacja konfiguracji GVT-g
Po ponownym uruchomieniu systemu sprawdź, czy technologia GVT-g jest włączona.
Sprawdź, czy moduły zostały poprawnie załadowane:
Użyj komendy
lsmod | grep kvmgt
Powinieneś otrzymać wynik podobny do kvmgt …

Sprawdź ID karty graficznej:
W większości przypadków iGPU Intela jest dostępne pod adresem PCI 0000:00:02.0. Aby to potwierdzić, wykonaj polecenie:
lspci | grep VGA

Sprawdź, czy dostępne są profile vGPU:
Jeśli GVT-g działa poprawnie, system utworzy wirtualne typy urządzeń (profile vGPU). Sprawdzisz je poleceniem (pamiętaj, aby zastąpić ID 0000:00:02.0, jeśli jest inne):
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/

Dostępne profile zależą od generacji procesora oraz ilości pamięci przydzielonej dla iGPU w ustawieniach BIOS/UEFI.
4. Wymagania dla maszyny wirtualnej
Przed dodaniem wirtualnej karty graficznej upewnij się, że maszyna wirtualna spełnia następujące warunki:
- Typ maszyny (Machine type): Ustaw na q35, aby zapewnić najlepszą kompatybilność z PCI-Express passthrough.
- BIOS: Zalecane jest użycie OVMF (UEFI).
5. Przypisanie wirtualnego GPU (vGPU) do maszyny wirtualnej
Użyj interfejsu webowego Proxmox, aby dodać vGPU do wybranej maszyny wirtualnej.
- Wybierz maszynę wirtualną, przejdź do zakładki Hardware, a następnie kliknij Add > PCI Device.

2. W polu Raw Device wybierz zintegrowaną kartę graficzną. Jeśli konfiguracja hosta jest poprawna, w kolumnie Mediated Devices powinna pojawić się wartość YES.

3. Następnie w polu MDev Type wybierz jeden z dostępnych profili vGPU.

4. W zakładce Hardware znajdź pozycję Display i zmień jej wartość na none.

Dlaczego ustawia się “Display” na “none”?
Wyłączenie domyślnego, emulowanego wyświetlacza jest kluczowe. Powoduje to usunięcie konfliktu między dwiema kartami graficznymi (emulowaną i vGPU) i zmusza system operacyjny gościa do używania przekazanego vGPU jako jedynego i podstawowego kontrolera graficznego. Gwarantuje to pełne wykorzystanie akceleracji sprzętowej.
Jak uzyskać dostęp do pulpitu maszyny wirtualnej?
Po wyłączeniu standardowej konsoli Proxmox dostęp do pulpitu jest możliwy tylko zdalnie. Zanim ustawisz Display na none, skonfiguruj w systemie gościa jedną z poniższych metod:
- Windows: Włącz usługę Pulpitu Zdalnego (RDP).
- Linux: Zainstaluj i skonfiguruj serwer VNC, NoMachine, Parsec lub użyj dostępu przez SSH (tylko terminal).
6. Instalacja sterowników w maszynie wirtualnej
Ostatnim krokiem jest uruchomienie maszyny wirtualnej i zainstalowanie w niej odpowiednich sterowników graficznych Intela.
- Dla Windows: Pobierz i zainstaluj najnowsze sterowniki Intel Graphics ze strony producenta.
- Dla Linux: Zainstaluj pakiety takie jak intel-media-driver i intel-gpu-tools, w zależności od dystrybucji.
Podsumowanie
Intel GVT-g to świetne rozwiązanie, jeśli chcesz:
- przyspieszyć transkodowanie wideo (Plex, Jellyfin, Emby),
- korzystać z akceleracji graficznej w VM,
- testować aplikacje wymagające GPU w środowisku wirtualnym.
Choć w nowszych procesorach zastąpiono go technologią SR-IOV, GVT-g nadal pozostaje wartościowym narzędziem dla posiadaczy kompatybilnych CPU (5.–10. generacja Intela).
Bez komentarza! Bądź pierwszy.