GMKTEC K12 | Ryzen 7 H 255 | Problem with IGPU

does work only for you if parsec is installed? because for me the display works fine until windows enables the amd graphics driver and then it all goes to garbled crap. if i disable to amd driver the display comes back but i have only 800x600 resolution.
 
I did this: I installed the latest Proxmox and did all the updates, and then I immediately started entering commands from: https://pve.proxmox.com/wiki/PCI_Passthrough

That is
dmesg | grep -e DMAR -e IOMMU
dmesg | grep 'remapping'
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
next:
Code:
echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
Code:
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf 
echo "blacklist nvidia*" >> /etc/modprobe.d/blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf

next:
echo "options kvm ignore_msrs=1 report_ignored_msrs=0" > /etc/modprobe.d/kvm.conf

And this github: https://github.com/isc30/ryzen-gpu-passthrough-proxmox
lspci -nn | grep -e 'AMD/ATI'

Code:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"/g' /etc/default/grub
update-grub

Code:
echo "vfio" >> /etc/modules
echo "vfio_iommu_type1" >> /etc/modules
echo "vfio_pci" >> /etc/modules
echo "vfio_virqfd" >> /etc/modules

echo "options vfio-pci ids=1002:1900,1002:1640" >> /etc/modprobe.d/vfio.conf

Code:
echo "softdep radeon pre: vfio-pci" >> /etc/modprobe.d/vfio.conf
echo "softdep amdgpu pre: vfio-pci" >> /etc/modprobe.d/vfio.conf
echo "softdep snd_hda_intel pre: vfio-pci" >> /etc/modprobe.d/vfio.conf

Code:
update-initramfs -u -k all
shutdown -r now

And its all, all working fine
 
does work only for you if parsec is installed? because for me the display works fine until windows enables the amd graphics driver and then it all goes to garbled crap. if i disable to amd driver the display comes back but i have only 800x600 resolution.
Unfortunately, I don't know, because I've always used Parsec, but as far as I know, you can upload Virtual Display without Parsec. It's available anyway; it used to work for me on GMKTEC M5PRO before I started using Parsec or Moonlight.
https://github.com/VirtualDrivers/Virtual-Display-Driver

Maybe u have discord?
 
This suggests a driver or vBIOS conflict: the card initializes incorrectly. HDMI works only on iGPU. Reflash correct vBIOS, reinstall clean drivers, and verify motherboard BIOS display settings and compatibility.
 
Last edited:
the bios has been flashed like an hour ago.
i freshly extracted vbios and gop and i reinstalled the drivers. it always ends up the same. if driver active, display is garbled (can still access and use gpu fine via anydesk), if inactive, display is on and shows stuff in 800x600, but obviously no gpu is available.
 
i passed it through to a different windows 11 vm and there it seems to be actually working.
now i need to figure out why the other vm doesnt behave the same.
 
i have given up on the original vm and moved everthing to the new windows vm.
its working well, except that if i restart the actual vm inside proxmox it has issues with the graphics afterwards. its only partially working (like half the screen visible, the other half flickering/garbled).
i assume thats because of vendor-reset not fully supporting the gpu.
only a complete host-reboot (gracefully) will restore the gpu to 100%.
luckily it doesnt lock up the host at all, just the gpu wont be fully functional until host reboot.

if i just restart windows inside the vm its not an issue. i can do that as much as i need and it keeps working. so windows update and other windows related reboots wont break anything.
i dont restart the vm from proxmox usually, so that shouldnt be a big issue for me.
 
How's it going? Mine's still working fine since I told you I managed to extract the ROM.

Honestly, it works too well, even the KVM hub has no issues :)
 
other than the gpu crapping out when i reboot the machine via proxmox (see above) everything is running fine.
vendor-reset is an old (no longer maintained) tool and doesnt fully support the igpu, but works well enough.
as long as i initiate reboots within the vm all is good. thats most important since it covers all windows update reboots.
 
other than the gpu crapping out when i reboot the machine via proxmox (see above) everything is running fine.
vendor-reset is an old (no longer maintained) tool and doesnt fully support the igpu, but works well enough.
as long as i initiate reboots within the vm all is good. thats most important since it covers all windows update reboots.
where are you finding the latest bioses for K12 ?
 
