Hello folks. I’ve been using Linux for gaming on and off for over a year but I’m getting frustrated. I’m not completely new to Linux outside of gaming, but I’m no master or expert obviously. The two games I play the most are having frustrating issues and I can’t figure out what is happening. I’m hoping someone has some ideas for additional troubleshooting or, if I’m lucky, ideas for a solution. My searching has only found people complaining of more normal, consistent issues like crashing or low FPS vs Windows or just low FPS from the start. Edit: This includes Proton DB. I even have my own experience on there.
Also, I don’t really have anything beyond Steam and a number of games via Steam installed. This computer is for gaming and that’s it.
Does anyone have an recommendations? After months of this I’m frankly thinking of getting a 9070 XT or something to see if that resolves the issue but that’s a last resort.
Thanks!
Hardware
Hardware
MB: B650M-PLUS WF
Processors: 16 × AMD Ryzen 7 9800X3D 8-Core Processor
CPU Cooler: NOCTUA NH-D15S
Case: LIANLI A3-MATX
PSU: LIANLI SP850
Memory: 64 GiB of RAM (62.4 GiB usable) (G.SKILL 64G 2X D5 6000 C30 FX B) (“EXPO I” Enabled - It’s running at 6000 as per MB)
GPU: NVIDIA GeForce RTX 4080 SUPER (ZOTAC RTX4080S AMP)
Space Marine - Problem 1
I’m typically running at Ultra 1440p Borderless (No Ray Tracing or Framegen) DLSS “Quality” (1.5x Lower Res with Upscaling) with an FPS cap at 120Hz. I get steady performance loss over time, as if the system is throttling but logging shows temperature (and GPU/CPU load) decreasing over time. I’ve tried Native (1440p), a number of DLSS settings, Borderless and Full Screen, lowered detail levels, etc. Nothing I’ve done changes the behavior - GPU load always falls over time and performance tanks until I can’t take it anymore and restart the game.
Ex.
DLSS “Quality” starts at ~120 FPS, 96% GPU Load
At 60 minutes, ~65 FPS, ~55% GPU Load
At 2+ hours, ~42 FPS and ~38% GPU Load, GPU Core Clock even drops 200+MHz
On Windows 10 I’ve gone 2+ hours at a steady 120 FPS with the same settings. I originally started with Bazzite but out of frustration I figured I’d try openSUSE Tumbleweed, hoping it was some bizarre Bazzite quirk. After some brief testing, I experience the same issue. Normally I use whatever version of Proton Steam suggests, but I’ve tried manually selecting Proton Experimental and 10.2 beta with no change in behavior. I’ve always used NVIDIA drivers rather than nouveau, but I honestly don’t know how to try older NVIDIA drivers.
The earlier pages are from August while using Bazzite (BZ). The last few are on Tumbleweed (TW). Usually, I literally start the game, load the “hub”, and let it idle until it kicked me for inactivity 60 minutes later. One log has some actual gameplay + idle to document see how bad it gets after 2+ hours. More recent logs are from different version of Proton, as described above, left idle until I came back and could definitively see a downward trend.
Data & Graphs
A few of my graphs. Click the link above for more. FPS drops over time, ~1 per minute. GPU/CPU load drops over time. Temperature is stable then drops when GPU/CPU loads start getting lower. VRAM/RAM is stable. GPU/CPU frequency is stable. SSD Temps don’t seem to exceed 55 C. I’ve checked RAM/VRAM usage/availability and GPU/CPU Load outside of mangohud while playing and my numbers align - there is no evidence of processes not measured by mangohud consuming resources and preventing the game from utilizing them. No reason I can find for it to throttle.
Native (Idle):
DLSS Quality (Idle):
DLSS Quality (Gameplay, then Idle):
Note - the behavior isn’t new in August, I’d just started playing multiplayer more with friends in June. I wanted to focus on just using my Linux partition exclusively and being that annoying friend who talks about how great gaming on Linux is. I assumed it was an issue assets not getting unloaded or something and figured it would be fixed in a patch. By August I’d gotten tired of the weird behavior to start really investigating it, installed MangoHud, etc. After my complaining, my friends are decidedly LESS interested in gaming on Linux. I’m only fueled by my hatred of Windows 11 and spite.
Satisfactory - Problem 2
I haven’t tested openSUSE yet so this is more of a Bonus issue. I’ll update if continue to experience it on this distro. It isn’t as detrimental but its still frustrating because I don’t know how to even document it. At inconsistent intervals, maybe 45-90 minutes, the game hangs for an extended period of time. Alt-tab away and everything is fine with the rest of the system, desktop interface is 100% responsive. If I alt-tab back to the game, it remains hung. Eventually, ~20-40 seconds after it freezes, everything is back to normal until the next random interval when it happens again. Time also doesn’t pass in game - if I was mid air, I resume mid air.
Now what is absolutely fascinating to me about this problem is that it is invisible in my mangohud logs. It’s like time stands still until the game resumes. Zero dips, spikes, elapsed time gaps, or anything I’d expect just before it starts or after it recovers. I haven’t figured out a way to include the system time in the log to get records of how long it lasts. If you know how to get that in the log please let me know.
One more thing to rule out hardware issues
Use OCCT and run a benchmark and stability test
https://www.ocbase.com/
It seems I get stuck once a benchmark is finished. I downloaded what appears to be an appimage from their website. Ex.
00:00:00 - Info - Benchmark schedule started at 2025-09-22 23:46:03 00:00:00 - Info - CPU - Benchmark initializing 00:00:00 - Info - CPU - Benchmark started 00:00:10 - Info - CPU - 1 threads, SSE : 108.47 00:00:10 - Info - CPU - Benchmark stopped 00:00:10 - Info - CPU - Benchmark initializing 00:00:10 - Info - CPU - Benchmark started 00:00:20 - Info - CPU - 16 threads, SSE : 954.19 00:00:20 - Info - CPU - Benchmark stopped 00:00:21 - Info - CPU - Benchmark initializing 00:00:21 - Info - CPU - Benchmark started 00:00:31 - Info - CPU - 1 threads, AVX : 229.73 00:00:31 - Info - CPU - Benchmark stopped 00:00:31 - Info - CPU - Benchmark initializing 00:00:31 - Info - CPU - Benchmark started 00:00:42 - Info - CPU - 16 threads, AVX : 1 935.24 00:00:42 - Info - CPU - Benchmark stopped 00:00:42 - Info - Uploading the results to Ocbase 00:00:42 - Info - Schedule Completed ~~~~~ 00:00:00 - Info - Benchmark schedule started at 2025-09-22 23:52:29 00:00:00 - Info - Memory - Benchmark initializing 00:00:00 - Info - Memory - Benchmark started 00:00:10 - Info - Memory - Read : 2 034.06 00:00:10 - Info - Memory - Benchmark stopped 00:00:10 - Info - Memory - Benchmark initializing 00:00:10 - Info - Memory - Benchmark started 00:00:20 - Info - Memory - Write : 780.88 00:00:20 - Info - Memory - Benchmark stopped 00:00:21 - Info - Memory - Benchmark initializing 00:00:21 - Info - Memory - Benchmark started 00:00:31 - Info - Memory - Combined : 1 317.76 00:00:31 - Info - Memory - Benchmark stopped 00:00:31 - Info - Uploading the results to Ocbase 00:00:31 - Info - Schedule Completed ~~~~~ 00:00:00 - Info - Benchmark schedule started at 2025-09-22 23:56:51 00:00:00 - Info - Storage benchmark - Benchmark initializing 00:00:00 - Info - Storage benchmark - Benchmark started 00:00:21 - Info - Storage benchmark - Sequential Read : 7 360.58 MB/s 00:00:21 - Info - Storage benchmark - Benchmark stopped 00:00:22 - Info - Storage benchmark - Benchmark initializing 00:00:22 - Info - Storage benchmark - Benchmark started 00:00:43 - Info - Storage benchmark - Sequential Write : 6 246.57 MB/s 00:00:43 - Info - Storage benchmark - Benchmark stopped 00:00:44 - Info - Storage benchmark - Benchmark initializing 00:00:44 - Info - Storage benchmark - Benchmark started 00:01:06 - Info - Storage benchmark - Random Read : 1 651.07 MB/s 00:01:06 - Info - Storage benchmark - Benchmark stopped 00:01:07 - Info - Storage benchmark - Benchmark initializing 00:01:07 - Info - Storage benchmark - Benchmark started 00:01:28 - Info - Storage benchmark - Random Write : 1 870.32 MB/s 00:01:28 - Info - Storage benchmark - Benchmark stopped 00:01:29 - Info - Schedule Completed 00:01:29 - Info - Uploading the results to Ocbase
After the CPU, Memory, and Storage benchmarks it consistently just… sits. No errors, nothing of note. I have a big stop button and the green animation continues at the top left. However nothing else happens after this point if I wait/leave it for a while. The “Stop” button is unresponsive. I have to close and reopen. Am I doing something wrong? I tried Memory and CPU multiple times, same behavior. Tried the “Test” version 15, same.
I did have some success with the latency test. Only tried it once though.
00:00:00 - Info - Benchmark schedule started at 2025-09-22 23:54:02 00:00:00 - Info - Latency / bandwidth - Benchmark initializing 00:00:00 - Info - Latency / bandwidth - Pausing monitoring to ensure accurate readings through the benchmark 00:00:00 - Info - Latency / bandwidth - Benchmark started 00:00:03 - Info - Latency / bandwidth - L1 Latency : 2.89 ns 00:00:10 - Info - Latency / bandwidth - L1 Read Bandwidth : 2 557.30 GiB/s 00:00:17 - Info - Latency / bandwidth - L1 Write Bandwidth : 2 550.08 GiB/s 00:00:20 - Info - Latency / bandwidth - L2 Latency : 6.72 ns 00:00:27 - Info - Latency / bandwidth - L2 Read Bandwidth : 1 785.33 GiB/s 00:00:34 - Info - Latency / bandwidth - L2 Write Bandwidth : 1 745.18 GiB/s 00:00:40 - Info - Latency / bandwidth - L3 Latency : 51.07 ns 00:00:46 - Info - Latency / bandwidth - L3 Read Bandwidth : 593.72 GiB/s 00:00:53 - Info - Latency / bandwidth - L3 Write Bandwidth : 356.05 GiB/s 00:01:01 - Info - Latency / bandwidth - Memory Latency : 73.82 ns 00:01:13 - Info - Latency / bandwidth - Memory Read Bandwidth : 82.86 GiB/s 00:01:24 - Info - Latency / bandwidth - Memory Write Bandwidth : 30.44 GiB/s 00:01:24 - Info - Latency / bandwidth - Benchmark stopped 00:01:24 - Info - Latency / bandwidth - Resuming Monitoring 00:01:24 - Info - Uploading the results to Ocbase 00:01:24 - Info - Schedule Completed 00:01:24 - Info - Upload successful
Running the stability now and going to sleep.
No errors is good Try the blend test with CPU and GPU rendering set to 100% for an hour. For me my SSDs sit under 59 and 55 respectively, 40 at idle
I’ll play a bit and keep an eye on my SSD temp and I’ll run OCCT later. Thanks!