Trouble with dual Nvidia GPUs

I think it’s meant is ventoy the most recent version?

Yes, I meant the most recent version of Ventoy. If you have an older version, it might not work with the more recent EOS ISOs. You can grab the most recent Ventoy tarball from here:

Update - Sonny vs. EndeavourOS Round 2:
strap yourselves in, this is a long-ish one

So I sampled BlendOS, and while all four monitors worked right out of the gate, Steam did not. No matter what I tried. After some searching, I found that maybe I could have gotten Steam to work on EndeavourOS by swapping from multilib to Flatpak. So I gave EndeavourOS another shot. Here is my best attempt to summarize how that went:

  • Steam from multilib was indeed busted for whatever reason. Flatpak worked just fine.
  • Until it didn’t - no matter what I tried, I couldn’t resolve “disk write error”. I tried manually setting Flatpak permissions via CLI, and FlatSeal.
  • In my time searching for any means of resolving such, I also searched for ways to fix Brave being the only program thus far to not un-scale after fiddling with the Font settings. This lead me to discover that adding --force-device-scale-factor=1 to its launch arguments solved that issue. Not ideal, but it’s the only program giving me this error thus far, so I’ll take it.
  • Couldn’t fix the Flatpak of Steam, so I figured I might as well try the Snap of Steam because “I can’t say I’ve tried everything if I don’t try everything”.
  • Snap worked. No disk write error, no need to manually set hardware acceleration, The End felt like it was in sight.
  • Until it wasn’t - as trying to launch it on the secondary X screen wouldn’t work (thank you @manuel for pointing out my syntax error, that solved that hurdle). For context, what I found to work was to launch Dolphin via DISPLAY=:0.1 dolphin &, and then launch .ex- wait, this isn’t Windows- .desktop files from there, and this would launch the program on the secondary X screen.
  • Since I still had the Flatpak of Steam installed, I decided to try that… and it launched on the secondary X screen just fine. I was about to settle for using Snap to install my games, and Flatpak to run them, until Flatpak kept giving me issues with actually recognizing the Secondary drive I was installing to.
  • Playing hot potato with two different installs of Steam was an experience, especially when I would need to use btop++ to SIGKILL them when unresponsive. And while this might go without saying to some, while btop++ is mouse compatible, I do not recommend it, as if you click on a process to kill, and the process list jumps around, you will kill whatever process was in that particular spot on the list. This caused me to accidentally kill systemd.
  • Eventually, I get Baldur’s Gate 3 to launch through Snap Big Picture Mode while it was on X Screen 1. As the Vulkan Shaders finished caching and I was about to finally relax - the game launches awkwardly on X Screen 0. Oh, and Snap Big Picture crashes, and then crash loops, causing it to play the launch noise over and over. Whole computer is un-interactable too, so my only hope was to use tty3 to sudo systemctl restart display-manager.
  • In the midst of the insanity, I considered taking the L, and returning to Windows. Then I remembered that Windows had some hells of its own when trying to use secondary screens. I remembered how if I wasn’t quick enough with the Shift - Windows - Arrow keystroke when launching Skyrim, it would have jank resolution errors - so I resorted to making a launch script with AutoHotKey to do it for me.
  • I remembered how with The Elder Scrolls: Online, I could drag the window to the ideal monitor, set it to Fullscreen/Borderless Fullscreen, and it would work until I close the game. But on re-opening, it would attempt to open in its last set window mode… but on the wrong monitor, usually resulting in a “signal out of range” error. My solution was to write a Windows Batch File to copy over a back-up version of its settings .ini file with Fullscreen disabled, and then launch it. And then it hit me.
  • While certainly not the ideal solution - what if I made multiple xorg.conf.[suffix] files, and used a shell script to apply one of them and run sudo systemctl restart display-manager for whatever the situation calls for? Delightfully devilish, Sonny!

And that, is where I am at right now. I have other chores and plans to attend to today, but I will report back after I have given this idea a try. If this works, it will likely be The End until I get around to GPU passthrough launching Windows/Linux on the 2070.

Update - The End is never here - except when it is. But not for long.

Because I didn’t have the time (or patience) to learn bash scripting at the moment, I cheated and had ChatGPT throw me together a script to overwrite the xorg.conf with a backup, and restart the display manager. And while numerous things are still very jank, I can at least launch games, have Discord open, and even a splitview of btop++ / nvtop. I am gonna take a much needed break and play some games.

I think a better solution is gonna be to KVM a secondary OS, and launch it with the DISPLAY=: command, but again, it’s break time.

If anyone else thinks they can try to get both GPUs running in harmony, feel free to bash your head against this wall for a better solution.

Update - I have returned.
So after a few weeks of enjoying Baldur’s Gate 3 and Pikmin 4, I decided I was ready to pick up this issue again. My ideas were as follows:

A: Hope Wayland automagically handled it better than X11 (I assume it was a proper Wayland/NVIDIA configuration that allowed BlendOS to use all 4 monitors across both GPUs out of the box).

B: Configure GPU Passthrough and just run a second OS with it.

C: Attempt to swap one of my NVIDIA cards with an AMD or Intel equivalent.

I started with A, and simply installed plasma-wayland-session. This did not work. It only recognized my RTX 2070, and only gave me the option for 1080p. I was going to return sooner to try and trouble shoot that, but then I found a Radeon R9 390 (the closest equivalent to my GTX 960) for ~$40 on eBay. So I bought it, waited for it to arrive, and installed it. I had to run sudo rm /etc/X11/xorg.conf from tty3 (and sudo systemctl restart display-manager) to get anything to display, but only the RTX 2070 is outputting a picture. My other monitors display solid black, neofetch sees the Radeon, but I can’t seem to get anything to use it. I haven’t tested running it solo, or in other PCIe configurations yet. That’s a headache for another day (likely tomorrow). I might still put the GTX 960 back in the system, and move the Radeon to my server closet, or vice versa depending on which card wants to co-operate more.

hey I didn’t read everything you posted here, but do you really need 2 gpus?

The original intent with my computer was to virtualize where possible. Since my Ryzen 5 2600X does not have on-board graphics, that meant that the most feasible way to do this was to have a secondary GPU to pass through to whatever secondary OS I want to run. However, since then I have seen the importance of the big.LITTLE philosophy of task allocation. So now, while I do still intend to virtualize, I also want to run all of my more “basic” processes on one GPU, and leave my more powerful GPU free to be dedicated to a singular task.