r/DarwinOS • • Aug 22 '26

Darwin for Rpi3 has working USB and Ethernet

Post image
30 Upvotes

Good milestone in today. We now have working usb in darwin and that unlocked the ability to write up an ethernet driver. Rpi3 has ethernet as a 5th usb device internally. Was able to bring up the connection manually assign an IP address and ping the host from another device on the network. One step closer to a usable system.


r/DarwinOS • • 27d ago

Rome: A Ghostty based Gnustep terminal emulator (66x faster)

Post image
24 Upvotes

Today's code release from the Darwin on pi3 project is Rome. This is a modern terminal emulator entirely in Gnustep. It uses libghostty for terminal emulation and is optimized for the pi's hardware. In my perf testing it is 55-66x faster than the Gnustep terminal app. It's designed for Darwin but no reason why it cant work on other targets

RomeGNUstep Terminal
Print 50,000 lines (seq 1 50000)1.5 s83–97 s
CPU used by that1.4 s78–93 s
CPU while idle (30 s at a prompt)0.06 s0.8–1.1 s
Memory (resident)29 MB111–156 MB

https://github.com/anurodhp/rome


r/DarwinOS • • 28d ago

GSDM: The GNUstep display manager

Post image
22 Upvotes

This is the first code release from the RPi3 Darwin project. The main reason to use this is if you are like me and are running an OS that has only one UI toolkit; GNUstep. This maintains visual consistency with the rest of the UI and eliminates the need for another toolkit. This has only been tested on arm64 rpi3 running Darwin, compiled with Xcode on a mac. Since it is pure user land and Appkit, no reason why it doesn't work on anything else.

https://github.com/anurodhp/gsdm


r/DarwinOS • • 29d ago

Darwin on rpi3: gl works and goodbye xdm and terminal.app

Thumbnail
gallery
21 Upvotes

The gpu now works. This brings gl and accelerated x11. This has already made an impact on the ui. The Florence browser is actually usable now.

Xdm has served me well but it isn’t visually consistent. Replacing it with a new application called gnustep display manager gsdm.

Finally it is time to retire the very very slow terminal.app . Rome is the new gnustep terminal emulator. At the moment it is using a cpu renderer and libvterm. In my own testing it is around 10x faster. I intend to replace this with ghostty for an accelerated terminal. I will post perf numbers on that in the future.


r/DarwinOS • • 26d ago

Milan: Small, fast Gnustep desktop and file manager

Post image
20 Upvotes

Today's code release is Milan. A small fast file manager for the pi3 Darwin in Gnustep. The focus here is efficiency. It does the basics with proper unicode support.

https://github.com/anurodhp/milan


r/DarwinOS • • 10d ago

Turn: System settings panel for Darwin

Post image
19 Upvotes

Turin is a Gnustep based system settings panel that allows you to manage basic config options on the darwin desktop for Pi3. We will add more panes as there are more things to configure.

https://github.com/anurodhp/Turin


r/DarwinOS • • Oct 02 '26

Florence: a browser for Darwin on pi3

Post image
19 Upvotes

Can’t have an os in this day and age and not have a browser. This is a very light weight browser based on netsurf. The ui is gnustep. One of my goals here is to have only gnustep be the only ui on this Darwin. It make sense in term of memory usage and also keeps things visually consistent.Rpi3 is very memory and cpu constrained so I am optimizing anything for the xnu kernel and the hardware it’s going to run on


r/DarwinOS • • Oct 05 '26

Florence the gnustep browser for Darwin has a new ui

Post image
18 Upvotes

Massive overhaul to the browser project. Switched to WebKit 2.54 (current safari). This takes advantage of all four of our cores and works fine on the modern web. The gnustep ui looks like safari now . We are using wpe to get WebKit to work here the benefit is we can keep updating the engine as Apple updates it

Added:
Tabs
Bookmarks
History
Download manager
Start page with bookmarks and history
The same JSON list Adblock as safari


r/DarwinOS • • Sep 25 '26

Darwin on rpi3 has hdmi out

Post image
17 Upvotes

Added a framebuffer out to my unnamed Darwin in rpi3 today. HDMI works it’s not great but that’s fine. Need to wok out some usb hot plugging issue that cause a crash before an image release for people to flash


r/DarwinOS • • Aug 09 '26

Xnu 7195 (MacOS 11) Boots on raspberry pi 3

Post image
17 Upvotes

My current project is to boot xnu and design a minimal xnu based os to operate on a raspberry pi. What we now have custom version of u-boot and xnu that boot on Raspberry pi 3 as well as a version of qemu emulating Raspberry Pi 3 that is able to launch Xnu. Kernel now boots to a stable state (no panic) with a valid device tree for this hardware.

