[SOLVED] AMD 5700G igpu passhtrough works W10, but blank screen on Linux

PRBB

New Member
Jul 14, 2024
7
6
3
With the help of this forum and other sites, I was able to successfully passhtrough the igpu of the 5700G to WIN10 guest. But my original plan was to run linux on the igpu and windows on my discrete gpu for gaming.
So I did an install of linux mint with the igpu passthrough, everythin wen smoothly, except I have no output to the display.
The amdgpu looks like it has been loaded properly. I can connect using remote desktop and gpu acceleration seems to work because '/dev/dri' is present.

dmesg in guest show successful loading of drivers.

Code:
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-91-generic root=UUID=9354e23d-ad97-4a1f-b0b3-f347e1ca806c ro quiet splash amdgpu.dc=0
[    0.012022] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.15.0-91-generic root=UUID=9354e23d-ad97-4a1f-b0b3-f347e1ca806c ro quiet splash amdgpu.dc=0
[    2.452803] [drm] amdgpu kernel modesetting enabled.
[    2.452915] amdgpu: CRAT table not found
[    2.452917] amdgpu: Virtual CRAT table created for CPU
[    2.452923] amdgpu: Topology: Add CPU node
[    2.453205] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature enabled
[    2.462825] amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR
[    2.462832] amdgpu: ATOM BIOS: 113-RENOIR-035
[    2.462943] amdgpu 0000:01:00.0: vgaarb: deactivate vga console
[    2.462994] amdgpu 0000:01:00.0: amdgpu: VRAM: 512M 0x000000F400000000 - 0x000000F41FFFFFFF (512M used)
[    2.462996] amdgpu 0000:01:00.0: amdgpu: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
[    2.462997] amdgpu 0000:01:00.0: amdgpu: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
[    2.463028] [drm] amdgpu: 512M of VRAM memory ready
[    2.463028] [drm] amdgpu: 2903M of GTT memory ready.
[    2.467530] amdgpu 0000:01:00.0: amdgpu: PSP runtime database doesn't exist
[    2.469386] amdgpu 0000:01:00.0: amdgpu: Will use PSP to load VCN firmware
[    3.608016] amdgpu 0000:01:00.0: amdgpu: RAS: optional ras ta ucode is not available
[    3.618657] amdgpu 0000:01:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    3.618659] amdgpu 0000:01:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    3.619644] amdgpu 0000:01:00.0: amdgpu: SMU is initialized successfully!
[    3.624907] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    3.653404] amdgpu: HMM registered 512MB device memory
[    3.653430] amdgpu: SRAT table not found
[    3.653430] amdgpu: Virtual CRAT table created for GPU
[    3.653480] amdgpu: Topology: Add dGPU node [0x1638:0x1002]
[    3.653482] kfd kfd: amdgpu: added device 1002:1638
[    3.653587] amdgpu 0000:01:00.0: amdgpu: SE 1, SH per SE 1, CU per SH 8, active_cu_number 8
[    3.653628] amdgpu 0000:01:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
[    3.653629] amdgpu 0000:01:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[    3.653630] amdgpu 0000:01:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[    3.653630] amdgpu 0000:01:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[    3.653631] amdgpu 0000:01:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[    3.653631] amdgpu 0000:01:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[    3.653632] amdgpu 0000:01:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[    3.653632] amdgpu 0000:01:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[    3.653633] amdgpu 0000:01:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[    3.653633] amdgpu 0000:01:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
[    3.653634] amdgpu 0000:01:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 1
[    3.653634] amdgpu 0000:01:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 1
[    3.653635] amdgpu 0000:01:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 1
[    3.653635] amdgpu 0000:01:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 1
[    3.653636] amdgpu 0000:01:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 1
[    3.655118] [drm] Initialized amdgpu 3.42.0 20150101 for 0000:01:00.0 on minor 0

Tried several options in guest grub configuration, but currently I'm out of ideas.

Maybe someone knows why this is happening on linux, but not on windows?
 
