Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/eden-emulator/mirror/llms.txt

Use this file to discover all available pages before exploring further.

Eden on macOS is relatively stable, with only occasional crashes and bugs. Support relies on the MoltenVK layer to translate Vulkan calls to Metal — this works well in most cases, but introduces some compatibility limitations compared to native Vulkan platforms. Plans are in progress to support KosmicKrisp and similar newer GPU backends as alternatives to MoltenVK.
Neither macOS nor Asahi Linux currently supports NCE (Native Code Execution). Additionally, Asahi has known paging bugs with fastmem. This means performance on Apple Silicon Macs running Eden natively will be more CPU-limited than on other platforms.

Bypassing Gatekeeper

macOS Catalina and later require all software to be signed by Apple or a trusted (paid) developer. Eden is not signed through Apple’s program, so the system will block it on first launch. Follow these steps to allow it:
1

Open System Settings

Open the System Settings panel from the Apple menu or Dock.
2

Navigate to Privacy & Security

Select Privacy & Security from the sidebar.
3

Find the security prompt

Scroll down to the Security section. You will see a message indicating that Eden was blocked because it is from an unidentified developer.
4

Select Open Anyway

Click Open Anyway to tell macOS you trust the application.
5

Confirm in the dialog

A confirmation dialog will appear. Click Open Anyway again.
6

Enter your credentials

Enter the password for an account with administrator permissions and press OK.
7

Eden opens

Eden will now launch. Subsequent launches will not trigger this prompt.
A visual step-by-step version of this guide with screenshots is available at the Notion guide.

MoltenVK

MoltenVK is a Vulkan-to-Metal translation layer required on macOS because Apple does not expose native Vulkan support. Eden bundles or depends on MoltenVK to render graphics. Known MoltenVK limitations:
  • The driver breaks when using more than 16 vertex attributes/bindings.
  • Some Apple Silicon GPU and driver combinations have problems with fragment discard when early depth testing is enabled — discarded fragments may appear corrupted.
  • Reversed viewport depth range does not work correctly on MoltenVK, mirroring a known limitation on several other Vulkan drivers.
Compatibility may suffer on macOS relative to Linux with RADV drivers, specifically because MoltenVK does not support the full Vulkan feature set. If a game works on Linux but not macOS, the MoltenVK layer is the most likely cause.
Users who want better Vulkan support on Apple Silicon may wish to explore Asahi Linux, which is gaining support for KosmicKrisp — a native Vulkan implementation for Apple Silicon. Note that Asahi currently has NCE limitations and fastmem bugs.

Qt Version Requirement

Building the GUI version of Eden with Qt higher than 6.7.3 causes mysterious Vulkan errors, crashes, and intermittent system UI freezes on macOS. Always build with Qt 6.7.3 or earlier.
The CI pipeline builds with Qt 6.7.3 via aqtinstall. If you are building from source, install the correct Qt version:
pip install aqtinstall
aqt install-qt mac desktop 6.7.3 clang_64

Intel Mac Support

Intel Macs are believed to be supported, but no CI is provided for them. Performance on Intel Macs will likely be poor on all but the highest-end iMac and Mac Pro configurations due to:
  • Weaker integrated or discrete GPU options compared to Apple Silicon
  • The additional translation overhead from MoltenVK on top of whatever Vulkan feature gaps exist for the specific GPU
If you are on an Intel Mac and want better performance, running Linux natively (dual-boot) with RADV drivers is the most effective option.

Building from Source on macOS

If you are building Eden from source on macOS, you will need the following dependencies via Homebrew:
brew install cmake ninja qt@6 ffmpeg sdl2 molten-vk
Ensure that the qt@6 formula is pinned to 6.7.3 or that you use aqtinstall to control the exact version, as noted above.

Build docs developers (and LLMs) love