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

2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer