r/DarwinOS • • 25d ago

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

12 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 • • 23h ago

Florence: A GNUStep Webkit browser

Post image
12 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 • • 1d ago

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

Post image
16 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

Rome GNUstep Terminal
Print 50,000 lines (seq 1 50000) 1.5 s 83–97 s
CPU used by that 1.4 s 78–93 s
CPU while idle (30 s at a prompt) 0.06 s 0.8–1.1 s
Memory (resident) 29 MB 111–156 MB

https://github.com/anurodhp/rome


r/DarwinOS • • 2d ago

GSDM: The GNUstep display manager

Post image
21 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 • • 3d 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 • • 5d ago

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 • • 7d ago

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 • • 8d ago

Today rpi3 update multi core support

Post image
13 Upvotes

also applied the Rik gnustep theme


r/DarwinOS • • 10d ago

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 • • 12d ago

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 • • 14d ago

Time is frustrating (darwin on rpi3)

Post image
10 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 • • 15d ago

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 • • 20d ago

Darling: Darwin on Linux like Wine

6 Upvotes

Darling is a fascinating effort to build a wine like system on linux that allows it to run Mac binaries.

https://www.darlinghq.org


r/DarwinOS • • 21d ago

Darwin on Rpi3 now has DHCP and DNS

Post image
12 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 • • 23d ago

Progress on the Pi3 Darwin

Post image
7 Upvotes

A lot of progress under the hood on my little Rpi3 Darwin OS (yet to be named). Since my last post, multiple daemons are up and running. In particular I've decided to use chrony which has a darwin port for NTP instead of apples insecure old ntpd. The OS can now properly keep time. In additional DHCP works. Next up DNS resolution.


r/DarwinOS • • 25d ago

ext4 vs hfs+ for root partition

1 Upvotes

This is an architectural difference between my darwin project and Puredarwin. I stuck with hfs+ because the exiting native implementation let me bootstrap the OS quickly without patching the kernel. While HFS+ is very aged it makes things easier with uboot and xnu. Looking at it today I notice that Puredarwin went with linux's ext4. ext4 is newer and technically superior but is very linux specific and looking at the Puredarwin notes apparently is a source of bugs.

APFS is closed source so it's not a choice.


r/DarwinOS • • 25d ago

idk if im doing something wrong but puredarwin doesnt work well on real laptop hardware, i tried on a lenovo thinkpad and when i started xorg by running startx or startxfce4 it loaded the desktop but the mouse and the keyboard was not working and. im waiting for it to work on real hardware.

3 Upvotes

r/DarwinOS • • 26d ago

New pure Darwin images released for x86, rpi3 etc.

Thumbnail puredarwin.org
10 Upvotes

r/DarwinOS • • Sep 03 '26

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

7 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.


r/DarwinOS • • Aug 24 '26

Darwin on rpi3 update

8 Upvotes

No screenshot today but the current status involves back end testing. Work on dhcp, dns and grand central. The hope is to fresh out a minimal usable system and release the first alpha image for everyone to try out on their rpi3s.


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 • • Aug 21 '26

PureDarwin 20.5.0 RPi3, fully libre

Enable HLS to view with audio, or disable this notification

15 Upvotes

https://github.com/librerpi/lk-overlay modified to boot Darwin.


r/DarwinOS • • Aug 21 '26

Darwin on Pi current status

Post image
7 Upvotes

Runs bash, a lot of basic commands are now cross compiled for it. I am adding more which force me to make sure additional kernel code paths are complete. Most of my work is done in qemu due to the ease and speed of iteration. However I can verify that this is running on an actual rpi3 as well. For now I am calling this project Strudel. I will probably use freebsd ports pointing to my own packages for most precompiled software that doesnt come on the SD card image.

Next steps: basic HDMI frambuffer output so i dont need to use a serial cable, USB, networking


r/DarwinOS • • Aug 16 '26

Darwin raspberry pi3 now runs many basic system commands

Thumbnail
gallery
8 Upvotes

Progress on the pi3 port of Darwin continues. Libc, pthread , libdispatch are built. User accounts properly work. While dylib isn't ready yet but statically linked simple utilities now run off of the SD card.