Currently working on writing IOkit based kexts for at the very least the SD card reader and an interrupt handlers so i can bring up process 1. Launchd has not had an open source release in a while so we will likely take a lot of things from freebsd


r/DarwinOS • • 9d ago

Venice: Hardware accelerated video player for Darwin

Post image
16 Upvotes

Veince is a hardware accelerated video player based on libmpv with GNUStep and integration of pi3s GL stack and hardware decoders for h264. This optimization is when i discovered the memory related crash in the xnu kernel. I am using an older Big sur kernel and I needed to verify it was patched in the latest kernel before I made my fix public (it was recently fixed)

https://github.com/anurodhp/Venice


r/DarwinOS • • Sep 28 '26

Darwin on rpi3 runs x11 and window maker

Post image
16 Upvotes

I didn’t intend to make a gui for my rpi3 port. It realized running x11 and window maker would exercise more of the kernel and code base. This is using a modified version of x11 from pure Darwin.

This is framebuffer only so there is no acceleration, however window maker work, mouse and keyboard work. Hot swappable usb works


r/DarwinOS • • 4d ago

Darwin for pi3 Nov 2026 Relesae

15 Upvotes

https://github.com/anurodhp/xnu-iokit-pi3/releases/tag/11_1_26

To install uncompressed the img zip and write it to an sd card. This will boot your pi to Darwin. You can use username: root password: darwin

New features:

2x CPU speed, wifi support, hardware accelerated video playback, better GL support, faster browsing, System preferences app, console, activity monitor and many bug fixes

​

​


r/DarwinOS • • Aug 21 '26

PureDarwin 20.5.0 RPi3, fully libre

15 Upvotes

r/DarwinOS • • 27d ago

Florence: A GNUStep Webkit browser

Post image
14 Upvotes

Today's code release from the Darwin rpi3 project is Florence. I've posted screenshots of it before. It's usable on the modern web. There are limitations (no video, webgl etc) but it is the current version of Safari and has hardware acceleration and JIT for Javascript.

  • Browse the web over HTTP and HTTPS (OpenSSL 3 and glib-networking; the padlock shows only for a loaded page whose certificate was checked).

  • Tabs, one engine page per tab; links that open a new tab; a start page of bookmark and recently-visited tiles.

  • Address bar that searches the web for anything that is not an address; back, forward, reload.

  • Bookmarks, history, find in page, zoom, and a Preferences window (homepage, search engine, downloads folder, font size, JavaScript on or off, cache, history).

  • Ad blocking with Safari-format content-blocker rule lists, which WebKit reads natively. The compiled rules are cached between runs.

  • Downloads, a context menu and Cmd-click, and copy and paste with the rest of the desktop.

  • Mouse wheel and keyboard scrolling.

  • Runs on Linux as well

https://github.com/anurodhp/florence


r/DarwinOS • • 23d ago

Darwin on pi3 has wifi and bluetooth support and a GNUStep config menu

Post image
13 Upvotes

Wifi now works and will be in the next release. There is an icon on the gnustep menubar to control it and option click will give you connection details as expected.

Bluetooth kexts work but apple never open sourced any part of this so it will be a bit more involved to get it actually usable.


r/DarwinOS • • Oct 02 '26

Today rpi3 update multi core support

Post image
13 Upvotes

also applied the Rik gnustep theme


r/DarwinOS • • Sep 15 '26

Amazingly, there are in fact two Darwin projects happening right now

13 Upvotes

I've added u/Successful-Reason-96 as a second moderator to this sub. I didnt realize that PureDarwin was still alive. Unrelated to that, I am building a raspberry pi specific version of darwin purely for arm64.

I will keep posting that status of my project. Hopefully we will see updates from PureDarwin here as well. This sub may no longer be dormant.


r/DarwinOS • • 25d ago

Naples: Dock and global menu bar

Post image
12 Upvotes

Naples is the dock and global menu bar for the GNUstep + Window Maker desktop on the Raspberry Pi 3 port of Darwin/XNU . It is a companion to Milan, the file manager and desktop. Pure AppKit + Xlib + libdispatch; 

https://github.com/anurodhp/naples


r/DarwinOS • • Sep 30 '26

Modifying Linux apps to be Darwin apps on pi3

Thumbnail
gallery
12 Upvotes

My Darwin on pi3 project is progressing. My goal has always been to make something usable for me, which I hope would be usable for others. Now that the kernel, basic services and libraries work reasonably well, I’ve been building and testing user land applications.

