Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Status

What works today. This page changes often. The Roadmap covers intent, and this page covers facts.

Legend: yes works, partial works with limits or known bugs, no not there yet, - does not apply to this target.

Core System

x86_64arm64 virtPi Zero
Kernel buildsyesyesyes
Boots to a shellyesyesnot yet, reaches dyld
ext4 rootyesyesyes
launchd and XPCyesyesnot yet
Runs on real hardwareyes-partial

On real arm64 hardware, the Jetson TX1, the Orange Pi Zero 3, the Orange Pi Zero 4 and other boards are in bringup. See Targets. The Raspberry Pi 3 and the iPad 6 (T8010) booted on the 20.5-era tree only.

Booting

Status
UEFI, 64-bityes, through xnu-loader
UEFI, 32-bit (IA32 firmware)partial, reaches the root mount in QEMU. The GPU images carry BOOTIA32.EFI next to BOOTX64.EFI
Legacy BIOSyes, with the -legacy images
Secure Bootyes, with the -sb images. They boot through a Microsoft-signed shim and a loader signed with the PureDarwin key, which you enroll once
Multiboot2 and Linux boot protocolyes, the loader also boots from GRUB and from QEMU’s -kernel

Filesystems

Status
ext4yes, with journalling. Project code, and historically the source of subtle bugs
HFS+yes. image-hfs uses it for bisection, and so macOS users can mount the image
APFSyes, image-apfs-minimal boots with an APFS root
msdosfsyes

Networking

Status
DHCP, DNS, TCP clientsyes, end to end through configd and IPConfiguration
sshdyes
virtio-netyes
Intel e1000 family (FreeBSD em)yes, also on arm64 virt
Intel I225 and I226 (FreeBSD igc)builds, not yet tested on hardware
Realtek RTL8111/8168yes
Realtek RTL8125 and RTL8126 (FreeBSD rge)builds, not yet tested on hardware
Wi-Fi, Realtek RTL8852B and RTL8852C (FreeBSD rtw89)yes
Wi-Fi, Realtek RTL8192EU USB (FreeBSD rtwn)yes, joins WPA2 networks with DHCP
Wi-Fi, Ralink RT3572 USByes with the OpenBSD run driver. The FreeBSD run driver attaches and scans, joining is in progress
LAN78xx (Pi 3, 20.5-era tree)partial

The FreeBSD drivers run on fbsdkpi, a FreeBSD compatibility layer built on Haiku’s. Wi-Fi is managed with wifiutil and from the menu bar.

Graphics and Desktop (x86_64)

Status
Argon desktopyes. The neuswc Wayland compositor with the menu bar, Dock, Files, Terminal, Settings and other built-in apps
AMD GPUs (amdgpu through drm-kmod)yes on the RX 7800 XT and RX 7900 XTX, with radeonsi OpenGL
Intel GPUs (i915 through drm-kmod)partial. Gen9 and Gemini Lake work, newer generations vary
NVIDIA GPUs (nouveau through drm-kmod)yes on the Quadro 410, Quadro K620, GeForce 9500 GT and GeForce 7900 GS, with OpenGL
Firmware framebufferyes, the fallback on every machine
virgl and Venus in VMsyes
Mesa llvmpipeyes
Multiple displayspartial, extended desktop in VMs, real GPUs in progress
Xorgyes
GTK3yes
WebKitGTKyes

Applications and Toolchains (x86_64)

Status
zsh, toybox, core userlandyes
Wine, GUI applicationsyes
In-guest clang, cmake, ninja, mesonyes
In-guest rustcyes
Nix inside PureDarwinpartial, a port builds derivations in the guest
Audio (Intel HDA)yes
Input (PS/2, USB)yes

Frameworks

Status
CoreFoundationyes, a real cross-built CF
objc4 and libobjcyes
libc++, libc++abi, libunwindyes, LLVM 21
Foundationpartial
AppKitpartial, the built-in apps are AppKit apps
Unmodified macOS appspartial, a select few run, including Firefox
Securityyes, apart from trustd
SystemConfigurationyes, configd runs and drives DHCP
DiskArbitrationyes
IOKityes, the real IOKit.framework built from IOKitUser
CoreGraphics, Onyx2D, CoreTextpartial
Swiftno

Per-machine detail, including which Intel and AMD platforms have been tried, is in Running on Real Hardware.

Known Issues

  • Some Intel laptops from the Kaby Lake generation onward freeze when the kernel starts the second CPU. Booting with cpus=1 works around it. This is being investigated.
  • The boot kernel collection is close to the 64 MiB limit the loader allows. New drivers that are not needed to mount root go into the auxiliary kernel collection.
  • corecrypto and CommonCrypto are GPL, and they are in the default build. See the Roadmap.
  • Security is missing trustd, so certificate trust evaluation through the framework is not available. TLS in ported software goes through GnuTLS and works.
  • macOS hosts cannot build images, kernel collections or runners.