[HN Gopher] Cocoa-Way - Native macOS Wayland compositor for runn...
       ___________________________________________________________________
        
       Cocoa-Way - Native macOS Wayland compositor for running Linux apps
       seamlessly
        
       Author : OJFord
       Score  : 286 points
       Date   : 2026-03-28 10:06 UTC (12 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | Imustaskforhelp wrote:
       | Very interesting, can this run something like android using
       | waydroid within Orbstack too?
       | 
       | It would then essentially run android on macos as well, I do feel
       | like it should be possible.
        
       | cyanmagenta wrote:
       | Forgive the naivety, but what graphical Linux apps are people
       | trying to run that don't have native MacOS builds? In my
       | experience, Linux GUIs are generally written in Qt or GTK, both
       | of which are multi-platform.
       | 
       | I don't doubt that they exist, I'm just struggling to think of a
       | popular example.
        
         | xlmnxp wrote:
         | I want to use KDE Plasma instead of Mac OS ugly (in my opinion)
         | interface
        
           | vovavili wrote:
           | This is possibly the first time in human history this opinion
           | has been stated.
        
             | sersi wrote:
             | I mean Apple hasn't done itself any favours with Macos
             | Tahoe.
        
               | drob518 wrote:
               | "Liquid Ass" as some people say.
        
             | polshaw wrote:
             | I don't want KDE but I would much prefer gnome to macos
             | desktop, I think it's both prettier and more functional,
             | and that's not a tahoe thing. I hate finder too, and don't
             | see any way to properly use an alternative.
        
             | Imustaskforhelp wrote:
             | To be honest, I agree a little bit because I remember from
             | my time at customizing KDE that everyone wanted it to make
             | it look like Mac OS
             | 
             | but it feels a bit of peer-pressure/cool-factor, people
             | _used_ to like how Mac OS look but after Tahoe, I feel like
             | most people don 't.
             | 
             | To be honest, I am on mac right now but I really like
             | Niri/Hyprland and to a degree KDE as well. I definitely
             | feel like those were immensely more customizable and I miss
             | that customizability, even if some people might use that
             | customizability to make it look like MacOS default.
        
             | layer8 wrote:
             | Similar opinions are voiced in about every recent macOS UI
             | thread, and even occasionally in Windows threads.
        
             | hnlmorg wrote:
             | It really isn't. There are a great many people who use macs
             | for work but who do not like Apples design choices. And
             | that number has skyrocketed even further since Liquid Glass
             | was pushed onto people.
             | 
             | In fact one of the front page articles today is literally
             | calling macOS "ugly" in the title.
        
             | ozgrakkurt wrote:
             | not sure about the looks but I also find KDE much better in
             | usability
        
             | bityard wrote:
             | I've been using Linux on the desktop for decades at this
             | point. KDE Plasma is my current favorite and I've been
             | using it for a few years now. It has everything you'd want
             | in a desktop (maybe a bit more), looks great, and is very
             | fast even on modest hardware.
             | 
             | My current job has me using MacOS on an M3 Pro Macbook and
             | I find it barely tolerable compared to KDE. Usually when I
             | want to do something new or change some configuration,
             | either there is no way to do it, or it's hidden behind some
             | key combination that I never would have guessed. I would
             | describe the overall feel of MacOS as "syrupy." When using
             | the mouse or typing, there is almost always some kind of
             | barely-perceptible latency. Nothing is ever crisp and
             | instant. (This isn't specific to this machine, it feels the
             | same way on every Mac I've borrowed.) It's sort of like
             | someone decided that the only way to make it smooth was to
             | also make it slow.
        
             | baq wrote:
             | Sir I'm here stuck on somewhat workable Sonoma, dread the
             | day enterprise IT forces the push of Tahoe and would take a
             | kde box in a heartbeat.
        
             | heavyset_go wrote:
             | Go through my post history and you'll see I've been saying
             | the same, or similar, for years :)
             | 
             | Plasma can be configured to rhyme with macOS' GUI. Not as
             | in shitty macOS themes, but button placement, docks, global
             | menus, widgets, Spotlight, Stage Manager, hot corners,
             | keyboard shortcuts, Preview in Finder, etc.
             | 
             | I have Plasma configured to take advantage of my decade+ of
             | macOS muscle memory without having to put up with Finder
             | and the abysmal task-switching and window management
             | experience on macOS.
             | 
             | Whenever I have to use macOS, I am reminded of how much
             | better Plasma is. I'd might even buy a Mac again if I could
             | use it instead of the default UI.
        
             | kombine wrote:
             | I was given the latest MacBook Pro at my new job not long
             | ago, but I forced them to exchange it for Alan HP laptop
             | just so I could use Linux on it. Unfortunately it's Ubuntu
             | and not Plasma, but even so I'm happy I don't have to use
             | Apple's software.
        
               | mkl wrote:
               | You can easily install Plasma on Ubuntu.
        
           | coldtea wrote:
           | Then you want to run KDE on Linux. This is not going to
           | replace your native mac desktop environment.
        
           | MarsIronPI wrote:
           | Honest question: why use MacOS at all then? If you prefer
           | KDE, why not run a system that KDE natively supports? Is it a
           | particular MacOS application? Or is it that Linux support on
           | Mac hardware is not good enough?
        
             | TingPing wrote:
             | Linux has good support for m1 and m2, so for newer devices
             | running a custom desktop would be neat.
        
         | audunw wrote:
         | Popular apps? Probably not many.
         | 
         | But in the field of integrated circuit design there's lots of
         | apps that are Linux-only. I've tried to run some of them in
         | containers on Mac. But XQuartz is awful.
         | 
         | If they ever transitioned to Wayland perhaps this would let us
         | run these apps on Mac in a nice way.
         | 
         | On the other hand some of them have started getting ARM builds
         | (for running simulations on certain cloud environments) so
         | maybe native Mac GUI builds could happen someday soon.
        
           | MBCook wrote:
           | What about this plus XWayland? Would that do it?
        
           | addaon wrote:
           | > But XQuartz is awful.
           | 
           | What issues are you seeing with it? I use it pretty heavily
           | and have no complaints...
        
         | OJFord wrote:
         | It's not necessarily something only available for Linux, but
         | something that you want to containerise. (And then it's
         | inherently running on Linux.)
        
         | boschetto wrote:
         | I think there are many use cases for this software.
         | 
         | For example, you may not want to run some graphical
         | applications directly on your Mac for security, isolation or
         | testing purposes.
         | 
         | If this software turns out to be lower latency than RDP and
         | CRD, I could also see it being very useful for accessing a
         | remote graphical workstation (e.g.: running heavy software on
         | an beefy machine in a data center instead of taking up
         | resources on my skinny laptop).
        
         | jon-wood wrote:
         | This is very interesting to me for two reasons:
         | 
         | 1. I'd really like to run my development environment for things
         | under Siri for its tiling window management but for better or
         | worse I'm deeply embedded in the Apple ecosystem for everything
         | else, this looks like it could be a really nice way of doing it
         | (possibly once multi monitor support is in).
         | 
         | 2. There are still a few applications which have supported
         | Linux builds but no support for macOS (Iridium's Niagara
         | Workbench application for configuration of building management
         | systems springs to mind here). Since Apple ended support for
         | Quartz this has been a bit of a pain to deal with.
        
         | ubercow13 wrote:
         | Apart from just running Linux apps, you can use this to run
         | graphical applications remotely on a Linux server, like X11
         | forwarding.
        
           | pkaeding wrote:
           | I thought Wayland was different from X11, and didn't allow
           | this. But I'm far from an expert on this topic so I'd like to
           | learn more.
        
             | chrismorgan wrote:
             | https://github.com/neonkore/waypipe proxies Wayland over a
             | network. It's straightforward enough in theory: Wayland
             | core is just a communications protocol plus shared memory;
             | so you just need to forward the messages, and detect and
             | send changes in the shared memory. Not the cheapest thing,
             | but perfectly tractable. Of course, there are also more
             | difficult extensions, like GPU integration, but that sort
             | of thing was a problem for X as well.
        
               | TingPing wrote:
               | This is how modern x11 worked too since nobody uses
               | software rendering with x primitives anyway.
        
             | functional_dev wrote:
             | here is Wayland vs X11 visualised.. it might help -
             | https://vectree.io/c/compositing-window-management-
             | architect...
        
               | amelius wrote:
               | According to that page Wayland's architecture is simpler
               | than X11.
        
               | dsr_ wrote:
               | If you put everything into a monolith, it looks simpler
               | than if you have components that have to speak protocols
               | to each other.
        
               | anthk wrote:
               | Rio and its predecesor in Unix v8/v10 did it better than
               | X. In some cases we got the worst:
               | 
               | - POSIX bloat vs Plan9's simple C and even simpler API
               | 
               | - ioctl's vs everything it's a file
               | 
               | - Complex socket spawning vs open() and dial() under
               | Plan9/Go
               | 
               | - ALSA vs tuned up OSSv4, or plaing audio/mixerfs under
               | 9front
               | 
               | - find -which syntax is huge- vs walk -f (or -d for dirs)
               | | grep
               | 
               | - RDP/VNC/SSH/NFS/SMB vs just rcpu+auth (9p) and run
               | rio(4) and for files... 9fs which does a simple bind()
               | 
               | - Symlinks and hard links vs bind and namespaces.
               | 
               | - GDB and SSH vs importing a remote /proc in a rio window
               | and remote-debugging your damn remote machine as if it
               | were your own. How cool is that? Ditto with devices.
               | Import sound cards, network cards with the whole IP
               | stack. NAT you say? No more.
               | 
               | - FFSv2 (hello OpenBSD) vs current GeFS under 9front
               | which is like a miracle over what OBSD it's trying, the
               | bad ZFS license or BTRFS not being ready on GNU yet.
               | Probably the Hurd people will port GeFS to Hurd/Mach
               | first, before BTRFS gets even ready...
               | 
               | - Dynamic vs static linking. 9front, a suite of multiarch
               | compilers. Set $objtype, compile, link, deploy a
               | standalone binary. Ready, as if it were a Go binary under
               | Unix, but without glibc oddities. ARM binaries from 386?
               | Done. You need a crazy long i686-gnu-foo-bar and the rest
               | of crazyness? Not anymore. These come in src form,
               | compile and install them, no internet required. Literal
               | two damn commands to do so, from any to any arch.
               | 
               | - SH/KSH/Bash. Complexity ridden shells. Here's rc. No
               | aliases there, just functions. No complex escaping, just
               | () for strings, ^ to concat, ' ' for quoting. Problem
               | solved. Even the conditonal words' syntax it's like
               | throwing down all the complexity giving you a weirdly
               | simple shell.
               | 
               | - PCRE and ex commands under vi/nvi/vim (bloat) vs Sam
               | and structural regexes. Sam it's like a graphical vi,
               | period, there's nothing alien of it. Imagine a modeless
               | vi with a small frame to input commands with an easier
               | syntax:                    x/lookup/c/replace
               | 
               | These can be chained with ease.
        
             | adastra22 wrote:
             | Wayland natively isn't built for forwarding the way X11 is.
             | Waypipe fixes this, providing an X11 protocol equivalent
             | for Wayland. This project is a waypipe client for macOS.
        
         | hrmtst93837 wrote:
         | Try building Inkscape or GIMP from source on macOS and see how
         | "multi-platform" those GTK apps feel in practice. Even when a
         | Mac build exists, it is often skinned oddly or lags because
         | somebody has to carry Mac patches against an old fork.
         | 
         | This is for the long tail. The compositor path dodges a pile of
         | volunteer-port churn and runs the Linux build directly, which
         | is a lot more appealing for niche GUI tools and dev apps that
         | barely get maintained on Linux, never mind macOS.
        
         | pajko wrote:
         | PuTTY
        
           | coldtea wrote:
           | That's a Windows app.
        
             | alt219 wrote:
             | PuTTY is absolutely available for Linux. On Debian-based
             | distros it's just a `sudo apt install putty` away. But why?
        
               | asveikau wrote:
               | One possibility is to run its terminal emulation
               | somewhere else. But of course terminal emulators are a
               | dime a dozen on Linux.
        
         | okayokay123 wrote:
         | Emacs runs much faster and better on Linux VMs. And I have a VM
         | for each client I work with.
        
         | fny wrote:
         | That's not the use case. The use case is running apps from a
         | remote Linux host as a local window. A performant VNC for
         | specific windows if you will.
         | 
         | For example, you could run VS Code on that machine as a window
         | on your Mac. A more real world example is people accessing guis
         | (e.g. matlab) on lab clusters.
         | 
         | The closest set up for x11 would be to use x11 forwarding with
         | xpra.
        
           | adastra22 wrote:
           | Or running applications within fully sandboxed VMs on the
           | local machine, but with native-ish forwarded GUI. Great for
           | dev.
        
           | QuantumNomad_ wrote:
           | > The closest set up for x11 would be to use x11 forwarding
           | with xpra.
           | 
           | Older versions of macOS even had an X server distributed by
           | Apple that you could install on your machine, and if memory
           | serves right you were then easily able to forward X11 from a
           | remote Linux host (or other operating systems running X11
           | applications) using ssh and have it render to your macOS
           | desktop.
           | 
           | From a quick google search there is apparently still an Apple
           | supported third-party open source project called XQuartz one
           | can use.
           | 
           | https://en.wikipedia.org/wiki/XQuartz
           | 
           | X11 forwarding with ssh and XQuartz looks to work the same
           | way that I remember using the Apple distributed X server in
           | the past. Install the X server and then use the -X flag of
           | ssh. Same way that you forward X11 between two Linux
           | computers, or Sun workstations or whatever with an X11
           | desktop, over ssh.
           | 
           | https://docs.cse.lehigh.edu/xforwarding/xforwarding-mac/
        
             | LeFantome wrote:
             | This is Wayland. You could use xprs
        
               | vasvir wrote:
               | wprs? Does not work for mac yet IIRC...
        
           | semi-extrinsic wrote:
           | We run TurboVNC from macOS to beefy Linux servers on the
           | daily. Just tunnel the connection over SSH. It's been solid
           | for 5+ years.
        
           | varispeed wrote:
           | Isn't better to run native VS Code and have remote SSH
           | session? It very much works as if it was local (on fast low
           | latency network). Only issue is moving files.
        
           | LeFantome wrote:
           | This is Wayland. You could use xprs (or Waypipe).
           | 
           | Sorry, I responded to the wrong comment.
        
         | bigyabai wrote:
         | Native GTK apps on macOS are often more broken than running it
         | in a VM or Parallels, in my experience. I used to use Gitg on
         | macOS and it was a terrible experience all around.
        
         | addaon wrote:
         | There's a bunch of old Fortran stuff I use regularly (AVL,
         | XFoil), but that's all X, not Wayland, and XQuartz has worked
         | great for decades.
        
         | LeFantome wrote:
         | The first thing I wondered about was running GUI apps in a
         | Linux container.
        
       | anArbitraryOne wrote:
       | Now if we could switch MacOS to use Win/Linux keyboard commands,
       | MacOS wouldn't be so insufferable
        
         | p-e-w wrote:
         | I mean, you can simply use Linux and save yourself all those
         | hacks...
        
           | anArbitraryOne wrote:
           | Absolutely. I went through great lengths to install Asahi on
           | my work M1, only to have most things not work (RTFM). So when
           | one is forced to use MacOS, may it round corners in hell, for
           | work...
        
             | ubercow13 wrote:
             | Maybe try this: https://ke-complex-
             | modifications.pqrs.org/#pc_shortcuts
        
               | IshKebab wrote:
               | Yeah I've used Karabiner to get windows-style shortcuts
               | (home/end, etc.) and it works very well.
        
             | drob518 wrote:
             | Aside: the new, large radius Liquid Ass corners that make
             | some parts of the window basically unusable are really
             | annoying me.
        
         | rick_dalton wrote:
         | Super key for most keybinds is much nicer than windows in my
         | opinion, where it is entirely wasted on opening the start menu.
         | On Linux it gains a few functions based on the desktop
         | environment but not much.
        
           | layer8 wrote:
           | The use of the Windows key extends far beyond the start menu.
           | Builtin functions include window management, invoking
           | programs on the taskbar, locking the computer, invoking
           | Explorer and Settings, invoking and controlling accessibility
           | functions like Magnifier. The Microsoft Power Toys add a lot
           | of functions using the Windows key by default as well, like
           | screen snipping, screen OCR, color picking, enhanced
           | clipboard, and many more.
        
             | daveidol wrote:
             | That's still like 10 uses vs unlimited uses on macOS
        
               | freedomben wrote:
               | It may be ten uses, but it's ten uses I use constantly
               | throughout the day.
        
               | layer8 wrote:
               | Even just the window management category is more than ten
               | uses. And it is unlimited uses, as you can assign
               | additional shortcuts however you like.
        
               | drob518 wrote:
               | You must not use MacOS. Command gets used all over the
               | place, even during editing. And in Emacs it gets used as
               | Super, which opens up some options.
        
             | rick_dalton wrote:
             | My problem is that I don't use the majority of these
             | functions at all. Command I can use for almost everything
             | no matter how frequent or infrequent. It also replaces most
             | "ctrl+shift" binds which is a great plus for me.
        
         | jurmous wrote:
         | Many of the keyboard commands are configurable in settings,
         | complete with switching cmd and ctrl keys around. Or you can
         | get used in a week or two when switching, this is what I did
         | years ago and now for me Win/Linux is confusing and find the
         | location of the command key more ergonomic on a Mac.
         | 
         | Here some history on how the command key came to be
         | https://www.folklore.org/Swedish_Campground.html
         | https://en.wikipedia.org/wiki/Command_key
        
         | SuperManifolds wrote:
         | Incredibly L take. macOS keyboard commands are great for
         | working in the terminal since system shortcuts use a different
         | key and don't interfere with control codes
        
           | drob518 wrote:
           | Exactly. You don't have the terminal itself fight with
           | whatever is running on the other side of the term.
        
         | throwaway613746 wrote:
         | As someone that switches between MacOS (dayjob) and Linux (my
         | own PCs) workstations daily - I wish I could do the opposite
         | for Linux. MacOS keyboard shortcuts are just way more intuitive
         | to me, and they are way more consistent across applications.
        
         | cpuguy83 wrote:
         | Sorry having to use ctrl+shift for in a terminal is absolutely
         | awful. macOS keyboard shortcuts are king.
        
           | dagi3d wrote:
           | agree. I guess it's a force of habit, but I am so used to the
           | cmd+<whatever> (specially copy & paste) shortcuts, that I
           | configured them into my linux desktop to behave the same way
        
           | drob518 wrote:
           | Being limited to just control and alt definitely cuts down on
           | the options. Conversely, having MacOS command key act as
           | "super" in Emacs opens up some possibilities.
        
       | IshKebab wrote:
       | Neat, but wouldn't it be better to have the windows as
       | "seamless"? I.e. not contained within another window.
        
       | jbverschoor wrote:
       | Perfect.. this will allow me to run GUI apps in a container.
       | 
       | I did a similar thing with X11, but I didn't like so much.
       | 
       | Bit by bit, Apple is loosing it's Desktop position. It all starts
       | at the developers. At soon, every person will be a "developer".
        
         | jbverschoor wrote:
         | In reply to then throwaway.
         | 
         | Anything I want sandboxed or "grouped".
         | 
         | Work on a project -> open the relevant container.
         | 
         | Similar to parallels window integration mode.
         | 
         | It's all from shortcomings to have a hierarchical view on your
         | data and applications.
         | 
         | Goal: isolation. Security-wise, and focus-wise
        
         | kelnos wrote:
         | > _Bit by bit, Apple is loosing it 's Desktop position._
         | 
         | Apple never really had much of a desktop position to start
         | with.
         | 
         | And their desktop position has always been a higher share than
         | Linux, so I don't really see how this changes much in that
         | regard.
        
       | tsuru wrote:
       | Wow. Would this allow a macos-based wayland-client to create an
       | EGL surface?
        
       | BirAdam wrote:
       | Now, if only macOS still had the ability to drop to a Darwin
       | shell without a GUI at all... we could just have a nice UNIX with
       | something like KDE or COSMIC, brew as our package manager... what
       | a dream.
        
         | MarsIronPI wrote:
         | But why MacOS then? If you take away the interface what
         | differentiates Darwin from FreeBSD or GNU?
        
           | komali2 wrote:
           | Performance on apple chipsets!
        
           | BirAdam wrote:
           | That it will actually run on Apple Silicon.
           | 
           | TBH, I would love to install GNU or BSD on my M4 Max Mac
           | Studio. What I really wanted is a modern UNIX workstation. My
           | Studio's price/performance was the best available, so that's
           | what I bought. Now, I am happy with that purchase except for
           | the constant diminution in software quality from Apple.
        
           | esseph wrote:
           | If I could buy modern apple hardware and run the Linux of my
           | choice, I probably would. I have 0 interest in the apple
           | ecosystem.
        
             | MarsIronPI wrote:
             | I wish I could get an Apple SoC in a 2013 Thinkpad chassis.
        
         | krackers wrote:
         | On intel macs there used to be single user mode, but even then
         | I don't think you ever had control over the framebuffer.
        
         | gf000 wrote:
         | Yeah, why stick to the inferior kernel used by macs with a
         | worse package manager? Like something like nix is just superior
         | in every sense.
        
       | kogasa240p wrote:
       | Wonder if this will bring at least a tiny amount of interest to
       | GNUstep.
        
       | skrrtww wrote:
       | This looks like slop? The README is full of emojis and kind of
       | incoherent, there are no implementation details, there claims to
       | be a Metal backend that doesn't seem to exist, etc.
       | 
       | The dependency list is also...something:
       | https://github.com/J-x-Z/cocoa-way/tree/main/vendor
        
         | jhatemyjob wrote:
         | This is definitely not worth using. It doesn't even say what
         | hypervisor its using. Is it using QEMU? Docker? Podman? Lima?
         | Colima?
         | 
         | And also this chart is super weird:                   Solution
         | Latency  HiDPI    Native Integration  Setup Complexity
         | Cocoa-Way Low      Yes      Native windows      Easy
         | XQuartz   High     Partial  X11 quirks          Medium
         | VNC       High     No       Full screen         Medium
         | VM GUI    High     Partial  Separate window     Complex
         | 
         | A standard VM will always be the easiest to set up by far. And
         | latency should be the same across all 4. I mean after all it's
         | a VM running on your local machine. Honestly I don't even know
         | what it means when it says "Latency".
         | 
         | I also looked at some of the code and it's using OpenGL 3.3
         | Core which is... super old. But it makes sense in the context
         | of this being LLM-generated since most of its training data is
         | probably OpenGL 3.3 Core code....
         | 
         | Overall this project is very strange. It makes me feel more
         | confident in my skills, AI isn't all that great. It's all hype.
         | You can get to the frontpage of HN. And if you're Peter
         | Steinberger you can get acquired by OpenAI for a billion
         | dollars. But that's about it. The code isn't getting any
         | better.
         | 
         | This reminds me of that C-compiler-in-Rust publicity stunt by
         | Anthropic. There's no substance. It's just a headline.
        
           | lights0123 wrote:
           | While I agree with the rest of your comment, they do mention
           | they use OrbStack as their hypervisor in their demo video.
        
             | jhatemyjob wrote:
             | Gotcha thanks for that info. Yeah that's insane. You have
             | to read the description of a YouTube video to understand
             | what a project on Github is doing. There is no architecture
             | here.
        
       | jFriedensreich wrote:
       | I need something like this for android, termux-x11 is a good
       | start but if termux gets wayland support or there is a way to
       | expose wayland sockets from the android native linux VM, the only
       | thing missing is a native rendering compositor for a smoother
       | experience
        
       | LoganDark wrote:
       | Server-side decorations "with shadows and focus indicators" -- is
       | it not using macOS's native window chrome? Pass... Add OpenGL
       | instead of Metal, and hard pass.
        
       ___________________________________________________________________
       (page generated 2026-03-28 23:00 UTC)