Upgrade for GPU Passthrough: Is it feasible?

Here's the thing, using the two systems (host & guest) concurrently both needing network access for tasks there will be latency, in file transfers or similar tasks it's not really a big deal, but in playing games like WOW or GW2 that are internet based it will be a killer making the game unplayable, any software that polls the net for whatever reason will cause a problem with a shared NIC and create latency as the control is passed back and forth between the host and guest.

Something you should know is that Nvidia doesn't want you to use their GPUs in a pass through environment, it is very well known that they purposely gimp'd their driver stack to look for virtual environments and error out, there are of course work-arounds that do solve the issue but does come with another performance hit to the guest system.

I'm using the 15.xx drivers and they work fine in the guest, the drivers on the Linux side of things will only get better and better over time.

The performance hit really isn't noticeable to me, Windows is such a quirky OS on the best of hardware and as we all know the performance decreases with every program we install on top of it, the nice thing about running Windows in a KVM is there is really no need for antivirus or firewall software, removing that overhead helps a lot and offsets any performance hit you get from virtualization, you of course can choose to run it but it really isn't necessary because the OS is contained in the KVM container. You also have the ability to take snap-shots of your guest and create new KVMs from that picture in time.

I struggled with the audio latency for several months trying all the fixes that people posted, some helped others did not, in the end a cheap $25 USB sound card solved the problem and since I only need the sound for playing games and wear headphones while playing games it was a perfect fit.

Good luck.

You are absolutely right on the need for planning. I did my PCI passthrough sort of on a whim on my existing system, and while it definitely works, and I've been happily using it for everything I've needed from it for about 6 months now, I'm planning on doing a new build soon, and much more planning will be done this time. Like you said, more CPU cores, even more RAM, etc.

Also, +1 for openSUSE as a host. Can't say for any other distro as I haven't tried this on them, but openSUSE has treated me very well as a host.

1 Like

I hate to say it but the lack of planning is why so many try the pass through only to fail or have terrible performance, there are enough pitfalls caused by manufactures like Nvidia and Intel along with Asus and other hardware manufactures, and it's hard for people to grasp that Windows isn't a robust environment like Linux is and requires that lots of hardware be available for it to be stable, once you cross that threshold and understand that you are building for two complete systems in one case that shares some resources you get a much better understanding of what is needed.

I use Fedora...it has been very good to me and if I was to build another I'd probably use it again but the flexibility of YaST in OpenSuse makes the pass through much easier to configure and for a first time Linux user would make things easier all the way around because of it's Windows-like operation.


I enjoy my setup so much that I would never consider having Windows on bare metal ever again, there is absolutely nothing software-wise that I have tried that would not run the same as a bare metal install....Windows doesn't know it's in a container at least at this point, MS might change that at some future update but I doubt they would further alienate more users with the number of people that wouldn't even take Win X for free, they are much more likely to embrace virtualization of Windows because it is the future....IMHO

Yep, it took me a while to get everything working and all sorted out when I did it, but once everything was working, I never looked back. The performance isn't what it could be, but that's why I'm building a new system in a few months that is tailor-designed for this purpose.

Yeah, it does. Stuff like the boot line can be edited from a GUI for new users.

1 Like

I feel the shame when I have to reboot into windows :)

1 Like

Have you found anything that would not run? like I said I haven't, I'd agree my performance in some games like Witcher 2 isn't as good as it could be but that is AMD driver based and the fact I'm using older R9 270 GPUs, not the fault of the KVM, I'm really hoping Zen is going to be everything they are saying without the high Intel prices, if it turns out that way I will be building two new machines instead of one....lol

That's only because you've learned the virtues of Linux......lol still no shame, we all have Windows programs we are forced to use that we would not if given a choice of comparable software, there just isn't 100% coverage in Linux.

Does it only work if the GPUs match? Or could a person put say a R9 390 on passthrough, and something less powerful on the host?

1 Like

No it will work with two GPUs that are even of different manufactures, there are people who have used a integrated GPU for the host and a discrete GPU for the guest, like I mentioned above Linux is much more forgiving on the hardware side of things, but it boils down to your intended usage of both the host and guest.

In my case I want to play games on both so need a decent GPU on both sides of the fence, I initially used only two R9 270's in my build but later came up with a 270x card also, I at first use one 270 for the guest and one for the host, when the 270x came along I tried it in the guest side then flipped the cards giving the guest two 270's in crossfire just to see if it was a performance hit or boost.

Today it runs that way the 270x is on the host side and the two 270's are crossfired in the guest, it works well but of course they are outdated cards by today's standards but I don't really care as I'm not a bleeding edge GPU kind of person that needs a 100fps at 4k to be happy. (my biggest gripe is with the AMD driver stack but it is getting better)


