Tutorial: Running Steam games on arm64 with FEX
One downside of switching to a less popular architecture like arm64 on your laptop is the worse availability of pre-built binaries. While Ubuntu makes sure its packages work on all supported platforms, the same can’t always be guaranteed for software from other sources and in particular for proprietary applications. One popular app that unfortunately isn’t currently available for arm64 is the steam game launcher and most of the games distributed with it.
This guide will show you the quickest way to get it running anyway on your Ubuntu arm64 machine with the help of the FEX emulator. For more info on FEX, check out their GitHub and wiki.
Install FEX
Before you start you need to install curl.
$ sudo apt install curl
Next, add the PPA and install fex-emu. The easiest way to do this is running the following command from the fex-emu README.
$ curl --silent https://raw.githubusercontent.com/FEX-Emu/FEX/main/Scripts/InstallFEX.py | python3
Getting PPA status: NotInstalled
Installing PPA: ppa:fex-emu/fex
This bit will ask for your password
PPA publishes dbgsym, you may need to include 'main/debug' component
...
If everything goes well you will end up with the FEX PPA configured in /etc/apt/sources.list.d/fex-emu-ubuntu-fex-plucky.sources and fex-emu-armvX.X installed on your system. Ideally InstallFEX.py would also set up a x86 rootfs used for emulation, in my case this failed with the following message:
...
RootFS path doesn't exist. This is required on AArch64 hosts
Use FEXRootFSFetcher to download a RootFS
FEXInterpreter failed to run. Not continuing
That is likely because the Ubuntu Rootfs currently available is based on 24.04 but my host is running 25.04, so InstallFEX.py will not enable one by default.
Fortunately this can easily be fixed by running FEXRootFSFetcher and installing the 24.04 RootFS manually which still works with newer releases.
$ FEXRootFSFetcher
RootFS not found. Do you want to try and download one?
Response {y,yes,1} or {n,no,0}
1
RootFS list selection
Options:
0: Cancel
1: Fedora 40 (SquashFS)
2: Fedora 38 (SquashFS)
3: ArchLinux (SquashFS)
4: Ubuntu 24.04 (SquashFS)
5: Ubuntu 23.10 (SquashFS)
6: Ubuntu 23.04 (SquashFS)
7: Ubuntu 22.10 (SquashFS)
8: Ubuntu 22.04 (SquashFS)
9: Ubuntu 20.04 (SquashFS)
Response {1-9} or 0 to cancel
4
Selected Rootfs: Ubuntu 24.04 (SquashFS)
URL: https://rootfs.fex-emu.gg/Ubuntu_24_04/2025-03-04/Ubuntu_24_04.sqsh
Are you sure that you want to download this image
Response {y,yes,1} or {n,no,0}
y
...
Do you wish to extract the squashfs file or use it as-is?
Options:
0: Cancel
1: Extract
2: As-Is
Response {1-2} or 0 to cancel
1
...
Do you wish to set this RootFS as default?
Response {y,yes,1} or {n,no,0}
1
Ubuntu_24_04 set as default RootFS
An easy way to verify FEX works is running uname in the newly created emulated environment:
$ FEXBash 'uname -a'
Linux user-CRD 6.11.0 #FEX-2508.1 SMP Aug 6 2025 02:54:32 x86_64 x86_64 x86_64 GNU/Linux
Install steam
Steam can be installed from their official mirror. The steam installer linked on the download site won’t work because that pulls x86 specific dependencies but there is an architecture independent build available on their mirrors.
The following commands download the official package directly from there and install in on the local machine.
$ wcurl https://repo.steampowered.com/steam/archive/stable/steam-launcher_latest_all.deb
$ sudo apt install ./steam-launcher_latest_all.deb
Once installed, the steam client can be started with FEXBash:
$ FEXBash steam
To launch it via the desktop icon, you have to mark it Allow Launching as shown in the screenshot below:
Have fun
At this point launching steam via either the command line or desktop icon should get you to a login screen. From here on everything should work as expected.
Be aware that emulating x86 adds a little bit of overhead so the performance might be a little lower than native and some games might not work at all yet. In my experience most games I tried worked surprisingly well with FEX. I have so far successfully tested Portal, Portal 2, Rimworld and Deadlock, the only game that I didn’t get working was Dota2. FEX maintains a more comprehensive list of games in their wiki.
I am certain that there are a lot of ways to fine tune your setup to work even better that I missed to mention here. Don’t forget to check out the FEX wiki for more cool stuff and let me know in the comments if there is anything needs to be added to this tutorial!



