[GUIDE] Intel Intergrated graphic Passthrough

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

  1. luxflow

    luxflow New Member

    Joined:
    Nov 20, 2016
    Messages:
    6
    Likes Received:
    4
    This is not officialy supported method by proxmox

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

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

    [How]
    requirement
    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
    3.

    Code:
    vim /etc/default/grub
    # add following to GRUB_CMDLINE_LINUX_DEFAULT
    intel_iommu=on video=efifb:off
    
    update-grub
    
    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)
    machine:pc-i440fx-2.2
    args: -device vfio-pci,host=00:02.0,addr=0x02
    vga: none
     
    #1 luxflow, Nov 20, 2016
    Last edited: Nov 30, 2016
    yfdoor and dmitronas like this.
  2. dagenim

    dagenim New Member

    Joined:
    Nov 27, 2016
    Messages:
    1
    Likes Received:
    0
    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

    Joined:
    Nov 20, 2016
    Messages:
    6
    Likes Received:
    4
    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

    Joined:
    Sep 7, 2017
    Messages:
    35
    Likes Received:
    1
    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

    Joined:
    Oct 20, 2017
    Messages:
    1
    Likes Received:
    0
    Hello

    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,
    Ed
     
  6. Odys001kn

    Odys001kn New Member

    Joined:
    Oct 30, 2017
    Messages:
    6
    Likes Received:
    0
    Hallo,
    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 Subscriber

    Joined:
    Feb 9, 2016
    Messages:
    7
    Likes Received:
    0
    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:

    Code:
    # if your processor >= sandy then, (legacy mode)
    machine:pc-i440fx-2.2
    args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1
    vga: none
     
  8. Dough29

    Dough29 New Member

    Joined:
    Dec 31, 2018
    Messages:
    1
    Likes Received:
    0
    Hello !

    I successfully pass-trough HD 630 IGD from my i5-7400 CPU - Gigabyte z270-n WiFi board :)

    Thanks a lot for the instructions :cool:

    Heading now to pass-through audio o_O
     
  9. n1nj4888

    n1nj4888 Member

    Joined:
    Jan 13, 2019
    Messages:
    75
    Likes Received:
    2
    Hi All,

    Has anyone successfully got this working with Proxmox 5.3? I'd like to try to passthrough a Gemini Lake iGP (for hardware transcoding with Plex) to an Ubuntu VM so keen to see if anyone has got this working successfully without upgrading kernels etc?

    Thanks!
     
  10. xingsiyue

    xingsiyue New Member

    Joined:
    Feb 18, 2019
    Messages:
    1
    Likes Received:
    0
    我搞好了,bios里把核显的显存调到最大。配置是这样的
    Code:
    agent: 0
    bios: ovmf
    boot: c
    bootdisk: sata0
    cores: 2
    hostpci0: 00:02.0,x-vga=1
    memory: 1024
    name: libreelec
    net0: virtio=6E:F5:AF:05:A4:40,bridge=vmbr0
    numa: 0
    ostype: l26
    sata0: local-lvm:vm-101-disk-1,size=552M
    sata1: local-lvm:vm-101-disk-0,size=2G
    scsihw: virtio-scsi-pci
    smbios1: uuid=ced70a7e-ecad-4564-9400-0d8961db6056
    sockets: 1
    usb0: host=04d9:1603
    usb1: host=046d:c247
    vmgenid: 31aaf457-cbe6-4e8b-b351-e5090bee67be
    machine: pc-q35-2.11
    关键是最后这条配置
    Code:
    machine: pc-q35-2.11
     
  11. ChangLong

    ChangLong New Member

    Joined:
    Feb 13, 2019
    Messages:
    2
    Likes Received:
    0
    @xingsiyue

    我5.3/hd630用你的配置,启动提示这个错误:

    -device vfio-pci,host=00:02.0,id=hostpci0,bus=pci.0,addr=0x10,x-vga=on: vfio error: 0000:00:02.0: failed getting region info for VGA region index 8: Invalid argument
    device does not support requested feature x-vga
     
  12. dmitronas

    dmitronas New Member

    Joined:
    May 2, 2019
    Messages:
    2
    Likes Received:
    0
    Hello Everyone,

    I too can confirm that the above tutorial works. I have successfully managed to passthrough my Integrated GPU (Intel Core i5-4460 with Intel HD graphics 4600) to a Windows10 host. The only problem is that I cannot do the same with the integrated sound card through HDMI.

    My GPU has a different ID from sound device :
    lspci
    00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
    00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)

    I tried to pass both on VM's cfg as follows :

    args: -device 'vfio-pci,host=00:02.0,x-igd-gms=1' -device 'vfio-pci,host=00:03.0,x-igd-gms=1'

    but no sound appears. Can you please assist?

    Thank you in advance
     
  13. Keshav Sreekumar

    Keshav Sreekumar New Member

    Joined:
    May 23, 2019
    Messages:
    1
    Likes Received:
    0
    Hi, is anyone able to get this to work on 5.4-3. If so, any tips?
     
  14. Pnz

    Pnz New Member

    Joined:
    Jan 24, 2019
    Messages:
    8
    Likes Received:
    0

    Hi,did your machine work?
     
  15. dmitronas

    dmitronas New Member

    Joined:
    May 2, 2019
    Messages:
    2
    Likes Received:
    0
    Hi,
    Unfortunately i couldn't manage to get the HDMI sound work. I still use the motherboard sound controller but is cracking when i there is much I/O. I plan to start testing again in the coming weeks. I will post my results if i succeed.
     
  16. matrixlearner

    matrixlearner New Member

    Joined:
    Jul 5, 2019
    Messages:
    5
    Likes Received:
    0
    老哥6啊,特地注册账号来请教下,你装的是win10吗,最后这条配置有啥讲究
     
  17. matrixlearner

    matrixlearner New Member

    Joined:
    Jul 5, 2019
    Messages:
    5
    Likes Received:
    0
    Hi bro, would you please share your
    "/etc/pve/qemu-server/<YOUR VM ID>.conf"?My CPU is i5 4690k, i guess it's as same as i5 4460 but i can't passthrough integrated GPU. many thanks.
     
  18. matrixlearner

    matrixlearner New Member

    Joined:
    Jul 5, 2019
    Messages:
    5
    Likes Received:
    0
    Just to record my situation. Finally i get the Intel integrated graphics passthru and output to a monitor (a TV) through HDMI but still don't get HDMI audio work.

    I don't use the UEFI to install Win10 (the latest 1903 version works, i also tried 1703 but failed, i guess due to the integrated graphics driver, i don't know just guess), just use the default SeaBIOS, i don't know why, but it works.

    PVE 5.4-3
    CPU: i5 4690k
    Motherboard: Colorful B85K-HD V22

    /etc/default/grub
    Code:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
    root@pve:~# update-grub

    /etc/modprobe.d/blacklist.conf
    Code:
    # blacklist nvidiafb
    blacklist snd_hda_intel
    blacklist snd_hda_codec_hdmi
    blacklist i915
    root@pve:~# lspci
    Code:
    00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
    00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
    00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
    00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
    00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
    00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
    00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
    00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
    00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
    00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5)
    00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
    00:1f.0 ISA bridge: Intel Corporation B85 Express LPC Controller (rev 05)
    00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
    00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
    02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
    03:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
    03:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
    
    root@pve:~# lspci -n -s 00:02
    Code:
    00:02.0 0300: 8086:0412 (rev 06)
    /etc/modprobe.d/vfio.conf
    Code:
    options vfio-pci ids=8086:0412 
    /etc/modprobe.d/kvm.conf
    Code:
    options kvm ignore_msrs=1
    root@pve:~# update-initramfs -u
    root@pve:~# reboot


    /etc/pve/qemu-server/<YOUR VM ID>.conf
    Code:
    args: -device 'vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1'
    bootdisk: sata0
    cores: 4
    hostpci0: 00:1b.0
    ide2: local:iso/Windows10_1903.iso,media=cdrom
    memory: 8196
    name: Win10
    net0: e1000=02:95:FE:77:B7:47,bridge=vmbr0,firewall=1
    numa: 0
    ostype: win10
    sata0: local-lvm:vm-106-disk-0,size=30G
    scsihw: virtio-scsi-pci
    smbios1: uuid=be2bec92-23cd-4637-ac16-9d6d3523642d
    sockets: 1
    usb0: host=3-2,usb3=1
    usb1: host=3-3,usb3=1
    usb2: host=3-7
    usb3: host=3-8
    usb4: host=3-10
    vga: none
    vmgenid: f99e2477-44fd-422a-a8f7-346438dbce9b
     
    #18 matrixlearner, Jul 8, 2019
    Last edited: Jul 8, 2019
  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