-
Notifications
You must be signed in to change notification settings - Fork 0
Display Diagnostic Runbook
Do not suspend, reboot, change brightness, or power-cycle the GPU before collecting the first report; those actions destroy the state needed to classify the failure.
Run:
sudo ./deckdoc.sh --display-blackThen preserve the consolidated report under logs/ and answer one external question: does a Steam
recording, remote-play view, or capture still show advancing frames? Software cannot infer emitted LCD
pixels from DRM state alone.
Required correlation:
- symptom explicitly declared;
- connected eDP and nonempty EDID;
- nonzero actual backlight;
- active CRTC;
- physical panel black despite the above.
If captured frames remain valid and more than one full-screen plane is active, apply the reversible session test:
./deckdoc.sh --fix-display-blackoutIf the panel recovers and DRM collapses to one plane, persist it only after recording the evidence:
./deckdoc.sh --persist-display-stabilityStart a new Game Mode session, launch a title, and check the DRM plane count again. Steam can clear a
one-time convar assignment during the launcher-to-game transition; DeckDoc's persistent Lua policy
uses Gamescope's documented OnPostPaint hook to restore forced composition when that occurs.
On SteamOS 3.8.14, verify the journal names the exact loaded file below; placing it directly in the
parent ~/.config/gamescope/ directory is silently ineffective:
~/.config/gamescope/scripts/99-deckdoc-display-stability.lua
A complete software-side verification has all three signals: the load line, a DeckDoc restore line
if a transition clears the convar, and one active physical-plane bit in the DRM CRTC plane_mask
after the foreground title is rendering.
An eDP, EDID, backlight, or CRTC check failed. Forced composition is not automatically indicated. Keep the report and investigate that failed layer. Do not force panel/backlight sysfs values.
If the symptom recurs while forced composition is already active, the multi-plane theory is ruled out for that occurrence. Capture a fresh root report before reboot and escalate toward kernel DCN/eDP, panel timing/TCON, cable, or panel hardware.
DeckDoc separately recognizes repeated MangoApp aborts caused by an unreadable client
/proc/<pid>/fdinfo. This kills the performance-overlay helper, not Gamescope itself, and should not
be misclassified as the LCD blackout. Fix or update the nondumpable client; do not weaken /proc
permissions system-wide.
Current session:
gamescopectl composite_force 0Future sessions:
rm ~/.config/gamescope/scripts/99-deckdoc-display-stability.luaThe removal is intentionally manual and exact. Never recursively delete the Gamescope config directory.
DeckDoc records evidence before action. Preserve the incident, change one variable at a time, verify the result, and use Steam Support for safety, warranty, and hardware concerns.
- Home
- Getting started
- Triage flow
- Reading reports
- Collect and share evidence
- Continuous incident probe
- Privileged authorization