Cocoa-Way – Native macOS Wayland compositor for running Linux apps seamlessly (github.com)
249 points by OJFord 10 hours ago
cyanmagenta 8 hours ago
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.
fny 4 hours ago
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.
QuantumNomad_ 2 hours ago
> 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.
LeFantome 40 minutes ago
adastra22 3 hours ago
Or running applications within fully sandboxed VMs on the local machine, but with native-ish forwarded GUI. Great for dev.
LeFantome 39 minutes ago
This is Wayland. You could use xprs (or Waypipe).
Sorry, I responded to the wrong comment.
semi-extrinsic an hour ago
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 an hour ago
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.
jon-wood 8 hours ago
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.
audunw 8 hours ago
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.
addaon 3 hours ago
> But XQuartz is awful.
What issues are you seeing with it? I use it pretty heavily and have no complaints…
MBCook 5 hours ago
What about this plus XWayland? Would that do it?
ubercow13 8 hours ago
Apart from just running Linux apps, you can use this to run graphical applications remotely on a Linux server, like X11 forwarding.
pkaeding 6 hours ago
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.
adastra22 3 hours ago
chrismorgan 6 hours ago
functional_dev 5 hours ago
xlmnxp 8 hours ago
I want to use KDE Plasma instead of Mac OS ugly (in my opinion) interface
vovavili 8 hours ago
This is possibly the first time in human history this opinion has been stated.
hnlmorg 7 hours ago
bityard 3 hours ago
polshaw 8 hours ago
ozgrakkurt 5 hours ago
layer8 8 hours ago
sersi 8 hours ago
Imustaskforhelp 8 hours ago
coldtea 6 hours ago
Then you want to run KDE on Linux. This is not going to replace your native mac desktop environment.
MarsIronPI 6 hours ago
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 6 hours ago
boschetto 8 hours ago
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).
LeFantome 41 minutes ago
The first thing I wondered about was running GUI apps in a Linux container.
addaon 3 hours ago
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.
OJFord 8 hours ago
It's not necessarily something only available for Linux, but something that you want to containerise. (And then it's inherently running on Linux.)
okayokay123 6 hours ago
Emacs runs much faster and better on Linux VMs. And I have a VM for each client I work with.
hrmtst93837 7 hours ago
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.
bigyabai 4 hours ago
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.
pajko 6 hours ago
PuTTY
coldtea 6 hours ago
That's a Windows app.
alt219 6 hours ago
jbverschoor 8 hours ago
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 5 hours ago
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
jFriedensreich 4 hours ago
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
skrrtww 5 hours ago
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 3 hours ago
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 2 hours ago
While I agree with the rest of your comment, they do mention they use OrbStack as their hypervisor in their demo video.
jhatemyjob 33 minutes ago
BirAdam 6 hours ago
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 6 hours ago
But why MacOS then? If you take away the interface what differentiates Darwin from FreeBSD or GNU?
BirAdam 5 hours ago
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 2 hours ago
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 an hour ago
komali2 6 hours ago
Performance on apple chipsets!
krackers an hour ago
On intel macs there used to be single user mode, but even then I don't think you ever had control over the framebuffer.
tsuru 7 hours ago
Wow. Would this allow a macos-based wayland-client to create an EGL surface?
Imustaskforhelp 8 hours ago
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.
anArbitraryOne 8 hours ago
Now if we could switch MacOS to use Win/Linux keyboard commands, MacOS wouldn't be so insufferable
jurmous 8 hours ago
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 7 hours ago
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 6 hours ago
Exactly. You don’t have the terminal itself fight with whatever is running on the other side of the term.
cpuguy83 6 hours ago
Sorry having to use ctrl+shift for in a terminal is absolutely awful. macOS keyboard shortcuts are king.
dagi3d 6 hours ago
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 6 hours ago
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.
rick_dalton 8 hours ago
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 7 hours ago
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.
rick_dalton 7 hours ago
daveidol 7 hours ago
p-e-w 8 hours ago
I mean, you can simply use Linux and save yourself all those hacks…
anArbitraryOne 8 hours ago
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 8 hours ago
drob518 6 hours ago
throwaway613746 6 hours ago
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.
kogasa240p 5 hours ago
Wonder if this will bring at least a tiny amount of interest to GNUstep.
IshKebab 8 hours ago
Neat, but wouldn't it be better to have the windows as "seamless"? I.e. not contained within another window.