P.S.

When I shutdown the guest os, I see garbage line on top of my display.
 
Nevermind I finally found it. As it turns out, I was copying my configuration for Win10 for the linux install, which was ovmf/q35. To make it work I had to use seabios/i440fx. Of course I still had to pass the exracted vbios and AMDGopDriver.

Finally after several days, I can relax a bit.
 
Additional info : It looks like the 5.xx kernel is the problem, I was testing using 6.xx kernel when it worked, when I went back to 5.xx version same black screen. Will try kernel 6.xx with ovmf/q35 config, see if it works.
 
  • Like
Reactions: leesteken
6.xx with ovmf/q35 does not work.

@_gabriel
Here's what I have done.

To configure promox vga passthrough is used the tutorial here in this forum. But did not install the reset bug fix cause it does not work for my case.
There is a better reset bug fix that works for windows but I haven't tried it yet. It needs to be installed in the windows guest itself.
https://forum.proxmox.com/threads/p...x-ve-8-installation-and-configuration.130218/

To extract the vbios AMDGopDriver is used this. (Note: depending on you bios brand you may need a different tool)
https://winraid.level1techs.com/t/tool-guide-news-uefi-bios-updater-ubu/30357

Also if the current bios does not work, try an older version. As in my case, I had to use an older bios version for passthrough to work,

Configuration for windows :

I used ovmf/q95 and virtio devices. Added the igpu. Then modified the config file to include the exracted bios.
Code:
hostpci0: xxxx:xx:xx.x,x-vga=1,romfile=<Extracted VBios>
hostpci1: xxxx:xx:xx.x,romfile=<Extracted AMDGopDriver>
Note: I'm also passing the audio device bec., Ive read somewhere that you need both for passthrough to work, maybe it will work without it, for me, I need it as my monitor has built in speakers that can recieve audio from the Display Port and HDMI ports.

For linux :

Must use Kernel 6.xx to work. I used seabios/i440x and virtio devices for pci passthrough same sa in windows.

Hope this helps.
 
Last edited:
  • Like
Reactions: _gabriel
6.xx with ovmf/q35 does not work.

@_gabriel
Here's what I have done.

To configure promox vga passthrough is used the tutorial here in this forum. But did not install the reset bug fix cause it does not work for my case.
There is a better reset bug fix that works for windows but I haven't tried it yet. It needs to be installed in the windows guest itself.
https://forum.proxmox.com/threads/p...x-ve-8-installation-and-configuration.130218/

To extract the vbios AMDGopDriver is used this. (Note: depending on you bios brand you may need a different tool)
https://winraid.level1techs.com/t/tool-guide-news-uefi-bios-updater-ubu/30357

Also if the current bios does not work, try an older version. As in my case, I had to use an older bios version for passthrough to work,

Configuration for windows :

I used ovmf/q95 and virtio devices. Added the igpu. Then modified the config file to include the exracted bios.
Code:
hostpci0: xxxx:xx:xx.x,x-vga=1,romfile=<Extracted VBios>
hostpci1: xxxx:xx:xx.x,romfile=<Extracted AMDGopDriver>
Note: I'm also passing the audio device bec., Ive read somewhere that you need both for passthrough to work, maybe it will work without it, for me, I need it as my monitor has built in speakers that can recieve audio from the Display Port and HDMI ports.

For linux :

Must use Kernel 6.xx to work. I used seabios/i440x and virtio devices for pci passthrough same sa in windows.

Hope this helps.
Have you struggled this error?
1723293340568.png
 
@vinnfts no I did not encounter that error, because I never updated the drivers windows installed. My actual windows installation uses an NVIDIA dgpu. I only installed windows on my AMD5700G igpu to make sure that igpu passthrough works before I install linux on it, because there are a lot of guides for windows gpu passthorugh.

From what I can see, I believe your installing the wrong drivers. Did you install the igpu drivers? I don't think the dgpu drivers is compatible.
 

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!