#2354·love

CMake-built LÖVE 12 crashes when starting the Metal renderer on macOS

Author: zigmarCreated Aug 19, 2026Updated Aug 20, 2026

A clean CMake build from the current main branch crashes during Metal startup, before the app stats. The same executable works with the OpenGL renderer.

I know that CMake prints a warning that it is not officially supported on Apple platforms, but since the build includes the Metal backend I assume the crash was worth reporting.

Reproduction steps

  1. Check out current main ( tested on commit 853f1cad4bb65d63f02dbcd3fa31b0c622d3abbc).
  2. Configure and build LÖVE:
bash
cmake -B build -S . \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DLOVE_JIT=ON \
  -DOPENAL_INCLUDE_DIR=/opt/homebrew/opt/openal-soft/include/AL \
  -DOPENAL_LIBRARY=/opt/homebrew/opt/openal-soft/lib/libopenal.dylib

cmake --build build --target love -j"$(sysctl -n hw.ncpu)"
  1. Run the repository's bundled math tests with Metal:
bash
NSUnbufferedIO=YES MTL_DEBUG_LAYER=1 \
  ./build/love --renderers metal testing --modules math

Results

The process crashes before any tests run:

love.conf
Metal API Validation Enabled
Segmentation fault: 11

Exit status: 139.

The generated macOS crash report shows:

Exception: EXC_BAD_ACCESS (SIGSEGV)
Subtype: KERN_INVALID_ADDRESS

objc_msgSend
love::graphics::metal::Graphics::submitComputeEncoder()
love::graphics::metal::Graphics::submitAllEncoders(...)
love::graphics::metal::Graphics::useBlitEncoder()
love::graphics::metal::Buffer::unmap(...)
love::graphics::metal::Buffer::fill(...)
love::graphics::metal::Graphics::Graphics()
love::graphics::metal::createInstance()

Tested this on several different LOVE programs with the same result. The programs that run with OpenGL backend work fine. For example same as above:

bash
./build/love --renderers opengl testing --modules math

Gives:

20 PASSED || 0 FAILED || 0 SKIPPED

My system info:

Model: MacBook Pro (Mac16,6)
Chip: Apple M4 Max, 16 cores
Memory: 64 GB
OS: macOS 26.6.1 (25G76)
Architecture: arm64
LÖVE: 12.0 (Bestest Friend)
Commit: 853f1cad4bb65d63f02dbcd3fa31b0c622d3abbc
CMake: 4.3.2
Compiler: Apple clang 21.0.0 (clang-2100.1.1.101)
SDL: 3.4.12 from Homebrew