Valve and Collabora have made available the first public preview of Holo Core, a dedicated aarch64 port of Arch Linux that will serve as the operating system foundation for the upcoming Steam Frame VR headset. The preview, announced July 17 on Collabora’s blog, includes source packages, prebuilt binaries, and a development container, giving game developers and Linux enthusiasts an early look at the Arm-based platform underpinning Valve’s next-gen VR ambitions.
What’s Actually in This Preview?
Holo Core is not a general-purpose Linux distribution you can slap onto a Raspberry Pi and call a day. The preview ships a curated subset of Arch Linux packages—several thousand in total, including their build and runtime dependencies—precisely what’s needed for Steam Frame development and image creation. The package set is based on a snapshot of the Arch Linux “state” repository at commit 97c0a0b47d15, with patches applied wherever necessary to get things building on Arm64.
Collabora has published a build container at registry.gitlab.steamos.cloud/holo/holo-core-aarch64-preview/base-devel. When spun up on an aarch64 host (or emulated on x86-64 via QEMU), it provides a functional Arch environment with the ported packages pre-installed. Developers can clone the project’s GitLab repository and use standard Arch tools like makepkg to compile individual packages right inside the container.
The key word is “preview.” The package tree is incomplete, the continuous integration pipeline is still under construction, and the infrastructure required to keep pace with Arch’s rolling releases isn’t yet operating continuously. But the fact that this environment exists and can reliably build code from a historical Arch snapshot is a significant milestone. It proves that the tooling to replay Arch Linux’s build history on a completely different architecture works, even when upstream sources have moved, checksums have changed, and dependencies have leapfrogged each other in version.
Who Should Care (and Why)
Windows Game Developers
If you’re shipping VR games on Steam, Holo Core is the ground floor of the Steam Frame compatibility stack. Valve’s documentation for Steam Frame specifies that most Windows x86 titles will run through two translation layers: Proton (Windows API to Linux) and FEX (x86 instructions to Arm64). On top of that, the headset uses Vulkan as its native graphics API, so DirectX titles will also pass through DXVK or VKD3D inside Proton.
A stable, well-maintained Arm Linux base is therefore a hard requirement for the whole stack. If Holo Core can’t keep up with Arch’s rolling releases or produces broken library transitions, Proton and FEX will inherit the pain. Developers accustomed to testing on Steam Deck’s x86-64 SteamOS can now set up a similar Arm64 environment with the container and begin stress-testing their builds under Proton+FEX. Valve’s Steamworks documentation says this is the preferred path, alongside a native Android Arm64 path via the Lepton runtime for titles that already have such builds.
Practically, this means you should:
- Pull the Holo Core container and experiment with proton-ge-custom or Valve’s official Proton builds inside it.
- Run your Windows x86 binaries through FEX to get an early sense of performance and compatibility issues.
- Check whether your game’s middleware (physics engines, anti-cheat, codecs) has Arm64 Linux support, because gaps there will force emulation that could break.
VR Tinkerers and Linux Enthusiasts
If you’re not a developer but love poking at bleeding-edge tech, you can explore Holo Core on any aarch64 system. This includes Raspberry Pi 4/5 (with appropriate Linux distribution), Apple Silicon Macs running an Arm Linux VM, or cloud instances like AWS Graviton. On an x86-64 machine, you can run the container under QEMU user-mode emulation—but be prepared for glacial compile times, as every Arm binary inside the container will be emulated.
Collabora’s instructions walk through setting up qemu-user-static and binfmt on an Arch Linux host, then using distrobox to create the container. Once inside, you can browse the included packages, run sudo pacman -Syu to update against the preview repository, and even try building packages from source. Just don’t expect this to turn into your daily driver desktop; it lacks X11/Wayland libraries, desktop environments, and most user-facing applications. It’s a builder’s sandbox, not a finished OS.
Everyday Windows Users and Steam Deck Owners
For now, Holo Core lives entirely in the background. You won’t download it, install it, or interact with it directly. The preview matters because it’s the first tangible piece of Steam Frame’s software puzzle—proof that Valve is serious about getting Arm-based VR hardware into developers’ hands. If the platform succeeds, it could eventually lead to a SteamOS-based Arm distribution for general computing, but that remains pure speculation.
A Rocky Road to a Rolling Release
Arch Linux does not officially support aarch64. There is no trusted, maintained Arm64 repository, and the project’s CI infrastructure was never designed to build packages for that target. Collabora’s team had to invent tooling from scratch that could take a snapshot of Arch’s state repository and “replay” the entire build history—from bootstrap to the latest coreutils—on an entirely different CPU architecture.
This is much harder than it sounds. Arch is a rolling distribution: during the months it took to produce this preview, upstream packages continued to advance, sometimes several versions ahead of the snapshot being rebuilt. Compounding the problem, building a package often requires an intermediate version of another package that was never explicitly recorded. For example, rebuilding Rust 1.91 demands having Rust 1.90 available, which itself needs 1.89, all the way back to the bootstrap compiler. Collabora’s tooling had to calculate this hidden dependency chain and ensure the CI pipeline built packages in the correct order.
Other curveballs included SONAME transitions for libraries used by the package manager itself—pacman depends on gpgme and icu, but those libraries changed across the snapshot period, requiring careful management of old and new versions during the build. Upstream source locations shifted; short Git hashes that Arch packagers used expanded into full hashes, breaking checksums; and many upstream servers now rate-limit automated downloads to fend off AI scrapers, which snagged CI jobs mid-build.
Despite these hurdles, the team produced a reproducible package tree that builds from first principles up to a defined snapshot. The preview proves the concept; now the challenge is turning that one-shot process into a continuously operating CI system that shadows Arch Linux as it evolves. Collabora says it will work with the upstream Arch project to help them eventually establish an official Arm64 port.
Getting Your Hands Dirty: First Steps
If you have an aarch64 host, getting started is straightforward. Install distrobox (or another container manager like Docker/Podman), pull the base-devel image, and enter the environment. From there, sudo pacman -Syu will work, and you can clone the package repository to rebuild individual packages with makepkg. No special virtualization is required on native Arm hardware.
On an x86-64 host, the setup requires QEMU user-mode emulation and binfmt configuration so that the kernel knows to run Arm64 binaries through qemu-aarch64-static. Collabora’s blog post has exact commands for Arch Linux hosts, but the process should be similar on other distributions. One gotcha: the default QEMU binfmt flags (FP) prevent SUID binaries like sudo from working inside the container, which blocks makepkg from installing build dependencies automatically. You can enable the C (credentials) flag to fix this, but be aware that doing so allows execution of SUID Arm64 binaries system-wide—a potential security risk on shared machines.
Once inside the container, try building something like coreutils to verify the toolchain works. Expect long compile times if you’re emulating, because every invocation of gcc, ld, and make will be emulated. This is strictly a test environment; pushing large-scale rebuilds will require native Arm CI runners, which are becoming more accessible through cloud providers.
Game developers should go further: install Proton (via the AUR or Valve’s official flatpak) and FEX-Emu inside the container and attempt to launch a Windows x86 binary. Early feedback will help both Valve and the community identify showstopping compatibility bugs before Steam Frame hardware ships.
What Comes Next
Collabora’s immediate goal is to transform the build system into a live, continuously integrated pipeline that tracks Arch’s rolling releases in real time. The next milestone will likely be a regularly updated package snapshot, followed by a complete SteamOS image for the Steam Frame hardware. That image won’t look like a traditional Arch desktop; it will be stripped down to boot the headset and launch SteamVR, with Proton and FEX baked in.
For Windows users, the critical metric to watch is game compatibility. When Valve’s compatibility testing tools (like those on Steam Deck) begin reporting results for Arm64 Proton+FEX, we’ll have a clear picture of how many existing VR titles will actually work on Steam Frame. The strength of Holo Core’s package maintenance will directly affect those scores, because a broken library version can cascade into failure across dozens of games.
Valve has a history of turning developer previews into consumer successes—SteamOS 3.0 on Deck started in similar obscurity. If the Arm64 port matures on schedule, it could open the door to a new wave of standalone VR devices that run large Windows game libraries without x86 hardware. For now, Holo Core is a promising, deeply technical first step that invites developers to start building on the same foundation that will ship with Steam Frame.