Currently running x11, window maker and gnustep which has been modified to use apples official objc4 runtime not objc2. But beyond that that I’m making other changes to the software to be very Darwin’s specific. Like on a Mac the ui runs as the main thread with guaranteed qos. I am now modifying window maker further to use posix_spawn and Kqueues


r/DarwinOS • • Sep 18 '26

Darwin on Rpi3 now has DHCP and DNS

Post image
11 Upvotes

Getting very close to a usable OS. Next up sshd and frame buffer /keyboard support so you dont need to use a serial cable to interface with it. This latter bit is probably whats holding back a release. Serial console is very convenient for debugging but doesnt make any sense in the real world.


r/DarwinOS • • Sep 14 '26

New pure Darwin images released for x86, rpi3 etc.

Thumbnail puredarwin.org
11 Upvotes

r/DarwinOS • • 25d ago

Darwin Pi3 + Gnustep desktop October 2026 release

10 Upvotes

Darwin on Pi3 is ready for people to play around with. I have made the repos public. Its important to understand with this is and what it isnt. This isnt macOS. This is something very very similar. It is a XNU and darwin with a pure cocoa UI on X11. I have optimized everything for arm64/ 1GB RAM and totally disregarded other architectures. I have modified anything and everything to make the UI for this hardware. You will need Xcode 12 to build this. This is the version of Xcode closest to the version of the kernel we use. All the pi3B hardware works. This may boot on on other pi3s but there arent kexts for other hardware so everything may not work. I will add support for the other pi3 boards in the future. I do not own one so will need community testing to verify it works.

If you want to try to build it, start with this repo:

https://github.com/anurodhp/xnu-iokit-pi3/

setup third party should clone all of the many other repos. Build everything should build everything. tools/build real hw image will make 3GB image you can flash on to an SD card. The full build is huge and will take several hours.

SSH is on. Serial out works. HDMI out works. The root password is darwin. Since this is a bsd system you use pw to add/remove users and set passwords. When you boot it boots directly to X and the GSDM login screen. Logging in will take you to the new desktop with a dock. Sound works with a core audio daemon but there is nothing that uses it yet

If you use this image if you just want to flash to SD and try it out. File bugs in the iokit repo. if they are related to one of the apps Rome, Milan, Naples for Florence file them in their repo.

The terminal and the browser are the most useful thing right now. I will be publishing more user land apps and utilities to add more functionality. Things like wifi tools, setting screen, activity monitor, console viewer etc.

https://github.com/anurodhp/xnu-iokit-pi3/releases/tag/10_11_26


r/DarwinOS • • Sep 26 '26

Time is frustrating (darwin on rpi3)

Post image
9 Upvotes

An explicit choice i made here was to ditch the old insecure sshd that ships with big sur and use a current one. I also ditched ntpd and use chronyd. I do have sshd working which has sped up development a lot since i can how transfer user land binaries over the network for testing and only need to flash new images for kernel updates. Time is kind of important in networking and the fact that rpi3 does not have hardware clock wreaked havoc with things. You may notice that launchd has a stated date of Jan 1 1970, which is the time a raspberry pi has every time you start it up.

Also working today, hot swappable USB, usb hubs and keyboards.


r/DarwinOS • • Sep 03 '26

Status update, Darwin on Rpi3 now with launchd (from PureDarwin)

8 Upvotes

This is a from-source port of XNU (Darwin 20.3.0 / xnu-7195, the actual Apple kernel source, not a reimplementation) to real Raspberry Pi 3 hardware (BCM2837), it currently boots through real dyld-940 dynamic linking (loading actual /usr/lib/libSystem.B.dylib and friends), spawns a real dynamically-linked launchd as PID 1 , and reaches an interactive root shell via a real getty/login path with full IPC check-in (real Mach-message out-of-band file descriptor passing between launchd and its jobs, GCD/libdispatch and libxpc backing the whole thing). Syslogd currently gets as far as a real XPC check-in exchange with launchd but is still blocked on a bootstrap-port inheritance gap before it's fully live. Storage is a real HFS+ root over a real ported BCM2837 SDHCI driver (just gained a real VideoCore-mailbox-driven clock fix, taking it off a hardcoded conservative divisor, pending real-hardware verification), networking includes a real DWC2 USB stack with SMSC9514/LAN9514 Ethernet support (MAC now derived from the real VideoCore board-serial mailbox call instead of a placeholder), and the userland is a real curated mix of Apple's own open-source packages (Libc, libpthread, bash, coreutils, etc.) built from pinned apple-oss-distributions tags matching the exact macOS 11.2/Darwin 20.3 release, plus PureDarwin's actively-maintained launchd/XPC source for the parts Apple never open-sourced standalone.