THE NEW Miscellaneous Talk That Doesn't Deserve A New Thread Thread Thread (Part 2)

I wonder how many different components from different computer parts manufacturing companies are compatible with each other?

There probably was/were a person/people once trying to figure that out…

2 Likes

I haven’t tried a combination of Nvidia and AMD, but I have tried combination of AMD and Intel. When I discovered that my AMD card had a hardware bug where AV1 encoded videos are 1082 in height rather than 1080, I added a second really cheap Intel graphics card to my system. And that has been completely problem free so far. The AMD card is automatically detected as the primary one and my login screen, desktop session, and games run on it automatically. I can then specifically for stuff like video encoding specify the second GPU as the encoding device and it works fine.

Apparently if you want to run like graphics programs on a second GPU, you need either a second desktop session or some kind of passthrough, which is annoying to setup from what I’ve heard. That’s very similar to how integrated GPU laptops behave. They also have special stuff to offload programs onto a dedicated GPU and then forward their graphics back to the internal GPU for display purposes.

So having 2 GPUs (other than really specific use cases like video encoding or AI workloads) is just a lot of trouble. Because of that the usual usecase of multiple GPUs is to use one for your desktop session (and block the second GPU’s drivers from loading at all to leave it unused) and the second one for a virtual machine passthrough as that’s the only good way to get fast, 3D-accelerated VM.

2 Likes

So I guess in most cases it’s just not worth the effort…

1 Like

Do you mean a Virtual Machine?

No, I don’t. Linux supports multiple desktop sessions. I think you can do it like having monitors connected to different GPUs and then creating desktops separately for each GPU. Then those will act like independent desktops with their own windows and running programs, though I think setting up USB device routing is a pain.

Even with a single GPU on Linux you have 12 ā€œslotsā€ for sessions. Those are accessed by pressing CTRL+ALT+F1 through to F12. For example Fedora works so that the login screen is on slot 1 and once you login it is on slot 2. So if I press CTRL+ALT+F1 I switch back to the login screen, or if I want to be a cool hacker and use a terminal only session, I can for example press CTRL+ALT+F5 to switch to tty5. I can then do stuff on my computer with the terminal session. If I want to switch back to the graphical desktop session I can just press CTRL+ALT+F2 at any time (of course I need to have started a session before one exists).

2 Likes

ā€œā€¦I want to be a cool hackerā€¦ā€ - Hhyyrylainen 2025

This is outofcontext material, please don’t kill m-

2 Likes

Hmm… would it be possible to control two desktop sessions at once if one has the ability to use two keyboards and mice on the same computer?

1 Like

I think so, but it is probably a real hassle to setup or requires like dual GPUs, because you don’t hear about people trying it.

1 Like

Some probably have tried… But how their experiments have fared, :person_shrugging:.

How are their 9 people online?
image
I’ve never seen this many before.

5 Likes

Many more gather together when a release (like 0.8.0) gets/is about to be officially released.

By the way, where is the questions thread for 0.8.1 release thrivestream?

3 Likes

How have I not noticed that, either?!

2 Likes

Ayo I love hyaenodonts!

That sounds jank as all belgium. I’d say you have a few issues.
PCIE Lanes: Most motherboard-cpu combos have 16-24 pcie lanes. A GPU should always connect of 16 of the best available pcie lanes. If you have an average 20, 16 for GPUs and 4 for NVME, that’s not enough. With 24 you could use 16 for a beefy GPU and 8 for a smaller one, especially with a janky setup, I think some motherboards use PCIe gen 4 for NVME and gen 3 for gpus, and with 8 gen 4 you’re about equivalent to 16 gen 3. Basically though, your best bet is what everyone with multiple GPUs does… drop well over a thousand on a threadripper or something (something being used Xeons which can be quite affordable).
How?: I not entirely sure how you would pull this off. You plug both in, and uh, how does the output get to the same monitors? GPUs have their own plugs, I’d say you could rather easily plug in multiple monitors, but say you drag a game window from one gpu to another… It don’t really work. From the looks of it gamescope is able to utilize arbitrary GPUs for rendering and output so you could possibly (possibly) plug all your monitors into one gpu you use for productivity and gpu transcoding and stuff, and use the other for rendering when playing games, but thats kinda weird and, for example, getting steam to use gamescope isn’t that easy. Posibly some iGPU setups could work like this? I have an iGPU and even though my main GPU is also AMD I might give the gamescope trick a shot.
Why?: WHY??? This is a bad idea??? The only reason I can think would be for insane productivity things like non-real-time-rendering and AI, and uh, those would be the easiest to implement. (also Hhy mentioned encode/decoding, I hear a lot of people buying intel for that, but I suppose nvidia’s NVENC is similar) Tell your AI stuff to run on the GPU with no monitors plugged in, monitors are useless when you do that! Non-real-time-rendering is fine just rendering to a PNG the other GPU loads eventually, if you want 3d acceleration to go full speed while rendering and have a 1200 watt PSU

