Valve Closes a Working Steam Frame Hardware Decode Patch as a Duplicate, and the Lepton Item It Points To Is Still Blank

A developer showed that the Steam Frame’s HARDWARE video decoder CAN work inside Lepton, Valve’s Android container for the headset. Valve’s answer, THREE hours later, was to CLOSE the request as a duplicate. The item it points to, Lepton work item #1, has been OPEN since September 30 and STILL has NO description, NO assignee and NO target date.

The request is issue #13727 on Valve’s steam-for-linux tracker, titled “Lepton: allow opt-in V4L2 hardware decoder passthrough on Steam Frame.” It was filed by the account ijingo at 9:13 a.m. ET on October 12. Valve’s TRIAGE account, kisak-valve, CLOSED it at 12:12 p.m. ET the SAME day with a TWO-sentence reply: the issue “is already being tracked” at the Lepton work item, and “Closing as a duplicate.”

Whirligig Media Player playback controls in VR, official Steam store screenshot
Whirligig Media Player, one of the FIRST Steam video apps with a Lepton build for Steam Frame. Image: Whirligig / Steam store.

What the Patch Actually Proved

The filing is SPECIFIC. While “evaluating hardware video playback for a video player,” the authors found that /dev/video-dec0 “is accessible on the SteamOS host but is not exposed inside the stock Lepton container.” An Android app that talks to the DECODER DIRECTLY through V4L2 therefore CANNOT reach it at all.

Their FIX is SMALL. They added a SINGLE block to setup_podman_mounts() in Lepton’s mounting.sh that runs ONLY when LEPTON_ENABLE_VIDEO_DECODE is set to true. It resolves the host alias first, because the underlying /dev/videoN number “can change after a reboot,” then mounts that ONE device node into the container. The default stays OFF, and NOTHING else is EXPOSED.

With that mapping and their OWN V4L2 playback code, they say they “confirmed hardware decoding” of TWO formats inside the modified container: HEVC Main at 8-bit and HEVC Main10 at 10-bit. That is the CODEC family HIGH-RESOLUTION VR video files typically use, and the 10-BIT profile MATTERS for HDR and banding-sensitive content. In short, the HARDWARE path exists on Steam Frame. The container Steam SHIPS simply does NOT hand it to Android APPS.

The Item Valve Pointed To Is Almost Blank

Work item #1 is titled “Lepton: let Android apps use the Iris hardware video decoder (MediaCodec).” Valve’s PUBLIC GitLab API shows it was OPENED at 12:18 p.m. ET on September 30. As of Wednesday it had a NULL description, NO labels, NO milestone, NO assignee, NO due date, ZERO linked merge requests, THREE upvotes and TWO comments that are NOT visible without a login. It was last updated at 11:54 a.m. ET on October 13.

Note the DIFFERENCE in approach. The work item asks for MediaCodec, Android’s STANDARD media API, which is what MOST Android video apps call. The closed GitHub request asked for RAW V4L2 device access, an opt-in route for apps that drive the decoder THEMSELVES. They OVERLAP, but they are NOT the same ask. Closing one as a duplicate of the other suggests Valve wants a SINGLE place to track decoder access, but it does NOT say WHICH interface Valve PLANS to support, or WHEN.

WHO opened the item is also worth stating PRECISELY. Its author is the GitLab account phileday, listed as Philippa Day. MIXED, which first reported the closure, describes the author as a VALVE ENGINEER. However, phileday is ALSO the developer name the Steam store lists for Whirligig Media Player, and MIXED’s own earlier report identified the account as Whirligig’s developer. Metaverse Watcher could NOT confirm a Valve AFFILIATION from the public record.

Timeline of the Lepton hardware video decode request, work item, and duplicate closure
The public record, from Valve’s GitLab and GitHub trackers and Whirligig’s Steam notes. Chart: Metaverse Watcher.

Video Apps Are Hitting the Same Wall

Whirligig, a $5.99 VR media player on Steam, DOCUMENTED the LIMIT from the app side. Its v5.8004 default build, published at 11:50 a.m. ET on October 4 with Steam Frame and SteamOS work, warns that “the GPU video decoding isn’t enabled in Proton or Lepton yet, so playback of high res videos will struggle at the moment.” Without hardware decode, the headset’s CPU does the HEAVY lifting, and that is PRECISELY where 8K stereo files fall over.

Valve has been CLEAR that video players are NOT Lepton’s priority. The project’s README says Lepton “is intended to help game developers bring their VR Android games to the Steam Frame,” that “other usecases are possible, but were not the focus of development and may lack polish,” and that it “disables various Android services that are not required to run games.” That framing has been in place since Valve open-sourced Lepton in September, and community tools such as FramePort have since pushed the container well BEYOND games.

Whirligig Media Player projection presets menu, official Steam store screenshot
Whirligig’s projection presets cover dome, fisheye and equirectangular formats, the kind of high-resolution VR video that leans on hardware decode. Image: Whirligig / Steam store.

Lepton Is Moving, Just Not on This

The repository is ACTIVE. Commit history on Valve’s GitLab shows FOUR October changes by Franz-Josef Haider: moving the old log file before a new one is created (merged October 5), fixing quoting for Lepton paths with spaces, stopping kill_container from “looping forever” (merged October 13), and using the correct system image in tests, merged at 10:59 a.m. ET on October 14. NONE of those touch decoder ACCESS.

Why It Matters

Media PLAYBACK is one of the MOST common things people do in a standalone headset, and Steam Frame’s ANDROID path is how MANY Quest-era video apps would arrive. A WORKING, OPT-IN, default-off patch now EXISTS in public, with TESTED HEVC results. What does NOT exist is a PUBLIC Valve PLAN. Until work item #1 gets a DESCRIPTION, an OWNER or a MERGE request, developers of Android video players on Steam Frame have a CLOSED ticket, an OPEN title and NO date.

Sources: steam-for-linux #13727; Lepton work item #1 and repository history; Whirligig Steam announcements; MIXED.

Leave a Comment