[GPU_passthrough] Lenovo M75q Gen 2 - AMD 5650GE iGPU - Host crashes

I have already installed Manjaro as a VM. Looks good so far! Let's see where we get from there. Thanks!

Bash:
[crazy@lingame01 ~]$ lspci -nnk | grep -i VGA -A2
00:01.0 VGA compatible controller [0300]: Red Hat, Inc. Virtio GPU [1af4:1050] (rev 01)
    Subsystem: Red Hat, Inc. Device [1af4:1100]
    Kernel driver in use: virtio-pci
--
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev db)
    Subsystem: Lenovo Device [17aa:32e4]
    Kernel modules: amdgpu
 
  • Like
Reactions: leesteken
Well, @leesteken I'm not sure if we're quite done yet. As you can see the kernel driver amdgpu is not in use. I assume it has trouble loading or do I need to take care of that?
 
Well, @leesteken I'm not sure if we're quite done yet. As you can see the kernel driver amdgpu is not in use. I assume it has trouble loading or do I need to take care of that?
Is there anything relevant in journalctl (inside the VM) when you do modprobe amdgpu inside the VM?
Try setting the Display to none in the VM settings in Proxmox and see if you get output on the physical display.
 
Nothing. For some reason the Hardware seems not to be used. Do I need to passthrough something more? Some PCIE bus or so?
Bash:
Okt 08 17:48:19 lingame01 systemd[728]: Reached target Basic System.
Okt 08 17:48:19 lingame01 systemd[1]: Started User Manager for UID 1000.
Okt 08 17:48:19 lingame01 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user@1000 comm="systemd" exe="/usr/lib/systemd/system>
Okt 08 17:48:19 lingame01 systemd[728]: Starting Update XDG user dir configuration...
Okt 08 17:48:19 lingame01 systemd[1]: Started Session 1 of User crazy.
Okt 08 17:48:19 lingame01 systemd[728]: Finished Update XDG user dir configuration.
Okt 08 17:48:19 lingame01 systemd[728]: Reached target Main User Target.
Okt 08 17:48:19 lingame01 systemd[728]: Startup finished in 61ms.
Okt 08 17:48:19 lingame01 sshd[725]: pam_env(sshd:session): deprecated reading of user environment enabled
Okt 08 17:48:19 lingame01 audit[725]: USER_START pid=725 uid=0 auid=1000 ses=1 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_systemd_home,p>
Okt 08 17:48:19 lingame01 audit[736]: CRED_ACQ pid=736 uid=0 auid=1000 ses=1 msg='op=PAM:setcred grantors=pam_shells,pam_faillock,pam_permit,pam_env,pam_fai>
Okt 08 17:48:24 lingame01 systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Okt 08 17:48:24 lingame01 audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib>
Okt 08 17:48:24 lingame01 kernel: kauditd_printk_skb: 5 callbacks suppressed
Okt 08 17:48:24 lingame01 kernel: audit: type=1131 audit(1665244104.713:47): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher >
Okt 08 17:48:44 lingame01 systemd[1]: systemd-hostnamed.service: Deactivated successfully.
Okt 08 17:48:44 lingame01 audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-hostnamed comm="systemd" exe="/usr/lib/systemd>
Okt 08 17:48:44 lingame01 kernel: audit: type=1131 audit(1665244124.053:48): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-hostnamed comm="sy>
Okt 08 17:48:44 lingame01 audit: BPF prog-id=0 op=UNLOAD
Okt 08 17:48:44 lingame01 audit: BPF prog-id=0 op=UNLOAD
Okt 08 17:48:44 lingame01 audit: BPF prog-id=0 op=UNLOAD
Okt 08 17:48:44 lingame01 kernel: audit: type=1334 audit(1665244124.133:49): prog-id=0 op=UNLOAD
Okt 08 17:48:44 lingame01 kernel: audit: type=1334 audit(1665244124.133:50): prog-id=0 op=UNLOAD
Okt 08 17:48:44 lingame01 kernel: audit: type=1334 audit(1665244124.133:51): prog-id=0 op=UNLOAD
 
Does it make any difference if I plug HDMI to the host on bootup or not? Sometimes I read a dummy is needed, sometimes I read you should not connect HDMI at all...
 
Nothing. For some reason the Hardware seems not to be used. Do I need to passthrough something more? Some PCIE bus or so?
You don't need to passthrough PCI(e) bridges or buses, that's taken care of by vfio-pci. Maybe find someone on the internet that succeeded with passthrough of the integrated graphics of a 5650GE or very similar and find out how they did it. Make sure you don't have any other virtual display by setting Display to none in the VM settings (but don't enable Primary GPU which is for NVidia GPUs).
Does it make any difference if I plug HDMI to the host on bootup or not? Sometimes I read a dummy is needed, sometimes I read you should not connect HDMI at all...
Sometimes GPUs don't enable output if there is no display connected, so make sure you have a display connected before starting the VM.
 
I will look if I do find some more information about 5650GE et. al. I tried with primary GPU and without, both times it doesn't work. Well, we got so far, I hope I can find a way...

HDMI is connected right now so this can't be the problem.
 
There is an example here in the Wiki. Make sure to use the right PCI ID and that the device is not touched by anything before reading the ROM. That last part can be difficult and might require booting the system with another GPU.
Well, that's impossible since it's a Lenovo Tiny M75q system - I can't add another GPU. Is it possible to download those ROMs somewhere or possible do do work around that problem somehow?
 
Well, that's impossible since it's a Lenovo Tiny M75q system - I can't add another GPU. Is it possible to download those ROMs somewhere or possible do do work around that problem somehow?
Maybe take out the CPU and put it in another AM4 system with a GPU? Or seach the internet if someone already has done it? I'm sorry but I don't know how to fix this, or even if this will fix the passthrough.
 
After a long time I'm now coming back to the topic. I found some Cezanne-VBIOS on the internet in different sources. They all have the same size/checksums. Therfor I imagine they might either be all from the same source or the VBIOS for different Cezanne iGPUs is all the same.

I do now try to get this going with a clean install of PVE8.0 with kernel 6.2.16-6-pve.

  1. Are there any changes regarding the process of passing through a GPU?
  2. Could I still use the same methods for kernel parameters, blacklisting, vfio etc.?
  3. When I boot the system, I can still see on screen: "Booting Proxmox VE GNU/Linux, Loadling Linux 6.2, Loading initial ramdisk ..." Is this correct? I did the blacklisting and initcall_blacklist=sysfb_init once again.
 
Update
Everything works! I'll update this thread later! Right now I'm struggeling with proper game streaming from the VM as well as the reset bug: When I shutdown the VM, the host as well as the guest hangs.
 
Update
Everything works! I'll update this thread later! Right now I'm struggeling with proper game streaming from the VM as well as the reset bug: When I shutdown the VM, the host as well as the guest hangs.
ayo... please please for the love of all things holy, explain how you got this going. also why can't an internet have a single source of truth for extracting vbioses from motherboard bioses ffs
 
Update
Everything works! I'll update this thread later! Right now I'm struggeling with proper game streaming from the VM as well as the reset bug: When I shutdown the VM, the host as well as the guest hangs.

How is the 5650GE with Proxmox, without iGPU pass through?
I do not want to play games and I have another machine with quicksync which should suffice for Plex.

It sounds really concerning to see the actual proxmox host crash? I wish I saw this thread before ordering 2 of them.