Skip to content

Releases: luuumi-dev/nullarc

nullarc 0.3.0-alpha

nullarc 0.3.0-alpha Pre-release
Pre-release

Choose a tag to compare

@luuumi-dev luuumi-dev released this 21 Oct 16:28

nullarc

First release under the nullarc name: Metal on the AMD Radeon 780M for macOS Tahoe 26, with WindowServer
compositing on the GPU at the panel's 120 Hz. Alpha software — read the install guide and keep a way back.

English · Русский ниже

What's new since 0.2.1

  • An installer that sets up a working system. 0.2.1 shipped the kexts and the plugin but not the boot-time GPU
    bring-up, its firmware or the Vulkan loader, and its kernel-collection step was wrong, so it could not bring the GPU
    up on a clean machine. install.sh (with --check and --windowserver) and uninstall.sh now reproduce the
    reference machine's setup; docs/INSTALL.md
    walks through OpenCore, the checks, the fail-safes, updating and removal.
  • Desktop: dragging a window 64–69 → 116 fps (CoreAnimation re-wrapped IOSurfaces were re-imported every frame);
    Liquid Glass, Metal for every app including sandboxed WebKit/Chromium GPU processes.
  • Display wake no longer freezes after hours (512 MB VRAM pool instead of per-allocation contiguous memory).
  • Fixes: Chess and other GL apps crashing on depth reads (RADV PS epilogs need extended dynamic state), CoreImage
    blurs and Tahoe's layered icons (RADV mutable-descriptor ordering), mipmapped CoreAnimation images, tiled images at
    the end of a buffer.
  • Shader stalls: RADV unrolls nested loops without a full optimisation round per level (Mesa patch 0006): the
    slow compositor shader variants compile in ~1 s instead of ~2 s, with identical code.
  • Safety: background neural-network work (Photos analysis, Spotlight) stays on the CPU after its convolution kernels
    hung the GPU in testing; if the GPU still hangs later in a session, phxboot reboots instead of leaving a black screen,
    and puts WindowServer back on the firmware framebuffer after three such hangs within an hour.
  • Licensing cleaned up: full license texts in LICENSES/, THIRD_PARTY_NOTICES.md, NullMoth's actual Required
    Notice, AMD notices; the reference laptop's VBIOS image is no longer in the tree; nothing from Apple is shipped.

Assets

File What
nullarc-0.3.0-alpha.zip Everything: PhxBringup.kext for OpenCore, PhxAccel.kext, the Metal plugin, Mesa RADV and the Vulkan loader, the boot-time bring-up with AMD firmware, install.sh / uninstall.sh, the install guide, licenses.
PhxBringup.kext-0.3.0-alpha.zip The OpenCore kext alone (build 32).
nvmtl-translator-source.tar.gz Source of the shader translator libnvmtl_translate.dylib shipped in the plugin (LGPL-3.0-or-later, NullMoth 2.4.1, based on metal2vulkan).
SHA256SUMS Checksums.

Tested on a Firebat U6C (Ryzen 7 H 255, Radeon 780M) with macOS Tahoe 26.6.2 (25G83). Other machines are untested.

Known limits: a new kind of visual effect pauses 1–3 s the first time (then cached); no external displays,
hardware video decode or backlight control yet; amfi=0x80 disables FairPlay playback. Parts derived from NullMoth's
driver are licensed for noncommercial use only (PolyForm Noncommercial 1.0.0).


Русский

