for better and worse, XWayland works perhaps too well
Linux
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.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Not on Cosmic Epoch Alpha 1 but yeah 😆
Because it doesn't matter for most apps. XWayland works fine.
Even Blender says if it fails to use Wayland it will use X11.
What are you trying to say? Of course it does. Pretty much every Linux app still supports X11, because a lot of people are still using X11. Only exception I'm aware of is Waydroid.
I believe Wayland should be the default, but we should have the option to switch to X11 (using XWayland on Wayland) if desired.
good is the enemy of excellent. X11 works for most users (almost all the users?) well. You can see that with the adoptions of other standards like the C++ standards and IPV6 which can feel like forever.
Another thing I think one of the X11 maintainers mentioned iirc is that they have been fairly gentle with deprecation. some commercial company could have deprecated X11 and left you with a wayland session that is inferior in some ways.
It is not enough to make a better product.
It is not enough to create all tooling and libraries to seamlessly migrate to the new product, but it helps.
There also needs to be a great big positive reason to make the change. Paying developers, huge user base, the only hardware support, great visuals, etc.
Until I cannot run software on X11, I won't switch over knowingly.
Once the desktops switch to Wayland and all distros ship with Wayland by default, support should slow.
Ideally, developers stop improving xwayland over time and go into maintenance mode for a bit. Once it goes into maintenance mode, developers should naturally fall off as it winds down.
If every desktop makes a very public announcement about the xwayland protocol being put into maintenance mode, actively supported apps should switch over. It's up to the public how long they want to keep maintaining xwayland (open source etc).
But why would the distros do that? It takes effort and has real costs for them.
They're already starting to go that way, in a couple years Linux mint is even going to support Wayland. Ubuntu and fedora has already defaulted to Wayland. Fedora is actually deprecating xorg in a few releases. Budgie wants to have full support next year.
There isn't much more than the testing they already have to do every release. Infact not having to support legacy code will free up resources for the whole Linux community as well as cutting the time in half for validating packages on distros. Every package that runs on xorg also runs on wayland, they have to test both.
Granted some have custom tools they'll be working on but it's going to be a while before every major DE supports Wayland. I'm curious, you think the distros have to implement their own version of Wayland?
you think the distros have to implement their own version of Wayland?
Nope. They do have to test their own shit.
Why make a change when one can just not?
Considering that Ubuntu, Fedora and any distro with Gnome or KDE as the default DE already come with Wayland as the default, it is clear they have been testing their own shit when it comes to Wayland and then shifting to Wayland by default.
This is a thread about slow uptake by programs of Wayland.
X works for me.
Well it was you who implied that a distro shipping the DE with wayland has to do extra testing that they don't do. I just replied stating that distros are testing and validating for wayland to be the default.
X works for me.
Good. No one is stopping you from using it.
xwayland cannot ever be removed, because wayland, by design, will not have enough functionality to replace it. So one can either support X desktop environments with their own individual bugs, or one X implementation that has the needed features and works consistently for all DEs
So, even though KDE Plasma has significantly advanced Wayland, a stronger push is still needed to drive the change further.
I don't think kde plasma was the only one. Anyway, it just feels natural for xwayland to stop pushing for feature parody and for focus to switch over to Wayland after a while.
The biggest target for developers is the Ubuntu/Debian platform so their switch to Wayland should motivate other projects and paid applications to at least take notice.
New projects will try to support both but typically will focus more on Wayland. There's already an unintentional incentive to partially support xdg protocols Wayland relies on thanks to flatpak.
Until I cannot run software on X11, I won't switch over knowingly.
Please explain
What is there to explain?
Please explain.
Why would someone stay with x even though it's deprecated, architecturally broken and unmaintainable
This is a thread about slow uptake by programs of Wayland.
X works for me.
Right. And I'm interested if there are some legitimate needs for you to run x until it stops working.
Or is this just a revolt?
I don't think it's a revolt. Why would they put effort into changing something which works for them with the risk of breaking things? They also wrote "knowingly" which probably means that they won't have an issue with a switch if their distro manages to make a seamless transition.
Some people just want to get their stuff done, without diving into technical details. And as long as that works for them, they won't actively change anything.
Why would they put effort into changing something which works for them with the risk of breaking things?
The sentiment is similar to climate change deniers. Why would we stop with fossil fuels when they work, people have jobs, etc. And why would we risk breaking the power grid?
And as long as that works for them, they won't actively change anything.
Wayland on gnome and Ubuntu is already the default. It seems to me you have to actively change the default to x.
It would be interesting to see in which scenario x is better than wayland. The only reason I can think of is an (old) Nvidia card. With new Nvidia's I guess the statement would otherwise be 'i will not use it until they fix Wayland'
The sentiment is similar to climate change deniers.
I don't think that the survival of humankind potentially depends on the adoption speed of Wayland. If anything ever breaks, it will affect only a few individuals which can then still change course.
There are a lot of people using hardware from the last decade. I would even dare to assume that most Linux desktop users do, because that's how you still can get the most out of old hardware.
I have an old tower which I sometimes use for light gaming. It runs X11 because Wayland had some issues on this specific machine. I don't remember which and don't really care to investigate unless it becomes necessary. Until then I'm just happy when I have a little time to use it. And that works perfectly for my needs. For now
Is it really ? It works as expected and never crashes. Xorg's git is active.
Xorg was started in 2004 and Wayland in 2008 At this point they're almost the same age..
Depends on the timeline.
X crashed way more for me on kde than Wayland on gnome. 'Never' is quite the statement.
Yeah that was also concerning to me.
As someone who tries to look under the hood for a lot of the open source software I run, one thing that I have noticed is that there are a lot of cases where the general sentiment seems to be port to what
. Wayland still doesn't support a number of things that some applications require. A lot of developers that I have interacted with would rather have the app run through XWayland rather than have a wayland version of the app with less features or certain features grayed out.
In the case of one project in paticular, that being the Sunshine game streaming project. I have personally witnessed. Them implementing a solution for wlroots based compositor. Having that solution eventually break as wlroots based projects deprecate the protocol they were using in favor of a new one and now that protocol is looking like it too is old news and is going to be deprecated in favor of a newer and better protocol. What I am getting at here is that protocols not existing isn't the only problem, but things are still very much in development. Even applications that implemented wayland support are being put in positions where they need yet another rewrite because things are far from finalized and still moving pretty fast.
In the case of one project in paticular, that being the Sunshine game streaming project
That's a terrible example, because they completely ignore the many many years old standardized APIs (screen casting and remote desktop portals) that they could use, in favor of doing hacky and broken things that require root access instead.
So summarizing Wayland is not ready yet for everyone and current Wayland support can easily be broken with newer releases?
Because Wayland is STILL lacking a lot of things that people need.
It's the opposite for me. X11 is unusable on my laptop because it doesn't support fractional scaling well, whereas on my desktop it doesn't allow for a multi monitor setup with different refresh rates. Both dealbreakers are not present with Wayland. Though your point still stands; NVIDIA GPUs continue to suck more with Wayland than X11 for example.
I'm not defending x11, both wayland and x11 are trash, it's just whichever trash pile you find yourself most comfortable in.
On x11, fractional scaling is more or less just handled by the gui toolkit. It does suck that you need to set an env var for it, but IMO that isn't too bad.
the multi monitor stuff does suck for sure. It's not an issue for me personally. One thing that is a massive issue for me is x11's terrible handling of touch, I use touch screens daily so that's a massive issue for me, wayland compositors are also typically quite a bit faster then x11 + wms on low end systems now too (not to be confused with total resource usage/lightness).
Wayland has a lot of things going for it, but it also has a lot going against it. Both are terrible. Arcan save us (oh how a man can dream)
Could you give me some examples so I can understand what's missing and being waited on?
for one, it's missing a good chunk of A11y stuff, activity watch requires something to monitor the active window, there is a PR for that, still not merged, this has been an issue for years
It's missing protocols that will let applications request to be a privileged application, which is necessary for applications to use other functionality.
Missing protocols to control always-on-top / layers, which is needed for OSKs to function, and a couple other A11y things off the top of my head.
It's not just a11y either, Window positioning still isn't merged, which means if your app opens two "windows", you cannot currently select where to open them, or to even bind two windows together (Android emulator does this for instance).
There is a LOT wayland is missing, it IS getting better, just at a snails pace.
In my opinion, that's because X11 lacks proper abstract for many things like screenshot, screencast, color managerment and etc, so the applications have to use many X11 implementation details to implement these features. It leads to high-coupling code with X11 so move their code to wayland and ensuring it works correctly and is consistent with the old behavior is difficult.
Until recently, Wayland development was rather slow, especially in the areas where more specialized software run into issues that force them to stick with X11. Since Wayland does a lot less than X11 and is more componetized across multiple libraries designed to be swappable, some of these areas simply do not have solutions. Yet.
And, as always with FOSS, funding is a big part of the problem. The recent funding boosts the GNOME foundation received have also led to some increased funding for work on Wayland and friends. In particular, accessibility has been almost nonexistent on Wayland, so that also means that if an app wants to ensure certain levels of accessibility, they can't switch to Wayland. GNOME's Newton effort is still very alpha, but promising.
While big apps like blender and krita get good funding, they can't necessarily solve the problem themselves by throwing money at it, either. But the more funding Wayland gets to fill in the feature-gaps and ease adoption, the sooner we'll be able to move away from xwayland as a fallback.
Wayland and its whole implementation process certinally aren't without fault. There's a lot of really justified anger and frustration all around. Even so, staying on X11 isnt a solution.
I heard wayland is hard to develop for and xwayland work a little too well, idk I'm not a programmer
because for most of them, there is nothing to port them to. Wayland is incomplete... by design.
You have a gross misunderstanding of what a display fucking system should do. X11 nowadays provides the same thing to apps as Wayland, except some bad design hacks that have become fundamental to writing Linux apps that are essentially workarounds for X11 sucking badly.
NOBODY uses X11's font system or widget system or vector system nowadays. X11 provides you with a render plane and some other bullshit and the toolkit does the rest.
Which is the same as Wayland. Except Wayland actually has a properly designed and standardized way of doing things through the extension system, as in X11 everything is cobbled together from hacks.
A good example is absolute window positioning. Wayland doesn't have it because it's been found that it wasn't actually really needed, people did things that way because something that's essentially a clever hack had become the de facto standard on X11. Same thing with how X11 apps do window captures.
Generally, Wayland is a great leap in Linux desktop system. We're catching up to what MacOS and Windows did 20 fucking years ago.
What are advantages of being
incomplete... by design ?
I know Wayland is simpler but it should cover almost every highly requested feature if developers need it.
"almost" being the key word there.
Some applications, such as those with tablet demands, are not met by current wayland des with proper tablet support and xwayland is currently the better option. This may have changed in the last year or so, but this is roughly my recollection of certain big art programs.
Xwayland doesn't get input in some special way, it uses the exact same Wayland protocols to get input events as native Wayland apps. All claims about it being more complete or anything like that are nonsense.
Krita forces Xwayland because they have some X11 specific code they haven't bothered porting away from, that's all.
Oh hey, I love your work on Plasma's HDR and color management. Glad to see you on Lemmy.
Some many specific issues with Wayland... Maybe that's a reason. X11 is a huggeee dependency for a long time.
As a disclaimer: I really like Wayland and use it as my daily driver for months now with KDE/Proton.
Now my answer, based on my best knowledge:
Because there is no real Wayland to implement, the base Wayland protocols are extremely bare bone and most of the heavy lifting is done by all the different wayland compositors like hyprland, plasma, Mutter, weston, wlroots, gamescope so as a developer you don't have one target to program against (X11) but lots of different wayland implementations and those are not always doing things the same way or providing the identical interfaces/API or have the same level of features.
On my system is at least one wayland only program that works absolutely fine when started in a wlroots environment but crashes (reproduceable on different systems) with a segmentation fault in Mutter or Plasma.