Return to Level1Techs.com

GPU passthrought clarification

I would like to build Windows VM with graphics card passthrought for some games.
At this moment i have only one video card R7 250.
R7 250 will be used as video output for Host.
I will buy one more video card.
I read many manuals and everywhere stays that passthrought GPU would be isolated from Host OS.
My motherboard supports SR-IOV.
Can it help me to share new video card between Host Linux and Guest Windows without reconfiguring and reboot?
Guest Windows would run only for some games and it will mostly be off cause it will be used only for some Win-only games.

What video card is better suited for such application?
AMD Radeon rx 580 or rx 5500/5600/5700 family?
Or Nvidia with its error 43?

Also i’m not really understand how Looking glass works.
Does it provides only Screen view of VM?
And for audio, keyboard and mouse i still needs extra usb controller and sound card?
Is it ok when i simply attach USB hub to existing USB port?

  • Host OS: Ubuntu 18.04 or 20.04
  • PC spec: Ryzen 7 1700, ASUS TUF B450M-Pro, 64GB RAM, R7 250.

Someone can say simply install windows on other partition, but i would not like to do it.

sharing a single card between host and guest and just rebooting every time is possible, but it’s far more difficult to set-up than isolating a secondary card.

the best video cards for being a VM guest seem to be AMD’s Vega10 series of cards. as they seem to be the least-unstable (that i know of) when interacting with vfio.

Looking-glass reads the data from Windows’ VRAM that contains the final image data that is sent to the monitor. Looking-glass then copies this data to a place (in RAM) where the host can access it, and then displays the image in a window on the host’s desktop.

passing through a seperate USB controller and sound card is how i do my VMs, but there are ways to pass-through specific USB devices to the VM.

you can run a windows VM off just a different partition, you can even just have it as a .img file. in my experience, the VM’s performance is abysmal when doing so. i recommend passing through an entire storage controller or an NVMe device to the VM.

sharing a single card between host and guest and just rebooting every time is possible, but it’s far more difficult to set-up than isolating a secondary card.

Is it possible to remove isolation on fly for secondary card without reboot?

the best video cards for being a VM guest seem to be AMD’s Vega10 series of cards. as they seem to be the least-unstable (that i know of) when interacting with vfio.

So it is vega 56/64 i guess?

passing through a seperate USB controller and sound card is how i do my VMs, but there are ways to pass-through specific USB devices to the VM.

I have not thought about audio.
Also does exists Looking glass for audio?
Or is possible to use default KVM video output via VMM with where game is rendered by passed through video card?
Or it will crate to much latency?

it is possible to bind a card to vfio and back on the fly, but i am not aware of any modern gaming GPU that wont crash the system when you try.

looking-glass doesnt handle audio.
the default virt-manager SPICE server does not support use of a passed-through graphics card.

You mean it can crush host system?
So i turn VM with Windows off, run commands that are removing video card isolation, and host system crashes?

Even i had backup graphics card?

on most graphics cards, yes, removing isolation with out rebooting the host tends to crash it. its not guaranteed to happen, but it doesn’t succeeded often enough to be viable.

its called the “vfio reset bug” and there are currently experimental fixes for AMD’s Vega and Navi GPUs. Vega seeming to have the most success.

Thanks for you replies.
They were very helpful.

I will try it with 5500XT.
I hope it will work with Ubuntu 20.04.

Why 5500XT?
This level1 video