🎮 Ігрова віртуальна машина на Proxmox
Мета: Отримати віртуальну машину з продктивною відеокартою, для ігор або відео монтажу
1. Вступ
Додавання відеокарти у віртуальну машину завжди було складним квестом: десятки гайдів, ручні налаштування і жодних гарантій. Але є утиліта, яка дозволяє швидко перевірити, чи працюватиме GPU passthrough на вашому сервері.
2. Підготовка BIOS
Перед стартом обов’язково активуйте у BIOS опції які містять назви
Intel VT-d / AMD-Vi
Virtualization Technology (VMX / SVM)
Без цього прокидування відеокарти не запрацює.
3. Запуск утиліти
Переходимо за посиланням https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility і шукаємо команду для запуску утиліти
bash <(curl -sL \https://raw.githubusercontent.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/refs/heads/main/scripts/pecu_release_selector.sh)Вставляємо в консоль Proxmox та запускаємо
У меню обираємо версію 1 (актуальна на момент написання).

Утиліта:
перевіряє сумісність,
показує карти та їхні IOMMU-групи,
встановлює потрібні пакети,
пропонує заблокувати драйвери GPU на хості.
Якщо у процесора є інтегроване відеоядро — краще дозволити утиліті блокувати драйвери для дискретної карти, і повністю передати її віртуальній машині, щоб уникнути конфліктів.
3.1 Можливі проблеми
У деяких випадках утиліта створює дублікати у конфігах VFIO. Це заважає запуску ВМ.


Виправити можна вручну через:
nano /etc/modprobe.d/vfio.confАбо за допомогою міні скрипту:
bash <(curl -sL https://raw.githubusercontent.com/ravado/homeserver/refs/heads/main/pcie-passthrough/fix_vfio_dupplicates.sh)4. Створення Windows VM
Створити віртуальну машину кнопкою Create VM
Тип системи: Windows 11
- Завантажте ISO з VirtIO drivers та додайте в сховище разом з windows iso.
System:
Machine: q35
BIOS: OVMF (UEFI)
Add EFI Disk: так
TPM 2.0: обов’язково
Disk: 100 GB для ОС
CPU: host, кількість ядер за ресурсами
RAM: 8 GB
Network: можна вимкнути на час встановлення, щоб обійти використання онлайн акаунту Windows
За потреби ідентифікувати та додати фізичний диск до віртуалки:
ls -l /dev/disk/by-idqm set 200 -sata1 /dev/disk/by-id/{id-диску}Де 200 - ідентифікатор віртуальної машини, sata1 - порт до якого хочемо додати диск.
Додати GPU та HD Audio Controller:
- Hardware → Add → PCI Device → обрати карту → PCI-Express → Add

Можна також одразу додати USB пристрої, якщо потрібні через:
- Hardware → Add → USB Device → Use USB Vendor / Use USB Port -> обрати пристрій → Add

Приклад готового конфігураційного файлу для Windows 11
# General
name: Windows-11
ostype: win11
machine: pc-q35-10.0
bios: ovmf
boot: order=scsi0
meta: creation-qemu=10.0.2,ctime=1756912290
vmgenid: b71968bb-c1b2-4666-bd93-7d5ce40f4f1a
# CPU & RAM
sockets: 1
cores: 6
cpu: host
numa: 0
memory: 8096
balloon: 0
# Firmware & TPM
efidisk0: local-zfs:vm-200-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
tpmstate0: local-zfs:vm-200-disk-2,size=4M,version=v2.0
smbios1: uuid=19019495-f02c-416b-8a93-44f74d29cf5d
# Disks
scsihw: virtio-scsi-single
scsi0: local-zfs:vm-200-disk-1,cache=writeback,iothread=1,size=100G
scsi1: /dev/disk/by-id/ata-Samsung_SSD_860_EVO_1TB_S5B3NY0M902681A,backup=0,size=976762584K
ide0: toolkit-nasik:iso/virtio-win-0.1.271.iso,media=cdrom,size=709474K
ide2: toolkit-nasik:iso/uk-ua_windows_11_consumer_editions_version_24h2_updated_april_2025_x64_dvd_ea86301d.iso,media=cdrom,size=6086936K
# GPU Passthrough
hostpci0: 0000:03:00.0,pcie=1
hostpci1: 0000:03:00.1,pcie=1
# USB Passthrough
usb0: host=046d:0ab5,usb3=1
usb1: host=046d:c53f,usb3=1
usb2: host=05ac:024f,usb3=1
# Network
net0: e1000=BC:24:11:9E:96:36,bridge=vmbr0,firewall=15. Встановлення Windows
Запускаємо віртуальну машину і проходимо стандартний процес інсталяції Windows.
Якщо інсталятор не бачить диск → підвантажте драйвер з VirtIO диску який додавали на етапі конфігурування
- amd64 → win11

6. Доналаштування та перевірка
Увімкніть RDP для зручного доступу.
- Налаштування → Система → Віддалений робочий стіл → Увімкнути
Встановіть драйвер відеокарти (AMD/NVIDIA).
Перезавантажтеся
Перевірте у «Диспетчері пристроїв» — жодних помилок навпроти відеоадаптера бути не повинно.

Після цього можна використовувати за призначенням 😀 🕹️
