Skip to content
jazzphone edited this page Aug 8, 2026 · 1 revision

RTSS frame cap and overlay

SteamShell can drive RivaTuner Statistics Server from the Quick Menu — frame limit and overlay, without leaving the couch.

Optional. If you do not have RTSS, these rows report it as unavailable and nothing else changes.

Setup

Install RTSS, then Settings → RTSS. The path is detected automatically in the usual Program Files locations; point it at the executable if you have it elsewhere.

From the Quick Menu

Row Does
Frame cap Cycle through presets, a custom value, or off
Overlay Toggle the RTSS on-screen display
Limiter Toggle frame limiting without losing your number

Turning the limiter off and on again returns to the value you had, not to a default.

Global vs per-game

The cap can apply globally, or be written to the profile of the game currently running — SteamShell works out which executable that is using the same scorer that drives focus, so it is not just "whatever is in front".

That matters: a profile write is keyed on an executable name, so picking the wrong window does not degrade gracefully — it writes your cap to another program's profile and reports success.

The administrator problem

RTSS profile writes may need administrator rights, and SteamShell deliberately runs at normal integrity.

Rather than elevate itself, it can hand the single write to a small elevated helper:

  • Standalone ships the helper and uses it when available.
  • XFE has this off by default — turn on [RTSS] EnableElevatedFrameCapWrites if you want it.

The helper is verified before it is trusted: correct version, correct user, correct session, High integrity, and installed somewhere only administrators can write. If any of that fails, the write is refused rather than attempted.

Restoring on exit

If SteamShell changed the global frame limit, it puts it back when it exits. That is why you may see a brief RestoreRtssFrameLimitTick in the log on shutdown.

If it does not work

  • Rows say unavailable — RTSS is not running or the path is wrong. Settings → RTSS.
  • The cap does not stick — likely a profile write needing administrator rights. Check the log for a refusal reason; see the elevated helper above.
  • RTSS was closed while SteamShell ran — the rows go unavailable rather than hanging.

Clone this wiki locally