Run the macOS desktop environment on Linux [closed]

As I know, macOS is using Darwin kernel and Darwin is a distribution of BSD. So macOS is in the UNIX family and can run most Linux / BSD / Solaris software on it.

Maybe there is a way to install macOS's desktop environment in Linux. Is there a way to do it?

If so, how can I do this?

Moderators, my question is not off-topic.


It is correct that macOS runs upon the kernel named Darwin that Apple develops. Its source code is available online.

However, it is not exactly a "distribution" of BSD:

If you compare it to Linux with the many distributions available, such as for example Ubuntu and Fedora Linux it's a completely different ball game here. They have a specific kernel (Linux) in common, and share a huge amount of user space programs up to and including graphical user interface components such as X, Wayland, GNOME and KDE. For example Linux distributions tend to use lots of GNU tools and the same libc.

When comparing macOS to other BSDs, such as FreeBSD, OpenBSD, NetBSD and others, you'll find that they do not have the same kernel in common, the driver interface is different, they do not to the same degree share the same user space programs, and macOS has its own graphical user interface system that is completely different from the rest. There are similarities and subsystems that enables compatibility - but it's far away from being "a distribution".

There's currently no easy way of porting the desktop environment from macOS onto Linux. The desktop environment on macOS is mostly closed source, so you basically have three types of options for running a macOS desktop environment on Linux:

  1. Create a system that maps the macOS ABI and APIs on to existing Linux APIs - in some ways similar to what Wine does for running Windows on Linux.

  2. Do new implementations from scratch of the macOS ABIs and APIs for graphical programs, as well as new implementations of the WindowServer, Dock, Finder, etc. This is a huge undertaking.

  3. Virtualisation and actually running macOS on Linux (which is basically not porting the desktop environment at all, so it probably shouldn't even be on this list).

In terms of practically doing any of this right now, only option 3 is practically viable with a low amount of effort and time involved.

There currently noone that has made any real progress into doing option 2. It will require a large team of experienced developers and a huge amount of time.

For option 1 there's a piece of software known as Darling, that has taken the first small steps towards this goal. The project has recently received a bit of "public interest" on HackerNews and other places, but it is still a very long way of from being practically useful for running the macOS desktop environment on Linux.

Finally - if all you're looking for is basically a bit of macOS "influence" on your Linux desktop - you might want to look into the Linux distribution elementaryOS. It's not a macOS desktop environment, and does not use parts of Darwin or anything like that - but it takes much inspiration from the way the macOS desktop environment looks.