AMD Ryzen 7 e.g. 4800U PCI Passthrough of GPU - BIOS MISSING

Nov 28, 2018
19
0
41
54
Earth
www.electricpaper.de
Hi,
I got pci passthrough to debian and ubuntu with q35 and seabios or ovmf (uefi) perfectly to work from the howto. But in both installations, I get [ 16.103155] [drm:amdgpu_get_bios [amdgpu]] *ERROR* Unable to locate a BIOS ROM..................:


Code:
2.303527] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[    2.303528] AMD-Vi: AMD IOMMUv2 functionality not available on this system
[    2.353234] kvm: Nested Virtualization enabled
[    2.353234] SVM: kvm: Nested Paging enabled
[    2.360630] Decoding supported only on Scalable MCA processors.
[    2.386749] Decoding supported only on Scalable MCA processors.
[    2.386973] [drm] amdgpu kernel modesetting enabled.
[    2.387020] CRAT table not found
[    2.387025] Virtual CRAT table created for CPU
[    2.387034] amdgpu: Topology: Add CPU node
[    2.387117] checking generic (a0000 10000) vs hw (d0000000 10000000)
[    2.387118] checking generic (a0000 10000) vs hw (e0000000 200000)
[    2.387119] checking generic (a0000 10000) vs hw (fe800000 80000)
[    2.387120] fb0: switching to amdgpudrmfb from EFI VGA
[    2.387264] Console: switching to colour dummy device 80x25
[    2.387290] amdgpu 0000:01:00.0: vgaarb: deactivate vga console
[    2.387580] [drm] initializing kernel modesetting (RENOIR 0x1002:0x1636 0x1043:0x87E7 0xC1).
[    2.387582] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[    2.387596] [drm] register mmio base: 0xFE800000
[    2.387597] [drm] register mmio size: 524288
[    2.387605] [drm] PCIE atomic ops is not supported
[    2.387639] [drm] add ip block number 0 <soc15_common>
[    2.387639] [drm] add ip block number 1 <gmc_v9_0>
[    2.387640] [drm] add ip block number 2 <vega10_ih>
[    2.387640] [drm] add ip block number 3 <psp>
[    2.387641] [drm] add ip block number 4 <smu>
[    2.387642] [drm] add ip block number 5 <gfx_v9_0>
[    2.387642] [drm] add ip block number 6 <sdma_v4_0>
[    2.387643] [drm] add ip block number 7 <dm>
[    2.387643] [drm] add ip block number 8 <vcn_v2_0>
[    2.387644] [drm] add ip block number 9 <jpeg_v2_0>
[    9.608530] [drm] BIOS signature incorrect ff ff
[    9.608573] amdgpu 0000:01:00.0: No more image in the PCI ROM
[   16.103064] [drm] BIOS signature incorrect ff ff
[   16.103155] [drm:amdgpu_get_bios [amdgpu]] *ERROR* Unable to locate a BIOS ROM
[   16.103163] amdgpu 0000:01:00.0: amdgpu: Fatal error during GPU init
[   16.103166] [drm] amdgpu: finishing device.
[   16.103205] BUG: kernel NULL pointer dereference, address: 0000000000000044
[   16.103210] #PF: supervisor read access in kernel mode
[   16.103212] #PF: error_code(0x0000) - not-present page
[   16.103213] PGD 0 P4D 0
[   16.103216] Oops: 0000 [#1] SMP NOPTI
[   16.103222] CPU: 3 PID: 323 Comm: systemd-udevd Not tainted 5.8.0-44-generic #50~20.04.1-Ubuntu
[   16.103224] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
[   16.103239] RIP: 0010:drm_mode_config_validate+0x48/0x210 [drm]
[   16.103241] Code: 89 e5 41 57 41 56 4c 8d b7 d8 02 00 00 41 55 41 54 53 48 83 ec 08 48 8b 97 d8 02 00 00 48 8d 42 f8 49 39 d6 0f 84 4f 01 00 00 <8b> 50 4c 85 d2 75 0a 8b 48 44
89 f2 d3 e2 89 50 4c 48 8b 50 08 48
[   16.103245] RSP: 0018:ffffab950055f9a0 EFLAGS: 00010286
[   16.103247] RAX: fffffffffffffff8 RBX: ffffffffc0acf120 RCX: ffffd0fa45c0b808
[   16.103248] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff9857ae90a800
[   16.103250] RBP: ffffab950055f9d0 R08: 0000000000000000 R09: 0000000000000001
[   16.103251] R10: dead000000000100 R11: 0000000000000020 R12: ffff9857ae90a800
[   16.103253] R13: ffff9857bab0c000 R14: ffff9857ae90aad8 R15: ffff9857ae90a800
[   16.103256] FS:  00007f894d5e8880(0000) GS:ffff9857bbd80000(0000) knlGS:0000000000000000
[   16.103258] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   16.103260] CR2: 0000000000000044 CR3: 00000001723a4000 CR4: 0000000000340ee0


