Back

Cocoa-Way – Native macOS Wayland compositor for running Linux apps seamlessly

194 points7 hoursgithub.com
jFriedensreich1 hour 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

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

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

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

ubercow135 hours ago

Apart from just running Linux apps, you can use this to run graphical applications remotely on a Linux server, like X11 forwarding.

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

functional_dev2 hours ago

here is Wayland vs X11 visualised.. it might help - https://vectree.io/c/compositing-window-management-architect...

+1
amelius2 hours ago
chrismorgan3 hours ago

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.

TingPing3 hours ago

This is how modern x11 worked too since nobody uses software rendering with x primitives anyway.

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

MBCook2 hours ago

What about this plus XWayland? Would that do it?

xlmnxp5 hours ago

I want to use KDE Plasma instead of Mac OS ugly (in my opinion) interface

vovavili5 hours ago

This is possibly the first time in human history this opinion has been stated.

hnlmorg4 hours ago

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.

polshaw5 hours ago

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.

ozgrakkurt2 hours ago

not sure about the looks but I also find KDE much better in usability

layer85 hours ago

Similar opinions are voiced in about every recent macOS UI thread, and even occasionally in Windows threads.

sersi5 hours ago

I mean Apple hasn't done itself any favours with Macos Tahoe.

drob5183 hours ago

“Liquid Ass” as some people say.

Imustaskforhelp5 hours ago

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.

coldtea3 hours ago

Then you want to run KDE on Linux. This is not going to replace your native mac desktop environment.

MarsIronPI3 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?

TingPing3 hours ago

Linux has good support for m1 and m2, so for newer devices running a custom desktop would be neat.

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

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

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

okayokay1233 hours ago

Emacs runs much faster and better on Linux VMs. And I have a VM for each client I work with.

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

pajko3 hours ago

PuTTY

coldtea3 hours ago

That's a Windows app.

alt2193 hours ago

PuTTY is absolutely available for Linux. On Debian-based distros it’s just a `sudo apt install putty` away. But why?

skrrtww2 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

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

jbverschoor2 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

throwaway6137463 hours ago

[dead]

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

MarsIronPI3 hours ago

But why MacOS then? If you take away the interface what differentiates Darwin from FreeBSD or GNU?

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

komali23 hours ago

Performance on apple chipsets!

tsuru4 hours ago

Wow. Would this allow a macos-based wayland-client to create an EGL surface?

kogasa240p2 hours ago

Wonder if this will bring at least a tiny amount of interest to GNUstep.

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

IshKebab5 hours ago

Neat, but wouldn't it be better to have the windows as "seamless"? I.e. not contained within another window.

anArbitraryOne5 hours ago

Now if we could switch MacOS to use Win/Linux keyboard commands, MacOS wouldn't be so insufferable

jurmous5 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

cpuguy833 hours ago

Sorry having to use ctrl+shift for in a terminal is absolutely awful. macOS keyboard shortcuts are king.

dagi3d3 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

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

SuperManifolds4 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

drob5183 hours ago

Exactly. You don’t have the terminal itself fight with whatever is running on the other side of the term.

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

layer84 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_dalton4 hours ago

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.

daveidol4 hours ago

That’s still like 10 uses vs unlimited uses on macOS

freedomben3 hours ago

It may be ten uses, but it's ten uses I use constantly throughout the day.

drob5183 hours ago

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.

layer83 hours ago

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.

p-e-w5 hours ago

I mean, you can simply use Linux and save yourself all those hacks…

anArbitraryOne5 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…

ubercow135 hours ago
IshKebab5 hours ago

Yeah I've used Karabiner to get windows-style shortcuts (home/end, etc.) and it works very well.

drob5183 hours ago

Aside: the new, large radius Liquid Ass corners that make some parts of the window basically unusable are really annoying me.

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

pugchat2 hours ago

[dead]