Linux-arm64 release on experimental steam branch?

Post all other topics which do not belong to any other category.
Aureus
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Aug 30, 2026 1:43 am
Contact:

Linux-arm64 release on experimental steam branch?

Post by Aureus »

I haven't seen anyone talk about it here on the forum. So I wanted to make this post.
On steam in the experimental branch a linux-arm64 build of Factorio is distributed with the linux x64 depot.

I have been playing that build for a couple days now. It is running really well on my Snapdragon X Elite laptop. And now I'm addicted to Factorio. Thanks!
08-30-2026, 01-49-34.png
08-30-2026, 01-49-34.png (16.41 KiB) Viewed 887 times
08-30-2026, 01-50-58.png
08-30-2026, 01-50-58.png (26.38 KiB) Viewed 887 times
08-30-2026, 01-51-30.png
08-30-2026, 01-51-30.png (56.28 KiB) Viewed 887 times
eugenekay
Smart Inserter
Smart Inserter
Posts: 1305
Joined: Tue May 15, 2018 2:14 am
Contact:

Re: Linux-arm64 release on experimental steam branch?

Post by eugenekay »

Well i guess I have to try this on a Raspberry Pi next!
h.q.droid
Filter Inserter
Filter Inserter
Posts: 272
Joined: Mon Nov 18, 2024 12:10 pm
Contact:

Re: Linux-arm64 release on experimental steam branch?

Post by h.q.droid »

How did you download it? From steam? I tried to download the Linux package from factorio.com and it doesn't have the AARCH64 executable.

EDIT: got the file from Steam. It didn't work:
- The window title says 2.1.15 despite being from a 2.1.17 install
- It hangs on startup

I'm on Asahi Linux. Output:

Code: Select all

   0.000 Initializing Steam API.
[S_API] SteamAPI_Init(): Loaded '/home/hqm/.local/share/Steam/linuxarm64/steamclient.so' OK.
Setting breakpad minidump AppID = 427520
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561198165610669 [API loaded no]
   0.000 2026-09-03 13:08:42; Factorio 2.1.15 (build 87324, linux-arm64, steam, space-age)
   0.000 Operating system: Linux
   0.000 Program arguments: "/home/hqm/.local/share/Steam/steamapps/common/Factorio/bin/x64/../arm64/factorio" 
   0.000 Config path: /home/hqm/.factorio/config/config.ini
   0.000 Read data path: /home/hqm/.local/share/Steam/steamapps/common/Factorio/data
   0.001 Write data path: /home/hqm/.factorio [24873/112951MB]
   0.005 Binaries path: /home/hqm/.local/share/Steam/steamapps/common/Factorio/bin
   0.020 System info: [CPU: arm64, 4 cores, RAM: 12178 MB]
   0.020 Environment: DISPLAY=:1 WAYLAND_DISPLAY=<unset> DESKTOP_SESSION=<unset> XDG_SESSION_DESKTOP=<unset> XDG_CURRENT_DESKTOP=<unset> SDL_VIDEO_DRIVER=<unset> SDL_ENABLE_STEAM_SCREEN_KEYBOARD=<unset> SteamDeck=<unset> __GL_FSAA_MODE=<unset> __GL_LOG_MAX_ANISO=<unset> __GL_SYNC_TO_VBLANK=<unset> __GL_SORT_FBCONFIGS=<unset> __GL_YIELD=<unset>
   0.044 Display options: [FullScreen: false] [VSync: false] [UIScale: manual-pixels (150.0%)] [Native DPI: true] [Screen: 4294967295] [Special: lmw] [Lang: en]
   0.098 Video driver: x11
   0.098 Available displays: 1
   0.099  [0]: eDP-1 13" - {1, [0,0], 2560x1600, SDL_PIXELFORMAT_XRGB8888, 59.99 Hz}
   0.327 Initialised OpenGL:[1] Apple M1 (G13G B1); driver: 4.6 (Core Profile) Mesa 26.0.6
   0.327   [Extensions] s3tc:yes; KHR_debug:yes; ARB_clear_texture:yes, ARB_copy_image:yes, ARB_pipeline_statistics_query:yes, ARB_gl_spirv:yes, ARB_ES2_compatibility:yes
   0.328   [Version] 4.6
   0.442 Graphics settings preset: integrated-gpuhigh
   0.442   Dedicated video memory size 7817 MB (detected from Apple M1 (G13G B1); VendorID: 0x10005)
   0.483 Graphics options: [Graphics quality: medium] [Video memory usage: all] [DXT: low-quality]
   0.483                   [Max threads (load/render): 32/4] [Max texture size: 4096] [Tex.Stream.: false] [Rotation quality: low] [Other: sTDCwtl] [B:0,C:0,S:100]
eugenekay
Smart Inserter
Smart Inserter
Posts: 1305
Joined: Tue May 15, 2018 2:14 am
Contact:

Re: Linux-arm64 release on experimental steam branch?

Post by eugenekay »

The arm64/factorio binary is only available through Steam; it is not (yet?) included in the Linux tar.xz release on the Website. This would be amazing to have available without Steam.

