Hey Community,
Since I just read a post about the X11 vs. Wayland situation I’m questioning if I should stay on X11, or switch to Wayland. Regarding this decision, I’m asking you for your opinions plus please answer me a few questions. I will put further information about my systems at the bottom.
- What are the advantages of Wayland? What are the disadvantages?
- I do mostly music production, programming, browsing, etc, but occasionally I’m back into gaming (on the desktop). How’s performance there? Anything that might break?
- what would be the best way to migrate?
- why have/haven’t you made the switch?
Desktop: Ryzen 3100, 16 Gig Ram, Rx 570 Arch Linux with KDE 144 hz Freesync Monitor and 60hz shitty monitor
laptop: Thinkpad L540 (iirc), i3 4100, 8 GB Ram intel uhd630 gfx (iirc) Arch Linux with heavily customized i3-gaps
No, you shouldn’t.
If you need Wayland you will know, if X worked for you well and you didn’t search for how to sandbox it or maybe for some other functions that Wayland has then don’t switch and don’t break what works for you.
You should, I think. You don’t have Nvidia GPU, so you can avoid almost bugs and get better performance.
Advantages:
- Better performance. e.g. for Firefox, @lilydjwg got double performance in wayland.
- Better multi-screen with multi-DPI support.
- Better maintaince. Many DE has put more and more to wayland. And many new features will only be implemented in wayland. (That’s because implementing many new features will be difficult or even impossible in X11 old software architecture, as KWin developers said.)
Disadvantages:
- Some missing feature, such as remote desktop.
- Many bugs when you use Nvidia GPU.
- None of the compositors except KWin and Hyprland can use input methods with electron.
I don’t know which DE/WM you use. If you use Plasma/GNOME, migration is simple, just switch in SDDM/GDM. If you use i3, you can try sway, it’s compatible with i3 config. If you use others, you can try hyprland or wayfire. Wayfire has fantastic animations.
I switch to wayland because I buy a new screen with different DPI… But when I switched, I found I got better performance and video hardware acceleration in Firefox (this feature was introduced to Firefox Wayland first).
double performance in wayland
Ya that is complete nonsense.
Firefox accelerated decoding works in X11 as does mixed DPI
There is a benchmark use https://webglsamples.org/aquarium/aquarium.html
https://blog.lilydjwg.me/2021/11/12/display-tearing.215968.html
- X11 + Intel card, 1080p 60fps, GPU fully utilized, one third of frames dropped! 4k 60fps is about the same. It turns out that the focus is not on the resolution (the GPU isn’t used to its full capacity anyway), it’s on the frame rate of the video.
- Wayland + Intel cards, 4k 60fps, not even dropping frames, let alone anything else, and the GPU is used for about half of the graphics calculations.
For hardware decode, when I switched to wayland, it was only implemented in Wayland. After they implememted EGL on X11, they implemented hardware decode on X11 as well.
For mixed DPI, applications can implement it use screen information, but not all applictions will do this. But wayland ask them to implement this feature.
which DE/WM
do you know about weston (the wayland default/ compositor from wayland devs)?
It’s reference implementation, but isn’t suitable for daily use. Because it lacks some convenient features. It’s used as a behavior reference when some one develop a new compositor.
lacks some convenient features
found out the hard way. haha.
should have read your answer first.
thanks anyway. Ive took time to try out sway in the meantime. firefox still doesnt want to run in wayland mode. but In general sway fells good (coming from i3 daily driver)
If you’re not having performance issues, then I don’t see much reason to change. Sure, Xorg is basically in maintenance mode, but so what? Your setup works for you, so do your thing.
That said, Sway is a window manager intended to be a drop in replacement for i3 on Wayland, and is pretty close from what I hear: https://swaywm.org/
Plasma is very good with Wayland, although you might want to wait for Plasma 6, since they’re apparently making several improvements, and it’s due out soon anyway: https://www.phoronix.com/news/Plasma-6-Wayland-Great
You can install Wayland and switch sessions during login too, so you can check it for yourself and see if your i3 dotfiles work with Sway.
The biggest Sin by far of Wayland is making users think about the graphics stack. Does this feature or this app support Wayland or X? Does this Compositor support this GPU? Does this particular environment support this mixture of displays with this DPI? Do I need to set a particular env variable or change a setting to force this app to start in Wayland mode because under X11 its scaled funky. What works in each environment? What doesn’t work between environments?
Well before you reach the end of this flow chart you have lost virtually all of your users. This transition has single-handedly set the Linux desktop back by 20 years in terms of supporting more users whose level of interest in configuration is limited to clicking a control next to their monitor and making things bigger or smaller.
A saner design would have handled scaling correctly from the start and would have had a permissive mode which just made everything from the users perspective work while progressively adding a correct UI to provide features like global hotkeys, screen sharing, only to those apps users had authorized like android. If it wasn’t a such a clusterfuck to use it would have had orders of magnitude more users much earlier in the development phase and perhaps attracted more development interest as well.
Nobody’s requiring you to use Wayland currently, I mean realistically name a Wayland-only app (excluding the ones like remote desktop apps that are replacing X11 apps that don’t work at all on Wayland), they don’t exist. But with new technologies will always be growing pains, the X11 -> Wayland transition will still be another few years I imagine, I mean at this point we’re really only waiting on NVIDIA 🫠. It’s a painful process, but one that is only so painful because it’s been put off for so long, if we put it off for any longer it would’ve just been even worse.
It’s painful because the developers took 14 years to produce something semi usable while ignoring incredibly common use cases and features for approximately the first 10 -12 years of development
Well, such is the downfall of OSS, I mean look at VR on Linux, Mesa straight up will hard crash if you try to run SteamVR on the latest versions, and the time it takes for VR related bugs in Mesa to get patched are insanely long.
Just gotta make a hubub about it until someone with the knowhow can fix it.
Debian (a very conservative distro) switched to Wayland by default in debian 10 if I’m not mistaken (we’re now on 12).
I didn’t notice the change until I tried to run a niche program that really needs X11. Unless you’re doing this kind of thing, then you can probably just use Wayland. At least in Debian it’s really easy to switch between Wayland and X11 by selecting the session type when you log in.