FEX-Emu: Mesa interactions in an emulated environment

6 Oct 2022, 10:35
45m
201 (Opus Hall)

201

Opus Hall

30 S 10th Street, Minneapolis, MN
Talk (full slot, Wineconf and FOSS XR only) Main Track

Speaker

Ryan Houdek (FEX-Emu)

Description

FEX-Emu is an emulator for running x86 and x86-64 applications on AArch64.
Running Mesa inside of this emulated environment is an interesting challenge that cross architure, ABI, and kernel API boundaries.

A short primer on how FEX-Emu works then we will walk through the challenges of running video drivers on architectures that they were not originally designed for. What it means to run inside of an emulated environment from the mesa perspective. Then what we are doing for performance optimizations, debug improvements, and future endeavors.

Challenges include:

  • IOCTL/DRM interface isn't the same between architectures
  • Virtual address space not being 47-bit
  • Jumping across architecture boundaries for thunks
  • Running 32-bit applications as a 64-bit process
  • Compiling AArch64 drivers for an x86/x86-64 environment
GSoC, EVoC or Outreachy No
For which conference do you send the proposal? X.Org Developers Conference 2022
Code of Conduct Yes

Primary author

Ryan Houdek (FEX-Emu)

Presentation Materials

2023 Platinum Sponsor
Igalia
2023 Gold Sponsors
Google
Collabora
Arm
Microsoft
2023 Silver Sponsors
FEX-Emu
The Linux Foundation
AMD
Qualcomm
2023 Bronze Sponsors
Khronos Group
CodeWeavers
2023 Supporters
A Coruña Turismo
GPUL
Raspberry Pi