Jump to content

1 Tower 2 Gamers Poor GPU performance

Go to solution Solved by jde3,

@jajm1991 I did that on Ryzen also no problem with the IOMMU groups. Again you may need real Linux because you may have to rebuild the kernel with a R9 270x to get the most out of it. (it works fine with Radeon driver tho, maybe -15 or so fps) If that is the host card, if it's the guest card driver dosen't matter.

 

Level1 tech forums helped me to a lot of tweeking for it, I had to get pretty far up into KVM's underwear to get it running right. (at least as right as it does..) I could never solve the problem with the host stomping all over the guest CPU cores. (when the host came under heavy load the guests would suffer.) cgroups is the solution there but.. meh at that point I was like.. yeaaah.. too much work.

 

If your game works on Linux, an alternative solution might be just to run two X servers and not use virtualisation at all. X was designed originally with that in mind but over the years it's been hacked into a single display engine.

Hello everyone and thank you beforehand for any help provided. 

I got Unraid 6 and here my 2 Gaming VM setup:

MOBO: Gigabyte GA297x Gaming 3 
CPU: i5-4690k
RAM: Corsair DDR3 24 GB total
PSU:  EVGA G3 Super Nova 850W 80+ Gold

GPU: 

  • VM1 - EVGA 1070
  • VM2 - R9 270x Toxic


Disks:

  • VM1 - Samsung NVME 960 SSD + 2TB 7200RPM
  • VM2 - Samsung 850 SSD + 2TB 7200 RPM


Before we get down to business "Yes! I plan to upgrade to get a better performance for the 2VM setup" With that said:

So far, so good. Everything is working properly with one exception that is driving me crazy. My second VM which have the R9 270x Toxic is showing that the graphics card hit 100% for anything, literally watching a youtube video ramp it up to 100% load. 

My only guess is that this card is installed on an x8 PCI socket however after I check on performance between this x8 PCI and x16 PCI this is only a 1% upgrade/downgrade of performance. To be honest I'm really lost on this matter.  I need to figure this out in order to be able to take a good hardware choice for the upgrade. 

Link to comment
Share on other sites

Link to post
Share on other sites