Well, it's not so rosy, but now I'm wondering why.
You see, I discovered that on one random 256GB drive in one PCIe slot, everything worked fine for about two weeks, but I decided it was time to switch to a ZFS1 RAID with two 4TB WD Red drives, and after that, it stopped working.
And now I'm wondering if it's the slots' fault and I should put it in slots 2 and 3, or maybe the RAID is messed up. Without any errors, the server is still working, but there is no image and I can't access the Proxmox GUI.
other than the gpu crapping out when i reboot the machine via proxmox (see above) everything is running fine.
vendor-reset is an old (no longer maintained) tool and doesnt fully support the igpu, but works well enough.
as long as i initiate reboots within the vm all is good. thats most important since it covers all windows update reboots.
 
if you added another ssd, the pcie device numbers change. it means your gpu (and possibly other pcie-devices) might not be at their original ID, but a different one.
easiest way to check would be login with any means and check lspci -nnk output. for me the gpu for example sitz at 67:00.1 and 67:00.2 (and i have 2 ssds in the primary and the middle slot.
 
You know, I didn't add anything, I formatted the entire Proxmox, so I know that nothing has changed there.
But I'm testing something else, because I had 48GB and 16GB of RAM installed, and I noticed that it throws errors during memory tests, so I changed it to 2x 48GB and tested it.
 
oh, ok. it sounded like you added something.
then i am quite confused. mine is still working.
soyours stopped working after you changed memory or before you changed it?
 
For now, I'll hold off on the BIOS, because I know it's not its fault.
Everything has been working fine for 24 hours, we'll see how it goes, because sometimes it would crash even after 2-5 days.
I currently have 2x48GB 5600MHz installed, maybe it just didn't like that 16GB chip.
by the way, there is a new BIOS and EC update (2.02) available fpr the K12 from GMKtec if you want to give it a try:

https://drive.google.com/drive/fold...eIeRZKtCnx?spm=..page_2054333.page_detail_1.1

i have not updated to that bios yet as this update seems to primarily address FAN-Related settings and i am running mine on fixed fanspeeds.
 
i am restarting my machine relatively often atm because im playing around with a few things. by the way you should have a look at a tool named ryzenadj which allows you to adjust the power-settings of the apu on the fly from the proxmox host.

here is a link: https://github.com/FlyGoat/RyzenAdj

Code:
root@pve2:~/ryzenadj/RyzenAdj/build# ./ryzenadj -i
detected compatible ryzen_smu kernel module
CPU Family: Hawk Point
SMU BIOS Interface Version: 15
Version: v0.18.0
PM Table Version: 4c0009
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    40.000 | stapm-limit        |
| STAPM VALUE         |     2.537 |                    |
| PPT LIMIT FAST      |    40.000 | fast-limit         |
| PPT VALUE FAST      |     2.537 |                    |
| PPT LIMIT SLOW      |    40.000 | slow-limit         |
| PPT VALUE SLOW      |     2.537 |                    |
| StapmTimeConst      |     4.155 | stapm-time         |
| SlowPPTTimeConst    |     4.155 | slow-time          |
| PPT LIMIT APU       |    54.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |     1.282 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     0.162 |                    |
| EDC LIMIT VDD       |   115.992 | vrmmax-current     |
| EDC VALUE VDD       |    10.146 |                    |
| EDC LIMIT SOC       |    25.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     0.171 |                    |
| THM LIMIT CORE      |    95.000 | tctl-temp          |
| THM VALUE CORE      |     5.073 |                    |
| STT LIMIT APU       |     0.000 | apu-skin-temp      |
| STT VALUE APU       |     0.000 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

i lowered my powervalues to 40w (from the default 45 on quiet) which lowered my temp under load from 95c to about 83-85c (with fixed fan values at 40%). also lowered memory/nvme temps from up to the 70's down to their middle 50's.

i made a simple service to start it automatically at boot time and as said you can fiddle around with the settings whenever you want, no reboot required.