ValveSoftware / ValveSoftware/Proton
Subliminal (2300840)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Subliminal (appid 2300840, UE 5.7) shows white/blank TVs wherever the game plays video (Basement, Playplace, side rooms). TV audio still plays, so it's easy to miss, but progression is gated on a TV video — the ROTTEN ending reportedly never triggers without it. ProtonDB has the same report ("videos and TV screens would fail to play").
Setup: Proton Experimental 11.0-20260903b, RTX 5090, Debian, KDE Wayland. The game's TV player is UE's Electra player opening file:// mp4s (H.264/AAC) through Media Foundation. DXVK_FILTER_DEVICE_NAME was set to avoid the separate UE adapter-selection white screen; it isn't related to this.
WINEDEBUG="+winedmo,+mfsrcsnk,+mfplat,+mfmediaengine,+mfplay,+mfreadwrite" while walking to a TV — h264parse emits sane caps and avdec_h264 refuses them, for every TV open:
0:01:27.595 INFO h264parse gsth264parse.c:2191:gst_h264_parse_update_src_caps:<h264parse1> resolution changed 640x360
0:01:27.595 GST_EVENT creating caps event video/x-h264, stream-format=byte-stream,
streamheader=000000016764001eacd940a02ff9701100000303e90000ea600f162d960000000168ebe3cb22c0,
pixel-aspect-ratio=1/1, width=640, height=360, framerate=30000/1001, coded-picture-structure=frame,
chroma-format=4:2:0, bit-depth-luma=8, bit-depth-chroma=8, parsed=true, alignment=au, profile=high, level=3
0:01:27.596 WARN videodecoder gstvideodecoder.c:934:gst_video_decoder_setcaps:<avdec_h264-1> Subclass refused caps
Later in the same open:
warn:mfplat:topology_loader_resolve_complete Failed to connect D3D-aware input, hr 0x80004002
warn:mfplat:session_events_callback_Invoke Failed to get event ..., hr 0xc00d3e85
The game's own log shows Electra's IMediaPlayer::Open(file://...) running, but no video ever arrives and the TV stays white.
Under GE-Proton11-6 the same videos play. Its MF stack has no winegstreamer at all: it removed gstreamer entirely and runs everything through winedmo -> FFmpeg. The game's logs corroborate: 10+ "Open Media Latent: Media player is closed" failures for TV/generator videos under Proton Experimental, zero under GE-Proton11-6, and the Basement TV confirmed playing on GE.
I don't know the exact reason avdec_h264 refuses the caps — they look acceptable, so it's either winegstreamer's wg_transform caps construction (byte-stream with a streamheader attached?) or the gst-libav version in the Steam runtime. Either way, Valve's build currently decodes Media Foundation video through winegstreamer -> the runtime's gst-libav, and that path fails here, while winedmo -> FFmpeg works.
Suggestion: prefer winedmo for Media Foundation decode in Proton, the way GE's video rework already does; it demonstrably fixes this title.
Workaround today: run the game on GE-Proton 11-x.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the TV playback failure with Proton Experimental and tracing the Media Foundation path through winedmo, winegstreamer, and wg_transform. Compare the decoder behavior with GE-Proton 11-x, where the same videos play through FFmpeg. Done means the game's Electra videos decode and the TV progression works without requiring GE-Proton.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux, unreal-engine
- Domain
- operating-systems, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100