Anywho. It’s an odd idea. I’m just assuming drivers works easily, because I hope it does, but honestly that likely wouldn’t work on some distros. Apparently this kinda works decent on windows? (sources for all this: random redditors)

And Yeah, Hhy is right about passthrough, your best bet is having a system where two GPUs share outputs, but that isn’t really a thing on desktop. Your best usecase is for a VM, which is what I would do if my iGPU used PCIe to connect, but it doesn’t, so I’m unsure how to pass it through to a VM, which sucks.

It’s been done. I should look into letting each session log in as a different user, but yk, LAN party in a single computer?

We have a lot of activity lately, and it does happen.

4 Likes

Yeah, I sure do wonder why…

2 Likes

Ima be honest, i only made an account cuz i wanted to put some achievement ideas i had in the achievements thread thingy

3 Likes

What will you do with it (the account) now that you’ve fullfilled it’s ā€œpurposeā€?

mostly just look at posts i guess might make some posts too

Whelp… I did it! I ran glxgears and supertuxkart easily on my gpu of choice after I remembered to enable the igpu in my bios. In fact, I also ran doom.
image
Here’s a screenshot of my igpu being fully used and my main one being left alone. Data from my beloved KDE system monitor. If we swap them…
image
Yeah my main GPU is total overkill for 720p supertuxkart. Anyhow, the actual neat thing is that this worked with my monitor plugged in to my dGPU, even though the iGPU was doing the rendering. This proves the general concept of multi-gpu gaming (and likely stressed all my pcie lanes meaning it’s a bad idea for playing two games at once), and assuming you sorted the general driver issues of running an nvidia and AMD gpu in the same machine, would work exactly the same with any two vulkan-capible gpus.

how do you do this yourself? Really, the thing that makes this possible is gamescope. Using gamescope is rather irritating, but if you’d like to run a game on a GPU of your choice, try the following:

This is the following

type this into your linux terminal

vulkaninfo | grep -P ā€œ((vendor|device)ID|deviceName)ā€

The output will look something like this:

VendorID = 0xNumberWeWant
DeviceID = 0xNumberWeWant
DeviceName = NameWeDontCareAboutButHelpsTellApartGPUs
Repeated for every GPU in your machine

Then we build a gamescope command to launch the game. It’ll go something like this:

gamescope {general gamescope arguments} --prefer-vk-device VendorID:DeviceID – {command}

This is an example gamescope command for my machine to run supertuxkart on the igpu, preceded by the vulkaninfo output to find out which numbers to use when running it.

vendorID = 0x1002
deviceID = 0x73bf
deviceName = AMD Radeon RX 6800 (RADV NAVI21)
vendorID = 0x1002
deviceID = 0x1638
deviceName = AMD Radeon Graphics (RADV RENOIR)

gamescope -w 1920 -h 1080 -f -r 165 --prefer-vk-device 1002:1638 – supertuxkart

Note the lack of leading 0x’s on the device and vendor IDs.

The original version of this post’s opening sentence ended with the word ā€œbarelyā€, why? Because I first tried with steam games… and failed. I Have NO clue why not, I rebooted and enabled my igpu, tried again, eventually gave up and did a sanity test with glxgears. that worked, then I installed supertuxkart. After that I just copied my supertuxkart command into steam and it worked. So, if you’d like to run a steam game like this, do the following:

  • open the steam library to your game of choice and hit manage (gear icon)
  • in the dropdown select properties and find the Launch Options section.
  • copy a gamescope command from the last tutorial in there, I’d recommend -f for fullscreen.
  • replace whatever the {command} section was with ā€œ%command%ā€ and it’ll run, I hope.
  • profit (it autosaves so all you have to do is run the game)
  • and by profit I mean random fps. I got 30 fps in doom 2016 when I usually get 165…

Anywho, this seemed to work. If anyone wants to buy me a 5090 to test if nvidia gpus work combined with AMD gpus, I am very much down, however i have just obsoleted myself so you could always keep the 5090 and buy a cheap AMD gpu and do the test yourself.

2 Likes

Before October arrives, I want to build a Threadripper workstation as I’ve been thinking about both gaming and AI stuff for when I get out of my apathetic state. But the more I think about it, some games run better on Nvidia while Proton works better with AMD, so I guess using the different desktop sessions could be useful.

Does that work only on GNOME or is it environment-independent? Like could I do that on KDE?

1 Like