An owner says Steam's Arm64 client can start natively, and Valve closed the report

An owner says Steam's Arm64 client can start natively, and Valve closed the report

An owner says Steam's Arm64 Linux client starts natively on a 16K-page kernel once 33 of Valve's own files are relinked, and Valve closed the report without taking the change. The reply, in full: "the Steam for Linux client is not currently supported on ARM based hardware", posted on October 16 and marked not planned.

The top edge of a Steam Deck, showing its power button, USB-C port and vents

Steam Deck runs x86, so its client never meets this fault, which is in the Arm64 build of the same client. Image: Valve

The report, 13745, went up that morning and names one fault. The client's Arm64 binaries are linked with 4K segment alignment, so a kernel that uses 16K or 64K pages cannot load them, and running the loader by hand returns "ELF load command address/offset not page-aligned".

The machine behind it is an unusual one, and the report says so plainly: an Apple M2 Ultra Mac Pro on Fedora Asahi Remix 44, kernel 7.1.13, where the page size reads 16384. The workaround in the report is to run Steam inside a 4K-page virtual machine, "which also forces every game into the VM".

Most of the client is already linked for bigger pages

The reporter counted the installed files. Thirty-three Valve-built aarch64 files have load alignment below 16K, 30 of them in the Arm64 runtime directory including the client binary, steamwebhelper, steamclient.so and steamui.so, and three more in the Arm64 client directory. In the report's words, "only these 33 Valve-built files block a native setup".

Everything around them is fine. Fifty-three files in the same runtime directory are 64K-aligned, libcef.so among them, and the Arm64 build of Steam Linux Runtime 4 is 64K-aligned throughout. The suggested change is to link the Arm64 client and steamclient.so with the 64K max-page-size flag Valve applies to libcef.so and the runtime, which would work on 4K, 16K and 64K kernels alike.

The test in the report is a straight one. Copies of the 33 files were rewritten for 64K alignment, after which, the report says, "the client then starts natively, runs steamwebhelper on the native GPU, and connects to Steam". None of that has been confirmed by anyone else, and it is one person on one machine.

Valve's Steam Machine photographed at an angle on a beige surface

Steam Machine is x86 as well, which leaves Steam Frame as the only Valve device whose spec sheet lists ARM64. Image: Valve

Valve's game-side Arm stack runs where the client does not

The same report says Proton 11.0 on Arm64, Wine and FEX all run natively on the 16K-page kernel. That is the layer Valve has been building out in public all autumn, from the first Arm64 build of Wine Mono in September to Igalia's work on how fast unaligned x86 atomics can be handled on Arm.

A screenshot from The Lab on its own Steam store page

Valve's own VR showcase needs a desktop Steam client, and on Arm hardware that is the part Valve says it does not support. Image: Valve

Valve used the same sentence 12 days earlier

The wording is not new. On October 4 Valve closed an Arm64 Remote Play report with the same line and the same pointer to feature request 4061, which we reported on October 5. That request has been open on Valve's tracker since October 2015.

Two first-party facts sit either side of that sentence. The build string in the report is a public beta Arm64 Linux client, which Valve publishes, and the reporter says the stable build behaves the same way; and the Steam Frame hardware page gives the headset's processor as a 4nm Snapdragon 8 Gen 3 with "Architecture: ARM64". Valve has not been asked about the two together and has said nothing about them.

What Valve has stated is a support position, not a technical finding: "not currently supported" says nothing about whether the client can be made to work, which is the question the report answers for itself. An Apple desktop running a community Linux port is nobody's supported configuration, and the Arm64 client branch Valve publishes is still there to opt into.

1 Comment

  1. Emmanuel says:

    In English for the rest of us?

Leave a Comment

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