Replies: 2 comments 14 replies
-
I think it's important to note that you don't actually get everything for free when building on wlroots. The wlroots project's origins as the backend library for Sway influences a lot of its design decisions. And while it's true you get a head start implementing a compositor on wlroots, it would not be terribly different than if you did so on libweston (from Weston), Louvre, or Mir either. There is also another component that has to be implemented alongside a compositor: an xdg-desktop-portal backend. While wlroots has an implementation in the form of xdg-desktop-portal-wlr, it is so limited in functionality that compositors that use the library that want things to work have to implement their own backend. This is why Hyprland has its own, for example. I know that @JoshStrobl, @serebit, and I have discussed this before in the context of Budgie desktop that one will be made for Budgie once Magpie v1 is further along. Any alternative needs to also consider that Cinnamon needs a portal backend that is linked to the compositor too in order to be fully useful as a Wayland environment.
Clutter is part of Mutter/Muffin. It hasn't been a separate project in a very long time. Eliminating Mutter/Muffin essentially forces a total rewrite of the whole shell, since the Cinnamon shell, like the GNOME shell, is implemented around Muffin. It also eliminates the opportunity to reuse the GNOME desktop portal (or at least to fork/extend it). As prior art, elementary OS' Pantheon desktop uses Mutter directly and is able to largely reuse the existing infrastructure, only needing to build a portal implementation for its own piece to set backgrounds. @jadahl has already confirmed it's technically possible to implement more protocols in Mutter as needed. It's more of a question of whether anyone wants to do it. To be clear, there are absolutely limitations in Mutter due to what they've been willing to implement so far. Fundamentally, Cinnamon is a fork of GNOME Shell. It inherits GNOME Shell's architecture. Changing to anything else means throwing away the shell code completely and starting over. Maybe that's fine and Cinnamon wants to do that, but that's a tremendous amount of effort that may not be worth it. |
Beta Was this translation helpful? Give feedback.
-
Speaking for Mir, I can confirm we don't guarantee we will implement all the "stable" protocols, nor all the "unstable" ones. And, while this is hypothetical, we wouldn't accept a PR implementing a protocol we strongly disagree with even if it got approved.
Portals is, like Wayland, a collection of protocols. Some of these overlap with compositor functionality, but most don't. Really, what is needed for portals is someone defining hooks for compositor integration, that multiple compositors could work with, and a portals project that is compositor agnostic. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Originally, I saw this suggested in this issue: linuxmint/wayland#25
I want this space to serve as a discussion for the future of Cinnamon on wayland. I believe that there is ample time to discuss the future of Cinnamon on wayland and users shouldn't try to rush the developers of cinnamon.
wlroots gitlab: https://gitlab.freedesktop.org/wlroots/wlroots
Why wlroots?
Other desktop environments that do not have the developer manpower to support a full compositor from scratch are using wlroots to build their wayland session support.
See:
XFCE: https://wiki.xfce.org/releng/wayland_roadmap
Budgie: https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/wayland-display-server/1423165-budgie-ditches-mutter-for-wlroots-and-teams-up-with-xfce-for-wayland-future (sorry for referencing a forum post, not the best source but it's the immediate one I could find for budgie)
LXQT (potentially? it says support for "sway", which utilizes wlroots): https://www.reddit.com/r/linux/comments/x10h1w/lxqt_developers_announces_support_for_sway_and/ , https://github.com/selairi/lxqt-sway
Pros
A summary of what I believe to be the pros of using wlroots over mutter:
Cons
The cinnamon applets are GTK-based, not necessarily a compositor problem but the connection to GTK, and GNOME will remain even if wlroots is used.Correction: the cinnamon applets are clutter based, thanks @lestcapeBeta Was this translation helpful? Give feedback.
All reactions