Proxmox 5.2 Gemini Lake and IGD (graphics) pass through for Ubuntu 18

intelproxmox

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:

My setup is like this:

  1. Fresh install Proxmox 5.2
  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
    
  3. 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

  4. VFIO:

    vim /etc/modules
    

    Add these lines:

    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
    save and quit
    
  5. 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

  6. update-initramfs -u

  7. 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

  8. Reboot the server

  9. 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.