[SOLVED] Proxmox 6.0 Gemini Lake and IGD (graphics) passthrough for Windows 10

Did you manage to get your J4105 UHD 600 IGD to passthough ? I have a system with the same SOC and i am trying to do the same thing.
I can get the UHD showing in Windows but i keep getting Code 43 and a blank screen from HDMI cable (NO VGA ports).

Edit: I haven't tested HDMI output, however on my Seeed Odyseey x86 it would seem my UHD 600 is now working without Error code 43.

Will upload screenies and my files and settings soon enough.

Edit 2: So iGPU has passed through however HDMI port doesn't show a display just a blank screen. Will check bios settings for IGD and my see if I can swap to PCI-E


Edit 3: I have HDMI working now however in Linux Only yep go figure, Windows just shows a Blank screen so that must mean EDID issues as running Windows Natively on the screen it being tested on works fine.

Edit 4: I have Tested HDMI with Windows which doesn't work at all the GPU works fine but no signal out, However i have tried a Linux Live DVD (Ubuntu) and the good news is HDMI works fine without issues and HDMI Audio is also passing through without issues.

do you have this working in PVE 5.4.78 (6-3)?
Are you seabios or ovmf?
hostpci or args?

between the forums and the pci passthrough wiki i've tried almost everything and can't seem to get 43 to go away... really frustrating because on an earlier version of proxmox (6-2) on an apollo lake platform had this working fine with ovmf/q35...
 
do you have this working in PVE 5.4.78 (6-3)?
Are you seabios or ovmf?
hostpci or args?

between the forums and the pci passthrough wiki i've tried almost everything and can't seem to get 43 to go away... really frustrating because on an earlier version of proxmox (6-2) on an apollo lake platform had this working fine with ovmf/q35...
If this is for Windows, its the drivers, Try using Intel 26.20.100.6911 GPU Drivers its what i am using and no longer have Code 43 in Windows.
 
If this is for Windows, its the drivers, Try using Intel 26.20.100.6911 GPU Drivers its what i am using and no longer have Code 43 in Windows.
Awesome! It works!

Leave it to Intel... 2 year old drivers work better then the new ones... all is right with the Quicksync...
 
Did you manage to get your J4105 UHD 600 IGD to passthough ? I have a system with the same SOC and i am trying to do the same thing.
I can get the UHD showing in Windows but i keep getting Code 43 and a blank screen from HDMI cable (NO VGA ports).

Edit: I haven't tested HDMI output, however on my Seeed Odyseey x86 it would seem my UHD 600 is now working without Error code 43.

Will upload screenies and my files and settings soon enough.

Edit 2: So iGPU has passed through however HDMI port doesn't show a display just a blank screen. Will check bios settings for IGD and my see if I can swap to PCI-E


Edit 3: I have HDMI working now however in Linux Only yep go figure, Windows just shows a Blank screen so that must mean EDID issues as running Windows Natively on the screen it being tested on works fine.

Edit 4: I have Tested HDMI with Windows which doesn't work at all the GPU works fine but no signal out, However i have tried a Linux Live DVD (Ubuntu) and the good news is HDMI works fine without issues and HDMI Audio is also passing through without issues.
Could you share you PVE KVM and kernel boot configuration? I have also J4105 UHD 600 IGD and I tried all the walkthroughs available and always got code 43, even changing drivers to older ones. Thank you!
 
Thank you so much! Using the driver in your link worked well! I tried almost everything else, including changing BIOS and reinstalling Windows, to no avail. I tried downloading older drivers 26.xx from the web, they also didn't work. Really strange! No more code 43!
 
FWIW, I am using Proxmox 6.4-4 and below is the machine configuration that works with the Intel J4105 CPU, using the Intel Graphics driver 26.20.100.6911, dated 5/28/2019, which can be downloaded from the link in the previous post.

Windows 10 VM in OVMF/UEFI mode
Code:
args: -device vfio-pci,host=00:02.0,addr=0x18,x-igd-opregion=on
bios: ovmf
cores: 2
cpu: host
machine: pc-q35-5.2
numa: 0
ostype: win10
sockets: 1
vga: none

/etc/modprobe.d/vfio.conf
Code:
options vfio-pci ids=8086:3185,8086:3198 disable_vga=1

/etc/initramfs-tools/modules
Code:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/etc/default/grub
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream video=efifb:off video=vesafb:off video=simplefb:off vfio-pci.ids=8086:3185,8086:3198"

/etc/modprobe.d/pve-blacklist.conf
Code:
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

/etc/modprobe.d/kvm.conf
Code:
options kvm ignore_msrs=1
options kvm report_ignored_msrs=0


Thank you so much! Using the driver in your link worked well! I tried almost everything else, including changing BIOS and reinstalling Windows, to no avail. I tried downloading older drivers 26.xx from the web, they also didn't work. Really strange! No more code 43
 
Dear All, I get good result for my J5005 with UHD 605 for Blueiris VM with Quicsync. As I just buy an stronger NUC for virtualisation and to push VM of Blueiris, i would like to do the same with my 8th gen I5 8259U. Did you know how i can extract or find the vbios of the Iris 655 igpu ?
Thanks a lot for your help
Best regards
 
Dear All, I get good result for my J5005 with UHD 605 for Blueiris VM with Quicsync. As I just buy an stronger NUC for virtualisation and to push VM of Blueiris, i would like to do the same with my 8th gen I5 8259U. Did you know how i can extract or find the vbios of the Iris 655 igpu ?
Thanks a lot for your help
Best regards

