346
KDE Going all-in on a Wayland future
(blogs.kde.org)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Do you have some examples? Most things I (and others) do are in the category "showing a desktop", multiple desktops with different resolution / scaling / refresh rate, maybe opening a virtual monitor using krfb.
Wayland has been a complete game changer for me regarding performance and reliability (as soon as it hit a certain stability lol).
Yeah I second this. I’ve been on wayland for a few years now and while my needs are pretty standard I also regularly need slightly-off-the-beaten-path features. Not everything used to always work, but in the last, I want to say 18 months, I never found my needs lacking.
Multiple monitors work, adaptive sync works, mic / webcam works, screen / window sharing works, remote desktop and wayland forwarding works, etc.
That’s not to say everything is guaranteed to work all the time, but I am surprised to see people saying that even today they always find something fundamental that is broken when they attempt to switch.
Screen sharing is a great example. I used to have issues with it, but since about a year I'm able to share my screen in the MS teams PWA in Firefox and even the Discord flatpak without a hassle.
Yeah. In the first months, there were clipboard issues. Until 2 years or so ago for me, screen sharing wasn't perfect.
I searched for or filed issues whenever I could, and there's not a trace of a problem left.
I wonder if these people just complain on social media and give up immediately without informing anyone relevant and then feign surprise when shit's not magically fixed later.
I use Talon voice. It's software that let's me use the pc still, due to write severe RSI.
However, Wayland doesn't allow a lot of functionality that tools like this need.
Therefore, anyone who requires a tool similar to Talon, needs X11.
KDE is out.
2027/2032 is still some time away.
Let them know what you need.
Sucks that they just claim that and give up instead of trying to work together with Wayland compositors to make this happen.
I don't understand why they would drop you like this.
Because instead of just using a common well defined API, every developer is supposed to ”work together with Wayland compositors”, of which there are many, none of which are up to feature parity with X. Working together with the (at least) three major compositors is far top much work for most projects, if you can even get them on board.
Every compositor must reimplement everything previously covered by third party software, or at least define and reimplement APIs to cover that functionality. We have been screaming about this obvious design fuckup since Wayland was first introduced, but nooo, every frame is perfect.
Take a look at https://arcan-fe.com/ for what a properly architected display server could look like instead of the mess we currently have with Wayland. I’m holding off on moving to Wayland for many reasons, and it wouldn’t surprise me if Arcan becomes mature and fully usable before Wayland. If I get to place a bet on either on Wayland or a few guys in a basement with a proper architecture, I know what I’ll put my money on.
Yes, they were supposed to reach out at some point in the last 17 years, idk what to tell you.
Someone did it for them even: https://github.com/splondike/wayland-accessibility-notes/blob/main/talon-requirements.md
That list is hilarious. I especially love how gnome just gives up on Wayland protocols and wants everyone to run a sidechannel over dbus instead.
This is why we can’t have nice things.
I don't get what you mean. Isn't the list just a status quo and not how things are supposed to be forever? What's “hilarious” about somebody painstakingly going through all the features and checking how close they are?
Like I wouldn't put it past GNOME to give up on interoperability at the slightest inconvenience, but I don't see that here?
It’s hilarious that all of this was foreseen 17 years ago by basically everyone, and here is a nice list providing just those exact points. I’ve never seen a better structured ”told ya so” in my life.
The point isn’t that the features are there or not, but how horrendously fragmented the ecosystem is. Implementing anything trying to use that mess of API surface would be insane to attempt for any open source project, even when ignoring that the compositors are still moving targets.
(Also, holy shit the Gnome people really wants everyone to use dbus for everything.)
Edit: 17 years. Seventeen years. This is what we got. While the list is status quo, it’s telling that it took 17 years to implement most of the features expected of a display server back in the last millenium. Most features, but not all.
Pretty good for mostly volunteers, hampered by recalcitrant project leads that actively sabotage any progress and consider “told you so” appropriate.
If anyone cared enough, they could have made that list 17 years ago, and pushed through a set of protocol extensions that allow talon to work.
Why did nobody do that?
It's crazy to me that people complain now. It's far too late for complaints.
Oh no, people wrote lists like that 17 years ago. That’s the fun part. We have been complaining all along.
Maybe you didn't do it right. Everything Wayland I ever complained about is fixed now.
I fell like if you had put this list into a Wayland protocol extension request, then put a link to that request into KDE’s showstoppers list, this would have been fixed long long ago.
It’s great that most showstoppers are fixed now. Seventeen years later.
But I’ll bite: Viable software rendered and/or hardware accelerated remote deskop support with load balancing and multiple users per server (headless and GPU-less). So far - maybe possible. But then you need to allow different users to select different desktop environments (due to either user preferences or actual business requirements). All this may be technically possible, but the architecture of Wayland makes this very hard to implement and support in practice. And if you get it going, the hard focus on GPU acceleration yields an extreme cost increase, as you now need to buy expensive Nvidia-GPUs for VDI with even more expensive licenses. Every frame can’t be perfect over a WAN link.
This is trivial with X, multiple commercially supported solutions exist, see for example Thinlinc. This is deployable in literally ten minutes. Battle tested and works well. I know of multiple institutional users actively selecting X in current greenfield deployments due to this, rolling out to thousands of users in well funded high profile projects.
As for the KDE showstopper list - that’s exactly my point. I can’t put my showstoppers in a single place, I need to report to KDE, Gnome and wlroots and then track all of them, that’s the huge architectural flaw here. We can barely get commercial vendors to interact with a single project, and the Wayland architecture requires commercial vendors to interact with a shitton of issue trackers and different APIs (apparently also dbus). Suddenly you have a CAD suite that only works on KDE and some FEM software that only runs on a particular version of Gnome, with a user that wants both running at the same time. I don’t care about how well KDE works. I care that users can run the software they need, the desktop environment is just a tool to do that. The fragmentation between compositors really fucks this up by coupling software to display manager. Eventually, this will focus commercial efforts on the biggest commercial desktop environment (i.e. whatever RHEL uses), leaving the rest behind.
(Fun story, one of my colleagues using Wayland had a postit with ”DO NOT TURN OFF” on his monitor the entire pandemic - his VNC session died if the DisplayPort link went down.)
Thanks, this is a much more nuanced take than what I'm used to.
Regarding thinlinc: They seem to be on it: https://community.thinlinc.com/t/wayland-tigervnc-and-thinlinc-the-future-of-remote-desktops-in-linux/1755.
Regarding fragmented support: is that true? Why would some CAD software not work everywhere when most other software does? Does the thing really need some specific niche Wayland protocol that's only implemented on one DE for the time being? And if yes, will that protocol really be the first relevant one to not be implemented across the board? I feel like you're conjuring to a problem that doesn't necessarily exist. Do you have an actual concrete example that goes beyond “the subwindow placement for this multi-window program is a bit wonky without impeding usability in the slightest”?
Software compatibility is a problem on X as well, so I’m extrapolating. I don’t expect the situation to get better though. I’ve managed software that caused fucking kernel panics unless it ran on Gnome. The support window for this type of software is extremely narrow and some vendors will tell you to go pound sand unless you run exactly what they want.
I’m no longer working with either educational or research IT, so at least it’s someone else’s problem.
As for ThinLinc, their customers have asked about what their plan is for the past decade, but to quote them: ”Fundamentally, Wayland is not compatible with remote desktops in its core design.” (And that was made clear by everyone back in 2008)
Edit: tangentially related, the only reasonable way to run VNC now against Wayland is to use the tightly coupled VNC-server within the compositor (as you want intel on window placements and redraws and such, encoding the framebuffer is just bad). If you want to build a system on top of that, you need to integrate with every compositor separately, even though they all support ”VNC” in some capacity. The result is that vendors will go for the common denominatior, which is running in a VM and grabbing the framebuffer from the hypervisor. The user experience is absolute hot garbage compared to TigerVNC on X.
TIL (Today I Learned)!
Accessibility is a huge blindspot in all of these conversations. The tools that work with Wayland are not up to parity with what works in X. Until that is the case I see no reason to switch.
Yup.
X11 forwarding which I use extensively - I realize there's waypipe which is supposed to allow you to do this, but I've not had a chance to test this yet as there's always something else.
Remote desktop woes - Feels like a total crapshoot with this one, on a box I was experimenting with the build in RDP seemed to work ok, but being able to connect to the actual working desktop vs. start up a separate session that isn't connected to the running desktop doesn't seem to be a thing. aka, I could use x11vnc to connect to the running desktop or regular VNC to get a separate X session which wasn't attached to the monitor and didn't interfere with the desktop. There's probably a way to get this working but it seems this is all built into KDE or Gnome now instead of being separate functionality. Tell me if there's something I'm missing here.
Barrier - Keyboard and mouse sharing via network - I use this extensively and the break in compatibility is destructive for me.
OBS window capture - Just had this happen to me, went to update my streaming box and it swapped to wayland with no X11 option anymore, Ubuntu has completely dropped support, not even "you can install it yourself". So the pipewire window capture is woefully lacking in features, I'm not sure it had the ability for me to crop the captured window at all, which I need to capture a pixel perfect section of the window to line up the control pixels in the stream exactly. But even if that feature was hidden and I was missing it, when it tried to capture the window for the serializer it was utterly munged, smeared and stretched and total trash. Regular OS windows captured ok, but the serializer, which is a unity app, was unusable. A full restore of the out of date OS was required to get things working again.
Yeah, I realize I'm using all the most esoteric features in the world, but that's what makes X11 so damned functional, yeah it's crufty and old and has issues, but damn if it doesn't do all the things.
Edit: I'm sure if you just need it to do normal desktop things it works great.
Edit2: One more thing while everyone is going to be looking at this post, is there a way for me to set the display I want a window to show up on? I don't mean multiple monitors, I mean like I can be ssh'd into a box and set my display variable to DISPLAY=":0.0" and anything I run from that session with a GUI will show up on the main desktop display on the monitor, and if I have additional X sessions I can set it to :1.0 or whatever to have the window pop up on that one, does wayland have anything analogous to this where I can control where my windows appear from sessions not attached to the display manager at all?
Barrier has been unmaintained for a while now. The two active forks are deskflow (upstream) and input-leap. Deskflow has limited supported for Wayland. It seems that they're working on resolving the remaining issues: https://github.com/deskflow/deskflow/discussions/7499
Thanks for the heads up! I'll check out deskflow!
I'm not the OP, but tbh the only thing that doesn't work for me is the apps that replace your input by the same thing in another layout.
For example, you have 2 keyboard layouts, type something and realize afterwards that you forgot to change the keyboard layout. You press the hotkey to trigger a script that removes your input, translates it into a different keyboard layout and pastes it back.
People who only use 1 keyboard layout don't even think about this issue and usually don't know such software exists.
I miss it a lot. There's 1 script that works in wayland but it's pretty buggy and it's not in arch repos, so I don't trust it too much. X11 had many options.
that's mainly because of Wayland's security model I think, it's trading a tiny bit of convenience for lots more security in terms of things like preventing easy keylogging.
You can still do keylogging in wayland but that has to be done at the compositor or evdev layer, which requires root access or control of the DE, which makes it more secure. I'm sure you could write something in C to do this though
It might be an annoyance for you and I get that, but your small annoyance improves security for lots more people than you realise. I'm sure you can adapt to not using the script though (I also use multiple layouts and I work fine without a script like this)
I get what you are saying and understand the balance between convenience and security, however most end users don't care. Their thing stops working and they complain "Wayland bad, my workflow now broken!", nothing you can do.
Right, but the point is that for most end users, their workflow isn't broken.
Orca slicer, bambu studio
To be clear: that's their issue.
Those work fine in Wayland for me.
At least Orca Slicer works fine for me in Wayland.
Those both work fine in Wayland.
Tablets and color calibration it seems https://www.davidrevoy.com/article1030/debian-12-kde-plasma-2024-install-guide#1-wayland
As someone that is stuck with an Nvidia card rn, I've had a few applications just refuse to work with Nvidia and Wayland on KDE Neon. Maybe I just need to tinker more.
yeah you sometimes need to force applications to run with xwayland, for qt apps I think you just assert the environmental variable:
that usually works for me
Thanks for the tip, I'll give this a try!
I have had a lot of luck forcing broken apps to use ZINK (Yes, you can do this on the nvidia propriety driver! Yes, it will use the proprietary vulkan driver as a backend.)
I have a 3060 12GB and have yet to run into something broken that I couldn’t get to work, although it is annoying that NVIDIA still can’t be fucked to have a driver that doesn’t reek.
TBH this is one reason I got off Ubuntu/KDE Neon.
It kept trying to roll Nvidia+KDE fixes forward (including one I dealt with in their bug tracker), which I had to manually figure out and maintain, which I kept breaking, so I finally decided “why don’t I just use a distro where everything Nvidia/KDE is up to date?”