AMD APU Ryzen 5700G iGPU Passthrough on 6.9.2


Recommended Posts

New to Unraid here. I've put together a new system with the newly released (DIY anyway) AMD Ryzen 7 5700G, and was wondering if there's a robust way of passing through the iGPU on vms. I've searched around and found few scattered info on similar questions, but no definitive answer.

If it works I'm hoping to use the server as a side workstation, and probably some light gaming. So the iGPU would be adequately powerful. Currently with vnc is just not usable as a regular machine. Windows/Linux are both ok for me btw.

 

Any help would be greatly appreciated!

  • Like 1
Link to comment

What have you tried so far? I am in the same situation except I haven't installed my 5700G yet. As I understand it, there are some steps to remove access of it to the main system and get it passed through to vfio. From there, it should populate in the GPU/Sound card slots when making a VM. If you are lucky it might just work.

Link to comment
41 minutes ago, Econaut said:

What have you tried so far? I am in the same situation except I haven't installed my 5700G yet. As I understand it, there are some steps to remove access of it to the main system and get it passed through to vfio. From there, it should populate in the GPU/Sound card slots when making a VM. If you are lucky it might just work.

 

Yeah I tried the basics but was basically stuck at extracting the vbios. You can check out the thread here.

 

https://forums.unraid.net/topic/100525-video-guide-how-to-easily-dump-a-vbios-from-any-gpu-directly-from-the-server-for-passthrough/page/3/?tab=comments#comment-1026177

Link to comment
Just now, Econaut said:

Have you tried using the GPU-Z utility in a windows boot with the 5700G? I think that should go pretty smoothly. I'll be getting to that point in a few weeks maybe but will post the bios I get if that helps.

That'd be great. I did hear about the method, and since I'm currently running it headless as a file server, and don't have a spare drive to install Windows on bare-metal, so haven't tried it personally. Will sure do that if I got hands on an additional drive in the near future!

Link to comment

Have just upgraded to this CPU with the aim of removing a graphics card and reducing power consumption, but still hoping to pass through to a Windows VM.

Initial passthrough worked OK (I think). (I have not tried to mess with the GPU bios.) Then trying to install the drivers I had some problems. Driver install seemed to hang, then once I'd got round that (possibly), then I found that turning off the VM caused horrible problems with CPU usage going crazy and the system becoming unresponsive. A reboot was the only solution.

Since then I've avoided this hoping that there will be some fixes in a new driver, or in 6.10 (not ready to try a beta build yet as I only have the one server). I have meddled with an Ubuntu VM, but couldn't get that to pass through. Am tempted to try doing a clean windows install to see what happens, but am wary of locking everything up again, also might try and see how I can get on without drivers as I'm not worried about gaming - just occasional desktop use.

I hadn't considered dumping the bios might help as I haven't needed to go that route before with a stand alone (very old) AMD card that I passed through. 

Don't really want to put the old card back in, but that thought has crossed my mind.

 

Interested to follow this and see what progress is made.

Link to comment
1 minute ago, jsebright said:

Have just upgraded to this CPU with the aim of removing a graphics card and reducing power consumption, but still hoping to pass through to a Windows VM.

Initial passthrough worked OK (I think). (I have not tried to mess with the GPU bios.) Then trying to install the drivers I had some problems. Driver install seemed to hang, then once I'd got round that (possibly), then I found that turning off the VM caused horrible problems with CPU usage going crazy and the system becoming unresponsive. A reboot was the only solution.

Since then I've avoided this hoping that there will be some fixes in a new driver, or in 6.10 (not ready to try a beta build yet as I only have the one server). I have meddled with an Ubuntu VM, but couldn't get that to pass through. Am tempted to try doing a clean windows install to see what happens, but am wary of locking everything up again, also might try and see how I can get on without drivers as I'm not worried about gaming - just occasional desktop use.

I hadn't considered dumping the bios might help as I haven't needed to go that route before with a stand alone (very old) AMD card that I passed through. 

Don't really want to put the old card back in, but that thought has crossed my mind.

 

Interested to follow this and see what progress is made.

 

Can you pls provide some more detail of how you got passthrough to work on Windows VM initially (w.o drivers)? VM setup, specific tweaks, etc. I think we're in the same boat as in gaming is not really a big concern, and occasional desktop use is good enough. For me after setting up the vm, set the graphic to AMD Cezanne, along with its audio, the vm starts fine, but no signal comes out of HDMI output. 

 

As for the driver issue I do remember seeing something similar to yours elsewhere, but with other setup of course. Think that's not an easy fix tho. 

 

I did upgrade to 6.10 rc, and I can try out any ideas you have as well. btw it's (supposedly) quite easy to revert back to 6.9 as well according to tutorials, just so if you want to try it out.

Link to comment
13 minutes ago, q3bing said:

