Lesson 205: Steam Deck gpu_idle_smoke_pass on Menu FPS Cap Receipt (2026)

Direct answer: menu_fps_cap_receipt proves frame pacing; gpu_idle_smoke_pass proves idle GPU cost on an installed Steam Deck build. This lesson closes the July H2 fest-shipping arc with a 15-minute MangoHud idle protocol and mangohud_idle_recovery_receipt_v1.json—after Lesson 204 Fab ORM receipt.

Lesson hero for Steam Deck gpu_idle_smoke_pass on menu FPS cap receipt

Why this matters now (Deck OLED fest menus)

June–October 2026 teams ship menu FPS caps and file green menu_fps_cap_receipt rows—then streamers clip fan spin at 60 FPS overlay because GPU % never dropped. The MangoHud recovery case study documents the pattern; Deck OLED battery help covers Wh/min (idle_power_smoke_pass). This lesson is the course capstone for gpu_idle_smoke_pass (Help #12 MangoHud fix queued separately).

Beginner path (30-minute setup + 15-minute idle)

Step Action Success check
1 Install fest build from Steam on Deck Not editor shortcut
2 Confirm overlay FPS ~ cap target menu_fps_cap_pass: true
3 Launch MangoHud logging on title menu Log file started
4 Idle 15 minutes (minimal input) idle_menu_mangohud.log archived
5 Peak GPU % below team threshold H4 pass
6 Set gpu_idle_smoke_pass: true on menu receipt H5 pass
7 Commit mangohud_idle_recovery_receipt_v1.json H6 promotion

Time: 15 min idle (mandatory) + ~45 min audit/fix first pass; full lesson 60 minutes.

Developer path (gates H1–H6)

Gate Check Fail when
H1 Repro on installed Deck build Desktop exe only
H2 Metrics split: FPS vs GPU % documented Conflated in one screenshot
H3 menu_render_audit.md filed No UI/VFX/static camera notes
H4 15-minute MangoHud log Peak GPU above threshold
H5 gpu_idle_smoke_pass on menu_fps_cap_receipt FPS green, GPU red
H6 Recovery receipt promotion_allowed Any H1–H5 red

menu_fps_cap_receipt_v1.json (GPU column)

{
  "schema": "menu_fps_cap_receipt_v1",
  "build_label": "deck-fest-2026-rc8",
  "menu_target_fps": 60,
  "deck_overlay_fps_idle": 60,
  "menu_fps_cap_pass": true,
  "gpu_idle_smoke_pass": true,
  "mangohud_gpu_percent_15min_peak": 42,
  "idle_test_minutes": 15,
  "device": "steam_deck_oled"
}

Record your measured peak—not template numbers.

mangohud_idle_recovery_receipt_v1.json

{
  "schema": "mangohud_idle_recovery_receipt_v1",
  "build_label": "deck-fest-2026-rc8",
  "paired_menu_fps_cap_receipt": "release-evidence/perf/menu_fps_cap_receipt_v1.json",
  "gates": {
    "H1_installed_repro": "pass",
    "H2_metric_split": "pass",
    "H3_menu_render_diet": "pass",
    "H4_mangohud_15min": "pass",
    "H5_receipt_stack": "pass",
    "H6_promotion": "pass"
  },
  "fixes_applied": [
    "disabled_menu_environment_tick",
    "render_scale_0.85_menu_only",
    "static_menu_camera"
  ],
  "promotion_allowed": true
}

Pin under release-evidence/perf/MANGOHUD_IDLE_RECOVERY_RECEIPT.json.

MangoHud protocol (do not skip)

  1. Separate idle_menu_mangohud.log from gameplay_mangohud.log.
  2. No stick input except one brightness check at minute 5.
  3. Compare minute 0–1 vs 10–15 for animated UI loops.
  4. Use 12 Free Deck battery verification tools for capture templates.

Publish gate

ALTER TABLE release_publish_gate ADD COLUMN IF NOT EXISTS
  gpu_idle_smoke_blocked BOOLEAN NOT NULL DEFAULT false;

CI verify_gpu_idle_smoke_v1 blocks fest Deck promotion when menu_fps_cap_pass true but gpu_idle_smoke_pass false. Thursday row review must show both columns.

Prerequisites

Common mistakes

  • Using Editor Play Mode on Deck for GPU proof.
  • Treating idle_power_smoke_pass (Wh/min) as gpu_idle_smoke_pass (GPU %)—run both when battery threads matter.
  • Promoting on one-minute MangoHud sample.
  • Leaving rotating menu backdrop or UI Toolkit rebuild every frame at 60 FPS.

Troubleshooting

Symptom Fix
Overlay 120 FPS vSync menu cap help
FPS 60, GPU 99% H3 menu render diet + static camera
Fan loud, GPU moderate Pair with OLED battery help
Gameplay OK, menu bad Separate logs per scene

Mini exercise (50 minutes + 15 idle)

  1. Reproduce H4 fail on current menu (log peak GPU).
  2. Apply one H3 fix (disable env tick or lower menu render scale).
  3. Re-run 15-minute idle; pass H4.
  4. Patch menu_fps_cap_receipt + recovery receipt.
  5. Add BUILD_RECEIPT row; link from case study.

Continuity

  • Previous: Lesson 204 — Fab ORM metallic receipt
  • Arc close: July H2 cluster 200–205 complete — Course-Planner refill recommended for next lessons
  • Guides (planned): Deck MangoHud preflight (Guide queue #14)

FAQ

Does this replace the case study?
No—the case study is the narrative; this lesson is the receipt milestone in your RPG live-ops course.

What GPU % threshold?
Team-defined (e.g. ≤50% peak on OLED idle menu)—document in menu_render_audit.md, not in this template.

Only Steam Deck LCD?
Protocol works on LCD; receipt device field records hardware. OLED is the 2026 fest review default.


FPS cap receipt green is not Deck-ready until gpu_idle_smoke_pass survives fifteen idle minutes on hardware.