mate-desktop / marco

MATE default window manager
https://mate-desktop.org
GNU General Public License v2.0
199 stars 87 forks source link

[RFC]Wayland support with wlroots #413

Open Sunderland93 opened 6 years ago

Sunderland93 commented 6 years ago

wlroots is a most simple way to create Wayland compositor. I know that MATE team considering Mir as Wayland compositor, but for my opinion, is better to do your own compositor. Not from scratch, but with completely ready libraries. Sorry for my bad english.

eMorph commented 4 years ago

Wlroots is incompatible with the proprietary Nvidia drivers, and it would be better if this desktop were as compatible as possible with most PCs for obvious reasons, so I don't think, in my opinion, that wlroots would be viable without a patch at least.

raveit65 commented 4 years ago

I use a nvidia card so my vote is for libMir when they support the proprietary driver. And i do not agree with this nvidia bashing from kernel devs and wlroots. But currently i have a experimental mate desktop with wayfire in a fedora VM running. Wayfire works nice with integrated compiz stack.

charlesthobe commented 2 years ago

with nvidia adding gbm since driver version 495, now wlroots and sway support nvidia.

anoraktrend commented 1 year ago

wlroots also works on old NVIDIA cards now. Try Wayfire, it's comparative to Compiz.

fbushstone commented 1 year ago

I would have to agree with this, though I will admit I am biased towards wlroots over Mir simply because wlroots seems to be the new standard compositor implementation (with even KDE considering using it), while as an outsider Mir just looks like one of those standards that Ubuntu came up with due to NIH syndrome.

Additionally, XFCE is reasonably far along in their creation of a compositor based on wlroots. Maybe MATE could base the compositor portion off of that to avoid duplication of work? I'm less familiar with desktop environments as someone who prefers window managers, so feel free to correct me if this isn't possible.

lukefromdc commented 1 year ago

I've had good results with wayfire (which is wlroots based), though wayfire as shipped reads GNOME not MATE gsettings preferences. If we can get an option in wayfire to read these from MATE instead it would be easier to integrate it properly into a finished session. I have a basic session based on wayfire now at https://github.com/mate-desktop/mate-wayland-session

Note that both the previous 2020-era initial wayland support for mate-panel and my own wayland work for caja, the desktop, the panel applets and tray etc all depend on wlroots. Mir as of now is simply another wlroots compositor and does in fact work with the current wayland code.

Writing our own compositor would solve some problems (notably compositors looking to GNOME gsettngs) but also be quite a bit of work. I've done some work on compiz but never coded up a WM from scratch, so that may be beyond me. I don't think we'd need to fork wayfire if we go with it, as I suspect that (just as they now support using a custom path to wayfire.ini), they would be willing to add a runtime switch for what gsettings prefs to use if needed for something as big as distros offering a mate-wayland session. Working with them would avoid duplication of effort and reduce fragmentation in the compositor space.

Anyway, if you want to test the current wayland work, install MATE from git master, be sure to turn all wayland options on in configuration, install the session, and fire it up from SDDM or any other wayland supporting display manager. Please REPORT any issues you encounter so they can be fixed.

lukefromdc commented 1 year ago

There is now a new development: Ubuntu is working up Miraway, a Mir derivative meant directly for other DE's, MATE included. https://github.com/Miriway/Miriway https://github.com/Miriway/Miriway/blob/main/example-configs/miriway-config-MATE.bash They are setting this up so it can work both with or without Ubuntu's snaps, which nobody else uses. For some reason they are using gnome-console rather than mate-terminal, which works fine on wayland as of current git master. If nothing else, this gives Ubuntu-MATE a fast way to get a mate-wayland session up and running for their distro, especially if some of the wayfire issues are avoided this way.

If this takes off, two wayland sessions (both the sessions are simple) could exist: the wayfire session I am working on, and the basic and quite possibly more robust miraway session. Because of how wayland compositors work different compositors require different sessions as the compositor basically IS the session. We should as of right now be able to work with any wlroots based compositor, which both wayfire and Miraway are.