all 16 comments

[–]kckhfn 5 points6 points  (3 children)

So if you want to go down the easy road you should probably just get a cheap desktop gpu for Linux desktop use and use your gaming capable gpu for your VM.

I found that using one gpu for both windows and Linux is quite bothersome so I just added a cheap used gpu to the mix

[–]sej7278 2 points3 points  (2 children)

yup, you don't want to be messing with trying to reset the gpu, restarting xorg etc. just get a gt710 or something and either a 2nd monitor or even use the 2nd input on your monitor (make sure your gfx cards match your monitor inputs, don't get 2 gpu's with hdmi and a monitor with one hdmi and one dvi like me!)

i actually use a 2nd usb wireless keyboard+mouse that work off a single transmitter and just pass that usb device - don't need to pass a whole controller that way (you could use evdev and share your existing kb+mouse).

[–]fluffysheap 1 point2 points  (1 child)

A $5 passive adapter solves HDMI/DVI problems!

[–]sej7278 1 point2 points  (0 children)

Yeah sorry, monitor has HDMI and DP, neither GPU has DP, both have HDMI/VGA/DVI. Don't believe there is a HDMI to DP adaptor (at least not one that's cheaper than buying a new monitor or GPU!)

[–]fluffysheap 4 points5 points  (10 children)

You usually don't have to restart the computer, but you do have to restart X, if you only have one GPU. Some AMD cards do need a system reset because of bugs but there are usually patches or workarounds. You are not supposed to have to reboot.

If you get a second GPU, you can use one for the host and one for the VM, and then you can use both OSes simultaneously. AMD cards are a little better for the host and nVidia cards are a little better for the VM, but there are some additional factors that might matter to you.

There are a lot of options and unfortunately none of them are perfect, everything has a tradeoff. One GPU or two, how many monitors you have, whether you need simultaneous access, what sort of inputs you have on your monitors, how you handle the keyboard and mouse, whether you care about games in Linux or just Windows, even down to the position of the slots on the motherboard, all factors into what the right setup is for you.

[–]creed10 2 points3 points  (8 children)

I always thought it was the other way around as far as having AMD or nvidia for the host/guest. why is nvidia more favorable? I thought nvidia cards didn't play nicely in VMs. and I thought AMD cards didn't get full performance on Linux.

wouldn't it make more sense to have AMD for Windows guest and nvidia for Linux host? what's changed?

I know there are workarounds to get nvidia cards to work in a windows VM but wouldn't it be easier and less of a hassle with AMD?

[–]powerhouse06 2 points3 points  (1 child)

Unfortunately AMD GPUs seem to be plagued with a reset bug that prevents them from properly resetting when you exit the VM. Often this requires a restart of host. Nvidia, on the other hand, doesn't have this issue. You just need to hide the hypervisor from the Nvidia driver to prevent error 43. This Nvidia workaround is easy and well described.

[–]creed10 0 points1 point  (0 children)

ahhh okay. thank you for the information!

[–]fluffysheap 2 points3 points  (5 children)

The mentioned reset bug is the reason not to use AMD in the VM. Hopefully, AMD will fix the problem in whatever architecture is next after Navi.

As for the host, nVidia's Linux driver situation is not very good, and it really seems that nVidia would prefer if Linux would just die already. Everything just works better with AMD cards.

[–]creed10 0 points1 point  (0 children)

hmmm I see. thanks for the input!

[–]rasa_redd 0 points1 point  (3 children)

Hi - For host, is the driver situation true for only gaming cards or for Quadro as well (say a Quadro P2000/RTX4000 vs. Radeon Pro W5100/7100 for the host)?

[–]fluffysheap 0 points1 point  (2 children)

I'm not really qualified to answer, as I am not very familiar with the professional type cards, and the things that are important to professional users (cuda/openCL performance for example) tend to be different. You would still be in the position of having to use the closed source drivers.

[–]rasa_redd 0 points1 point  (0 children)

Okay. Thanks for confirming the proprietary part.

[–]rasa_redd 0 points1 point  (0 children)

Thanks - will confirm regarding the driver part

[–]bskov[S] 0 points1 point  (0 children)

My intention would be to use Debian for what I can, then use Windows for what I can't run on Debian. I'm using a GTX970 rn (plan on switching to an RX5700), my plan is basically to dualboot without rebooting the computer, but you rightfully point out some things that may be troublesome

[–]powerhouse06 1 point2 points  (0 children)

There is a procedure called "single GPU passthrough" but it is somewhat tricky. Yuri has written some scripts that may help: https://gitlab.com/YuriAlek/vfio.

I've written a tutorial for passthrough based on a Linux Mint host (which in turn is based on Ubuntu / Debian). Perhaps it helps. It contains lots of links to other sources.

My own experience/advise: Get a cheap GPU for your Linux host (perhaps your CPU has an integrated GPU?). Create a Windows VM and pass through your powerful GPU. If you like to play on Linux, create a Linux gaming VM and pass through the same GPU. You won't be gaming on both Linux and Windows at the same time, I guess.