There are people who mix AMD in the guest and Nvidia in the host and vise-versa, it's only a issue if you want to use a Nvidia GPU for the guest but it's is doable with a little work, my first attempt at building a KVM was using two old GTX550Ti cards and I got all the way to the point that I needed to load the Nvidia Windows drivers and it error-ed out in Windows and after beating my head against a wall for a few days I found that Nvidia had done that on purpose, it has totally turned me off on their cards.

Thanks for all the info! This has clarified a lot of details for me.

My last question on this is about networking.

Is there a solution to this or is multiplayer gaming not an option in the passthrough setup?

1 Like

As a gamer in australia id say its nothing unless you're super good and competitive,

Im stuck on transatlantic ocean cables as for pings its triple digits.

1 Like

As long as you have 2 NICs you can play anything like a MMO, I in fact play GW2 and it works great (no difference in it at all) but it is also how I found out about the latency in sharing a NIC between the two, I never had a noticeable issue in file transfers or really surfing in the guest, but the very first time I fired up GW2 and started a session I noticed a big lag in mouse movements along with the sound latency, it was really unplayable, sure you could roam but go to a world event and you were laying on the ground dead before you saw or heard what happen.

So after a little research I found the problem, I kept the on-board NIC for the host (used my last PCI slot on the MB) and added a Intel PCI card for the guest, after blacklisting the card and passing it to the guest all the latency with movement in-game went away and it was playable, of course the sound still had latency but it was months later before I totally solved that with the USB sound card.


This is why I try to stress to people that you can not do this on a whim and that you are essentially building two computers in one box, it is very much that way and people wanting to do this and have any success need to view it in that perspective, you can share a lot of things virtually CPU cores, memory, USB devices, SATA devices but the more of those devices you can split, blacklist, and pass to the guest as physical hardware the better the performance will be and it will be seemless, it is why mine runs all the time, if the host (linux) is running my guest (Win 7) is running, it is the best of both worlds IMHO.

@Blanger, thanks so much for the info! This is why level1techs is awesome.

2 Likes

No problem...happy to share.

I would not build a system for gpu pass through if you are going to be gaming and light computing primarily or if you are not a virtual machine and Linux wizard.

1 Like

One day recently I logged into my computer and saw that Windows 10 had update overnight. I also saw that my Chrome icon was removed from my taskbar and instead there was an Edge icon. Then I played a song and discovered that VLC was no longer my default music player and in fact I had a hard time switching back to it. On that day, Windows was no longer an option as main OS for me. Whatever struggle passthrough is, it will be worth it.

1 Like

I thought you might like to see my monitor setup, the upper left monitor is a instance of firefox showing camera feeds from our CCTV server, bottom left is my main host screen where I'm typing this, upper right is another host screen with a music app playing music off our media server, bottom right is the KVM running Win 7..

If you can zoom in on the KVM screen you can read the list of games on Steam that I have played in the pass through environment.

One other thing I'd add is that prior to switching to Linux about 2 years ago I was a solid Windows user for all my life, a few months later after the switch I did the pass through and have never looked back...there are lots of guides on the net telling you how to configure your system if your using one of the recommended distros, it's not that complex that a novice user can not follow the guide and be successful, I'd also mention that there are people here who will be glad to hold your hand and help you over the hoops you have to jump.

2 Likes

While I don't necessarily agree I understand your point of view, just like dual booting it comes down to the user and what they want and need out of their system.

Oh yeah that's cool. Thanks for showing off your desk!

1 Like

I don't think I've found anything that straight won't run. There's been a couple games I've had trouble with that I was suspicious might have something to do with the fact that it's running in a VM, but never been able to prove it.

I got The Walking Dead in a Humble Bundle a while back and I've never been able to play it. It crashes on start and none of the solutions online that fix it for others work for me. And support couldn't seem to solve it either.

I bought Wolfenstein: The New Order last summer, and could barely hit like 15 FPS in the beginning minutes on the lowest possible settings. Support couldn't seem to solve it and I finally refunded it before I hit my 2 hours...

Like I said, no proof it's related to the VM but I've wondered. Otherwise, its just slight overhead I've noticed in games that use the CPU since mine isn't ideal for this purpose from my understanding. I'll be getting more cores next time.

Yeah, I think the AMD drivers might be part of my problem. But on the other hand, I understand Nvidia intentionally screws with people passing their cards through to a VM. No personal experience since I've never tried that, but I've read it in a couple places. So I'm not really sure if I'll go Green or Red on my next build.

1 Like