you need to get a  higher core count cpu with more pcie lanes, that quad core won't cut it, you need at least 4 cores for each VM (more and more games are requiring quad core systems and some run horrible on dual core) plus 1 for unraid, a 12 core ryzen cpu would be better as it's cheaper and has the amount of cores and pcie lanes you will need, I think there are 10 core ones, if so get that and have 4 cores per VM and 2 cores for unraid, or for the 12 core one have 4 cores for the VM and 4 cores for unraid (or 5 for the VMs and 2 for unraid although I don't know how windows and games will react to that so be careful)

*Insert Witty Signature here*

System Config: https://au.pcpartpicker.com/list/Tncs9N

 

Link to comment
Share on other sites

Link to post
Share on other sites


My goal is to upgrade to Ryzen 7 2700x in order to get this VM setup running smoothly. I guess I will need to research on PCI lanes in order to have a better understanding on GPU performance. However I was hopping to get at least League of Legends running normally while I gather the money needed to change all over from DDR3 to DDR4 since RAMs pricing are out of the budget at the moment. 

Link to comment
Share on other sites

Link to post
Share on other sites

if you are just playing games that don't benefit from more than 2 cores then that ryzen setup will be fine, if you want to start playing more modern games you will need a minimum of 9 cores ( 4 for each VM, one for unraid) a ten core processor would be good in that situation (just give unraid that extra core)

*Insert Witty Signature here*

System Config: https://au.pcpartpicker.com/list/Tncs9N

 

Link to comment
Share on other sites

Link to post
Share on other sites

The Ryzen 7 2700x Have 8 Cores 16 Threads -  My Idea is to place 4 cores dedicated to the main VM, 3 to the secondary one (Wich will mostly be used for League of Legends and MMORPG, I think I will end up adding only 2 Cores) and 1 or 2 depending on the second VM for Unraid. I think I will be good besides, those 9-10 cores CPUS are way out of the budget. 

In a side note after I had research about PCI lanes I came to a temporary solution for my problem. I isolated Unraid to half of my cores and isolated each VM 1 core to be used completely and only by them. This way each VM will have a core wich will not be shared with Unraid or the other VM to handle the comunication with the GPU. This fixes the CPU bottleneck on the GPU's and allow me to play League of Legends or MMORPGS on both VM while I get the upgrade parts. 

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, jajm1991 said:

The Ryzen 7 2700x Have 8 Cores 16 Threads -  My Idea is to place 4 cores dedicated to the main VM, 3 to the secondary one (Wich will mostly be used for League of Legends and MMORPG, I think I will end up adding only 2 Cores) and 1 or 2 depending on the second VM for Unraid. I think I will be good besides, those 9-10 cores CPUS are way out of the budget. 

In a side note after I had research about PCI lanes I came to a temporary solution for my problem. I isolated Unraid to half of my cores and isolated each VM 1 core to be used completely and only by them. This way each VM will have a core wich will not be shared with Unraid or the other VM to handle the comunication with the GPU. This fixes the CPU bottleneck on the GPU's and allow me to play League of Legends or MMORPGS on both VM while I get the upgrade parts. 

Ryzen is still a pain with the setup due to the bad iommu groups.

 

And id just give each m the max cores, so all vms have access to 4 cores here, the the linux sheduler gives time to each.

 

Did you run a benchmark, gpu usage can be wrong.

Link to comment
Share on other sites

Link to post
Share on other sites

Sounds like an architecture issue with the 270X GPU. It's a GCN 1.0 GPU and likely just doesn't play well with PCIe passthrough.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, leadeater said:

Sounds like an architecture issue with the 270X GPU. It's a GCN 1.0 GPU and likely just doesn't play well with PCIe passthrough.

I've used that exact card on a gentoo rig, it does work KVM pcie pass through.

 

It supports both Radeon and AMDGPU driver but to use the AMDGPU you need to build your own kernel and enable the option for it as it's marked experimental in the kernel.. works fine tho. (at least when I did it) you also require a UEFI bios for KVM.

"Only proprietary software vendors want proprietary software." - Dexter's Law

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, jde3 said:

I've used that exact card on a gentoo rig, it does work KVM pcie pass through.

 

It supports both Radeon and AMDGPU driver but to use the AMDGPU you need to build your own kernel and enable the option for it as it's marked experimental in the kernel.. works fine tho. (at least when I did it) you also require a UEFI bios for KVM.

Might work with a single card but possibly not well with two. I've seen similar things with more basic stuff like RAID cards not working well together in the same system on non server motherboards, looking at you Asus.

 

This is why I generally don't recommend doing this type of setup, far more reliable to buy two systems of lower spec. I mean unless you're going HEDT or used Xeon two low end CPUs is better than one having to resource share.

Link to comment
Share on other sites

Link to post
Share on other sites

Oh yeah.. I don't like PCIe pass through.. its kind of a pointless thing. It isn't gaming on Linux anymore than Wine is because your still supporting game software being written for Windows. I was just messing around with it about maybe a year ago.

 

About the only use I can think of for it is a headless VM that does steam streaming but I haven't tried to implement that.

"Only proprietary software vendors want proprietary software." - Dexter's Law

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks, everyone for all the information! 

After a lot of research, I have decided to go the Ryzen way for three reasons:

        1- Is $700 - 900 bucks cheaper than Intel competitors.
        2- Agesa updates looks promising.
        3- In the worst scenario I just take the old parts to build a second PC with Ryzen as my main build. I love the headache of testing stability anyways. (I'm going with Unraid since here on the Dominican Republic I got 12 hours a day of electric light and the other 12 are generally the same ones I got time to play soo the PC is powered up with an inverter which will be rough for it to keep 2 PC gaming at once)


Regarding the GPU poor performance, I'm not that tech-savvy to understand GCN information (At least not the one I found) but since it is ''kinda'' working properly being isolated to a specific core/cores with 2 VM running I hope is not a problem so I don't have to as well buy a new one later. 

Link to comment
Share on other sites

Link to post
Share on other sites

@jajm1991 I did that on Ryzen also no problem with the IOMMU groups. Again you may need real Linux because you may have to rebuild the kernel with a R9 270x to get the most out of it. (it works fine with Radeon driver tho, maybe -15 or so fps) If that is the host card, if it's the guest card driver dosen't matter.

 

Level1 tech forums helped me to a lot of tweeking for it, I had to get pretty far up into KVM's underwear to get it running right. (at least as right as it does..) I could never solve the problem with the host stomping all over the guest CPU cores. (when the host came under heavy load the guests would suffer.) cgroups is the solution there but.. meh at that point I was like.. yeaaah.. too much work.

 

If your game works on Linux, an alternative solution might be just to run two X servers and not use virtualisation at all. X was designed originally with that in mind but over the years it's been hacked into a single display engine.

"Only proprietary software vendors want proprietary software." - Dexter's Law

Link to comment
Share on other sites

Link to post
Share on other sites

15 minutes ago, jde3 said:

@jajm1991 I did that on Ryzen also no problem with the IOMMU groups. Again you may need real Linux because you may have to rebuild the kernel with a R9 270x to get the most out of it. (it works fine with Radeon driver tho, maybe -15 or so fps) If that is the host card, if it's the guest card driver dosen't matter.

 

Level1 tech forums helped me to a lot of tweeking for it, I had to get pretty far up into KVM's underwear to get it running right. (at least as right as it does..) I could never solve the problem with the host stomping all over the guest CPU cores. (when the host came under heavy load the guests would suffer.) cgroups is the solution there but.. meh at that point I was like.. yeaaah.. too much work.

 

If your game works on Linux, an alternative solution might be just to run two X servers and not use virtualisation at all. X was designed originally with that in mind but over the years it's been hacked into a single display engine.

I'm a bit lost, with the host are you referring to Unraid or the primary VM? If I'm getting this correctly you must be referring to Unraid and for it, I'm using the integrated graphics of the board. 

Using real Linux seems like a project I would do for fun and knowledge more than for this project. (I would rather just buy a new low-end used GPU than learn how to create the whole thing from scratch. Although this means that I have no limitations with the array as is with Unraid and that I might get it for FREE depending on the Linux distro used. 

X server is not really an option for me since I don't want to be locked to games that run on Linux only. I already got enough with games that are console only.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, jajm1991 said:

I'm a bit lost, with the host are you referring to Unraid or the primary VM? If I'm getting this correctly you must be referring to Unraid and for it, I'm using the integrated graphics of the board. 

Using real Linux seems like a project I would do for fun and knowledge more than for this project. (I would rather just buy a new low-end used GPU than learn how to create the whole thing from scratch. Although this means that I have no limitations with the array as is with Unraid and that I might get it for FREE depending on the Linux distro used. 

X server is not really an option for me since I don't want to be locked to games that run on Linux only. I already got enough with games that are console only.

The host is the system running the hypervisor, in your case yes Unraid.

 

I think you have some pretty strong misconceptions about Linux. This is the largest publisher for Linux games but there are others. (EA does a few, 2K does some. Paradox does some, Valve of course and Unity/Unreal support it) http://www.feralinteractive.com/en/ it's not as good as Windows sure.. but it's not a barren wasteland of noting either.. there are modern triple A games for Linux.

 

I haven't tried but if someone had the hardware to be able to do it, I don't see a reason why you couldn't spawn a dozen X servers.. The performance would be better than Unraid for sure.

"Only proprietary software vendors want proprietary software." - Dexter's Law

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, jde3 said:

The host is the system running the hypervisor, in your case yes Unraid.

 

I think you have some pretty strong misconceptions about Linux. This is the largest publisher for Linux games but there are others. (EA does a few, 2K does some. Paradox does some, Valve of course and Unity/Unreal support it) http://www.feralinteractive.com/en/ it's not as good as Windows sure.. but it's not a barren wasteland of noting either.. there are modern triple A games for Linux.

 

I haven't tried but if someone had the hardware to be able to do it, I don't see a reason why you couldn't spawn a dozen X servers.. The performance would be better than Unraid for sure.

4

The Witcher 3, GTA V, Final Fantasy XV has been the 3 latest games I have truly enjoy on PC gaming and were not released for Linux based, well, not without Wine. - Even League of Legends is not natively supported on Linux @_@

Linux > Xserver> Wine

I know is not a wasteland per se, but still is a noup noup for me. 

I don't want to sound like I'm trying to force Unraid for my setup (I'm pretty open to suggestions) I was researching on a full Linux distro setup instead of Unraid for KVM and came across using Fedora server 27 for that, the process itself looks pretty simple. Although there is no much information about pass-through, etc... once the VM's are up. 

However, at the end of the day, one thing won't change and is that the i5-4690k needs to be upgraded ASAP. This chip can't stand 2 Gaming VM properly.

Link to comment
Share on other sites

Link to post
Share on other sites

 

3 minutes ago, jajm1991 said:

The Witcher 3, GTA V, Final Fantasy XV has been the 3 latest games I have truly enjoy on PC gaming and were not released for Linux based, well, not without Wine. - Even League of Legends is not natively supported on Linux @_@

Linux > Xserver> Wine

I know is not a wasteland per se, but still is a noup noup for me. 

I don't want to sound like I'm trying to force Unraid for my setup (I'm pretty open to suggestions) I was researching on a full Linux distro setup instead of Unraid for KVM and came across using Fedora server 27 for that, the process itself looks pretty simple. Although there is no much information about pass-through, etc... once the VM's are up. 

However, at the end of the day, one thing won't change and is that the i5-4690k needs to be upgraded ASAP. This chip can't stand 2 Gaming VM properly.

Yeah, it is what it is.

 

Any way you slice this it isn't perfect. GL

"Only proprietary software vendors want proprietary software." - Dexter's Law

Link to comment
Share on other sites

Link to post
Share on other sites

Oh ya, the reason League was never ported was because it runs so well in Wine. (least it did years ago, not sure now) I doubt Riot wanted the headache when people were just doing the work for them for free.. Wine is kinda a problem like that as it hurts actual Linux game development.

"Only proprietary software vendors want proprietary software." - Dexter's Law

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×