SteamOS 3.8: MGSHDFix cpu busy wait fix no longer works

Open
#2,565 35 comments 26 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Quiet

Research direction

Start by reproducing the Metal Gear Solid 2 workload on SteamOS 3.7.25 and 3.8.14 with MGSHDFix applied, comparing frame pacing, CPU frequency, and usage under Proton 11 Beta and Default. The issue is resolved when the regression is identified and locked 60 FPS returns without a CPU core busy-waiting.

Written by the indexing model from the issue text.

Description

Updated issue description:

Please see comparisons below. This is Metal Gear Solid 2 - Master Collection, with the MGSHDFix mod applied. This mod includes a https://github.com/ShizCalev/MGSHDFix/pull/225 that the game has. Konami moved window event handling off the main game thread to a separate thread. The new thread continuously ran even when no events were present in the queue, causing a busy-wait. This was causing one CPU core to essentially park itself at 80%~100% usage at all times, even on beefy hardware. The fix has worked great for Steam Deck users up until 3.8.

3.7.25
Image

3.8.14
Image

Before, in 3.7.xx, a locked 60fps was achieved, but now it fluctuates between 50-60 depending on if there is any movement on screen.
This happens on both Proton 11 Beta and Default. During cutscenes the CPU gets pegged to 3500MHz.

I can confirm no performance settings are being used from the QAM, and I also don't have Decky Loader installed.

Original message below:

Noticed some performance drops in a few games last couple of days and saw a few others having some issues.
CPU would bottle out more frequently (Steam Deck)

I tried to roll back to 3.7.20 using Konsole and have found its greatly restored performance. Really hope Valve see this and fix it

Konsole "sudo atomupd-manager custom-update 3.7.20"

Then restart

Dominant language
No language data
Stars
2.6k
Forks
83
Avg merge
4m
Merged PRs (30d)
3

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ValveSoftware/SteamOS

All issues in ValveSoftware/SteamOS

Similar issues

More Operating Systems issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.