I’m trying to set up a fresh install of Proxmox 5.2 on Gemini Lake and I would like to configure a VM with IGD (graphics) passthrough for Ubuntu 18
Computer-based on ASRock J4105-ITX asrock.com/mb/Intel/J4105-ITX/
A standard install is working properly and now I would like to use HDMI output for a VM with Ubuntu 18.
I have read all this information:
- https://pve.proxmox.com/wiki/Pci_passthrough
- https://forum.proxmox.com/threads/guide-intel-intergrated-graphic-passthrough.30451/
- https://redhat.com/archives/vfio-users/2017-April/msg00032.html
- https://forum.proxmox.com/threads/proxmox-5-0-kaby-lake-and-igd-graphics-passthrough-for-windows-10.36165/
My setup is like this:
- Fresh install Proxmox 5.2
-
Grub:
vim /etc/default/grub
Change the
GRUB_CMDLINE_LINUX_DEFAULT
line to
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb=off,vesafb=off"`
Save and quit
update-grub
-
Blacklist module:
vim /etc/modprobe.d/pve-blacklist.conf
Add these lines:
blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist i915
Save and quit
-
VFIO:
vim /etc/modules
Add these lines:
vfio vfio_iommu_type1 vfio_pci vfio_virqfd save and quit
-
Vga adapter:
lspci -n -s 00:02 lspci command display 00:02.0 0300: 8086:3185 (rev 03) vim /etc/modprobe.d/vfio.conf
Add this line:
options vfio-pci ids=8086:3185
Save and quit
-
update-initramfs -u
-
VM:
Create a VM (id = 100) with an Ubuntu 18 iso as the primary boot
Change the setup for the VM:
vim /etc/pve/qemu-server/100.conf
Add these lines:
machine: pc-i440fx-2.2 args: -device vfio-pci,host=00:02.0,addr=0x02 vga: none
Save and quit
-
Reboot the server
-
Start VM 100
Video output is initialised (clear screen) just after the VM 100 is started but the screen remains black. Start task log is:
no efidisk configured! Using temporary efivars disk.
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,x-igd-opregion=on: IGD device 0000:00:02.0 has no ROM, legacy mode disabled
TASK OK
I try to install Ubuntu before change config, but it doesn't help.
What should I do now?
Best Answer
You are running your VM with UEFI and legacy BIOS. The machine type to use with UEFI is q35 and not i440fx. You should either change the BIOS type to SeaBIOS or change the machine type to q35. If you go with UEFI machine you should add EFI disk from the "Add Hardware" menu.