SteamOS game launch failure decision tree

Scope

This flow separates Steam client/depot state, native vs Proton runtime, prefix, third-party launcher, anti-cheat, graphics initialization, storage, permissions, and external-tool injection.

Start safe

Record App ID, game build/branch, device, SteamOS/client channel, runtime, last working date, and recent changes. Remove all launch options, overlays, Decky helpers, and custom runner selections for the first clean attempt.

Decision tree

Yes

No

Yes

No

No

Yes, then exits

Yes

No

Start from default runtime and no launch options

Do all games fail?

Check Steam client, storage, update, and graphics scope

Did one title fail after an update?

Verify files and check launcher or anti-cheat status

Does a window appear?

Capture one Proton log; isolate runtime and prefix

Match timestamp to launcher, media, anti-cheat, or GPU logs

Known security incompatibility or storage error?

Stop; preserve evidence and data

Test one reversible change

Restore the recorded baseline

  1. Every game fails: check Steam client, storage, network/depot, OS update, and graphics stack scope.
  2. One game fails after update: verify files and compare build/anti-cheat/launcher status before changing runtime.
  3. Native build fails: record which build Steam selected; test the reviewed Proton/default path only if supported.
  4. Proton game fails before a window: collect one Proton log and separate prefix/runtime from graphics or launcher faults.
  5. Window opens then exits: inspect launcher, media, anti-cheat, GPU/driver, and exact timestamp.
  6. Desktop works, Gaming Mode fails: remove nested Gamescope/overlay/shortcut variables and compare session ownership.

Evidence to capture

The following commands capture system/storage state without modifying the game:

For one Proton run, temporarily set this Steam launch option, reproduce once, then remove it. Review/redact the resulting home-directory log before sharing:

Stop conditions

Stop if the failure is a documented anti-cheat/security incompatibility, storage or filesystem errors appear, the prefix contains unbacked-up saves, multiple games regress after a system/driver update, or a workaround requires disabling security or downloading unknown DLLs.

Restore baseline

Remove the logging option, restore the prior/default runtime, launch options, overlay, controller profile, and session. Keep the original prefix. Recreate it only after backing up saves/state and proving a new prefix is the isolated variable.

Frequently asked questions

Should I delete compatdata when a game stops launching?
Should I delete compatdata when a game stops launching?
No. A prefix can contain saves, launcher state, and configuration. Start clean by removing launch options and selecting the prior runtime; back up before any prefix recreation.
Can a Proton flag fix unsupported kernel anti-cheat?
Can a Proton flag fix unsupported kernel anti-cheat?
No. Title-specific developer/service support is required. Do not use bypass instructions or stack flags to imitate unavailable kernel security components.

Sources

Version history

  • 2026-07-15: Phase 6 clean-baseline game-launch and Proton evidence tree with a rendered diagnostic flowchart.