x86 on ARM


With ARM64 becoming an ever more viable platform for general Linux desktop and laptop use, we find ourselves at an exciting juncture. For the first time in a generation, there's a split between a dominant and well-established architecture, x86 and x86-64, and a nascent newcomer, ARM-based AArch64. Most distributions now have a quickly maturing ARM build of their latest releases, and open source means almost everything can be rebuilt without too much difficulty, but there's still a transition period for some software, especially on distributions such as Arch where not everything in the AUR offers an ARM binary and proprietary software with only x86-based builds. Apple is tackling this problem on its M1 and M2 macOS machines with its incredibly performant Rosetta, which now works natively within Ubuntu virtualization on macOS, but FEX is trying to do the same thing for native Linux.

FEX is an x86 and x86-64 compatibility and translation layer for ARM64, enabling you to run x86 binaries from an ARM host. It only currently works with ARMv8.0 and ARMv8.1+, rather than the chips found on older Raspberry Pi devices, but it does run quickly and efficiently enough to be unnoticeable on modern hardware. It's a brilliant way to run games and other proprietary software that may not yet offer native ARM builds. On Ubuntu, there's a handy script that will install all FEX's necessary dependencies and add the project's PPA to your package archive. An x86 RootFS image of the same distribution is also needed to provide the runtime environment for your x86 executables, and the script will download this and let you choose to run it uncompressed or from the compressed image to save space. Either way, it works without any further setup. Type FEXBash and you immediately get an x86 version of Bash running within your own filesystem. Type uname -a and you'll see it's x86, and you can access many other x86 executables directly. Even graphics acceleration remains intact as it's passed through to your host system libraries, and it all works brilliantly.

Project Website

Here's an x86 version of StepMania running with FEX on an ARM64 version of Ubuntu running virtualized on an M1 Mac.

Audio effects

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Slideshows with Kdenlive

    Kdenlive plays to its strengths when editing larger video projects and also helps users create appealing slideshows with impressive effects.

  • FOSSPicks

    This month Graham explores Carla, digiKam 7, NoiseTorch, diskonaut, Surge 1.7, Trigger Rally, and more.

  • Tutorials – Natron

    Natron gives you the power to apply sophisticated effects to your videos, but its node-based interface can be a bit confusing. This tutorial will help you get a grasp on the basics.

  • Lightworks

    The free editing program Lightworks Free makes small video editing projects easy. If you need more, use the Pro version.

  • FOSSPicks

    Graham recently found the perfect use for his old Nintendo DS Lite. Thanks to having exactly the same screen resolution, it now runs the brilliant ZXDS Sinclair ZX Spectrum emulator.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More