Первый релиз под именем nullarc: Metal на AMD Radeon 780M в macOS Tahoe 26, рабочий стол WindowServer рисует GPU на
120 Гц панели. Это альфа-версия: прочитайте инструкцию
и оставьте себе путь назад.

  • Установщик, который действительно ставит рабочую систему. В 0.2.1 не было запуска GPU при загрузке, прошивок и
    загрузчика Vulkan, а сборка коллекции кекстов была неверной, поэтому на чистой системе GPU не поднимался.
    Теперь install.sh (с --check и --windowserver) и uninstall.sh повторяют установку эталонной машины.
  • Рабочий стол: перетаскивание окна 64–69 → 116 к/с, Liquid Glass, Metal во всех приложениях.
  • Пробуждение экрана больше не зависает через несколько часов работы.
  • Исправления: вылеты Chess и GL-приложений, размытия CoreImage и слоистые иконки Tahoe, mip-уровни картинок
    CoreAnimation.
  • Паузы на шейдерах: медленные варианты шейдеров композитора компилируются ~1 с вместо ~2 с (патч Mesa 0006).
  • Защита: фоновые нейросети (анализ Фото, Spotlight) работают на процессоре — на GPU их ядра вешали видеокарту; если GPU
    всё же зависнет, phxboot перезагрузит Мак вместо чёрного экрана.
  • Лицензии приведены в порядок, программы Apple не распространяются.

Части, производные от драйвера NullMoth, — только для некоммерческого использования (PolyForm Noncommercial 1.0.0).

AMD RDNA 3 Radeon 780M macOS Driver v0.2.1-alpha (F32 v1.0, Build 29 & NVMTL)

Choose a tag to compare

@luuumi-dev luuumi-dev released this 20 Oct 22:26

AMD RDNA 3 (Radeon 780M) macOS Driver v0.2.1-alpha

Second alpha release providing Metal 3D Acceleration, Metal Compute, and WindowServer Desktop Compositing for AMD RDNA 3 integrated graphics (Radeon 780M / Phoenix & Hawk Point APUs) on macOS Sonoma (14.x) and macOS Tahoe (Darwin 25.x).


🌟 What's New in v0.2.1-alpha

  • Phoenix F32 (v1.0) CP Microcode Support: Extractor now supports genuine Phoenix firmware payloads (gc_11_0_1_{pfp,me,mec}.bin), allowing seamless ring initialization across official linux-firmware releases.
  • Multi-App Metal Contexts (Build 29): Per-client GPUVM page tables across lent VMIDs (8..15), breaking the previous single-app constraint.
  • NVMTL Shader & Sampler Improvements: Full support for lodMinClamp and lodMaxClamp on normalized samplers, point/line drawing primitives on AMD, and fragment sampler slot tracing.
  • Full Sanitization & Architecture Cleanup: Pure repository focus on AMD RDNA 3 graphics (all Realtek network/crypto code removed). Zero sensitive SMBIOS data.
  • Sanitized Reference Configuration: Bundled Sample.plist and REQUIRED_KEXTS.md documentation guide for OpenCore.
  • Automated Unit Testing & CI: Complete unit test testsuite (make test) with dynamic upstream linux-firmware mirror fallback.

📦 Release Assets

  1. AMD-RDNA3-Radeon-780M-macOS-Full-Package-v0.2.1-alpha.zip (Recommended)
    Complete driver stack for full desktop acceleration:

    • EFI/OC/Kexts/PhxBringup.kext (for OpenCore EFI)
    • EFI/OC/Sample.plist (sanitized reference OpenCore configuration)
    • EFI/OC/REQUIRED_KEXTS.md (third-party kext list and links)
    • Library/Extensions/PhxAccel.kext (system accelerator & framebuffer)
    • Library/GPUBundles/NVMTLDriver.bundle (Metal-over-Vulkan translation runtime)
    • Library/GPUBundles/nvmtl/ (Darwin Mesa RADV 1.4 driver)
  2. PhxBringup.kext-v0.2.1-alpha.zip
    Standalone OpenCore EFI kext for low-level silicon, PSP, and compute testing.


🚀 Quick Installation Guide

1. OpenCore boot-args

Add the following to your OpenCore config.plist (NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args):

keepsyms=1 revpatch=cpuname,sbvmm ipc_control_port_options=0 -amfipassbeta amfi_get_out_of_my_way=0x1 amfi=0x80 phxdebug=1

