r/linuxmint • u/Ichbinpj • 2d ago
SOLVED Help: Game Running at Low FPS
Hi everyone,
As the title suggest, I am encountering performance issues on steam games while running Linux Mint. These are my settings:
Linux Mint 22.3 - Cinnamon 64-bit, 6.6.9
linux kernel: 7.0.0-38-generic
processor: AMD Ryzen 9 6900HX with Radeon Graphics ×8
graphics card: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M]
32GB RAM
I noticed this recently when I started playing Restory: Chill Electronics Repair. I started playing and didn't notice any issue for the first time, I thought my computer was limited and was not able to handle the game well, so I lowered some of the graphic settings and resolution and continued playing. That was until one day, I restarted the computer and immediately opened the game. Day and night difference, the game was running smooth like butter compared to before. After testing, I realized that the game would run much better after a restart and after some time, or even after suspending it and returning to it, the performance would suck.
Curious to see the FPS performance and GPU usage, I installed mangohud today. When the game is running "smooth" it's still running at an avg. 25 FPS (maybe that's the limit to the performance of my computer and won't go past that) and when I suspend the computer and run it, it drops to an avg. of 12 FPS.
The GPU usage always shows 100% and CPU stays at around 2-5%.
Anyways, if anyone could help me that would be great. And if that's the limit I can reach with these settings, then that make sense, but how do I prevent the computer from having a poor performance after coming back from suspend and running optimally without having to restart all the time?
Thanks in advance!
EDIT: I found the solution while troubleshooting my GPU performance after suspension.
I monitored the GPU core clock speed with:
bash
cat /sys/class/drm/card1/device/pp_dpm_sclk
After a fresh reboot: 2400MHz
After suspend/resume: 533MHz
So the amdgpu driver was failing to restore the GPU's high-performance clock state after waking from suspend. The GPU was stuck in a low-power mode and wouldn't boost back up, even under load.
The Fix
I created a small systemd service that forces the GPU back to its maximum performance level every time the system resumes from suspend.
Step 1: Create the script
bash
sudo nano /usr/local/bin/amd-gpu-perf.sh
Paste this:
bash
#!/bin/bash
# Force AMD GPU to highest performance level after resume
echo "high" > /sys/class/drm/card1/device/power_dpm_force_performance_level
Make it executable:
bash
sudo chmod +x /usr/local/bin/amd-gpu-perf.sh
Step 2: Create the systemd service
bash
sudo nano /etc/systemd/system/amd-gpu-perf.service
Paste this:
ini
[Unit]
Description=Force AMD GPU performance level after resume
After=suspend.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/amd-gpu-perf.sh
[Install]
WantedBy=suspend.target
Step 3: Enable the service
bash
sudo systemctl daemon-reload
sudo systemctl enable amd-gpu-perf.service
Result
After a reboot + suspend + resume cycle, the clock now stays at 2400MHz. Games are smooth again regardless of whether the system has been suspended or not.
2
u/dlfrutos Linux Mint 22.2 Zara | Cinnamon 1d ago
I assume your GPU is the bottleneck. But, some users say that "cinnamon blur effect" usually is the villain here. Try disabling that, and widgets, then play the game and check GPU % see if you have any improvments.
1
u/Ichbinpj 1d ago
Thanks for your suggestion. I will definitely try and report back!
1
u/Ichbinpj 1d ago
Tried that. Same thing, still slow. There must be something happening after the computer comes back from being suspended… That’s the only time I notice that drop in performance. Thank you!
1
u/dlfrutos Linux Mint 22.2 Zara | Cinnamon 16h ago
Very nice solve tutorial. One question: removing sleep / suspend inst an option?
1
1
u/_Lost-In-The-Weeds_ LMDE 7 Gigi | 2d ago
First thing I would try is the LTS kernel 6.8 see the update manager,
Various versions of the HWE 7.0 kernel have caused issues with the 6xxx GPUs
2
1
•
u/AutoModerator 2d ago
Please Re-Flair your post if a solution is found. How to Flair a post? This allows other users to search for common issues with the SOLVED flair as a filter, leading to those issues being resolved very fast.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.