- C 72.6%
- Java 14.2%
- Shell 13.2%
- Mesa macOS port rebased onto upstream main cf0588a5b83 (branch kk-mac-20260718); obsolete patches dropped (nullDescriptor, Metal4-pipeline guards), mtl_device descriptor guards re-added (3 static copies trap — caused macOS 26.5 boot abort) - Voxy bumped to 0.2.17-beta @ 4c04acd4 (last MC 26.1.2 commit), 5 patches carried - Prism instance: Sodium 0.8.12, new voxy jar; old jars in mods/disabled - In-game verified macOS 26.5.2 / M5 Pro: 48 FPS vsync-capped, zink on Vulkan 1.4 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| autoplay-mod | ||
| mesa-src-new@06a1722dc6 | ||
| scripts | ||
| .gitignore | ||
| COMPATIBILITY.md | ||
| DEBUG_REPORT.md | ||
| gl_test | ||
| gl_test.c | ||
| gl_test2 | ||
| gl_test2.c | ||
| HANDOFF.md | ||
| LAUNCHER.md | ||
| PATCHES.md | ||
| README.md | ||
| SETUP.md | ||
| test_kk | ||
| test_kk_context.c | ||
| test_kk_stress | ||
| test_kk_stress.c | ||
Voxy on Mac — GL 4.6 via Zink + KosmicKrisp
Run Voxy (Minecraft LOD mod requiring OpenGL 4.6) on Apple Silicon Macs using Mesa's translation layer stack.
Voxy GL 4.6 → Zink (GL→Vulkan) → KosmicKrisp (Vulkan→Metal) → Apple GPU
Verified (2026-07-18, macOS 26.5.2): 48 FPS vsync-capped (p50=60) on M5 Pro, MC 26.1.2, Sodium 0.8.12, Voxy 0.2.17-beta, Mesa 26.3.0-devel — KosmicKrisp now exposes Vulkan 1.4. (Previous milestone: 44 FPS, 2026-05-08, Mesa 26.2.0-devel / Vulkan 1.3.)
Quick Start
- Build Mesa + GLFW (see
SETUP.md) - Install Prism Launcher, create MC 26.1.2 + Fabric instance
- Copy mods: patched Voxy + Sodium + Fabric API
- Set wrapper command:
~/voxy-zink-mac/scripts/zink-mc-wrapper.sh - Set custom GLFW + JVM args (see
LAUNCHER.md) - Launch!
Key Fixes
| Fix | File | Issue |
|---|---|---|
LC_NUMERIC=C |
wrapper script | French locale breaks MSL float literals (commas vs dots) |
| Dimension guards | mtl_device.m |
Metal rejects 0-size textures |
| sampleCount validation | mtl_heap.m |
Metal 4 rejects sampleCount>1 on non-MSAA |
| sparsePageSize guard | mtl_heap.m |
Only Apple7+ GPUs support sparse |
| NULL pipeline guard | vk_pipeline.c |
Prevents SIGSEGV on failed pipeline creation |
| maxDrawIndirectCount cap | Voxy patch | KosmicKrisp caps at 65535 vs Voxy's 400K |
| macOS ARM64 natives | Voxy patch | RocksDB + LWJGL natives for aarch64 |
| CpuLayout macOS | Voxy patch | oshi-based CPU topology detection |
Requirements
- macOS 26+ (Metal 4)
- Apple Silicon (M1+)
- Mesa:
mesa-src-newbranchkk-mac-20260718(macOS port rebased onto upstream main 26.3.0-devel) - Patched GLFW (lucamignatti fork, EGL context path — unchanged, fork tip)
2026-07-18 refresh — what changed
Upstream KosmicKrisp absorbed most of the fork (120 commits since May): Vulkan 1.4,
native multiDrawIndirect/drawIndirectCount/nullDescriptor, EXT_line_rasterization,
Metal 4 pipelines/encoding, tessellation. The macOS port was rebased onto upstream main
(kk-mac-20260718); obsolete patches dropped. Still ours: EGL surfaceless-Metal platform,
KOPPER_METAL, glwrapper, visible-layer display workaround, texture-descriptor guards
(all three static copies of mtl_new_texture_descriptor need them — the mtl_device.m
copy caused the macOS 26.5 boot abort), maxDrawIndirectCount still 65535 → Voxy cap
patch still required. Voxy bumped to 0.2.17-beta (4c04acd4, last MC 26.1.2 commit
before upstream dev moved to 26.2), Sodium 0.8.12. Voxy's upstream dev is now MC 26.2
(0.2.18-beta) and MC 26.2 ships an experimental native Vulkan renderer — next migration
target when the 26.1.x server ecosystem moves.