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
My short answer:
Should I switch to Wayland?
Yes.
Applications that don’t cope with wayland still work via Xwayland. Go ahead.
I’ve fully switched to Wayland some time ago (it could be already a year) after I learned about how insecure X really is and I honestly do not experience any issues that I sometimes see on the internet. I’ve been using Gnome for few months, but now I switched to KDE. I think a lot of apps are working natively on Wayland, but for other cases you have XWayland that also works flawlessy in my opinion.
One of things that was issue for me was that I couldn’t use Auto-Type feature in KeePassXC, because Wayland doesn’t let apps pretend to be a keyboard or capture windows as easily as X does. Funnily enough, I’ve managed to get it working by running keepassxc --platform xcb
, but it stopped working some time ago and I’m not entirely sure why. Other thing that is a problem for me is screen sharing. Wayland doesn’t allow apps to capture screen as I mentioned earlier so it heavily relies on PipeWire for this and PipeWire has its own sets of problems. It seems working correctly for the most part, but I couldn’t really figure out how to share screen with sound. Not a dealbreaker for me, and a workaround would be to route audio as a microphone input for example, but it is an issue nonetheless. This is only a problem on Discord, in OBS you can easily select video and audio sources.
If you’re using KDE already, you could just select Plasma (Wayland)
in your display manager and play with it a bit to see if you like it and experience any issues.
It doesn’t. You’re better off running Discord on the web to get those features.
Discord doesn’t have sound sharing on Linux whether X11 or Wayland. They just haven’t built the functionality.
Screen capture is taking a screenshot, Screen sharing is when you present shit at a zoom meeting. Did you mean screen sharing?
You just said you don’t experience any of the issues I sometimes see on the internet then proceed to describe how an app you use didn’t work out of the box, you were able to work around the issue, and then it broke for a reason you don’t understand. You follow this up with the number one frustration: Screen sharing being broken.
You forgot mixed DPI being broken on everything but very recent KDE used by around 15% of Linux users. It’s not like buying a monitor at worst buy and plugging it into your laptop which has a different DPI is an incredibly uncommon thing at this point.
Well, not really. KeePassXC works properly apart from the Auto-Type feature, which is not that big of a problem because you can use browser integration or just copy and paste it. As for the screen sharing thing - it works, i’ve had problem with capturing sound with it but apparently it is just Discord for Linux thing and not really Wayland. I never had any issue with DPI, neither on Gnome or KDE. I don’t remember what is was on Gnome, but UI scalling on KDE works fine.
On everything but plasma 5.26+ Applications running via xwayland are scaled in a fashion that makes them blurry when the desktop uses scaling eg high dpi, furthermore if you have monitors A and B which use different scaling the X app can’t be scaled differently on each monitor like X apps can be under X nor like Wayland apps are under wayland. If you use a single 1080p monitor you wouldn’t have noticed any of this but its ridiculously common if for no other reason that there are shit tons of high dpi laptops and low DPI external monitors
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.
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).
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)
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.
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.