Technical presentation - 30 minutes (including q&a)
Recently, more ARM64 laptops have become available, with more powerful CPUs and better GPUs than before, making them a viable alternative to mainstream x86 devices for daily use. However, most commercial games still do not provide native ARM binaries, so the only option is to emulate x86-32/64 code on ARM. While Windows and MacOS have their own emulator, what are the alternatives on Linux? How fast and compatible does an emulator have to be to ensure a good gaming experience? This talk will discuss the challenges of x86-32/64 emulation with a practical focus on FEX-EMU, an open-source, fast x86-32/64 emulator for ARM64 platforms optimized for games. It will explain how anyone with an ARM64 laptop can run commercial games on Linux, while also discussing limitations and options to mitigate compatibility issues for games that may not work out-of-the-box. Key technical and practical aspects will be covered, including some architectural differences -- such as *Total Store Ordering (TSO)* memory model, *X87 Floating point operations* -- and techniques that impact performance, like *library thunking* (use of host libraries instead of emulating them). This will be followed by a brief introduction on FEX-EMU installation, usage, performance benchmarks, and alternatives. A live demo may be included if time allows. While this is a technical talk, it is designed to be accessible to everyone, whether you are a developer, a Linux enthusiast or simply curious about gaming on ARM64. TOC Introduction to x86-32/64 emulators Challenges: - TSO Emulation - Library Thunking - X87 Emulation FEX-EMU - Installation - Usage - Performance Insights Alternatives on Linux Discussion Demo(?)
No slides available.