[GUIDE] Intel Intergrated graphic Passthrough

Discussion in 'Proxmox VE: Installation and configuration' started by luxflow, Nov 20, 2016.

  1. luxflow

    luxflow New Member

    Nov 20, 2016
    Likes Received:
    This is not officialy supported method by proxmox

    [What is IGD Passthrough]
    same as GPU PCIe passthrough except GPU is intel intergrated graphic device

    No need to extra pcie card for vga passthrough, and power efficient

    0. broadwell or newer process for UPT mode or above sandy bridge for Legacy mode
    1. first you need to know how does gpu passthrough works, you don't need to follow step
    just read this wiki page and understand
    2. kernel above 4.6
    guide is here or you can install by yourself

    vim /etc/default/grub
    # add following to GRUB_CMDLINE_LINUX_DEFAULT
    intel_iommu=on video=efifb:off
    vim /etc/modprobe.d/blacklist.conf
    blacklist snd_hda_intel
    blacklist snd_hda_codec_hdmi
    blacklist i915
    vim /etc/modprobe.d/vfio.conf
    options vfio-pci ids=<YOUR INTEL IGD ID>
    echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
    update-initramfs -u
    vim /etc/pve/qemu-server/<YOUR VM ID>.conf
    # if your processor > broadewell then, (upt mode)
    args: -device vfio-pci,host=00:02.0,addr=0x18,x-vga=on,x-igd-opregion=on
    # if your processor >= sandy then, (legacy mode)
    args: -device vfio-pci,host=00:02.0,addr=0x02
    vga: none
    #1 luxflow, Nov 20, 2016
    Last edited: Nov 30, 2016
  2. dagenim

    dagenim New Member

    Nov 27, 2016
    Likes Received:
    Thanks for guide.

    I want to IGD Passthrough with haswell(E3-1225 v3).
    but I'm noob.
    I don't know UPT mode and Legacy mode.

    please teach me passthrough with legacy mode.
  3. luxflow

    luxflow New Member

    Nov 20, 2016
    Likes Received:
    Sorry for late answer
    I changed guide, check out [How] section

    Unfortunately I sold haswell cpu, so I cannot test.
    When I'm trying legacy mode for skylake, IGD passthrough works but screen is splited 3 way
    I succeed with legacy mode with haswell cpu in ubuntu
    I'm not sure this is due to skylake, proxmox, or maybe I setup incorrectly
    #3 luxflow, Nov 30, 2016
    Last edited: Nov 30, 2016
  4. drdownload

    drdownload Member

    Sep 7, 2017
    Likes Received:
    Hi, I'm thinking about using the IGP for a MacOS VM.

    If I passthrough the IGP is it still available for system CLI as long as the VM is no started?
  5. Ed Smith

    Ed Smith New Member

    Oct 20, 2017
    Likes Received:

    I was wondering if someone could help me troubleshoot IGD passthrough using UPT Mode. I was able to successfully get IGD passthrough working using Legacy Mode by following the guide above. However, when I try to follow the UPT Mode instructions, I do not get anything displayed on my external monitor. My understanding is that in UPT Mode, the external monitor is supposed to become a secondary monitor and I am assuming that the VNC console should be the primary? Which I would then mirror to the external monitor? However, when I display the VNC console, all I see is the message "Guest has not initialized the display (yet)."

    I have looked through the logs and haven't seen anything particularly striking.

    Here is my basic configuration:
    Proxmox 5.0
    Windows 10 Guest
    Kaby Lake i3-7100 CPU
    There is no graphics card in the machine.

    Please let me know if there is other configuration information or log files that could help identify the issue.

    Thanks in advance,
  6. Odys001kn

    Odys001kn New Member

    Oct 30, 2017
    Likes Received:
    I have nch of the instructions the setup successfully. It works, but now I have created a process "kworker 1/1" of the 100% CPU load. Many settings I have tried out of the web, no success, does anyone have an idea?
    My system, I wanted to use the onboard intel graphics:
    CPU: Intel i5-2500 3.30GHz
    Mainboard: Z68 pro3 Gen3 last Bios

    proxmox-ve: 5.1-25 (running kernel: 4.13.4-1-pve)
    pve-manager: 5.1-36 (running version: 5.1-36/131401db)
    pve-kernel-4.10.1-2-pve: 4.10.1-2
    pve-kernel-4.13.4-1-pve: 4.13.4-25
    pve-kernel-4.10.17-4-pve: 4.10.17-24
    pve-kernel-4.10.17-2-pve: 4.10.17-20
    pve-kernel-4.10.15-1-pve: 4.10.15-15
    pve-kernel-4.10.8-1-pve: 4.10.8-7
    pve-kernel-4.10.17-3-pve: 4.10.17-23
    pve-kernel-4.10.11-1-pve: 4.10.11-9
    pve-kernel-4.10.17-1-pve: 4.10.17-18
    libpve-http-server-perl: 2.0-6
    lvm2: 2.02.168-pve6
    corosync: 2.4.2-pve3
    libqb0: 1.0.1-1
    pve-cluster: 5.0-15
    qemu-server: 5.0-17
    pve-firmware: 2.0-3
    libpve-common-perl: 5.0-20
    libpve-guest-common-perl: 2.0-13
    libpve-access-control: 5.0-7
    libpve-storage-perl: 5.0-16
    pve-libspice-server1: 0.12.8-3
    vncterm: 1.5-2
    pve-docs: 5.1-12
    pve-qemu-kvm: 2.9.1-2
    pve-container: 2.0-17
    pve-firewall: 3.0-3
    pve-ha-manager: 2.0-3
    ksm-control-daemon: 1.2-2
    glusterfs-client: 3.8.8-1
    lxc-pve: 2.1.0-2
    lxcfs: 2.0.7-pve4
    criu: 2.11.1-1~bpo90
    novnc-pve: 0.6-4
    smartmontools: 6.5+svn4324-1
    zfsutils-linux: 0.7.2-pve1~bpo90

    Thank you
  7. oelsi

    oelsi New Member
    Proxmox VE Subscriber

    Feb 9, 2016
    Likes Received:
    Just wanted to confirm that the instructions from post #1 worked for me to passthrough my HD 530 IGD (from a Skylake Core i5-6500 on an Asus H110S2 board) to a Win 7 as well as a Win 10 VM, using legacy mode assignment.

    I ran into an issue, though, that the Intel IGD driver would throw a "Code 43" error inside the VMs, when RAM assigned to the VM was south of 7GB. Even without a single program running, the VMs reported more than 5G of RAM being used. Some googling later, I found out that the issue is known. Due to some bug in the Intel driver, which is supposed to be fixed at some point in time (just not yet...), some IGDs cause this
    problem. A workaround is available in qemu, by adding the parameter "x-igd-gms=1" to the according IGD device line.

    So, if you are affected by the IGD requiring more than 4GB of RAM alone, your proxmox conf file should contain the following lines for legacy IGD passthrough:

    # if your processor >= sandy then, (legacy mode)
    args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1
    vga: none
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice