Sign inSign up

qemux/qemu-macos

Sponsored OSS

By qemux

Updated 14 days ago

QEMU build for running macOS guests with hardware-accelerated graphics

Image
Integration & delivery
Developer tools
Operating systems
1

86

qemux/qemu-macos repository overview

QEMU macOS

Build Version Size

Custom Linux build of QEMU for running macOS guests, with Reims vGPU support for hardware-accelerated graphics.

What is Reims? 🚀

Reims is a paravirtualized GPU implementation for macOS guests. It exposes a virtual Apple-compatible GPU to macOS and uses the stock AppleParavirtGPU.kext already present in the guest, so no custom guest kernel extension is required.

On the Linux host the macOS GPU command stream is decoded by Reims and executed through Vulkan on the host GPU. The physical GPU remains owned by Linux instead of being dedicated to the virtual machine through PCI passthrough.

At a high level:

macOS application
      │
      ▼
Metal
      │
      ▼
AppleParavirtGPU.kext
      │
      ▼
reims-vgpu-pci
      │
      ▼
QEMU + Reims
      │
      ▼
metal2vulkan
      │
      ▼
Host Vulkan driver
      │
      ▼
Physical GPU

Runtime requirements ⚙️

  • KVM acceleration.
  • The Reims vGPU PCI device.
  • Shared memfd-backed guest RAM.
  • A Vulkan 1.2 or newer host driver.
  • The Reims GOP option ROM for EFI display output.

VMVGA 🖥️

This build includes VMVGA, a virtual graphics adapter implementing the VMware SVGA interface, to improve performance even when the Reims vGPU is disabled.

Acknowledgements 🙏

Special thanks to steelbrain, this project would not exist without his invaluable work.

Tag summary

Content type

Image

Digest

sha256:e46711b62

Size

10.5 MB

Last updated

14 days ago

docker pull qemux/qemu-macos

This week's pulls

Pulls:

36

Last week