this is a linux post. be forewarned.
I just found out Xorg is apparently getting killed off with RedHat removing its life-support so the transition to Wayland is inevitable now. except... the whole system of compositors looks like a mess. there's only one solid tiling compositor (Sway) and both it and all the others basically had to be rewritten because they based themselves on the wayland reference implementation framework (wlc) -- which of course killed off all the smaller compositors that looked really cool.
personally, I'm coming from xmonad and no DE, stitching together a few utilities into providing the parts of a DE I actually care about and wanted, so I'd probably go the same route. would love to have a static tiling WM that was as deeply configurable as xmonad (it was a really a framework to build your own WM, not really a WM on its own) but I think I'm going to have to write that myself if I want it as no one seems to be working on anything like it (there was waymonad but the project looks abandoned/dead).
so what have y'all tried? what are the big gotchas switching over? I've heard screensharing on like zoom is basically impossible right now but a lot of other stuff mostly works? would really love to hear about people's experiences and some thoughts on whether its worth attempting the switch to Sway (seriously, how do people put up with having to rearrange their window layouts all the time, lol, that sounds so miserable... I put the layouts I like in code and call it a day once I'm done tweaking them).
if I do go the route of writing something myself, I'll probably build off of something like Smithay as it looks fairly well thought through.
+1 for wlroots - If you're making a wayland compositor, it's fifty thousand lines of code you'd be writing anyway. Unless your compositor wants to do super weird things, like have the mouse do something other than move the cursor (but even then, wlroots has escape hatches for that kind of thing.)
If you're not making a wayland compositor, it provides a bunch of foundational Wayland extensions for things like standardised screenshotting, layer-shell (allowing windows to display 'always-on-top', imagine a dock or a panel), there's
wlrobs
, which lets OBS capture from wlroots compositors via a direct-memory-access buffer, meaning that recording videos happens in as few data copies as possible. (We use the X Shared Memory extension in obs-studio on X11.)I tried sway for a while, but am still chained to bspwm for now because of incompatibilities with an old version of IntelliJ (it was handling window focus weirdly under Wayland) and I have an nvidia graphics card and want to take advantage of the proprietary drivers' performance, which is unsupported by sway because nvidia won't implement the GBM API.