It is unfortunate that so many of the early comments are negative. Either Wayland is the future, or something that learns from Wayland's mistakes and leverages its ideas is. There is a really fertile field right now for experimentation in the world of compositors but I think people have been scared away by the long dark era of X Windows + binary graphics drivers. Maybe we're going to see a lot more of it on HN in the next decade?
What kept me off Wayland was the screenshots thing, but the argument in favour of the idea is strong. The downside is Wayland's conception of permissions and interactions is too basic and crippled adoption for a few years but the fundamentals (blocking cross-application snooping) is going to be necessary. Operating systems have to be less trusting.
After 10 years I still don't understand why I should switch away from X11. It is mature and is still being developed (latest xorg-server release is from January 2022). It does what I need.
From my perspective, Wayland is like btrfs - it doesn't seem to offer me anything major worth switching for, and there are still gotcha's lurking.
For me, the feature was adaptive dpi scaling done correctly. I have a 4k laptop monitor and some 1080p screens that it connects to, and my solution on X was just to have everything at 1.5 scaling so it was just slightly off on both monitors.
After switching that, and then seeing beautiful crisp fonts everywhere has meant that I haven't even considered going back to X, although I had to uninstall the zoom desktop app in order to screenshare (which works through the web version on chrome).
I jumped pretty early, and almost every problem I had has been sorted out now, so it's just a better experience for me now. (also, screenshots work fine, it's just screensharing on certain old apps that's a problem).
Funny you should mention fractional scaling. I use gnome on wayland and enabling fractional scaling has a warning that it's really not recommended. Part of me wonders if this was simply a carry over from gnome on xorg, but I've mostly just made text larger and use a zoom extension in the browser.
Unless something changed Wayland does not support native fractional scaling and instead renders at nearest higher integer scale then does bitmap scaling down giving blurry output (compared to native fractional scaling as in Windows).
When scaling down, you don't have blurry output. You won't get pixel-perfect, but you get sharp enough. MacOS does the same for fractional scale.
You get blurry when scaling UP. Xwayland does scale up, from 96 dpi to whatever fractional scale is set, so that's the reason why X apps are blurry. Native wayland app are not.
This is incorrect. I use fractional scaling in Gnome Wayland for my 4K monitor. The native Wayland software (Firefox, all the Gnome stuff,...) scales perfectly. Only XWayland applications are somewhat blurry.
Interesting. I gave up on Gnome/Linux long time ago but was watching a relevant wayland bug [0] in the hopes it will be fixed one day but it seems to be still open. Maybe I've been watching a wrong bug?
It is not clear to me what exactly the relevance of the first bug is. Text in all Wayland programs is perfectly clear on my system with 150% fractional scaling.
I can reproduce some of the effects from the second bug when looking at my 4K monitor from an extremely small distance (a few cm). I am not sure if this is really a bug. It looks like antialiased edges that don't perfectly fit the pixel grid. Probably hard to avoid in any scaling scenario. In any case, it is not noticeable at a reasonable viewing distance.
If there is no way to tell Wayland application that it should scale by fraction then application can't render with such scale, no? This leads me to assumption that fractional scaling happens at compositor.
By native scaling I mean absolutely no bitmap scaling. If rendering happened at target scale then all pixels would match grid and no artifacts would be possible. I can't even imagine how ClearType could work with bitmap scaling when it targets individual subpixels.
I think people have wildly different sensitivity to resolution. I know some that can't tell difference between 4k and 1080p and 1080p scaled on 4k screen. Some crazy people even think MacOS has good font rendering.
No, the scaling is definitely done by the applications. I don't know how they do it, but it works.
I don't think it is possible to avoid having lines "in between" pixels when using fractional scaling. The physical pixel grid simply does not always align with the one at "100%" scale.
I specifically bought the 4K monitor to get crisp text rendering. Upscaling from 1080p (e.g. what XWayland does) is very noticeable to me. I don't see any difference between native Wayland fractional scaling, and setting Gnome to native resolution (except for the tiny UI elements).
When I was using X11 I had things set to fractional scaling because there wasn't good support for multiple monitors with different resolutions (and had it set to 1.5, where one monitor should be 2, and another should be 1, so I split the difference.)
Now on wayland, I have things set correctly, where scaling is set to 2 on a single monitor, and is set to 1 on the other monitor (and the application respects this and can be moved between monitors with the expected behaviour).
I also remember something about fractional scaling not being recommended on wayland (I believe it increases the amount of processing needed to be done by a lot.)
xwayland is still being actively developed, xserver is in maintenance mode, which isn't a bad thing, especially for such an old, somewhat mature tech, but being actively developed is something else in my understanding. And one just cannot do away its architectural problems, which was the reason for a "from scratch with (some) hindsight" approach in the first place, under which new approaches like Wayland and mir got developed.
> It does what I need.
If the features of neither of those fit your use cases: great, be happy and keep using what works for you.
But I, for one, like to have no tearing anymore, no random apps just stealing my keyboard input or clipboard content, having a more efficient way to operate on (frame) buffers, having active development for new tech features like HDR and that all while still running xwayland for 100% x11 compat; you cannot do the reverse, at least while not also getting the same features.
So, I really like wayland as it gives people the possibility for better security/sandboxing and new features while I can just run x11 apps fine.
> From my perspective, Wayland is like btrfs
The same with btrfs, as RAID0/1/10 its just nice and stable since forever, its architecture is seemingly just a bad fit for RAID5/6, the single possible problematic part since a while, CoW and rebalancing are really nice to have on a server with important data.
Multiple FS catering to different requirements are there for a reason, and not everyone needs to use every type of FS to give it a reason to exist...
The two major points from my perspective would be security (like restricting read-access to the clipboard and input devices) and multi-DPI (like multihead with a 1080p laptop and a 4K monitor - seems practically impossible to get right under X).
EDIT: But as always, if you're happy with what you've got, indeed why should you switch? I really don't get this idea of there being "the one-size-fits-all" and the urge to tell others what to do. A major point of Linux is your freedom to do things your way. OP is just telling others (who may have older now no longer relevant experiences) how much things have changed. No need to get defensive.
I resisted it, just because of having some X configuration, knowing some absolute basics about it, etc.
But I decided to take the plunge in setting up a new laptop, and I wish I'd done it sooner. It's a lot nicer to configure (and especially to test changes in configuration in) sway than X. I don't know what I was worried about really, I should at least have looked into it - the whole thing has been easier so far than any single change I made to my old configuration (keybindings, modmap, etc.).
That's just life in the end stage of a mature software project. It's pretty much feature-complete, it doesn't need active development. No point in changing things for the sake of change itself.
The way software (or things in general) get old is by working well. The things with obvious issues get replaced quickly. Having stuck around for a long time is really not a sign something needs to be replaced.
I find that Xorg is really starting to show cracks as new hardware, and especially new inputs, are becoming mainstream.
In particular, I think Xorg does a crappy job with
- Audio in general (but bluetooth specifically)
- Gesture/touchpad input (some folks are trying to fund this still, but Wayland feels about as good as macOS by default - This was my "must have" feature that pushed me to wayland everywhere)
- HiDPI support - it's ok if you have the same resolution on every screen. If you're mixing resolutions, wayland is MILES better. Even XWayland is bad here - this is just truly a limitation of XOrg.
- Privacy. This one is a mixed blessing. XOrg lets apps do a lot of things to other apps. This is nice in some ways, because things like screen-recorders work easily and without permissions. But problematic because it means any app can quietly be a screen recorder.
---
Xorg still wins in terms of overall compatibility, and in user customization. But I think it's pretty clear from the statements from the Xorg & Wayland teams that Xorg is not just "mature" - it's in the process of being slowly replaced with system that most of them feel is better.
I think the more likely scenario is that you are not using the features that really make a distinction (which is a-ok!). In that case stick with what works for you. Xorg isn't going anywhere any time soon, and if your workflow is stable, you aren't missing the new stuff.
But other people absolutely are, and it's not because Xorg is "finished" - it's because it's broken and no longer getting the level of support it used to, that's mostly going to Wayland now (and it REALLY shows, if you use it for a while).
Pipewire and Wayland development have gone hand-in-hand for a while now. Mainly - Pipewire is compatible with the security and isolation requirements wayland places on apps, and Pipewire is far more than just a replacement for pulseaudio.
"PipeWire is a server and API for handling multimedia on Linux. Its most common use is for Wayland and Flatpak applications to implement screensharing, remote desktop, and other forms of audio and video routing between different pieces of software. Per the official FAQ, "you can think of it as a multimedia routing layer on top of the drivers that applications and libraries can use."
- Xorg hasn't directly handled audio since the days of 2.4 era kernels (anybody remember NAS?). PulseAudio and PipeWire revolve around D-Bus and their concern around the graphical desktop mostly involves seat configuration rather than what's powering the seat (X11, Wayland).
- libinput works on X11 too (and I know I'm using libinput because I accidentally installed synaptics/evdev first xD). I personally love how trackpad scroll on Linux just feels infinitely smoother and more precise than the same hardware on Windows 10.
- HiDPI is in a state of global discohesion structurally speaking at the moment, I think because of some demographic correlations. The art/production/engineering/get-things-done side of the fence was already buying expensive peripherals a decade ago - for example you could play with 3840x2400@41Hz in 2003 if you had $9000 for a 22" IBM T221 and quad-link DVI. That's an extreme example; it didn't take that much enablement to be quite selective about one's productivity tools. However, I don't think many people in this niche used Linux in a predominantly-tinkering use-case - they were too busy getting things done and focusing on sustaining revenue. The Linux users were the kids and teenagers and 20-somethings often found figuring it out on ~decade-old equipment and making the best of random resources they found lying around. Now, HiDPI may seem to have theoretically zeroed the distance between prosumer and some kid working with whatever they've got, but there are three issues: first, software support follows commoditized access to hardware, and given the focus on laptops nowadays (and the inconsistency of the laptop hardware situation at the moment with things like s0ix etc) people are sticking with whatever's in their known-good 5-10+ year old banger or whatever; second, yes, HiDPI has brought the high-end and the low-end together *in hardware*, but done nothing around the current *software* status quo, wherein the high/low-end not-really-a-rift-but-kinda is still kicking around and doesn't quite know what to do with itself yet and people are still finding themselves self-sort into a few common buckets (see also the argument about HiDPI being a "gimmick" and a "premium"); in a couple years when laptops have gotten their acts sorted out and HiDPI displays cost the same as 1920x1080 things will perhaps look a bit different; thirdly, these logistical distractions do not help the already-fragmented world of open source where it's so incredibly easy for new ideas to never gain critical mass because everyone gets hung up on details and bikesheds. I can easily guess that there have probably been a few individual attempts and initiatives to try and fix this that have just never had the chance to get off the ground because so few people with HiDPI screens are willing to play guinea pig for a bit (case in point / mea culpa). So, HiDPI will probably reach a crystallization point right around the moment where hardware accessibility starts to bottom out and software initiatives have had a chance to settle and stabilize, most likely on Wayland where that's already being fostered. Chances are something similar to the libinput "touchpad like macOS" effort will come along and try and backport whatever gets figured out to X11. Good question whether it'll be successful.
- Privacy: See also
$ eval $(xmodmap -pke | awk '{print"K["$2"]="$4}'); xinput test-xi2 --root | sed -un '/RawKeyPress/{N;N;s/.*detail: \([0-9]\+\).*/\1/;p}' | while read x; do echo ${K[$x]}; done
(Leave it running, go do something else)
:P
Xorg reminds me of the hackable mindset used in the old Lisp machines, where you could (supposedly) tweak anything you wanted. I'm not sure but I think those crazy machines had no memory protection - not that they would have used it anyway, that would have been antithetical to the ideology. X's hackability is I think one of the reasons it has survived as long as it has with such elegance. Sadly this has indeed come at the cost of abject insecurity.
But it's honestly going to be a bit jarring when it's gone. :v
(NB. I don't remember NAS. I learned about its (ex-)existence while playing with the xscope X protocol debugger a while back.)
> PulseAudio and PipeWire revolve around D-Bus and their concern around the graphical desktop mostly involves seat configuration rather than what's powering the seat (X11, Wayland).
No - not really. Wayland doesn't use dbus (outside of some support in XWayland for legacy x11 applications) - it uses its own IPC protocol instead. And that's really where pipewire shines, since the security model it uses (akin to polkit) allows much finer grain control over what applications are reading/recording.
> libinput works on X11 too
Yes - but as an afterthought, basically. Directly from their wiki: "libinput is a library to handle input devices in Wayland compositors"
...
"The X.Org libinput driver is a thin wrapper around libinput and allows for libinput to be used for input devices in X. This driver can be used as as drop-in replacement for evdev and synaptics. Simply build and install in your $PREFIX, then install the config file in /etc/X11/xorg.conf.d/. Restart X and the libinput driver will take over your devices."
From personal experience - the same hardware running X with libinput does not feel as nice as it does when running libinput with wayland (although I'll admit, this could be mental, since it's close)
---
I have no real idea what you're talking about with regards to hiDPI. It's not 2003 anymore. Every laptop I've used for the last 10 years has come with a screen that requires some sort of scaling, and using them in combination with a standard res external monitor is a SHITSHOW on X.
---
I think we're in pretty solid agreement on the security front. I will also miss some of the nifty things you could do - but I appreciate that Wayland limits a lot of nifty things malicious apps can do :)
I started using it (about 4 or 5 years ago, I think) mostly because I really don't like tearing. I never got a completely tearing-free Xorg setup working for me.
Now that you mentioned tearing, I noticed that I can't even remember when was the last time I saw one. Before switching to Wayland/GNOME and then Wayland/Sway there was a dark era where I was fighting/struggling to keep a tearing-free video experience and crazy config to keep my keyboard layout in-sync when switching desktops/windows etc. Really glad that there is another option on the table.
I have a Laptop with touchscreen and Hi-DPI. Firefox for Wayland worked perfectly out of the box. Without Wayland I couldn't get a config that did the right thing. I used to use Mint, but not having Wayland is now a showstopper on my new hardware.
Mint (specifically Cinnamon) doesn't have Wayland support. Not having Wayland means it doesn't work well on my new hardware. Not working on my new hardware is a showstopper. Thus I am no longer using Mint.
They said they used to use Mint, implying Mint doesn't have Wayland. But that is software not hardware.
Re-reading, I suspect the new hardware with high-DPI requires Wayland, because X11 has poor support for high-DPI (implying Wayland supports it better).
> After 10 years I still don't understand why I should switch away from X11. It is mature and is still being developed (latest xorg-server release is from January 2022). It does what I need.
The problem is you can't expect X11 to keep up going forward. Developers are not interested in working on a huge and clunky legacy system.
From my perspective both btrfs and wayland have significant benefits: proper touch support on wayland and multi-disk filesystems + snapshots on btrfs. It's all about the use case.
In the vanishingly unlikely case that that matters, you can just run things in Xephyr. You can even use firejail to automate it, which is probably a good idea anyways if you're running malicious code on your machine.
Removing the "cross application snooping" is X11 is.. difficult. In a sense, that is equivalent to removing piping and redirection from shell -- "for security".
Now, many people don't mind, but I certainly mind. That is why I still use X11.
Definition of trust... you trust what you must. "Operating systems have to be less trusting". But my Operating System must trust me. I give it no choice in the matter. My Operating System must not override my Trust decisions.
Huh, and here I am on the other side wanting exactly that (different dist and DE though) but haven't gotten that part figured out yet, everything seems to have access by default... Seems end-user accessible docs still have some gaps eh (:
A lot of the parts about when and how the user is asked for permission is a Wayland compositor dependent implementation details.
E.g. while sway works well it tends to not ask the user and just grants permission as it doesn't really have it's own "HUD" (it has a default task parts, but that just a default program you could run if you want to, there are also other programs).
It's also one of the things which makes most sense to be part of the "HUD" interface of the Wayland compositor so not making it a implementation details doesn't make much sense sadly.
What kept me off Wayland was the screenshots thing, but the argument in favour of the idea is strong. The downside is Wayland's conception of permissions and interactions is too basic and crippled adoption for a few years but the fundamentals (blocking cross-application snooping) is going to be necessary. Operating systems have to be less trusting.