KDE going all-in on a Wayland future
71 points by mosterdt
71 points by mosterdt
Yes. There are currently no plans to drop X11 support in KDE applications outside of Plasma.
This is the bit I care about. Running a KDE desktop on Wayland seems okay. Not perfect, just differently annoying to X11. Not noticeably worse or better. I don't care if they pick one or the other.
But I do quite often run KDE apps in a VM and display them on a Mac. And XQuartz works great for this. I'd hate to lose that ability.
Of course, with that as the only use case, it's not clear how long the X11 back ends in Qt and KDE libraries will keep working. Apparently you can do Waypipe things to XQuartz somehow, but it's far more effort than I've bothered with so far.
Bit curious why you're running KDE apps from a VM, instead of doing so natively.
Admittedly, KDE could do better with macOS support but Macs sadly aren't cheap.
I don't work on compositor but I think this is good, concentrating on one thing without splitting our already taxed out resources.
People who refuse to switch should really consider looking at https://community.kde.org/Plasma/Wayland_Known_Significant_Issues and thinking about if they ever actually use any of these features. Everytime there is one of these discussions people complain it is missing features that are actually present, just weren't there last time they looked. Its like saying you won't switch to an electric car becuase they only get 200km of range and it's like, yeh that was 10 years ago, things have changed.
For many years I've been dutifully trying plasma-wayland whenever a new kde release came out, hoping that regressions get fixed. And while it has gotten better, plasma-wayland still has annoying bugs for my modest usecase. I'll keep looking because I know this is where devs want to be, but pressuring users to switch with in-your-face regressions on things like session management is really frustrating.
not really a full solution to session management but this is a great kwin script that fixes one of the most annoying things for me https://github.com/rxappdev/RememberWindowPositions
I count 3 that personally affect me - is that enough or do you want to move the goal posts any further?
Same - I had tried Plasma with Wayland on Asahi linux but had to revert to X11 even there, I had way less problems. For me the biggest blockers are:
I didn't know about the lack of RDP but it sucks as we use rustdesk right now at work but wanted to eventually set up a better RDP as rustdesk is also terrible in its own ways.
Its like saying you won't switch to an electric car becuase they only get 200km of range and it's like, yeh that was 10 years ago, things have changed.
I rented one a couple months ago and had to recharge after 130 km :/
As somebody who has absolutely no desire or intention to switch to Wayland ever, I can really only see two options:
Out of curiosity, why never switch to Wayland? Is there something you specifically use in X11 that Wayland is never going to support?
I mean, I think it's been developed in an adversarial way needlessly and I am somewhat ornery about it. I also dislike the way it thinks about security. But mostly I just think for an opportunity for a total rewrite, it's got the fundamental wrong abstraction. Windows are not surfaces! If I'm gonna switch to a display server rewrite, it's gonna at least be one that allows rendering windows at different resolutions on different screens simultaneously, from the toolkit down. What an opportunity to squander!
It's a great display server for a phone. But I'm on a desktop. And I just don't think it's good on a desktop. From where I'm standing, in terms of improvements, it breaks everything for nothing.
(edit: I talked to an AI about it and apparently wayland can in theory do it but it's not hooked up yet and nothing supports it either on the toolkit or server side. It's been how many years guys, how is this not a day 1 goal if you're replacing X11. I don't understand the prioritization, truly.)
If I'm gonna switch to a display server rewrite, it's gonna at least be one that allows rendering windows at different resolutions on different screens simultaneously, from the toolkit down.
Aiui from what ~lina has talked about, per-screen scaling is already a thing with Wayland. Do you mean that a single window straddling a screen boundary would be rendered twice, once for each screen's DPI?
Yep, twice with native scale for each screen, maybe clipping, with both surfaces tracked and known to the toolkit. Events should also be screen/surface specific.
Yeah that would be a good design. Natively supporting a window being made out of multiple surfaces would also make stuff like window decorations or out-of-process tray applets fit nicer.
do you have any "rewrite that got it right" in your mind?
Of a display server? Not really. Tbh I don't really follow that scene too closely, I mostly want a desktop that "just works" and Wayland still is very much Not That. In general, I gotta say I do like pipewire, but I haven't looked too deeply into it- I mostly like it because it actually works (as opposed to Pulse or Wayland, which never worked well) and it cleanly absorbs all the previous usecases and apis without breaking workflows "for your benefit". It doesn't bullshit me into saying I urgently need to switch to a New Thing and rebuild all my apps and break userspace because it's ~so so hard~ to support the old stuff. It's respectful and unopiniated.
If Pipewire was like Wayland, it wouldn't support mic recording unless you implemented a Microphone Access Authentication protocol (microphone-access-v3! currently in beta! Heavily debated on the ng!) and if you tried to run it as root people would descend on you demanding to know how you dared to think you needed that. You know how you run pipewire as root? It says "You shouldn't run this as root" and then you just comment out the one config line that says that and it merrily goes on its way. Because obviously whether you do something stupid is the user's choice, not the program's! That's good design. Pipewire respects my stupid choices, and because of that you don't need an official consensus to decide what's allowed and what isn't.
We occasionally upgrade desktops to Wayland at work by accident. What happens then? Obviously all the screen recording clients break. "Yeah they need to use the new api." They will not use the new api. "Then they won't work." Yeah we noticed. "Okay but we did that intentionally." Listen I really don't see how that is supposed to make it better!
I'm surprised there are people who are diehard anti-Wayland but also use Plasma
I recently built a NUC for dev and wanted to remote in lag-free (via LAN, from Windows mostly, but also tried from mac).
To cut the story short, anything with wayland did not work at all or super laggy.
Now I have xfce via X11 and xrdp, although I would have preferred Plasma.
And I am not even diehard anti-Wayland. I've been using it on a laptop or two for months (years?) without any serious complaints. I just know from personal experience that not everything is perfect.
Why is that? I'm not a big fan of Wayland, mainly the choices made and residual antipathy towards the baby-and-bathwater take-it-or-leave it attitude, but I like Plasma, and I'm likely to grit my teeth and keep using it on Wayland. (Though the Win95 skin I found today for Xfce is rather nice.)
This is a shame since it means my preferred setup where I use Plasma with the i3 window manager is going away. Are there any setups for people to use Plasma and sway or something?
Are there any setups for people to use Plasma and sway or something?
wayland more or less requires that the window manager and compositing layers are statically linked together. I don't think that that will be possible any time soon.
There's always https://gitlab.freedesktop.org/wayback/wayback to run a rootful x11 window manager inside a wayland compositor, though!
Truthfully, the next step is probably just dumping KDE. I think sway is probably what I should be running since it's pretty clear my preferred way to use Plasma is not something the project is interested in. To the point of not even bothering to fix bugs for it any more
Maybe KWin scripts like Karousel? https://github.com/peterfajdiga/karousel
There's also Fluid tile: https://codeberg.org/Serroda/fluid-tile
Never used them so I dont know if they would fit your needs. But using different compositor with plasma is not officially supported.
I'm glad stuff is moving to hard to wayland. It feels like we've been stuck in limbo waiting for people to add proper support and now it's all coming together. I'm excited for XFCE next...
I would feel better about this if there were a commitment to porting existing kwin_x11 features, especially window shading. But the pressure to personally switch is already on, as X11-only KDE bugs are getting closed as fixed-on-Wayland.
especially window shading
I admit I never used this even with X11. Can you tell me what usecase there is for it? Genuinely curious.
My exact usage of it has changed over time to match other window management habit changes, but essentially I don't minimize windows, and when windows overlap I sometimes need to peek behind one for a moment. Or temporarily ignore it to get something done, then bring it back (and its floating title bar serves as a reminder to do so). I also use it to access the desktop behind a window.
Currently I use Karousel for scrollable-style window tiling, and most windows don't overlap, but certain popup/dialog things do, and they stay above all the other windows. This is convenient, but sometimes I need to see behind them.
I trigger it by scrolling on the titlebar, or super+bracket (analogous to how I fold code in editors, with ctrl+brace).
i'm not one that uses it but i've heard from a lot of people that not having proper shading is a feature that is a deal breaker for them and a huge part of their workflow.
I do wonder how much the Xorg vs Wayland fight has cost Linux in general - this is not a comment on which is better, I have no opinion as it’s been ages since I had interest in running Linux*
The ongoing fight seems to have resulted in each one improving in non-overlapping ways, such that you have to choose between which one based on your primary use cases, and accept issues with other uses.
* I may try again now that it seems kde has become more widely preferred - historically I used gnome but the last time I tried I found the appearance of usability had improved but actual usability had regressed and I think I just assumed gnome was still considered the best option, which sounds like it might be less true these days)
It's definitely hampered my ability to get non-technical users on up-to-date hardware, at least until recently... but then again, I guess I would have had the same issue if Wayland had never existed, and at least now we have a path forward.
The last eight years have been rough, but the all-Wayland, all-Pipewire future is looking bright.
Been using Plasma Wayland for years and it works great. In fact, these days it works a lot better than Xorg ever did for me. Every time I try logging in with X I run into a lot of the same old bugs with DPI and multi-monitor support. There's a lot of negative comments in this thread, but I reckon the general public have a good experience.
Clearly the people developing Plasma for free don't enjoy supporting two platforms at the same time. Since it has the benefit of hindsight, I'd even guess that Wayland has allowed them to fix a lot of long-standing bugs.
Good on them. This extra focus will also mean outstanding issues will get fixed faster.