Can you pls provide some more detail of how you got passthrough to work on Windows VM initially (w.o drivers)?

Can't remember exactly, but VM is Q35-5.1 (latest Q35 for 6.9.2) with SeaBIOS. I think that some time ago I had to move from i440fx to Q35 to get a GPU passthrough working.

I've not tried much recently as I don't want to crash the machine again, but I think the first try I hadn't even done the VFIO binding.

Tempted to have another try to see if I can get something basic working without the drivers that doesn't crash the system following a VM shutdown / startup. Will post back when I do that.

Link to comment
2 minutes ago, jsebright said:

Can't remember exactly, but VM is Q35-5.1 (latest Q35 for 6.9.2) with SeaBIOS. I think that some time ago I had to move from i440fx to Q35 to get a GPU passthrough working.

I've not tried much recently as I don't want to crash the machine again, but I think the first try I hadn't even done the VFIO binding.

Tempted to have another try to see if I can get something basic working without the drivers that doesn't crash the system following a VM shutdown / startup. Will post back when I do that.

 

Thanks a lot! Now at least I know there's a possibility to work, and I'll play around with some settings as well. 

Looking forward to your update.

Link to comment
16 minutes ago, q3bing said:

 

Thanks a lot! Now at least I know there's a possibility to work, and I'll play around with some settings as well. 

Looking forward to your update.

OK, so I couldn't resist having another go. This is what I've done and the issues

Made sure the AMD Cezanne graphics and driver were uninstalled from the VM

Added the GPU and audio to the VM

Fiddled with the Advanced settings xml so that the passed through audio bus was the same as the graphics, and the function was 0x1 (sort of matching the devices pre-passthrough). This might not be necessary if we're not installing drivers.

Booted up the VM.

Black screens and nothing.

But, I could remote desktop into the VM, so I did that and rebooted it.

It came up with a screen.

Made sure the keyboard & mouse was attached, and logged in.

Rebooted - came up straight away with the screen. Changed the resolution to match the monitor, rebooted and it's still good.

Shut it down, then rebooted and all fine.

I even tried pausing the VM from unraid then starting it and that worked.

 

So - quite successfull.

But - I can only see one monitor and I have two plugged in (I think both connections are plugged in at the server anyway!).

Display adapter in Device Manager shows "Microsoft Basic Display Adapter". Obviously not making the most of the chip, but it's perfectly usable.

 

I'm not going to go further and try to install any driver updates as it's got a high probability of jamming something and the server might require a hard reboot.

It's possible to get this far.

Good luck!

 

Link to comment
57 minutes ago, jsebright said:

OK, so I couldn't resist having another go. This is what I've done and the issues

Made sure the AMD Cezanne graphics and driver were uninstalled from the VM

Added the GPU and audio to the VM

Fiddled with the Advanced settings xml so that the passed through audio bus was the same as the graphics, and the function was 0x1 (sort of matching the devices pre-passthrough). This might not be necessary if we're not installing drivers.

Booted up the VM.

Black screens and nothing.

But, I could remote desktop into the VM, so I did that and rebooted it.

It came up with a screen.

Made sure the keyboard & mouse was attached, and logged in.

Rebooted - came up straight away with the screen. Changed the resolution to match the monitor, rebooted and it's still good.

Shut it down, then rebooted and all fine.

I even tried pausing the VM from unraid then starting it and that worked.

 

So - quite successfull.

But - I can only see one monitor and I have two plugged in (I think both connections are plugged in at the server anyway!).

Display adapter in Device Manager shows "Microsoft Basic Display Adapter". Obviously not making the most of the chip, but it's perfectly usable.

 

I'm not going to go further and try to install any driver updates as it's got a high probability of jamming something and the server might require a hard reboot.

It's possible to get this far.

Good luck!

 

 

Thanks! Are you comfortable with sharing your xml, specifically the graphics snippet? I found that after setting the graphics card to "AMD Cezanne" and switching to xml mode, there's not even a graphics section as there would be if I go with VNC. Really new to this stuff so sorry about the detailed request!!

Link to comment

 

    <hostdev mode='subsystem' type='pci' managed='yes' xvga='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0c' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <address bus='1' device='6'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>

 

This is the section with the graphics - all the "hostdev" bits.  The bit I edited was the line    <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>

I don't have the graphics & audio bound to VFIO. 

I don't think that the whole script will help -  I've not got a full understanding of what it does, and it's probably a bit of a mess due to previous changes to this machine.

The important points are Q35 Seabios, no other devices (add them later),  get remote desktop working first (whilst graphics are VNC) so you can log in remotely if the display doesn't work (after you've changed the graphics) then you can check device manager and reboot. 

 

 

Link to comment

