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.I don’t think Discord screen sharing has sound on X11 either, does it?
It doesn’t. You’re better off running Discord on the web to get those features.
Especially because you don’t have to deal with updates. I hate that pop-up every time I open the app.
Or vesktop
I’m using Wayland with Gnome and have no problem with screen capture.
Screen capture issues have been fixed for years now.
Screen capture is taking a screenshot, Screen sharing is when you present shit at a zoom meeting. Did you mean screen sharing?
On that note, screen sharing worked just fine for me on Wayland Fedora 38 with Zoom Flatpak.
You are right, i misread your text. I haven’t tried sharing.
Also no issues with to capture sound as well? For example, on Discord?
Discord doesn’t have sound sharing on Linux whether X11 or Wayland. They just haven’t built the functionality.
Oh okay, that’s good to know! I thought it was something with my setup.
If you’re interested in a hacky workaround: if you’re running Pipewire, you can send an application’s audio stream into the Discord microphone input (together with your voice or completely without it) through tools like qjackctl or any other tool that’ll work with Pipewire routing. Instead of using Discord’s native video streaming audio source, your system audio will be sent as if you’re talking on the video call.
It’s a bit messy (tends to get reset when applications close/relaunch and when audio devices get attached/detached) but it works. As a added bonus, you can get a wide range of filters and audio processing for your microphone input as well.
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.
Xorg is in maintenance mode for the next few years (most likely), so it’s really not something that anyone needs to worry about today.
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)
Firefox only uses wayland by default in nightly. You can enable it in stable version by setting environment variable MOZ_ENABLE_WAYLAND=1.
yeah it is set.
even after reboot xeyes still recognizes it and about section clarifies the window protocol as xwayland.
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.
Same with fedora iirc.
I’ve used fedora for a long time and pretty much had the same experience you described. It works until some random obscure program doesn’t like Wayland.
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.
Nobody’s requiring it until devs start not supporting X11 anymore and start saying things like “won’t fix, use Wayland”. Which is already happening
See: GNOME’s response to a critical GTK4 bug on x11 that makes any program using GTK4 unusable on certain devices under x11
I think that’s a little bit premature for GNOME to do, though I have to ask, what “certain devices” are we talking about?
certain hardware configurations. I have two computers on linux. One of them has issues with GTK4, the other one doesn’t. The only difference between these machines is hardware.
And yeah, I agree that’s premature for them to do
certain hardware configurations. I have two computers on linux. One of them has issues with GTK4, the other one doesn’t. The only difference between these machines is hardware.
Right, what are the “certain hardware” configurations? Are they really old? Are they really niche?
if I knew what exactly was causing it hardware wise I would have a way to fix it, and I don’t
given GNOME’s solution is “use Wayland” (which I can’t for a variety of reasons) I don’t think I can ever figure out what the problem is. Their attitude from the start is already non helpful.
all I know is my hardware isn’t niche nor really really old. And Im not the only one experiencing this
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, and you will :) X11 is legacy, and is going to die. The only question is whether you’re going to try and hold on to a broken system riddled with security vulnerabilities for as long as possible until you’re forced to switch, or whether you’re just going to enable what is mostly already the default stack on most desktop Linux systems anyway.
I would switch if it worked at all I just get a black screen if I try a Wayland session lmao. If switching is such a hassle then I’ll just stick with what works.
That’s not to even mention all the things I use that aren’t supported
- Wayland has several new features like, say, removing screen tearing, but it’s not necessarily “advantages” that are the reason to use Wayland. It’s sort of a redo of how graphics should work in the Linux world, and it will be the standard going forward. X11 development has more or less ceased with those developers moving to Wayland (in fact, Wayland was created by X11 developers to address issues they had with the architecture of X11). It’s not a matter of should you switch to Wayland; it’s a matter of when should you switch to Wayland. The answer is, as soon as you can.
- Gaming varies drastically. Some games are fine. Some games make me launch Steam via Lutris to start (not sure why it works, but it does) but run fine after. Some games can’t reach higher framerates. That said, no screen tearing is a plus. When it works, Wayland is very smooth, but it doesn’t always work yet. An example off the top of my head, no matter what I do, Street Fighter 6 doesn’t get above 45 fps on Wayland. It’s a good idea to have an X11 option as a backup still imo
- The best way to migrate is just to install a Wayland compatible DE/WM. I’ve used both GNOME Wayland and Hyprland extensively and they both work great. If you’re used to i3 (that’s what I used to use and is still my X11 backup), Hyprland is great. KDE like you have on your Desktop already works good on Wayland from what I’ve heard.
- I have made the switch because most of my apps can run on Wayland, and it’s the future. I still have a backup in case there’s a game or something that doesn’t quite work for me. For instance, I can’t share screen on discord. It won’t even recognize the pipewire route. Thus, I’ve gotta switch to X if I want to do that.
Wayland has much better multi touch support on many laptop touchpads. I would definitely recommend trying it out on your Thinkpad.
You’re not running Nvidia so your desktop would probably work fine on Wayland as well. Wayland has improved privacy protections so it’s possible screen recorders that haven’t been updated in a few years break; most standard KDE tooling should work without issue, though. Wayland is missing some features X11 already has, and things like colour profiles are stoll in development; if your display needs a specific color profile to look right, you may want to stick to X11.
Performance should be very similar. I haven’t noticed any difference. The scrolling and gestures are a lot smoother but that’s not necessarily a performance issue, that’s just X11 not being able to cope with modern touchpads. Wayland itself isn’t a performance problem, in fact the Steam Deck game UI runs a custom Wayland implementation and that’s basically a games console.
You can just install Wayland support on KDE (if it’s not installed already) and select it from the desktop environment drop down on the login screen. If it doesn’t work or isn’t to your liking, you can always log out and log back into an X11 session.
As for i3, you’ll probably need an alternative such as Sway as i3 is very much X11 only. There are a few very fancy i3-like environments for Wayland but it’s up to you which one you want to give a go.
I’ve mostly switched to Wayland on my laptop, but that does cause some Nvidia related problems every now and then. The integrated Intel GPU works great, but as usual Nvidia makes life harder for everyone. My desktop has an Nvidia card so enabling Wayland causes video decoding issues and weird performance issues.
Plasma is slick as butter on Wayland.
Not in my experience but that could be to do with my nvidia card.
I switch my card for a Radeon on my current build so things work right. I had issues with nvidia too.
You’re not using any NVIDIA hardware…? Hmm, nope, that’s all hardware that runs under Mesa. Give it a shot, if it doesn’t work, you can always switch back.
The big advantage is improved support for new features, like adaptive sync, multi monitor support, display scaling, etc. You’ll notice, new features (mostly gaming related features) will just work better on Wayland. There will be a performance hit though.
I made the switch because it’s just plain better, adaptive sync works (it never worked for me on X11), oh yeah and the night color actually works. Night color on KDE just does not work on X11, AMD or NVIDIA, least for me.
I think, it needs to be said that it doesn’t have to be a hard switch. With KDE, you can just install the Wayland session and then when logging in for the first time after booting, you can select whether to start X11 or Wayland. To switch back and forth, you just need to log out and log back in.
With i3, that isn’t as simple, since i3 doesn’t support Wayland. You’d need to install a WM which supports Wayland + customize it, to be able to switch back and forth.
With i3, that isn’t as simple, since i3 doesn’t support Wayland. You’d need to install a WM which supports Wayland + customize it, to be able to switch back and forth.
While it’s not as simple as KDE, switching from i3 isn’t that hard thanks to Sway. It’s a tiling window manager that’s intended to be used as a drop-in replacement for i3 on Wayland:
Sway doesn’t have a functional Xwayland implementation insofar as it doesn’t handle mixed/high DPI
What do you mean? I’m using it with a high DPI screen and I don’t see anything wrong, Xwailand clients may get a little blurred but that’s it
“A little blurred” You are probably one of the fellows who walks around with a phone with a spider web of cracks because it “still works”. Not sure why you imagine a blurry screen is a usable or acceptable thing. Excuse me while I return to using my 4k + 4k + 1080p 3 screen arrangement in which NONE of them are blurry and in which an app that is moved from a->b remains the same size because UI elements are scaled to the same identical size.
Honestly it happens with just a few apps, and I try to fix or replace them when I find the time. Also, I don’t think that’s specific to sway, that’s just the way xwayland works
Most people have more thinks to do than fix things that already work.
Ah. I did not realize that. My bad.
What are the advantages of Wayland?
More modern and in some cases better performance (as if Xorg performance were bad … but hey)
What are the disadvantages?
Basically none of your current software works out of the box (you’ll need a special Xorg implementation that works with your Wayland implementation in order to run non-Wayland applications). Most applications are specific to your Wayland implementation instead of a general application that runs in all environments.
why have/haven’t you made the switch?
I did not find one single floating WM that is as good as Openbox for Xorg. Also: Screen recording with OBS is problematic in some constellations.
you’ll need a special Xorg implementation
Ok it’s true that op would need XWayland for some things, but that will be installed alongside the rest of the Wayland packages, and will run seamlessly.
Most applications are specific to your Wayland implementation
This isn’t true. Some applications will use features that aren’t available in all Wayland compositors, but they are rare. The main offenders are apps that interact with other apps, apps that take screenshots or record, or apps that draw outside of a window (like docks).
Basically none of your current software works out of the box (you’ll need a special Xorg implementation that works with your Wayland implementation in order to run non-Wayland applications).
I’ve never seen any distro with Wayland that didn’t have XWayland set up and working out of the box, so that’s not something the end user needs to worry about. And “Basically None” is also not true anymore. Practically anything made with GTK3/4, Qt5/6, SDL2, recent Electron versions etc. natively runs on Wayland. It’s mostly games, Wine and a lot of proprietary software that doesn’t.
Most applications are specific to your Wayland implementation instead of a general application that runs in all environments.
Wdym by that exactly? I mean, a KDE application will run just fine on GNOME or Wlroots compositors.
XWayland doesn’t mixed/high DPI properly anywhere but under KDE >= 5.26. On Void I found Plasma’s Wayland implementation somewhat flakey and sway completely useless as it didn’t handle scaling + xwayland.
Have you tried labwc
I did. It misses (or missed?) most of the functionality I use with Openbox.
- shading (rolling up) windows
- “resistive” window borders
- menu icons
- pipe menus
- freely bindable key-and-mouse combinations for window movement (including all buttons and including all 5 wheel directions/clicks)
- customizeable decorations (no minimize/maximize buttons, for example, size, mouse interactions, etc.)
- and some other minor issues.
Especially the menu stuff makes me not wanting to use it. Since my Openbox menu uses icons for 100% of the entries and 95% of the menus come from pipe menus this is an absolute deal breaker.
Yes switch