You are not logged in.

#1 2015-08-14 23:16:12

Cadeyrn
Member
Registered: 2013-04-06
Posts: 170

[SOLVED] 2 NVidia cards, one for gaming

I have a simple problem with a complex solution (if there is one).

I'm setting up a Windows VM with PCI passthru in QEMU/KVM so that I can play vidya games in Windows without actually booting into Windows. I'm also using LGA 2011-v3 CPUs, so I have no Intel graphics, so I bought a GT 740 to go with my GTX 660, and now Linux primarily uses the 740. The problem is I also game in Linux. I prefer to use the Linux version of a game, if there is one. However, I can't find a way to, say, launch steam (or any of its individual games) under a different video card (namely the 660).

Here's the list of things I've researched that didn't work out, either because it was the wrong choice or because I'm bad at it:
-NVidia's driver settings: It can see both video cards, and the Application Profiles feature seems promising, but I can't find an option to run a program under a different video card anywhere.
-multi-headed X: It seems like setting up an alternate "layout" to use would mean X is technically "using" that card all the time? Which is bad, because then the Windows VM can't take it over.
-X through another display: I can see the display when I switch my monitor to the other card's video output, but it hangs at a black screen no matter what I put in .xinitrc. Even if it worked, how would I switch the keyboard and mouse without buying synergy?
-rootless X: No matter what setup steps I follow all over the ArchWiki, a 2nd X simply refuses to happen unless I do it with sudo AND use the /usr/bin/X binary (as opposed to xinit or startx). And if I got it working, is there a way to make it stop overwriting my .Xauthority file besides running it as a different user?
-bumblebee/optimus: It seems really geared towards Intel graphics users. I couldn't figure out how to make it work with 2 discrete cards. I turned off bumblebeed.service and uninstalled bbswitch, but even then, I just get nothing when I try to start any GUI at all.

My favorite solution to get working would be bumblebee, because it's super automatic and within one X server, which means I don't have to worry about mouse and keyboard stuff. In fact, my entire problem can be summed up as this: want to use NVidia Optimus with 2 discrete NVidia cards instead of 1 discrete card and Intel graphics.

Last edited by Cadeyrn (2015-08-20 02:45:43)

Offline

#2 2015-08-15 02:11:57

Hydranix
Member
Registered: 2013-02-10
Posts: 56

Re: [SOLVED] 2 NVidia cards, one for gaming

I fear this may require nvidia to add the functionality to their proprietary drivers. Though I could be wrong.

Offline

#3 2015-08-15 02:56:19

Cadeyrn
Member
Registered: 2013-04-06
Posts: 170

Re: [SOLVED] 2 NVidia cards, one for gaming

So it's what I feared: bumblebee does what it does by switching drivers, but my NVidia cards are a single driver, and so it would be up to the driver? Here's an insane question that I have no idea of the answer to: what if I had one card on nouveau and one card on the proprietary drivers and manually did the kind of switcheroo that bumblebee does?

Offline

#4 2015-08-15 18:30:11

Cadeyrn
Member
Registered: 2013-04-06
Posts: 170

Re: [SOLVED] 2 NVidia cards, one for gaming

I think this problem has matured a bit. As I delve deeper into my VM project, I'm learning that there isn't much point to any of my solutions so far, because vfio needs to steal the graphics card away from X and NVidia at boot time in order to take it over when the VM starts (using the modern Linux 4.1 version of what one had to do with pci-stub).

At this point, in order to use this graphics card for gaming in Linux without rebooting, I'd have to run a Linux VM inside my Linux. I'm not opposed to that. The KVM is very nice. However, how much do I have to virtualize to run Linux inside of Linux? How much can I strip away from vfio until it's essentially just granting control of the graphics card over to Linux, or, if that's not possible, granting control to a Linux VM that doesn't have its own hard drive or system files or anything, but is just a fake extra instance of my Arch Linux installation? Or is all of that impossible and I should just go all-out with a .raw file running SteamOS?

For now, I'm making a virtual SteamOS machine and using shared folders to access Arch's Steam installation and games. I'll stay subscribed to this topic in case anyone has better ideas.

Last edited by Cadeyrn (2015-08-15 20:30:51)

Offline

Board footer

Powered by FluxBB