...so I tried to dump the ROM file as described here (https://pve.proxmox.com/wiki/Pci_passthrough) - but a file like this does not exist. echo 1>rom delivers permission error...

Has anyone an Idea where to get and put this bios rom?

Thanks for help !

regards,

Timo
 
Last edited:
You need to get the ROM from the host and it is important (to get a good ROM) to do this without using the GPU during boot. I think that that is what the WIKI meant by installed in a different slot. Do you have more than one GPU in your system?
 
well it is a adm ryzen 4800U - an Asus PN50. So everything on a SOC. There is no PCIE Slot nor physical extra graphics card. So what is described in the howto just does not work. That is, why I was asking in. Anybody an Idea which other ways might lead to success?

Let me add the reason why this is useful to work: I need opencl for tensorflow.

so. still open.. Help appreciated. Thanks
 
Last edited:
well it is a adm ryzen 4800U - an Asus PN50. So everything on a SOC. There is no PCIE Slot nor physical extra graphics card. So what is described in the howto just does not work. That is, why I was asking in. Anybody an Idea which other ways might lead to success?
This was not clear before, thanks for sharing. That GPU is integrated into the Ryzen CPU and nobody (that I know of) has had success with PCI passthrough. I have only found problems about it on this forum and others. You can do everything right for VFIO and is will appear in a separate IOMMU group, but it just won't work. I guess you'll have to wait until there is support for Ryzen integrated GPU passthrough in the kernel (by AMD or others). If you do get it working, please let us know.
 
I'm in the same situation with my PN50. Just can't get 4500U passing through to a VM. I'll just have to wait for AMD to do something about it at the moment there aren't any Linux drivers available
 
Last edited:
Same Situation with ryzen 5500U. Passthrough works only with nomodeset or Windows Basic Display Adapter. I extracted the vBIOS with uefitool and Patched with gopupd and use ovmf q35. In ovmf i changed Resolution to 1080p 60hz. Windows with Basic Display Adapter works but after AMD Driver Installation i get a blackscreen with Mouse Cursor. With Vnc Connection i checked the Display Driver and it works No Errors. Playing Video with VLC uses HW accleration checked in taskedmanager but on the connected Monitor ist draws pixelated garbage. Update playing Video with windows Media player or Microsoft Edge YouTube works with connected Monitor but only Shows the Video( works only if Feature hyper-v and virtual... Is installed otherwise Green Screen)
 

Attachments

  • IMG_20210729_161101.jpg
    IMG_20210729_161101.jpg
    732.2 KB · Views: 42
Last edited:
  • Like
Reactions: lz0011
Greetings, dear friends

I have a 5800U SOC mini pc, does anyone know how to make the PCIE passthrough working? I've followed all the guides I've seen but it just won't work.

If you have any information at all please let me know

Thank you!
 

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!