ValveSoftware / ValveSoftware/SteamOS

CPU max boost clamped to ~2.4 GHz after resume from sleep until reboot (SteamOS 3.8.14, Steam Deck LCD)

Open
#2,593 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

System

  • Steam Deck LCD, BIOS F7A0133
  • SteamOS 3.8.14 (build 20260703.1), kernel 6.16.12-valve24.4-1-neptune-616
  • amd-pstate-epp, active mode (default)

Symptom

After every resume from S3 sleep ("deep"), the whole system feels laggy until reboot.
Cause: CPU max boost is clamped. A pinned single-core busy loop
(taskset -c 2 sh -c 'while :; do :; done') reaches 3.5 GHz before sleep but only
~2.42 GHz after resume — reproducible on every sleep cycle, including
rtcwake -m mem -s 45 with the machine otherwise idle.

Not thermal or power related: 46 °C, plugged in and charging, GPU idle.

Software state after resume looks normal

  • scaling_max_freq = 3501250, boost = 1
  • governor powersave, EPP balance_performance on all 8 CPUs
    (i.e. #2383 does NOT reproduce here — the EPP fix from
    torvalds/linux@85d7dda5a9f6 appears present and working)
  • ACPI CPPC still advertises highest_perf = 255, nominal_perf = 204

Things that do NOT restore boost (only reboot does)

  • toggling /sys/devices/system/cpu/cpufreq/boost 0 → 1
  • writing EPP performance to all CPUs
  • performance governor
  • re-writing scaling_max_freq
  • amd_pstate mode switches, including a full disableactive driver reset
    (passive mode then caps at 2.8 GHz nominal, so the clamp appears to live in
    SMU/firmware state rather than driver sysfs state)

A second suspend/resume cycle occasionally restores full boost, but it is not reliable.

Related (but distinct symptom, already fixed): #2383

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.

Research direction

Start by reproducing the issue with the pinned busy loop and rtcwake -m mem -s 45, comparing boost before and after resume. Inspect the amd-pstate and suspend/resume paths associated with the reported kernel version; no source file or test is named in the issue. Done means identifying and correcting the post-resume boost clamp without relying on a reboot, with the resume cycle reliably reaching the pre-sleep boost frequency.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.