Wasn't this deemed a failure and shut down? The source repos are archived. I think Drew DeVault had a blog post about it since he was friends with the author.
You... might be able to, kind of, depending on your goal... So the thing is, if all you need is a single screen (or at least, I've not run this multi-monitor) and you're just working around drivers that don't support Xorg, you can just run cage ( https://github.com/cage-kiosk/cage ), run xwayland on that, and run your real GUI on that. Of course, then you're skipping all the advantages of wayland except hardware/driver compatibility.
For "real" wayland, sibling comments are correct that you'd need a wayland compositor that reimplemented awesome.
I've been wanting to try http://hyprland.org/, but since plasma gets me far enough and provides a working taskbar (wifi, sound, bluetooth, mount, clipboard) and virtual desktops on which I end up opening just firefox and emacs I haven't really given it a chance.
Bunch of bu... rather unsubstantial claims. Just installed fresh KDE 5 + Plasma , running Wayland session, with two displays having different DPIs (96 and 185), and Plasma menus on HiDPI display are blurry until I'm moving a mouse over them, then they magically are getting refreshed with proper resolution. Tell me about how Wayland is great and works out of the box, sure
This should be the final word on the issue. Please don't comment about how your X desktop is fine, or how Wayland doesn't work for your obscure, niche little use case. If X isn't broken already for you, it will soon be broken, not least by some "here's a quarter, go buy yourself a real window system" patch that lands in critical user space or even kernel components or libraries. Ex.: the Asahi Linux video driver simply dies if it detects that it's being called from X, because neither marcan nor Alyssa (who in her early twenties has forgotten more than you know about graphics) can be bothered to support X.
So kindly shut the fuck up, use Wayland, and let the adults in the room chart the future for graphics on your Linux system.
Ok. I guess I will switch when it actually breaks, by which time Wayland will be even better than it is today! Or wait, you want me to switch right now? Because... I guess it hurts your feelings somehow that it hasn't broken for me yet? And you are upset that my desktop works fine, and feel a need to scream at me to use the software you are a fan of? Huh.
Because as long there's a significant "X is fine, why switch?" user base, it will hold back the apps, toolkits, and libraries, many of whose maintainers desperately want to remove the X11 code paths and get on with something modern. We need everybody going all-in on Wayland in order for there to be progress on the modern desktop. Having that crufty old support for an effectively unmaintained display server kicking around is wasting developer effort.
I use Linux because I can choose what tools to use. If I wanted to be forced to switch to the shiny new thing whenever "the adults in the room" want me to, I'll be using Windows.
So yeah I can shut the fuck up, but I am also not going to listen :)
I get that you are being performatively rude… well, I don’t know why, maybe as a rhetorical device or maybe just for fun.
However, in the context provided by the article:
> One major thing to note about Wayland is the lack of accessibility software for it
your comment
> Please don't comment about how your X desktop is fine, or how Wayland doesn't work for your obscure, niche little use case.
is actually super shitty, you are being a bad person here. Not in a fun, silly trolling way, but in a telling people with accessibility issues that they don’t matter way.
This is exactly the attitude that makes me never want to use Wayland: I like being able to run Icewm, Stumpwm, WindowMaker and all sorts of other X window managers that haven’t been updated in years. The Wayland attitude of “we’re just dumping all your favorite stuff in the garbage because we’re the adults in the room” is the antithesis of all the things I liked about Linux (not to mention going from a system shaded by *BSDs and Illumos to a Linux-proprietary system)
Can you show a source for this claim? There exists this codepath in adp_open:
int adp_open(struct inode *inode, struct file *filp)
{
if (current->comm[0] == 'X')
return -EBUSY;
return drm_open(inode, filp);
}
but:
(a) You know what "adp" stands for? It stands for Apple Display Pipe, or the touchbar.
(b) Back when I was dailydriving asahi, I actually had to patch that to check for 's' instead of 'X', because sway dies on this exact thing too.
It is really shocking that X has been on life support for like a decade, but it is still necessary to write essays to try and convince people to switch away from it.
Maybe it is just a really good design.
I like i3, so I can switch to Sway easily, there’s just no reason to.
The ONLY reason I switched from i3 -> Sway is because I'm using monitors with different resolutions and dealing with dual monitor setups in X approaches impossible.
Sway is mostly OK but i3 and all the supporting X stuff I had was incredibly solid and all just worked together. Enter Sway/Wayland, and some things are in XWayland some things are native so they can't talk to each other, there are constant display bugs, Waybar is glitchy, screen sharing is a nightmare, fullscreen mode doesn't work for floating windows, fullscreen windows aren't transparent and show black instead of my background photo (because "security"). I just kind of hate it. I recently updated Sway and my dropdown terminal no longer focused when I opened it...I'd have to click to focus. I ended up reverting. It's probably some perfect storm of lagging support from apps, bugs in Sway, bad AMD drivers, and a protocol that's, sure, more "correct" but kind of gimps the overall experience.
If you're happy on X, stay on X. It all worked fine before my laptop died and I got a new one with a different resolution than my monitor. I will say though...multi-monitor support in Sway/Wayland, with scaling and all that, is excellent.
Not really, it is a design for 1990's UNIX hardware, it is only kept alive thanks to the endless extensions developed for GNU/Linux and BSDs, mostly on x86 graphics hardware.
There is a reason why they basically only dominate in traditional UNIX headless workloads and nothing else.
After successfully cloning Bell Labs UNIX, that was it. Hardly anything new on the Desktop space, that isn't being rebuilt or forked every couple of years.
> There is a reason why they basically only dominate in traditional UNIX headless workloads and nothing else.
Well then it's a non-issue; neither X11 nor Wayland are needed for that.
> After successfully cloning Bell Labs UNIX, that was it. Hardly anything new on the Desktop space, that isn't being rebuilt or forked every couple of years.
So... it it nothing new, or is it constant change? Because those seem contradictory.
Nothing new, because GNU/Linux is a follower from what proprietary OSes do in the GUI space, hardly doing any innovation, and even copy cat of those proprietary OSes approaches isn't good enough, gets rebuild and forked every couple of years.
While the proprietary OSes do rebuild their stacks, there is an amount of tooling put in place to ease those transitions.
So yeah, in the end it is all about UNIX servers, which aren't even a thing on container and serverless workloads, or headless POSIX compatibility on some IoT device, if they aren't using other FOSS OS like Zephyr/FreeRTOS/NutXX/Tock/mBed, both cases with a WebUI as management interface and that will be it.
> Nothing new, because GNU/Linux is a follower from what proprietary OSes do in the GUI space, hardly doing any innovation, and even copy cat of those proprietary OSes approaches isn't good enough, gets rebuild and forked every couple of years.
That's not actually true, but more to the point, the proprietary OSs are also from the 90s and just keep extending themselves.
Apparently the lack of reading comprehension made you skip my second paragraph, and I failed to find any counter example on how then happen to innovate in GUI development, instead of copying existing stuff.
If you need help, I guess rotating cubes for changing virtual desktops could be an example, which is a kill feature in GUI design space.
I've been very, very happy with Sway WM, which is a near-replica of i3 WM ans uses Wayland under the hood. It's close to the peak of personal computing for me. Thank you, Wayland.
I've installed the latest ubuntu LTS on my work laptop, with wayland KDE. Every 2 weeks, the wayland proces crashes and I loose all my applications and need to reboot. Only a black screen is left. X11 hasn't done that since 2000 or so. At home, wine doesn't do full screen on wayland so I switched back to X
Not ready for prime time. Alpha quality. Sorry. Maybe later.
So, that's 22.04 with Plasma 5.24? Yes, I also had bad experiences when I using Plasma 5.24 and earlier with kwin's Wayland session (so much so that I used kwinft for a bit, as this was not a Wayland, but a kwin problem - wlroots and Mutter/GNOME allowed for good experiences earlier than the 22.04 timeframe).
Fortunately, with Plasma 6, it's night and day from that, and even with 5.27 which Kubuntu 24.04 will ship, things are a lot more solid already.
That's mostly because unlike Wayland and some distro devs, KDE cares for their users. They substitute missing/unfinished Wayland features with quick and dirty custom implementations they intend to replace after they are finalized. So Plasma is not Wayland.
That said, even the bleeding edge Plasma 6 (which has the most complete Wayland support and then some) doesn't work well in Wayland mode yet, it has plenty of issues with drag-n-drop, cursors, portals, much-hyped fractional scaling, and many other things (I still can't calibrate my drawing tablet display, for example). The overall experience beyond very basic features is flaky and unfinished.
I'm not even starting on implicit/explicit sync debate, that's a complete shitshow that can only be blamed on Wayland devs (regardless of Nvidia).
Happy to see the future looks brighter. Work laptop needs to be supported by some software packages, so Ubuntu LTS of at least 1 year old is the minimal requirement. See you in 2025, wayland.
I've gone back and forth on wayland a few times now. It has both good and bad sides. Major functionality holes are finally getting plugged.
But the quality and stability of the compositors just isn't there yet compared to X11, and when leaving QT and GTK widget sets, almost nothing is fully baked. Presumably, things will get better in a few years.
Which release? Ubuntu has had a bad habit of not setting the proper environment variables for Firefox in the past - for X (not setting MOZ_USE_XINPUT2=1) and wayland (MOZ_ENABLE_WAYLAND=1), massively degrading the user experience in Firefox, e.g., for touchscreen users. With Firefox 121 and forward, the latter variable does not need to be set anymore.
To sum it up: Your subpar experience wasn't the fault of Wayland or Mozilla, your distribution is to blame for this (as making the combination of software shipped work well together for the user is the job a good distribution does).
That said, even without setting the environment up correctly, I never had a keyboard input issue - so it could be snap... Canonical to blame, again - maybe.
(Need I say I no longer use Ubuntu and will move my parents to a different distribution once I find the time?)
Which release? Ubuntu has had a bad habit of not setting the proper environment variables for Firefox in the past - for X (not setting MOZ_USE_XINPUT2=1) and wayland (MOZ_ENABLE_WAYLAND=1), massively degrading the user experience in Firefox, e.g., for touchscreen users. With Firefox 121 and forward, the latter variable does not need to be set anymore.
To sum it up: Your subpar experience wasn't the fault of Wayland or Mozilla, your distribution is to blame for this (as making the combination of software shipped work well together for the user is the job a good distribution does).
That said, even without setting the environment up correctly, I never had a keyboard input issue - so it could be snap... Canonical to blame, again - maybe.
(Need I say I no longer use Ubuntu, despite it being my main distro since 4.10. My parents are still on the LTS train, I will move them to a different distribution once I find the time.)
Honestly, I was never convinced that concentrating all developer effort onto Wayland was the best idea. Wayland seemed like a massive over-correction from X11, where the protocol and core were "simple" in comparison to X11 which did everything. Being simple, by itself, is not a virtue -- Wayland basically forced all the essential complexity of the problem to the compositors (a la Waterbed theory of Complexity [1]). Given there are so many compositor implementations, they essentially end up reinventing the wheels all the time. This is a bit better now with wlroots, but unfortunately, the ecosystem is already fragmented. I'm not saying X11 is superior to Wayland or vice-versa, but frankly I would be surprised if we couldn't improve X11 if it got 0.1% of the amount of effort collectively gone into Wayland.
I would highly recommend reading through some of these blog posts who expound upon the problems of Wayland more eloquently than I can [2,3,4].
That captures it neatly. It remains the future, even though the dawn of the new day has been extremely slow. There was an amazing decade watching the Wayland community struggling with screenshots as a major engineering challenge. They tried to half-bake critical parts of the problem space and it led to a dead-on-arrival protocol that took a decade to be Frankensteined to life.
I get that Xorg is terrible, but Wayland has been around for 15 years at this point (the article's "Unless your workflow (and hardware) comes from 20+ years ago" jab falls a bit flat). It is closer to the X.org server's release than to the modern era. There were good people with big ambitions involved, but the Wayland protocol is an example of a mis-design that had to be made to work despite itself.
> [...] I would be surprised if we couldn't improve X11 if it got 0.1% of the amount of effort collectively gone into Wayland.
The problem here is that open source volunteers would rather work on the shiny new thing rather fix the old messy code, and I can't really balme them for that.
All the technical arguments are entirely valid. But they are irrelevant to the end user, who has been using this so-called "bad software" perfectly fine for the past 40 years. What sort of reaction do you expect when you come in and break their workflow and then belittle users by pretty much saying "you're holding it wrong"? It happens most people are more concerned with getting their personal computing done than the ideological purity, technical merits or 80s baggage of their display server.
The most popular desktop operating system, Microsoft Windows, takes an entirely different approach to backwards compatibility. Do I have to ask why it has the market share and not Linux?
Tread is meaningless when it spawns multiple generations, and there are markets where it is irrelevant.
Below a certain threshold no one is buying Apple, as they can't afford to, and after 20 years GNU/Linux managed 2%, maybe will reach 5% in the next 20 years at current velocity.
Android, ChromeOS and WebOS don't count, as it is irrelevant for users and respective app developers, that they are powered by the Linux kernel.
Okay, the trend is that it's taken ~30 years for MS to not be >>90% of the market. A person could even argue that them finally losing ground correlates with them not taking stability and continuity as seriously.
X has been and still is available in Linux so I think losing backwards compatibility is not the reason for the lack of popularity (compared to Windows).
Linux is a community project, not a product, so market share is not important. There’s no reason to chase after users unless they are likely to convert to developers.
The graphics stack developers appear to like Wayland better for some reason. I’m sure some day it will be better than X. Some day…
>The most popular desktop operating system, Microsoft Windows, takes an entirely different approach to backwards compatibility. Do I have to ask why it has the market share and not Linux?
Apple regularly makes sweeping changes to MacOS and expects apps to adapt, and MacOS is pretty popular.
The article does not explain how Wayland breaks bad software?
> X11 is, to put it simply, not at all fit for any modern system. Full stop. Everything to make it work on modern systems are just hacks. Don’t even try to get away with “well, it just works for me” or “but Wayland no worky”. Unless your workflow (and hardware) comes from 20+ years ago, you have almost no reason to stick with Xorg, especially as it continues to get worse and worse when the user experience relies on newer and newer features.
This is not a great way to start an article. You are not going to convince any "it works for me" person to try out Wayland with this attitude. I'll say it: X works for me, what's wrong with my 20 year old workflow?
> Xorg, from the very beginning, only ever had to deal with one display. It did originate from around the 1980s, after all. Having more than one display wasn’t even a thought in their mind, let alone ones with different resolutions and scales. The official docs even consider a “Display” to be the entire Xorg server, with all of its screens combined.
This paragraph seems to imply that X does not work with multiple displays, but I have never had issues with those.
I have nothing against Wayland and I think there are good arguments in favor of it in this article, but they are presented in a bad way. The author seems mad at users for... Not wanting to change a working setup? Do they not realize that most people only care about windows being shown, and not about how messy the internals are?
> This paragraph seems to imply that X does not work with multiple displays, but I have never had issues with those.
I had issues with it, and it's honestly the main reason I switched to Wayland. And while I don't regret that decision, I live in constant annoyance of all the little things that used to work but just don't now.
Wayland and/or its implementations are just not feature complete, and in many cases are a step backwards in UX.
I think it's great people stay on X. I wish I could have.
Maybe it is merely a documentation issue? I keep hearing stories on the one hand of people (such as yourself) who say they failed to get X working with multiple displays... and yet, a ton of software seems to exist predicated on the notion of working with multiple displays (even i3) and a number of actual users claim to have multiple displays working.
^ maybe this would be useful? This seems like a pretty simple single run of xrandr that configures multiple (three, even) monitors on X all at different resolutions and ending up at different display scaling (including one fractional scaling). Like, looking at this, I feel as if I should be able to get this working myself, were I to have multiple monitors (I don't on my Linux laptop).
FWIW, I love the idea of helping someone not be sad about having to switch to Wayland by getting them back on X with all of their happy software working, and so if you want to try to debug whatever your issue was together, I'm game. To me, what makes Linux fun is all of
the random combinations and hacking we can do together, and it just seems like people are both losing that ethos and even saying we are wrong for enjoying it, and that makes me a bit demoralized :(.
Multiple displays work on X11 by having one big canvas/virtual display, and having each monitor show the contents of a part of that canvas.
There are some restrictions because of this. One is that per display scaling is unsupported in the worst case, or a hack in the best case.
Another is that the virtual display is always a rectangle, meaning that if you have different resolution displays, you end up with some parts of the canvas not being displayed anywhere. Most window managers and desktop environments know not to place window contents or UI chrome there (like panels), but the space is still there, and you can see this when using screenshot utilities which simply write the whole canvas to a file. Your mouse pointer can also hide in these invisible sections.
Getting X11 to display content on video outputs located on different video cards from different vendors can sometimes feel like a dark art, but other than that it mostly just works.
1) FWIW, I understood that, given the xrandr explainer that I linked, which was clearly doing all of that ;P.
2) Regardless, the person I'm replying to was using i3 (and is now using Sway), so I'm thinking that a lot of these limitations don't matter much? I mean, with i3 you aren't even going to ever have a window crossing the boundary between two monitors much less ending up off-screen somewhere.
3) I use a ton of random monitors at wildly different resolutions on Windows and frankly it's the same thing: there is a conceptual bounding rectangle for all of the monitors and you can absolutely have Windows hanging off the edge of monitors; also: I don't know how you expect anything to support non-rectangular screenshots so all of my screenshots on Windows--as well as my VNC servers--all have the same behavior with dead space.
4) Ok... I guess I can see the mouse thing being really annoying (as on Windows at least my mouse is locked to the visible area), but it doesn't seem to actually be the case? Again: maybe this is a documentation issue?
I don't know...I looked up dozens of pages and tried all of them. One monitor I have to scale down to 50% and the other one is native res, I think that's what caused me problems. I remember getting it to work but having issues with it either not displaying fonts properly because of all the weird scaling stuff or having things display off-screen and all that. I don't remember the exact reasons for seeking out Wayland but I remember having a really glitchy time on X with multiple monitors at different resolutions/scales. It was one of the very first things I tried on Sway and it really just worked instantly and intuitively exactly how I wanted.
It's possible the link you sent would solve the issue for me, but at this point I don't really have the energy to load up X and try again. I've since switched out a bunch of my workflows to adapt to Sway and the interruption would cost more to me than just living with the Wayland bugs.
> This paragraph seems to imply that X does not work with multiple displays, but I have never had issues with those.
You used to have to write a custom Xorg.conf with like modelines and shit for each display, but it was doable. But custom Xorg.confs haven't been needed for like, decades. There's some WYSIWYG multi-display setup in KDE Plasma, which just works, and I'm pretty sure GNOME has some equivalent as well.
Oh look, another emotional "I hate X11 and screw you for pointing out that Wayland still hasn't reached feature parity" rant. If y'all spent as much time coding as gaslighting people it might actually work already.
> It’s perfectly valid if you’re staying on Xorg because some features don’t quite work just yet, especially when it comes to accessibility. But that ship can only keep floating for so long.
It has been fifteen years. Eventually the conversion largely moved from "well just don't use that feature" to "someday we should provide that" with occasional breakthroughs to "okay, it works in these 3 compositors so that counts, right?" There was a time when I joked abut Wayland reaching feature parity around the same age X was when Wayland started, but it's not a joke anymore.
> Try out Wayland every once in a while if it doesn’t work for you, and keep an eye on the relevant discussions.
I did, once. Eventually it got old and I stopped paying addition.
I think I’ll end this off with:
Wayland: it’s all TODOs, and not all of them work.
How difficult would it be for a few hundred of us to just fork X11 and refactor it a good bit, make some breaking changes, and just call that job done? It cant be that bad?
Everyone who mentions its bad fails to mention what is bad about it. You're writing an article saying its bad, and you didn't read the code or do whatever is needed to tell me what exactly is wrong with X11? Chestertons fence says hello, I guess?
Likely impossible in practice. None of the design decisions in X core make sense any more (it is designed for a world where 2D acceleration was important and didn't design for this world we live in where the kernel controls all the hardware). The parts that matter are extensions and hacks on top of that. All the developers (we're verging on literally all of them) who had to work with X fled it like rats on a sinking ship.
Signs suggest it is genuinely unmaintainable. The only problem is the replacement was secured against common user tasks being possible and un-securing it has been a long, slow and painful process of community negotiation. Although we're probably most of the way there by now.
Server-side rendering still makes sense, because the server (the user's laptop or phone) has its own dedicated GPU, and the client (racked in a shared datacenter) likely doesn't. So I think we'll keep seeing browser frontends for everything.
Yeah, but that kind of workload isn't really X, OpenGL and Vulkan are designed in a way that X isn't necessarily part of the story, and CUDA, SYSCL even less.
The way it sounds from reading the article is X11's design fundamentally is that bad for modern hardware, which is why almost all of the active graphics development is focused on reimplementing a designed-for-modern-hardware replacement. The claim from the article is that X11 is basically unsupported abandonware, and is calling for developers to please help with the rest of the work in finishing the migration of use-cases to Wayland in order to help the whole ecosystem be able to abandon the sinking ship and move to a more-modern better-maintained future.
Let’s be honest: if you want people to switch to Wayland then make it works for all softwares. Do not expect people to switch habits because of a piece of software most of the people never heard of.
I don’t agree either with this notion of « bad software »: to me « bad software » is for something that just does not execute (well), so is the « bad software » for an executable that executes successfully on X11 or Wayland which does not execute it…?
UNIX was born as headless server hardware, and as things go, the future of Desktop Linux comes packaged in either a VM, or the Linux kernel alongside a non-UNIX userspace.
X is stuck in the past, and Wayland might already be too late, in the age of WebUIs, no mater at all.
I don't agree with everything in this article, but it is even more tiresome reading some of the comments here.
Keep in mind that a lot of people are working really hard to get wayland to where it should be.
This is HN and it would be cool to show support to the technical improvements and the security benefits of the whole wayland stack. Its fine if it is "no worky" for you. The goal is get it to work for everyone and actual reports on what does not work is much more helpful than philosophical arguments about wayland that have been ongoing for years.
Also you are not being forced to use it. Stick with i3, its fine.
I think there are already quite a few user benefits that come with wayland and for me wayland and XWayland works very well for all applications I use with the exception of some java guis. (that is also being worked on)
All of that beeing said, developing protocols and implementing them on multiple sides is just a slow process and we are not 100% there yet.
As much as I agree with this article, it's not ready for everyone yet.
If you're using nVidia, everything that uses xwayland is still a flickery mess. Explicit sync patches are looking good, but those patches are not in a release of xwayland and the driver side is not yet available (but in my experience, just the xwayland support helps 99% of the problem).
KDE Plasma 5.x has a ton of bugs on Wayland that were fixed with 6.x. But 6.x hasn't filtered down to everyone yet. Plasma 6.x still has minor Wayland-specific bugs I've noticed that they're slowly cleaning up in the point releases.
Wayland only recently gained a real drag-and-drop protocol. Dragging windows, say, from a Chrome or Firefox session, doesn't work well. I've noticed Chrome beta implements the new protocol and it works great, but still unavailable.
There's many reasons why X11 is not great today, like it's security model and it's hardware abstraction model. But it's been working for almost 4 decades, and its user experience has been improved for most of that time.
I mostly use Wayland nowadays, but there are still times I need to switch to X11 to get things to work.
Telling me this is because the software I use is bad is not at all helpful. I'm trying to get something done, and sometimes I can't choose different software and almost never do I have the ability or time to fix it if it doesn't work on Wayland.
As a kde neon user, the plasma 6 update broke all my global automaton shortcuts (like for example press win+u to automatically write a random uuid where the text cursor is). The script uses xdotool for this, and "it just works" every time.
On Wayland three is no xdotool, but there is ydotool (and a couple others). However for some reason they are not reliable (with and without xdotoold) and most of the times the pasted uuid is missing letters. I managed to get around this by using the clipboard to copy the text, and then I can manually paste it, but it's a extra step. Plus I have other scripts that deal with emojis and other Unicode characters, and it's either been a pain to work around or "It just doesn't work". I switched back to X11, and I'll probably stick with it a few years more.
But I'm still confusing, linux is the best platform for customization, and allowing you to automate things. However wayland seems like a block. I understand that it's a more modern project, probably more optimized and everything, but unless I'm missing a key toggle or tool to allow me to automate things, I'll try to avoid it.
I'll stay on Xorg, which has worked perfectly fine for me for decades, for as long as I can.
I use openbox, and fluxbox before that. A bit of pekwm and bspwm in between.
I love the diversity of Xorg window managers, and I prefer its architecture which allows one to write a new wm in a few hundred lines of code, instead of pushing all complexity away and creating massive fragmentation and (mediocre) reinvention of wheels.
Wayland tries to solve problems I don't have, while creating actual problems for many people like myself.
It's a serious downgrade for me, so I'm staying with Xorg.
Same thing with neovim actually: a solution in search of a problem.
I don't care for treesitter (it's slow, buggy and makes my code look like a Christmas tree on steroids), I don't like Lua and I have no use for an LSP.
I'm staying with vim, on openbox, on Xorg, on Debian.
73 comments
[ 3.0 ms ] story [ 151 ms ] threadThere are many awesome-like Wayland compositors though, I've used sway, hyprland and river.
For "real" wayland, sibling comments are correct that you'd need a wayland compositor that reimplemented awesome.
So kindly shut the fuck up, use Wayland, and let the adults in the room chart the future for graphics on your Linux system.
So yeah I can shut the fuck up, but I am also not going to listen :)
Well, maybe macOS; we're not animals ;)
Can you do HDR in X? No, you can't.
I get that you are being performatively rude… well, I don’t know why, maybe as a rhetorical device or maybe just for fun.
However, in the context provided by the article:
> One major thing to note about Wayland is the lack of accessibility software for it
your comment
> Please don't comment about how your X desktop is fine, or how Wayland doesn't work for your obscure, niche little use case.
is actually super shitty, you are being a bad person here. Not in a fun, silly trolling way, but in a telling people with accessibility issues that they don’t matter way.
If the BSDs and Illumos are dragging their feet getting on board, that's the BSDs and Illumos' problem.
Maybe it is just a really good design.
I like i3, so I can switch to Sway easily, there’s just no reason to.
Sway is mostly OK but i3 and all the supporting X stuff I had was incredibly solid and all just worked together. Enter Sway/Wayland, and some things are in XWayland some things are native so they can't talk to each other, there are constant display bugs, Waybar is glitchy, screen sharing is a nightmare, fullscreen mode doesn't work for floating windows, fullscreen windows aren't transparent and show black instead of my background photo (because "security"). I just kind of hate it. I recently updated Sway and my dropdown terminal no longer focused when I opened it...I'd have to click to focus. I ended up reverting. It's probably some perfect storm of lagging support from apps, bugs in Sway, bad AMD drivers, and a protocol that's, sure, more "correct" but kind of gimps the overall experience.
If you're happy on X, stay on X. It all worked fine before my laptop died and I got a new one with a different resolution than my monitor. I will say though...multi-monitor support in Sway/Wayland, with scaling and all that, is excellent.
There is a reason why they basically only dominate in traditional UNIX headless workloads and nothing else.
After successfully cloning Bell Labs UNIX, that was it. Hardly anything new on the Desktop space, that isn't being rebuilt or forked every couple of years.
Well then it's a non-issue; neither X11 nor Wayland are needed for that.
> After successfully cloning Bell Labs UNIX, that was it. Hardly anything new on the Desktop space, that isn't being rebuilt or forked every couple of years.
So... it it nothing new, or is it constant change? Because those seem contradictory.
While the proprietary OSes do rebuild their stacks, there is an amount of tooling put in place to ease those transitions.
So yeah, in the end it is all about UNIX servers, which aren't even a thing on container and serverless workloads, or headless POSIX compatibility on some IoT device, if they aren't using other FOSS OS like Zephyr/FreeRTOS/NutXX/Tock/mBed, both cases with a WebUI as management interface and that will be it.
That's not actually true, but more to the point, the proprietary OSs are also from the 90s and just keep extending themselves.
If you need help, I guess rotating cubes for changing virtual desktops could be an example, which is a kill feature in GUI design space.
Not ready for prime time. Alpha quality. Sorry. Maybe later.
Fortunately, with Plasma 6, it's night and day from that, and even with 5.27 which Kubuntu 24.04 will ship, things are a lot more solid already.
That said, even the bleeding edge Plasma 6 (which has the most complete Wayland support and then some) doesn't work well in Wayland mode yet, it has plenty of issues with drag-n-drop, cursors, portals, much-hyped fractional scaling, and many other things (I still can't calibrate my drawing tablet display, for example). The overall experience beyond very basic features is flaky and unfinished.
I'm not even starting on implicit/explicit sync debate, that's a complete shitshow that can only be blamed on Wayland devs (regardless of Nvidia).
I've gone back and forth on wayland a few times now. It has both good and bad sides. Major functionality holes are finally getting plugged.
But the quality and stability of the compositors just isn't there yet compared to X11, and when leaving QT and GTK widget sets, almost nothing is fully baked. Presumably, things will get better in a few years.
Not the time to switch for me, sorry.
To sum it up: Your subpar experience wasn't the fault of Wayland or Mozilla, your distribution is to blame for this (as making the combination of software shipped work well together for the user is the job a good distribution does).
That said, even without setting the environment up correctly, I never had a keyboard input issue - so it could be snap... Canonical to blame, again - maybe.
(Need I say I no longer use Ubuntu and will move my parents to a different distribution once I find the time?)
To sum it up: Your subpar experience wasn't the fault of Wayland or Mozilla, your distribution is to blame for this (as making the combination of software shipped work well together for the user is the job a good distribution does).
That said, even without setting the environment up correctly, I never had a keyboard input issue - so it could be snap... Canonical to blame, again - maybe.
(Need I say I no longer use Ubuntu, despite it being my main distro since 4.10. My parents are still on the LTS train, I will move them to a different distribution once I find the time.)
I would highly recommend reading through some of these blog posts who expound upon the problems of Wayland more eloquently than I can [2,3,4].
[1]: https://en.wikipedia.org/wiki/Waterbed_theory
[2]: https://dudemanguy.github.io/blog/posts/2022-06-10-wayland-x...
[3]: https://pointieststick.com/2023/09/17/so-lets-talk-about-thi...
[4]: https://utcc.utoronto.ca/~cks/space/blog/unix/WaylandTechnic...
I get that Xorg is terrible, but Wayland has been around for 15 years at this point (the article's "Unless your workflow (and hardware) comes from 20+ years ago" jab falls a bit flat). It is closer to the X.org server's release than to the modern era. There were good people with big ambitions involved, but the Wayland protocol is an example of a mis-design that had to be made to work despite itself.
The problem here is that open source volunteers would rather work on the shiny new thing rather fix the old messy code, and I can't really balme them for that.
The most popular desktop operating system, Microsoft Windows, takes an entirely different approach to backwards compatibility. Do I have to ask why it has the market share and not Linux?
Windows desktop market share vs Apple has been dropping, and Linux is slowly creeping up as well.
...to a mere 73%? That's not the most compelling argument.
https://www.statista.com/statistics/218089/global-market-sha...
Below a certain threshold no one is buying Apple, as they can't afford to, and after 20 years GNU/Linux managed 2%, maybe will reach 5% in the next 20 years at current velocity.
Android, ChromeOS and WebOS don't count, as it is irrelevant for users and respective app developers, that they are powered by the Linux kernel.
Linux is a community project, not a product, so market share is not important. There’s no reason to chase after users unless they are likely to convert to developers.
The graphics stack developers appear to like Wayland better for some reason. I’m sure some day it will be better than X. Some day…
Apple regularly makes sweeping changes to MacOS and expects apps to adapt, and MacOS is pretty popular.
> X11 is, to put it simply, not at all fit for any modern system. Full stop. Everything to make it work on modern systems are just hacks. Don’t even try to get away with “well, it just works for me” or “but Wayland no worky”. Unless your workflow (and hardware) comes from 20+ years ago, you have almost no reason to stick with Xorg, especially as it continues to get worse and worse when the user experience relies on newer and newer features.
This is not a great way to start an article. You are not going to convince any "it works for me" person to try out Wayland with this attitude. I'll say it: X works for me, what's wrong with my 20 year old workflow?
> Xorg, from the very beginning, only ever had to deal with one display. It did originate from around the 1980s, after all. Having more than one display wasn’t even a thought in their mind, let alone ones with different resolutions and scales. The official docs even consider a “Display” to be the entire Xorg server, with all of its screens combined.
This paragraph seems to imply that X does not work with multiple displays, but I have never had issues with those.
I have nothing against Wayland and I think there are good arguments in favor of it in this article, but they are presented in a bad way. The author seems mad at users for... Not wanting to change a working setup? Do they not realize that most people only care about windows being shown, and not about how messy the internals are?
Sorry, not sorry. It works for me.
I had issues with it, and it's honestly the main reason I switched to Wayland. And while I don't regret that decision, I live in constant annoyance of all the little things that used to work but just don't now.
Wayland and/or its implementations are just not feature complete, and in many cases are a step backwards in UX.
I think it's great people stay on X. I wish I could have.
https://ptgamr.notion.site/xrand-4k-mixed-monitors-7a026e534...
^ maybe this would be useful? This seems like a pretty simple single run of xrandr that configures multiple (three, even) monitors on X all at different resolutions and ending up at different display scaling (including one fractional scaling). Like, looking at this, I feel as if I should be able to get this working myself, were I to have multiple monitors (I don't on my Linux laptop).
FWIW, I love the idea of helping someone not be sad about having to switch to Wayland by getting them back on X with all of their happy software working, and so if you want to try to debug whatever your issue was together, I'm game. To me, what makes Linux fun is all of the random combinations and hacking we can do together, and it just seems like people are both losing that ethos and even saying we are wrong for enjoying it, and that makes me a bit demoralized :(.
There are some restrictions because of this. One is that per display scaling is unsupported in the worst case, or a hack in the best case.
Another is that the virtual display is always a rectangle, meaning that if you have different resolution displays, you end up with some parts of the canvas not being displayed anywhere. Most window managers and desktop environments know not to place window contents or UI chrome there (like panels), but the space is still there, and you can see this when using screenshot utilities which simply write the whole canvas to a file. Your mouse pointer can also hide in these invisible sections.
Getting X11 to display content on video outputs located on different video cards from different vendors can sometimes feel like a dark art, but other than that it mostly just works.
2) Regardless, the person I'm replying to was using i3 (and is now using Sway), so I'm thinking that a lot of these limitations don't matter much? I mean, with i3 you aren't even going to ever have a window crossing the boundary between two monitors much less ending up off-screen somewhere.
3) I use a ton of random monitors at wildly different resolutions on Windows and frankly it's the same thing: there is a conceptual bounding rectangle for all of the monitors and you can absolutely have Windows hanging off the edge of monitors; also: I don't know how you expect anything to support non-rectangular screenshots so all of my screenshots on Windows--as well as my VNC servers--all have the same behavior with dead space.
4) Ok... I guess I can see the mouse thing being really annoying (as on Windows at least my mouse is locked to the visible area), but it doesn't seem to actually be the case? Again: maybe this is a documentation issue?
https://stackoverflow.com/questions/34092554/x11-restrict-mo...
It's possible the link you sent would solve the issue for me, but at this point I don't really have the energy to load up X and try again. I've since switched out a bunch of my workflows to adapt to Sway and the interruption would cost more to me than just living with the Wayland bugs.
You used to have to write a custom Xorg.conf with like modelines and shit for each display, but it was doable. But custom Xorg.confs haven't been needed for like, decades. There's some WYSIWYG multi-display setup in KDE Plasma, which just works, and I'm pretty sure GNOME has some equivalent as well.
> It’s perfectly valid if you’re staying on Xorg because some features don’t quite work just yet, especially when it comes to accessibility. But that ship can only keep floating for so long.
It has been fifteen years. Eventually the conversion largely moved from "well just don't use that feature" to "someday we should provide that" with occasional breakthroughs to "okay, it works in these 3 compositors so that counts, right?" There was a time when I joked abut Wayland reaching feature parity around the same age X was when Wayland started, but it's not a joke anymore.
> Try out Wayland every once in a while if it doesn’t work for you, and keep an eye on the relevant discussions.
I did, once. Eventually it got old and I stopped paying addition.
I think I’ll end this off with:
Wayland: it’s all TODOs, and not all of them work.
Everyone who mentions its bad fails to mention what is bad about it. You're writing an article saying its bad, and you didn't read the code or do whatever is needed to tell me what exactly is wrong with X11? Chestertons fence says hello, I guess?
Signs suggest it is genuinely unmaintainable. The only problem is the replacement was secured against common user tasks being possible and un-securing it has been a long, slow and painful process of community negotiation. Although we're probably most of the way there by now.
X is stuck in the past, and Wayland might already be too late, in the age of WebUIs, no mater at all.
This is HN and it would be cool to show support to the technical improvements and the security benefits of the whole wayland stack. Its fine if it is "no worky" for you. The goal is get it to work for everyone and actual reports on what does not work is much more helpful than philosophical arguments about wayland that have been ongoing for years.
Also you are not being forced to use it. Stick with i3, its fine.
I think there are already quite a few user benefits that come with wayland and for me wayland and XWayland works very well for all applications I use with the exception of some java guis. (that is also being worked on)
All of that beeing said, developing protocols and implementing them on multiple sides is just a slow process and we are not 100% there yet.
If you're using nVidia, everything that uses xwayland is still a flickery mess. Explicit sync patches are looking good, but those patches are not in a release of xwayland and the driver side is not yet available (but in my experience, just the xwayland support helps 99% of the problem).
KDE Plasma 5.x has a ton of bugs on Wayland that were fixed with 6.x. But 6.x hasn't filtered down to everyone yet. Plasma 6.x still has minor Wayland-specific bugs I've noticed that they're slowly cleaning up in the point releases.
Wayland only recently gained a real drag-and-drop protocol. Dragging windows, say, from a Chrome or Firefox session, doesn't work well. I've noticed Chrome beta implements the new protocol and it works great, but still unavailable.
It's almost there though. Wayland's massive performance improvement over Xorg, and its robustness (https://www.youtube.com/watch?v=u4HnwqidYFo) has convinced me to stay.
And it's the clear future. Most Xorg development has moved to Wayland.
I mostly use Wayland nowadays, but there are still times I need to switch to X11 to get things to work.
Telling me this is because the software I use is bad is not at all helpful. I'm trying to get something done, and sometimes I can't choose different software and almost never do I have the ability or time to fix it if it doesn't work on Wayland.
On Wayland three is no xdotool, but there is ydotool (and a couple others). However for some reason they are not reliable (with and without xdotoold) and most of the times the pasted uuid is missing letters. I managed to get around this by using the clipboard to copy the text, and then I can manually paste it, but it's a extra step. Plus I have other scripts that deal with emojis and other Unicode characters, and it's either been a pain to work around or "It just doesn't work". I switched back to X11, and I'll probably stick with it a few years more.
But I'm still confusing, linux is the best platform for customization, and allowing you to automate things. However wayland seems like a block. I understand that it's a more modern project, probably more optimized and everything, but unless I'm missing a key toggle or tool to allow me to automate things, I'll try to avoid it.
Wayland tries to solve problems I don't have, while creating actual problems for many people like myself. It's a serious downgrade for me, so I'm staying with Xorg.
Same thing with neovim actually: a solution in search of a problem. I don't care for treesitter (it's slow, buggy and makes my code look like a Christmas tree on steroids), I don't like Lua and I have no use for an LSP. I'm staying with vim, on openbox, on Xorg, on Debian.