I have not had success installing Steam on a Raspberry Pi, since that is a i386-only application. It is theoretically possible to cross-run the binaries, but the package situation on Debian is a mess so I gave up. :-(

Copying the binary over from a i386/amd64 system also did not work: the Steam version of the binary requires the Steam Service to be running.
h.q.droid
Filter Inserter
Filter Inserter
Posts: 272
Joined: Mon Nov 18, 2024 12:10 pm
Contact:

Re: Linux-arm64 release on experimental steam branch?

Post by h.q.droid »

eugenekay wrote: Fri Sep 04, 2026 6:19 pm The arm64/factorio binary is only available through Steam; it is not (yet?) included in the Linux tar.xz release on the Website. This would be amazing to have available without Steam.

I have not had success installing Steam on a Raspberry Pi, since that is a i386-only application. It is theoretically possible to cross-run the binaries, but the package situation on Debian is a mess so I gave up. :-(

Copying the binary over from a i386/amd64 system also did not work: the Steam version of the binary requires the Steam Service to be running.
Well, steam has a native arm64 version too now. I'm already running that on Asahi! And my problem turns out to be a muvm problem that you most likely don't have to care on a Pi. The guide is here:

https://www.reddit.com/r/AsahiLinux/com ... ux_fedora/
Aureus
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Aug 30, 2026 1:43 am
Contact:

Re: Linux-arm64 release on experimental steam branch?

Post by Aureus »

h.q.droid wrote: Thu Sep 03, 2026 4:10 am How did you download it? From steam? I tried to download the Linux package from factorio.com and it doesn't have the AARCH64 executable.

EDIT: got the file from Steam. It didn't work:
- The window title says 2.1.15 despite being from a 2.1.17 install
- It hangs on startup
When I made this post it was only on the steam experimental depot. I am running ubuntu on a snapdragon X elite laptop.
I am running the aarch64 version of steam with the steam runtime 3 beta. I have had no problems running the game with the setup I am using, but aarch64 is so wacky I could just be an exception.


To run the aarch64 version of steam you can use this script which downloads the aarch64 version of steam and the aarch64 steam runtime 3. Then launches steam which should update it:

Code: Select all

#!/usr/bin/env bash

# verbose
# export PS4='${LINENO}: '
# set -x

set -o pipefail
shopt -s failglob
set -u

log () {
	echo "steam-init.sh[$$]: $*" >&2 || :
}
# This version interprets backslash escapes like echo -e
log_e () {
	echo -e "steam-init.sh[$$]: $*" >&2 || :
}

STEAMROOT="$(cd "$(dirname "$0")" && echo $PWD)"
if [ -z "${STEAMROOT}" ]; then
	log $"Couldn't find Steam root directory from "$0", aborting!"
	exit 1
fi

RTARM64ROOT="$STEAMROOT/steamrtarm64"

if [ ! -x "$RTARM64ROOT" ]; then
	mkdir -p "$STEAMROOT/package"
	echo "publicbeta" > "$STEAMROOT/package/beta"
	wget -c -t 5 -O "$STEAMROOT/linuxarm64.zip" "https://client-update.steamstatic.com/bins_linuxarm64_linuxarm64.zip.f523fa87fc6b9b5435a5e7370cb0d664ef53b50b"
	unzip -d "$STEAMROOT" "$STEAMROOT/linuxarm64.zip" "steamrtarm64/steam"
	chmod +x "$RTARM64ROOT/steam"
fi

if [ ! -x "$RTARM64ROOT/steam-runtime-steamrt-arm64" ]; then
	log "Downloading steam-runtime"
	wget -c -t 5 -O "$RTARM64ROOT/steam-runtime-steamrt-arm64.tar.xz" "https://repo.steampowered.com/steamrt3c/images/latest-public-beta/steam-runtime-steamrt-arm64.tar.xz"
	tar -xvf "$RTARM64ROOT/steam-runtime-steamrt-arm64.tar.xz" --directory "$RTARM64ROOT"
fi

if [ -x "$RTARM64ROOT/steam-runtime-steamrt-arm64" ]; then
    log "Starting steam-runtime"
    "$RTARM64ROOT/steam-runtime-steamrt-arm64/run" "$STEAMROOT/steamrt-boot.sh" "$@"
else
    log "steam-runtime nor pressure-vessel are installed"
fi
Then you can make a copy of the steam.desktop and modify the Exec= to something like this:

Code: Select all

Exec=env STEAMOS=1 STEAM_RUNTIME=1 /home/<YOUR USER>/.steam/steam/steamrtarm64/steam %U
> I always have to run it twice, it always opens silent for some reason for me.


Now you should just be able to run the aarch64 steam client by launching steam from your app launcher. Test in a terminal to see the output's though.

You can confirm if its the aarch64 version of steam by checking the proccess. Get the pid of steam and check the exe to see if its an aarch64 executable:

Code: Select all

file -L /proc/<steam_pid>/exe

But you could just wait. Steam will probably soon actually release all of this when the steam frame comes out.
zkrallex
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Oct 07, 2023 1:34 pm
Contact:

Re: Linux-arm64 release on experimental steam branch?

Post by zkrallex »

Ngl, I'm more interested in this part:
09-13-2026, 01-24-24.png
09-13-2026, 01-24-24.png (16.63 KiB) Viewed 39 times
As most Android are arm64s, makes sense to split the job into porting to architecture first and then shipping to Android.
Post Reply

Return to “General discussion”