Specifically, SteamOS for the Steam Frame. I have so many questions. The Frame runs “SteamOS”. Only SteamOS is based on Arch/x86, and the Frame runs ARM/Qualcomm, so surely this is a sort of “SteamOS for ARM”? I understand FEX (ish), are they just running the entire OS through FEX? Arch doesn’t seem to have an ARM version I can find so did Valve do the work of porting Arch to ARM? And if so, where is the source code?
There was “Arch Linux ARM” (“ALARM”) for a while but all updates that happen to it currently are automations. Stuff breaks more and more from time to time and the maintainer is unresponsive. I am assuming that’s why the Asahi project moved to Fedora. And a new proposition inside of Arch Linux allows a “port” to be made but nobody submitted anything. It needs 2 maintainers minimum.
Anyways, so what I am assuming happened is that they just did their own port and never released the build scripts, because of course they would.
From what I’ve heard, only a small “base” is actually running natively and FEX has it’s root set to a specific variant of the “Steam Linux Runtime” (you know, like when you install something on Steam it installs that?) fit to run Steam itself rather than games, but that’s just my hypothesis.
It seems like Valve and Collabora are working together to port Arch to ARM. They call it Holo Core which might be why the source code didn’t show up but I think this is it probably?
I dont get it, I’ve been using Arch Arm for years on serveral Raspberry Pis. The hardware has to be supported but it works, and it’s mantained
Thank you for answering my question so succinctly haha
Arch doesn’t seem to have an ARM version
it’s “unofficial” but arch has had an arm port for years: https://en.wikipedia.org/wiki/Arch_Linux_ARM / https://archlinuxarm.org/
where is the source code?
Steam has a bunch of code on the page you linked, including some Steam Frame-specific code. Note however that SteamOS is not an entirely free software (open source) operating system; it contains lots of free/libre software but also contains some proprietary parts. They are only required to ship source code for the copyleft-licensed components in it; nothing requires them to actually distribute a complete working distribution for hardware they don’t want to. And, it appears that in the case of their ARM port, they do not currently distribute an image for anything besides their Frame device.
they use a translation layer
Linux runs on a CPU which has an architecture, an internal set of rules and design guidelines. If you have a Linux kernel for an x86_64 processor it will work on any x86_64 processor, and the same goes for Arm. SteamOS can have two separate builds which target a different processor architecture but still have the same selection of tools and configuration to make a workable desktop experience. That is what they have done here.
Arm and x86_64 can both use WINE to run Windows applications on Linux, but on Arm systems we also need something similar to handle interpreting the x86_64 instructions to run correctly. That is something present in the Arm build that isn’t in the x86_64 build. Also if you want to run Android apps on the Arm build you would need fewer layers for compatibility as the underlying instruction set matches, so you just need the operating system level things to make the app run properly.
Overall it is really simple conceptually but more complex practically. I am glad they are doing it, Arm is a much more power efficient architecture and is quite performant, so I am keen to see the results from here.