You will have to boot in to legacy mode otherwise linux isn't able to grab a clean copy of the rom. With UEFI it only gets a shadow copy. Than you can dump it and fix it with the rom-parser utility.

$ git clone https://github.com/awilliam/rom-parser $ cd rom-parser $ make $ cd /sys/bus/pci/devices/0000:02:00.0/ $ echo 1 > rom $ cat rom > /tmp/rom.bin $ echo 0 > rom $ cd /tmp $ rom-fixer rom.bin

If your host is booting in UEFI mode then you may not have a BIOS mode
ROM available. If you're dumping the ROM, run the parser on it to see
if it has a BIOS section. If not, you might need to boot the host in
non-UEFI mode with a live image and see if you get a different ROM in
that mode. Legacy IGD mode also depends on SeaBIOS support.

Quote from https://www.mail-archive.com/vfio-users@redhat.com/msg03908.html
 
Last edited:
  • Like
Reactions: solidus1983
You will have to boot in to legacy mode otherwise linux isn't able to grab a clean copy of the rom. With UEFI it only gets a shadow copy. Than you can dump it and fix it with the rom-parser utility.

$ git clone [URL]https://github.com/awilliam/rom-parser[/URL] $ cd rom-parser $ make $ cd /sys/bus/pci/devices/0000:02:00.0/ $ echo 1 > rom $ cat rom > /tmp/rom.bin $ echo 0 > rom $ cd /tmp $ rom-fixer rom.bin



Quote from https://www.mail-archive.com/vfio-users@redhat.com/msg03908.html

Just done that now for my UHD 605 so i now have a .bin from the echo command do i still need to run rom-parser's rom-fixer?
 
It depends. The device-id has to match the one actually used by your iGPU. You can check that with ./rom-parser rom.bin.

For me this was nesecarry because the device-id from the dump was 0406 and not 5a85 like reported by lspci when running Proxmox with UEFI enabled.

Code:
lspci -nnk | grep -A4 VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 500 [8086:5a85] (rev 0b)
    Subsystem: ASRock Incorporation HD Graphics 500 [1849:5a85]
    Kernel driver in use: vfio-pci
    Kernel modules: i915

Code:
$ ./rom-parser intel_hd500_j3455_original.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
    PCIR: revision 3, vendor revision: 0
    Last image

$ ./rom-parser intel_hd500_j3455_fixed.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 5a85, class: 030000
    PCIR: revision 3, vendor revision: 0
    Last image
 
Last edited:
It depends. The device-id has to match the one actually used by your iGPU. You can check that with ./rom-parser rom.bin.

For me this was nesecarry because the device-id from the dump was 0406 and not 5a85 like reported by lspci when running Proxmox with UEFI enabled.

Code:
lspci -nnk | grep -A4 VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 500 [8086:5a85] (rev 0b)
    Subsystem: ASRock Incorporation HD Graphics 500 [1849:5a85]
    Kernel driver in use: vfio-pci
    Kernel modules: i915

Code:
$ ./rom-parser intel_hd500_j3455_original.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
    PCIR: revision 3, vendor revision: 0
    Last image

$ ./rom-parser intel_hd500_j3455_fixed.rom
Valid ROM signature found @0h, PCIR offset 40h
    PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 5a85, class: 030000
    PCIR: revision 3, vendor revision: 0
    Last image

Yeah just checked mine and it was also 0402 when GPU ID was 3185 so i have made the adjustments and now have zipped it up for everyone else with the 8086:3185 Device ID. I have also included the original 8086:0402 dump as well.
 

Attachments

  • UHD605_8086_3185.zip
    77.3 KB · Views: 33
i have this when a try to dump my bios :


root@n5105:/sys/devices/pci0000:00/0000:00:02.0# cat /sys/devices/pci0000\:00/0000\:00\:02.0/rom > /tmp/vbios.dump cat: '/sys/devices/pci0000:00/0000:00:02.0/rom': Erreur d'entrée/sortie

any idea ?
 
hey guys,
i try to passtrough teh igpu of a j4105. I followed this guide. copyed the rom file of UHD605. Is this correct and also working for the UHD600?
When i try to start the VM i receive this error:

kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=intel_uhd_605_vbios.rom: vfio 0000:00:02.0: error getting device from group 1: Invalid argument
Verify all devices in group 1 are bound to vfio-<bus> or pci-stub and not already in use
TASK ERROR: start failed: QEMU exited with code 1

I also tryed the UHD600 Rom file of this post:
UHD600 ROM File

Same result

Machine config:
Code:
agent: 1
args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=romfile=HD600.bin
bios: ovmf
boot: order=scsi0;net0
cores: 4
efidisk0: local-btrfs:650/vm-650-disk-0.raw,size=128K
machine: pc-q35-6.0
memory: 4096
name: Mirror-VM
net0: virtio=6A:23:E3:15:71:11,bridge=vmbr0,firewall=1
net1: e1000=C2:5C:A0:62:8E:44,bridge=vmbr0,firewall=1,link_down=1,tag=10
numa: 0
ostype: win10
scsi0: local-btrfs:650/vm-650-disk-1.raw,cache=writeback,size=64G
scsihw: virtio-scsi-pci
smbios1: uuid=2dfcd173-e47e-44b3-9268-ed454171f099
sockets: 1
usb0: host=1-4.4.1,usb3=1
usb1: host=1-4.4.4,usb3=1
vga: none

any idea? Can you help me?
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!