2. Install Kexts & Bundles

  • Copy PhxBringup.kext to EFI/OC/Kexts/ and add to config.plist.
  • Copy PhxAccel.kext to /Library/Extensions/:
    sudo cp -R PhxAccel.kext /Library/Extensions/
    sudo chown -R root:wheel /Library/Extensions/PhxAccel.kext
    sudo kmutil install --volume-root / --repository /Library/Extensions
  • Copy NVMTLDriver.bundle and nvmtl folder to /Library/GPUBundles/:
    sudo mkdir -p /Library/GPUBundles
    sudo cp -R Library/GPUBundles/* /Library/GPUBundles/
    sudo chown -R root:wheel /Library/GPUBundles/

Полная документация на русском языке доступна в файле README_RU.md.

AMD RDNA 3 Radeon 780M macOS Driver v0.2.0-alpha (Metal 3D & WindowServer M2)

Choose a tag to compare

@luuumi-dev luuumi-dev released this 20 Oct 20:18

AMD RDNA 3 (Radeon 780M) macOS Driver v0.2.0-alpha

World's first public release providing Metal 3D Acceleration, Metal Compute, and WindowServer Desktop Compositing for AMD RDNA 3 integrated graphics (Radeon 780M / Phoenix & Hawk Point APUs) on macOS Tahoe (Darwin 25.x) and macOS Sonoma.


🌟 Highlights & Included Features

  • Metal Compute: 4096/4096 parallel workgroups verified on 780M hardware (mtlprobe compute).
  • Metal 3D Pipeline: Real geometry rasterization into pixel textures on GPU (mtlprobe render).
  • WindowServer Compositing (Milestone M2): Entire macOS desktop rendered by WindowServer through CompositorMetal on the 780M. WindowServer CPU overhead dropped from 100% (software rasterizer) to ~0%.
  • High-Speed Display Stream: movnti + sfence streaming frame copy into display scanout (~1.5 ms per frame), achieving up to 41+ FPS UI.
  • Native GPU Recognition: Build 28 kext reports AMD Radeon 780M and dedicated VRAM directly to IORegistry and About This Mac.
  • Custom Display Architecture: PhxAMDFB native framebuffer driver (replacing IONDRV) and PhxAGDC (AppleGraphicsDeviceControl) display timing controller.

📦 Release Assets

  1. AMD-RDNA3-Radeon-780M-macOS-Full-Package-v0.2.0-alpha.zip (Recommended)
    Complete driver stack for full desktop acceleration:

    • EFI/OC/Kexts/PhxBringup.kext (for your OpenCore EFI)
    • Library/Extensions/PhxAccel.kext (system accelerator & framebuffer)
    • Library/GPUBundles/NVMTLDriver.bundle (Metal translation runtime + Mesa RADV)
  2. PhxBringup.kext-v0.2.0-alpha.zip
    Standalone OpenCore EFI kext (Build 28) for low-level silicon, PSP, and compute testing.


🚀 Quick Installation Guide

1. OpenCore boot-args

Add the following to your OpenCore config.plist (NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args):

keepsyms=1 revpatch=cpuname,sbvmm ipc_control_port_options=0 -amfipassbeta amfi_get_out_of_my_way=0x1 amfi=0x80 phxdebug=1

2. Install Kexts & Bundles

  • Copy PhxBringup.kext to EFI/OC/Kexts/ and add to config.plist.
  • Copy PhxAccel.kext to /Library/Extensions/:
    sudo cp -R PhxAccel.kext /Library/Extensions/
    sudo chown -R root:wheel /Library/Extensions/PhxAccel.kext
    sudo kmutil install --volume-root / --repository /Library/Extensions
  • Copy NVMTLDriver.bundle and nvmtl folder to /Library/GPUBundles/:
    sudo cp -R Library/GPUBundles/* /Library/GPUBundles/
    sudo chown -R root:wheel /Library/GPUBundles/

Полная документация на русском языке доступна в файле README_RU.md.