Error 43 - KVM Windows 11 iGPU passthrough

  • I've been wracking my head with this one. Just trying to successfully setup iGPU (Raptor Lake 770 iGPU) to a Windows 11 VM using the KVM plugin.

    I've read plenty of posts and have tried various things without much success. I can get as far as seeing the iGPU in the device manager of Windows 11 but the device has issues loading, and displays an Error 43 in the device manager. My system configuration:


    7.7.6-1 (Sandworm)

    Linux Kernel 6.11.11-2-pve

    Intel Core i5-14600

    All settings in the motherboard bios for Virtualization are enabled (SR-IOV, VT-d, etc)

    VirtIO drivers installed on the Win11 VM.

    IOMMU line for Intel added to grub.

    Installed virt-manager and edited the XML as listed in another post in the forum.


    I have found this post but haven't tried it. Not sure how to pin and unpin the kernel procedure.

    Proxmox VE 8.3: Windows 11 vGPU (VT-d) Passthrough with Intel Alder Lake -
    Using Proxmox 8.2 and want to share your Intel GPU with several Windows 11 VMs? Find out how to configure Intel VT-d and share the GPU with up to 7 VMs.
    www.derekseaman.com


    I have found posts regarding roms?

    GitHub - gangqizai/igd: Intel 核显直通 rom / Intel Integrated GPU passrough rom file for PVE
    Intel 核显直通 rom / Intel Integrated GPU passrough rom file for PVE - gangqizai/igd
    github.com


    There are plenty of posts and then it gets confusing on what the latest procedure would be. References to the i915 kernel driver.


    Just looking for some direction. I know this can be case specific as everyone has a different hardware configuration. I can get this stuff to work in a container just not a VM. I feel I am close and from what I am reading passing through the igpu is entirely possible.


    Thanks!






    7.7.6-1 (Sandworm)

    7.7.6-1 (Sandworm)

    • Official Post

    Check out these links, maybe they'll help.


    I got it a year or two ago, but I can't find the tutorial that helped me do it. If I find it, I'll add it here.


    EDIT:

    This was the tutorial that helped me do it in my case. https://jesustorres.hashnode.d…ual-de-windows-10-parte-1

  • Thanks... so question regarding this method. If I follow the guide in the link, I assume I am not using the OMV KVM Plug-In anymore?


    Like if I am using the KVM plug-in for OMV 7, does it cover some of the steps listed in this link prior to the OS installation?


    If I am using the process of the virt-manager OS in your link, I assume the KVM plugin does not see what is created via the virt-manager? I know the reverse is true, where KVM's i created using the OMV plugin are detected and visible in the virt-manger.

    • Official Post

    Whatever you do in virt-manager is completely valid, it's just as if you were doing it from the OMV GUI, even the settings that the plugin GUI doesn't allow you to modify.

    • Official Post

    You can establish a remote connection from virt-manager to the VM. Although I did this from Ubuntu, I'm not sure if it can be done from Windows. https://wiki.omv-extras.org/do…_with_virt-manager_to_kvm


    Or you can use a virt-manager Docker container; there's an example in the OMV compose plugin.

    • Official Post

    using virt-manager really shouldn't be needed anymore. All of those links in my post were used to help create the xml that plugin adds. There are steps you have to do on your system that virt-manager doesn't do either.

    omv 7.7.10-1 sandworm | 64 bit | 6.11 proxmox kernel

    plugins :: omvextrasorg 7.0.2 | kvm 7.1.8 | compose 7.6.10 | cterm 7.8.7 | cputemp 7.0.2 | mergerfs 7.0.5 | scripts 7.3.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • using virt-manager really shouldn't be needed anymore. All of those links in my post were used to help create the xml that plugin adds. There are steps you have to do on your system that virt-manager doesn't do either.

    That's what it seems like. Alot of the steps in the guide posted were installed via the KVM plugin. The only thing that I 'think' wasn't installed were the libvirt hook scripts??? This is where I am stuck on the posted method. Being new to Linux, I see the this code to install the virtlib-hooks but if I copy and paste that into my SSH cli it responds with a no such file or directory. I assume it's because the files are on the web and I am sitting here in the cli? I do know the hooks directory sits empty. I'm not sure if hooks will fix my issue but I'm trying anything at the moment.

    Code
    sudo install -m755 libvirt-hooks/qemu /etc/libvirt/hooks


    If I use the KVM plugin, with the VirtIO drivers and Windows 11, I cannot get passed the Error 43: for the Intel 770 device listed in the device manager. I can install the Intel Arc drivers for the device but the actually device does not start in Windows.


    I'm still trying to figure this out for sure. More guidance requested. I do know that I had to install the virt-manager in the first place because I kept getting errors when trying to edit the XML using the KVM plugin. It just wouldn't let me do it without erroring out.

    • Official Post

    I've never created libvirt hooks. So, not sure why those are needed. Can't really help with Windows.

    do know that I had to install the virt-manager in the first place because I kept getting errors when trying to edit the XML using the KVM plugin. It just wouldn't let me do it without erroring out.

    What was the error? Moving to virt-manager because of error doesn't mean the plugin has bug or is creating xml incorrectly.

    omv 7.7.10-1 sandworm | 64 bit | 6.11 proxmox kernel

    plugins :: omvextrasorg 7.0.2 | kvm 7.1.8 | compose 7.6.10 | cterm 7.8.7 | cputemp 7.0.2 | mergerfs 7.0.5 | scripts 7.3.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • I've never created libvirt hooks. So, not sure why those are needed. Can't really help with Windows.

    What was the error? Moving to virt-manager because of error doesn't mean the plugin has bug or is creating xml incorrectly.

    I just went back to try to reproduce the error but now it works... sorry about that. I do remember it just would give an error when I attempted to save. But XML editing from plugin is functional now for me.


    Still Error 43 in the Windows VM for the integrated Intel iGPU (770). Windows 11 sees it just fine but won't start the device. Originally I was trying to edit the XML with <vendor_id state='on' value='genuineintel'/> which I read somewhere would fix the issue. That did not fix the issue.


    Let me ask this.... Do I need to edit the grub and add the GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt" or is that taken care of with the installation of the kvm plugin? Right now I have edited the GRUB with the line above. Maybe that is what is forcing the Error 43 in Windows?


    Just checked... seems with or without editing the GRUB with that iommu makes no difference either way. So maybe it's not needed. Just got to figure out the error 43.

    • Official Post

    Do I need to edit the grub and add the GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt" or is that taken care of with the installation of the kvm plugin?

    The plugin is not making any grub changes.


    Maybe consult with chatgpt on the windows error.

    omv 7.7.10-1 sandworm | 64 bit | 6.11 proxmox kernel

    plugins :: omvextrasorg 7.0.2 | kvm 7.1.8 | compose 7.6.10 | cterm 7.8.7 | cputemp 7.0.2 | mergerfs 7.0.5 | scripts 7.3.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • I believe I have figured out the issue just need to figure out how to implement it. I forgot to mention that I also have an Intel A310 in the system along with the Intel iGPU 770. No issues passing the A310. But, I believe that I need to implement SR-IOV (for virtualization) in order to use the host iGPU. Still learning this stuff but I believe that's why I keep seeing error 43 in my Windows 11 VM. If anyone has done this before feel free to chime in...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!