x86-based architectures have remained dominant in the desktop space due to the incompatibility of pre-built x86 binaries with other architectures, making some software for which the source code is no longer available impossible to run. But what if there was another way? As Microsoft and Apple have experimented with binary translation layers in their attempts to move to different CPU architectures for their products, us Linux users have had a working solution this entire time - through our favorite emulator, QEMU! This talk will cover QEMU user mode, a rarely-used QEMU mode that allows a Linux system to run binaries from another architecture as if they were native. We'll explore how binaries from 30 different CPU architectures can run on any modern Linux host, how you can make all binary executables from any architecture work by default on your system using binfmt, and how you can even repackage binary applications to run on any Linux system.
Attending this session will help you:
- Learn about QEMU user mode and how it can be used to run executables from 30 different system architectures.
- Understand how to make this execution be pass-through using binfmt and install cross-architecture libraries.
- Discover how cross-architectural emulation in QEMU solves a wide variety of problems for developers.
- Explore how static-compiled QEMU user mode can be used in a wide variety of other tough situations to run software.



