8845HS iGPU passthrough

cshifer12

New Member
Jun 8, 2025
13
0
1
I have GMKtec K8 plus. I have installed win11 in VM and followed this guide to passthrough igpu https://github.com/isc30/ryzen-gpu-passthrough-proxmox.

I have display connected to displayport.

At first i used RadeonResetBugFix but this made VM extremely slow start and down and it was not reliable. After VM shutdown it did not work.

I had passed through only 2 devices
hostpci0: 0000:c7:00.0,pcie=1,romfile=vbios_8845hs.bin,x-vga=1
hostpci1: 0000:c7:00.1,pcie=1,romfile=AMDGopDriver_8845hs.rom

Then i saw this comment https://github.com/isc30/ryzen-gpu-passthrough-proxmox/issues/112#issuecomment-2869638903

i added to passthrough list these and reinstalled win 11.
hostpci2: 0000:c7:00.5,pcie=1
hostpci3: 0000:c7:00.6,pcie=1

It was working without RadeonResetBugFix for one time only just like earlier. If win 11 VM shutdown or reboot host needed to reboot too. But it was fast. So i just did not install RadeonResetBugFix. And i just do not shutdown windows VM.

Today electricity went out and after it came. I can not see video output in monitor. If i connect to VM using RDP it shows everything is working. GPU is working. I have reinstalled GPU drivers but still. Here is a pic how it's shown on monitor. Tried other displayport cable but it's not a problem. Tried ubuntu live everything works fine.

How can i fix it?

Also if someone has similar hardware can this reset bug be fixed at all? I have tried vendor-reset but it also did not work.
 

Attachments

  • 111111111111.jpeg
    111111111111.jpeg
    86.3 KB · Views: 13
It seems like something got messed up in windows because of sudden shutdown. Windows is so shit. I never ever had an issue of booting OS on linux because of sudden shutdown. I remember windows used to break because of this 15-20 years ago. It's been 15 years i have not used windows. I just installed it on new mini PC for passthrough functionality because of just one game friends play.
Now i installed windows 11 LTSC lite version and it all works.

Well works on first VM boot. If i shut it down then i can not start up it without host rebooting. Now i took a backup and if something goes wrong i'll quickly restore it.

If you can help with this reset bug that would be awesome. I have tried so many ways but nothing seems to work.
 
It works stable enough but can't restart any VM with iGPU passthrough. Need to reboot host. Could not fix this issue yet.
 
If it's Windows 11, can't you do the following steps?

https://github.com/isc30/ryzen-gpu-passthrough-proxmox/issues/131
I'll try this on win11. But i also use iGPU on linux VM. In fact that is my problem i am facing. By default i use arch linux VM with iGPU passthrough. I want to shutdown this VM and start win 11. But currently because of this issue i need to reboot the host. You mentioned this fix works on win 11, but someone on that link was asking for linux and i did not understand if it also works on linux. Will try tomorrow.
 
If it's Windows 11, can't you do the following steps?

https://github.com/isc30/ryzen-gpu-passthrough-proxmox/issues/131
Could you please elaborate more? I tried this but VM does not even start with video output now.

in /etc/modprobe.d/vfio.conf
I commented out all lines

#options vfio-pci ids=1002:1900,1002:1640,c0a9:5415
#softdep radeon pre: vfio-pci
#softdep amdgpu pre: vfio-pci
#softdep snd_hda_intel pre: vfio-pci

I have not blacklisted amdgpu

In /etc/modules-load.d/modules.conf i have

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Is this configuration correct?

Also i am doing this on linux VM not windows. But with this change just commenting out vfio.conf and adding hookscript it does not even have video output.

After i reboot host i see these devices use amdgpu not vfio-pci. After i start linux VM with hookscript i see they use vfio-pci but out put is not working still. Inside VM i do nothing.
 
I have only confirmed that it works on Windows 11.

I told you this because we are talking about using Windows 11 originally.

There is no need to put it in blacklist because hookscript unbinds it from amdgpu and binds it to vfio-pci.

There is also no need to configure vfio.conf.

It never works without hookscript.
 
Last edited:
Windows 11 broke. Overall windows is not stable OS and i had to delete it and install steam on debian. Just need to fix this and that's it.

Could you tell me if this vfio.conf file that i commented out is correct or should i uncomment it?

What difference does VM itself make windows or linux if gpu works is should work on both no?
 
Last edited:
Comment out vfio.conf and disable early binding.
This causes the amdgpu driver to be used at Proxmox startup

blacklist is to prevent the amdgpu driver from being used, which is not required

This is not necessary if you are doing early binding or using hookscript, as there is a switch to the vfio driver

In the procedure presented, the binding to vfio is changed by a hook script instead of an early binding.

vfio_virqfd is the same with or without

The hookscript allows the amdgpu driver to be used when the virtual machine is restarted, restoring it to the state it was in when Proxmox was started and eliminating anomalies the next time the virtual machine is booted.

I can't try linux because I don't plan to use it.
 
Last edited:
Ok what does linux have to do with this script?

When i start with my vfio.conf early binding VM starts. When i turn it off it switches driver to amdgpu and snd_hda_intel but i lose access to proxmox console. And if i start VM again it does not work.
 
I don't know about Linux.

If it works with early binding on Linux, there is no problem using early binding.

I used it because it did not work well on Windows.
 
Yeah starting up with early binding is not a problem here. It was not a problem with windows 11 either when i had it.

Problem is after shutting down the VM i do not have access to console and if i start up VM again it does not work anymore. This problem has nothing to do which OS is running inside the VM.
 
Last edited:
If vfio-pci is used, it is normal for there to be no indication on the console.

The console output requires the amdgpu driver, and the amdgpu driver should be used after the virtual machine is shutdown.

If the guest OS is Windows, the device must be disabled and shut down in advance by Windows to work, so the script enables it at start and disables it at stop.
 
Last edited:
If the amdgpu driver is used even in the boot state of the virtual machine and the vfio-pci driver is not used, the configuration is incorrect.

vfio-pci is used at virtual machine boot, while amdgpu is used when the virtual machine is stopped.
 
When i start up host vfio-pci is used because of that vfio.conf file but i still have access to console on monitor. After i start VM i get output from VM after i shutdown VM this script switches GPU to amdgpu but no access to console.

If i start up without early bind so with amdgpu in use VM does not start.

How do i have access to console while vfio-pci is in use?
 
Last edited:
I do not know how to achieve the impossible task of displaying a console with vfio, so I cannot respond further.
If there's a way to make it happen, I'd like to know too.

Connect via SSH and execute the following command.

・Running the following command will unbind the amdgpu driver and hide the display.

echo "0000:10:00.0" > /sys/bus/pci/drivers/amdgpu/unbind 2>/dev/null

・Running the following command will switch to the vfio driver, but the screen will go completely black.

echo "0000:10:00.0" > /sys/bus/pci/drivers/vfio-pci/bind 2>/dev/null

・Running the following command will unbind the vfio driver and hide the display.

echo "0000:10:00.0" > /sys/bus/pci/drivers/vfio-pci/unbind 2>/dev/null

・Executing the following command binds the amdgpu driver and displays the screen.

echo "0000:10:00.0" > /sys/bus/pci/drivers/amdgpu/bind 2>/dev/null

* 0000:10:00.0 varies depending on the environment.

I can't support you, so please do your best to make it happen.
 
Last edited:
It does not work like you describe at all.

It does display console while on vfio driver when host starts up first time and does not display anything when binding to amdgpu after i shutdown VM.

Tried your fix on windows also but same issue works only first time. But it works first time even without any scripts at all.