So I tried following your exact setup, and with Seabios, VNC works, and as soon as I switch to iGPU in the template, I cannot remote into the machine, logs seem to point to some kind of error from the gpu. (not going to bother you with the details here) 

 

One thing is that my xml doesn't have the xvga='yes' bit. And it got automatically removed once I tried to manually add it there. Appreciate it if you have any idea how this is the case.

 

And also I tried instead of Seabios with OVMF, which seem to work better for me. I was able to remote into the machine and see the "Microsoft Basic Adapter". But no luck getting HDMI output to work as well.

Link to comment

Sorry, no idea where the xvga='yes' came from. I try to stick to the Forms mode when editing VMs.

As I said, for me I got to a state where there was no display but the VM was running and able to serve a remote desktop. I also saw the Microsoft Basic Adapter, but just did a reboot and the screen came up. I'm not 100% sure if the output is from HDMI or DP>HDMI adapter (I'm then running two long HDMI leads to another room). I don't get multi monitor from the basic adapter so it might be that only one of the outputs is working. If you are able to test a display port connection it might show something.

I'm not seeing any errors in the logs.

Sorry I can't offer more help - I don't understand enough to explain what's going on.

Link to comment
  • 3 weeks later...
  • 4 weeks later...
Have just upgraded to this CPU with the aim of removing a graphics card and reducing power consumption, but still hoping to pass through to a Windows VM.
Initial passthrough worked OK (I think). (I have not tried to mess with the GPU bios.) Then trying to install the drivers I had some problems. Driver install seemed to hang, then once I'd got round that (possibly), then I found that turning off the VM caused horrible problems with CPU usage going crazy and the system becoming unresponsive. A reboot was the only solution.
Since then I've avoided this hoping that there will be some fixes in a new driver, or in 6.10 (not ready to try a beta build yet as I only have the one server). I have meddled with an Ubuntu VM, but couldn't get that to pass through. Am tempted to try doing a clean windows install to see what happens, but am wary of locking everything up again, also might try and see how I can get on without drivers as I'm not worried about gaming - just occasional desktop use.
I hadn't considered dumping the bios might help as I haven't needed to go that route before with a stand alone (very old) AMD card that I passed through. 
Don't really want to put the old card back in, but that thought has crossed my mind.
 
Interested to follow this and see what progress is made.
How did you got too install the driver , have problems with that so far self

Sendt fra min SM-G998B med Tapatalk

Link to comment
2 hours ago, tola5 said:

How did you got too install the driver , have problems with that so far self

I haven't - that's where it all goes wrong.:( You're stuck with the default drivers.

I'm on 6.9.2 and not ready to try 6.10 yet - still waiting for the next RC, "soon?". I'm hoping that updates to KVM/QEMU will help, as may future bios updates, and updated drivers from AMD. For now I've reverted back to adding a physical graphics card for VM work. A bit disappointing.

Link to comment
I haven't - that's where it all goes wrong.sad.png You're stuck with the default drivers.
I'm on 6.9.2 and not ready to try 6.10 yet - still waiting for the next RC, "soon?". I'm hoping that updates to KVM/QEMU will help, as may future bios updates, and updated drivers from AMD. For now I've reverted back to adding a physical graphics card for VM work. A bit disappointing.
Oh damm but you still got picture ok ? you don't use the bios file ? As I understand ?

Sendt fra min SM-G998B med Tapatalk

Link to comment

I play with it last night  got it too boot  with a other  gfx in 1 slot and so it in Ubuntu  but could not take control off it. Have  google  and have  not  could fond a single one there got 2 ,3,4,5000 serie apu too work on unraid so sound like it just that 

Link to comment

Yeah I've tried with multiple configs but all ended up with code 43 (seen from remote connection, no video output). btw 6.10 RC1 doesn't help.

 

So I had to install Windows bare bone for regular usage, and also, unable to extract VBIOS with GPU-Z, so that route hasn't cleared either. 

 

I guess it would be nice if Unraid could address this somehow in the near future.

Link to comment
Yeah I've tried with multiple configs but all ended up with code 43 (seen from remote connection, no video output). btw 6.10 RC1 doesn't help.
 
So I had to install Windows bare bone for regular usage, and also, unable to extract VBIOS with GPU-Z, so that route hasn't cleared either. 
 
I guess it would be nice if Unraid could address this somehow in the near future.
What you mean with you can get the vbios ? I got it I just boot up outside off unraid normal Windows and use gpuz

Sendt fra min SM-G998B med Tapatalk

Link to comment
Just now, tola5 said:

What you mean with you can get the vbios ? I got it I just boot up outside off unraid normal Windows and use gpuz

Sendt fra min SM-G998B med Tapatalk
 

 

I'm confused. Were you able to get vibos or not? I just got error message while trying GPU-Z.


If you got the vbios, have you tried adding it to the vm? And can you share it pls? Thanks!

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.