A mirror turned Valve's Steam Frame sources into 24 repositories inside 13 minutes

A mirror turned Valve's Steam Frame sources into 24 repositories inside 13 minutes

24 repositories carrying the Steam Frame's kernel, graphics drivers, bootloader and fan control were created on the evlaV GitHub organisation between 23:48:55 UTC on October 13 and 00:01:32 the next morning, 18 of them carrying the Frame's deckard codename. Valve distributes the Frame's sources itself as tarballs on its own server, where the 7.2 kernel package weighs 2.4 GiB, so what changed in those 13 minutes is that the code became readable a file at a time rather than as a 2.4 GiB download.

Thumbnail of Valve's Steam Frame video on the headset's Steam store page

The thumbnail Valve uses for its own Steam Frame video on the headset's store page. Image: Valve

evlaV is a mirror and not Valve: its own documentation says the project rebuilds SteamOS repositories automatically and runs four times a day. The provenance that counts sits in the commits, which are authored from valvesoftware.com addresses with their own timestamps.

The kernel fork carries the branch everything was read from

deckard-linux is a fork of torvalds/linux whose default branch is sm8650-7.2 and whose description reads "The Linux kernel sources used in SteamOS ARM for the Steam Frame". GitHub puts it at about 6.1GB, it was created first of the 24, and it was last pushed at 03:54:58 UTC on October 14.

That branch lines up with what Valve distributes. Valve's own Deckard source index holds 334 source packages, among them linux-72-deckard-7.2.0+g152ecbcff010, dated October 14 at 01:57, and the g-hash in that version string is the commit sitting at the top of sm8650-7.2. The previous one, built from a different commit, is dated October 13 at 20:48.

Valve engineers' names are on the commits

The commit the kernel package is named after is Gabe Rowe's, from a valvesoftware.com address, authored at 01:04 UTC on October 14, and it fixes an invalid parameter in a defconfig named after him. Four more Valve commits from the hours before it: Amanda M. Watson reading a per-input shunt resistor from the device tree for a power monitor, Elliot Saba adding a hwdebug config "to aid in finding driver bugs", Aaron N reverting a temporary debug hack for an ath12k Wi-Fi crash, and Rowe cloning the mass-production device tree into a debug variant.

One contributor from outside Valve is visible in the same history: Matthew Leach at Collabora, whose ath12k survey-indexing fix is dated June 17. The Qualcomm directory those device trees live in carries 18 board files for the Frame's own revisions, from EV1 through DV1 and DV2 to mass production, one of them a DV1 board whose model string ends T10Robothead. Three Ayaneo handhelds sit in the same directory and have nothing to do with the headset.

Several repositories arrived on a developer's own branch

23 of the 24 were created in the 96 seconds from 23:59:56, four or five seconds apart, which is what an automated run looks like rather than a decision taken 24 times. Several landed with a working branch as the default: deckard-steamos-efi on T17991-make-boot-quiet, deckard-u-boot on casey/bwrapper-fixes-and-improvements and deckard-steamos-manager on arunr/gpu-set-clocks-simplify.

The set covers more than the kernel. Mesa, U-Boot, linux-firmware and fan control each have a deckard repository of their own, and three Qualcomm graphics driver trees arrived with them, along with Perfetto and RenderDoc.

This is not the CAD release. Valve publishes hardware documentation on its own GitLab, which is where the PCIe Gen4 lane in the Frame's camera port was found earlier this month, and those files are mechanical and electrical references for accessory makers. These 24 are the software the headset runs.

What they are not is complete. A separate repository created on October 9 and called simply deckard describes itself as "The (partial) Steam Frame SteamOS source packages", and the mirror's documentation says it cannot calculate branch points for the ARM sources "as they are partial". Valve publishes the Steam Deck's package sources the same way, on a server of its own, and the useful change here is that the Frame's can now be read a file at a time.

Leave a Comment

Your email address will not be published. Required fields are marked *