5 ms·
Wayland is a mess. Perhaps https://github.com/X11Libre/xserver https://github.com/X11Libre/xserver can revive the older ecosystem. Almost nobody writes for way
by shevy-java 7mo ago
Wayland is a mess.
Perhaps https://github.com/X11Libre/xserver https://github.com/X11Libre/xserver can revive the older ecosystem. Almost nobody writes for wayland. About two years ago I tried to switch, then gave up when I realised how many things are missing on wayland. And then I noticed that barely anyone wrote software for wayland. It feels like a corporate advertisement project really. GNOME and KDE push for wayland now.
- LeFantome 7mo agoWhat does “nobody writes for Wayland” mean? If you write software using GTK, Qt, or FLTK then you are writing Wayland software. The majority of Linux desktops are Wayland at this point. Nobody writes software for them? The Steamdeck uses gamescope which is Wayland. GNOME, COSMIC, Budgie, Niri, and Hyprland are not just Wayland but Wayland only. KDE will be Wayland only soon. Cinnamon is switching to Wayland. XFCE is writing a Wayland compositor. What percentage of Linux desktop users are not using one of the above? 10 at most?
- deleted 7mo ago[deleted]
- noselasd 7mo agoIt just means "noone" uses the wayland APIs directly, but instead they leave the wayland complexity to GTK,Qt or FLTK, and they call their app a Qt app, not a Wayland app.
- simonh 7mo agoWas X11 any different in practice? Apart from ancient legacy stuff like XTerm. It would be like writing a Mac application in Quartz directly.
- deleted 7mo ago[deleted]
- sprash 7mo agoIt was/is mostly the same practice except for the cases where it really counts. Window managers in general, xdotool, all kinds of input mapping and automation or the fact that you can write a screenshot tool in less than 500 LOC are only possible if you talk to X directly. And there the possibilities are almost limitless. And thanks to the xcb library it's actually somewhat convenient to use. Also certain types of power tools for mac probably need use Quartz directly as well.
- hparadiz 7mo agoHaving written a new gtk program recently I had to implement Wayland and X -isms in the code. Off the top of my head X prefers using W_Class and Wayland prefers app-id with each window having a role set. Both are fine. I honestly think Wayland is nicer but realistically you code for both. To get a global hot key you register it with the compositor and it works. But you can run a background daemon to catch all keys if you really want.
- kelnos 7mo ago> Window managers in general, xdotool, all kinds of input mapping and automation or the fact that you can write a screenshot tool in less than 500 LOC are only possible if you talk to X directly. Honestly I think this is a pretty fair approximation of "no one". How many people are writing tools like this vs. the number of people writing regular applications? A very small number, I'd say. And after working extensively with both libX11/libxcb and libwayland-client directly, I can say that none of them are particularly pleasant to work with. Actually, no, that's not true: libwayland-client wins, easily. Every single Wayland protocol has code generated for it that works exactly the same way. I suppose the same is (more or less) true of libxcb, but libX11 (and all the other libraries you might have to use, like libXrender, libXrandr, libXext...) are a complete mess. And even then, libwayland-client has a much lower number of concepts you have to understand than libxcb does, simply because the Wayland protocol has a small number of concepts you need to understand. libxcb is definitely an improvement over libX11, but it can't magically make all the underlying X11 protocol concepts become unified.
- gf000 7mo agoAnd why should we optimize for "how many locs can I write a screenshot tool in"? I would prefer to having 1-2 decent ones that have all the necessary features and call it a day. They can then have a simple API so you can script whatever you want. Why would I want to add more complexity to a display server?
- flohofwoe 7mo agoCreating a window and Vulkan context and receiving input events (e.g. what game-like applications need) is fairly trivial via Xlib but far worse in Wayland. The Xlib API also sucks compared to Win32 or Cocoa, but writing a Wayland client for something as trivial as creating and managing a window is much worse than on any other platform (see: https://www.p4m.dev/posts/29/index.html https://www.p4m.dev/posts/29/index.html)
- gf000 7mo agoThat's what stuff like SDL meant to abstract away.
- flohofwoe 7mo agoSure, but SDL can also only do so much to plaster over missing or optional Wayland features: https://wiki.libsdl.org/SDL3/README-wayland https://wiki.libsdl.org/SDL3/README-wayland Basic window system functionality really needs to be provided by the OS, not by 3rd-party libraries. And there's no reason why simple things like creating a window should be drastically more code in an OS API than in a wrapper library like SDL.
- kelnos 7mo agoThen in that case, the point is moot, as a similar version of "no one" uses the X11 APIs directly anymore, either.
- rezonant 7mo agoNo one who loved themselves wrote Xlib apps directly either.
- whizzter 7mo agoI actually wrote some stuff directly because I was young, poor and stupid. First year in uni my windows laptop broke, had to lug around a heavy second hand underpowered ppc powerbook and wrote some application I needed that I didn't want "bloated". Font handling, shared memory backbuffers, network api, etc.. as I wrote in another comment. It is an API to solve over the wire graphics in the late 80s/early 90s era using idioms of that time, and already by year 2000 the problems (rasterization power) didn't exist nor is it even a suitable API surface (even less so 25 years later).
- pjmlp 7mo agoAthena widgets were great! /s
- sprash 7mo agoIt means that Wayland is the worst and most idiotic graphics API ever conceived. Talking to Wayland's "asynchronous object oriented protocol" directly is a fucking disaster [1]. Secondary and partly duplicated infrastructure in form of a dbus infested maze of "Desktop-Portals" is necessary to do things as simple as taking screenshots. As such it essentially cements the GTK/Qt duopoly. Both are extremely subpar low-quality bloated toolkits that are also responsible for the fact that the Linux desktop is still not a thing in 2026. 1.: https://www.p4m.dev/posts/29/index.html https://www.p4m.dev/posts/29/index.html
- hparadiz 7mo agoOnce you set permissions the screenshot taking program always has them and you don't have to do grants more than once.
- grekand46 7mo agoWayland isn't really a graphics API, it's just a protocol for clients to communicate with the compositor. Sure, there's a lot of boilerplate to get a window on the screen, but you also aren't supposed to use it directly if you want something super simple. It's really meant to be a low level interface for toolkits to be built on top of. Here are two disagreements I have with the linked article: 1. Comparison with raylib This is imo comparing apples with oranges. Raylib sits at a much higher level than wayland, and it in fact supports using wayland as a backend. 2. Wayland is littered with callbacks because it's an object oriented protocol It's more due to wayland being an asynchronous protocol. When you send a request to the compositor, chances are that you wont hear back from it immediately. But it's also likely that the app can do other things while waiting for the response. X11 is also in fact an asynchronous protocol, it's just that XLib creates a synchronous API on top of it (and as a result suffers from unnecessary roundtrip delays). In comparison, the newer XCB library is a lot more faithful in terms of preserving the asynchronous nature of the protocol and is used by, for example, Qt's X11 backend and even XLib itself. Of course that also makes it more difficult to use, not unlike libwayland, but the main takeaway here is that you can build a sync API on top of an async one if you wish and not vice versa. I think some parts of the author's frustration is misplaced because they see libwayland as a toolkit, and in that case yeah it's pretty painful. But I really don't agree with the conclusion that this somehow makes it a bad foundation to build upon. As an analogy, making raw syscalls to the kernel is also painful, but that's why libraries exist. (edit for better formatting)
- throwaway27448 7mo ago> If you write software using GTK, Qt, or FLTK then you are writing Wayland software. Why is it so complicated if it's just a common backend? Surely you don't need 1/10th the complexity just to render gnome or kde (never heard of fltk before).
- Gigachad 7mo agoYou have to go quite out of your way to not use Wayland. Pretty much all mainstream distros switched over long ago. This just feels like the systemd drama restarted. Some will complain and hold on to the past for as long as they can but the rest of the world moves on. Wayland is the better choice today.
- Nursie 7mo agoYou pretty much just have to use an Xfce distro, as I don't think Xfce fully supports Wayland yet. As I am an Xfce user, I'm happy to wait.
- guenthert 7mo agoThe MATE DE is fairly popular among the small (not so small in India) but growing (thanks to Windows 11 no doubt) Linux desktop market, isn't it? They strive for Wayland compatibility, but aren't quite there (such I take from their release notes; I myself use an ancient version of Ubuntu/Mate here, right now). I'm not all that informed regarding Waylands benefits and shortcomings (just being puzzled when "performance" or "overhead" is quoted as reason to move away from X11, remembering that the latter didn't seem unbearable slow 30 years ago and that performance of computers in general and computer graphics in particular increased manifold since then). There are however some who should know, who don't seem all that excited: https://www.kicad.org/blog/2025/06/KiCad-and-Wayland-Support/ https://www.kicad.org/blog/2025/06/KiCad-and-Wayland-Support...
- Gormo 7mo agoI'm currently using XFCE on Arch, and have no incentives or motivation to use Wayland at all. I have no issues whatsoever with Xorg.
- JollySharp0 7mo ago> You have to go quite out of your way to not use Wayland. Pretty much all mainstream distros switched over long ago. Whether you use Wayland or not depends on what DE/Window Manager/Session Manager you are using and not what distro. Cinnamon, XFCE don't really work with Wayland. Cinnamon just hangs on my system, and I don't believe XFCE even support. I am on Debian 13, so things may have changed on the latest versions. Making Gnome using X was as simple as disabling Wayland. A one line change in GDM config somewhere and restart the session manager. > This just feels like the systemd drama restarted. Some will complain and hold on to the past for as long as they can but the rest of the world moves on. That because a similar things happen fairly regularly in Linux land. It seems every 5 years (or so it seems) There are things that are working perfectly fine, and then someone/some group decided that half of a particular stack needs rewriting/replacing at <large corp> and we go through a rigmarole of bugs, breakage, stability issues. It isn't people being irrational. It is people not wanting to go through another 5 years of churn on their desktops. If people are happy with something that works fine in their opinion and it is replaced by something else that causes a lot of churn and it isn't substantially better a lot of people are going to be left pissed off about it and thus the drama and resentment. This also causes issues for other operating systems e.g. BSDs/Solaris forks etc. Their users have to deal with all the Linuxisms. > Wayland is the better choice today. The problem is that a lot of stuff still doesn't work properly. I am using a modern AMD card. I get weird hang ups in Chrome/Brave that don't happen in X. Sometimes the windows "stick", other times the whole desktop just locks up. Doesn't happen in X at all. I am a web developer, so this is very annoying. There is another problem and that is that I don't think Wayland even works on non-Linux *nix like FreeBSD. The things that Gnome did well with Wayland is things like Different Refresh rates, display scaling etc. That all worked nicely. However the way Gnome works with Games can be a PITA. When I was using Wayland BTW, I was using it with Gnome 48, GDM on Debian 13. I think they just released Gnome 50. I went to Cinnamon and can't really go back because I updated too many dependencies from back-ports to reinstall Gnome.
- eikenberry 7mo agoI think Wayland is basically waiting for a higher level abstraction to fully replace X11, at least for the desktop. I'm currently playing with the River Wayland compositor (https://codeberg.org/river/river https://codeberg.org/river/river) which separates the window manager from the compositor and I think it could fill this gap left in the transition. Not as sure about non-toolkit (gtk,qt) application development...
- moondev 7mo agoThings like this remind me how much I love open source software. Choice is amazing shout out to all the contributors!
- redeeman 7mo agolol, has it ever occoured to you that the ones who ACTUALLY do write software, such as for example KDE, GNOME, actually prefer wayland? not to mention GTK and Qt, both supporting wayland. Most software vendors never talked to X directly either. You seem extremely misinformed