Wayland. It comes up a lot: “Bug X fixed in the Plasma Wayland session.” “The Plasma Wayland session has now gained support for feature Y.” And it’s in the news quite …

35 points
*
Deleted by creator
permalink
report
reply
41 points

Don’t let Slack launch at startup. As long as it launches after pipewire - everything works. Your can also restart it to fix sharing issue, but that can be a birch if you already started a call.

permalink
report
parent
reply
5 points

Is there a way to control the launch order? I suppose you could also find a script that waits for a given process to be responsive before launching another, but I’m not sure where I’d insert that either.

(I’ve been using Ubuntu mostly out-of-the-box so far and just now started having the time and energy to start learning about and fiddling with the internals)

permalink
report
parent
reply
13 points
*

If it launches via a systemd service, you can perhaps edit the file such that it depends on Pipewire before it launches.

Or disable the built in startup support and create your own service that does the same.

permalink
report
parent
reply
8 points

I’m not sure that would work. Pipewire probably starts via system (just takes a while to become functional) and slack is started by KDE. I guess you could just add a delay to slack’s start, but I just start it by hand.

permalink
report
parent
reply
2 points

That has nothing to do with Slack’s screen sharing issues. Screen sharing was broken due to Electron bugs and it’s fixed in Slack 4.34.

permalink
report
parent
reply
1 point

I’d argue lazy choice of wrapping your website inside chrome instead of building a native app is Slack’s issue.

I also wonder whether Slack fixed it or just waited for Google to fix it since Slack seems to only have UI designers and no actual devs on their team. They keep pumping out useless UI changes while actual bugs take years to fix.

permalink
report
parent
reply
2 points
*
Deleted by creator
permalink
report
parent
reply
1 point

As long as it launches after pipewire

Why? Why plasma nailed own screensharing to audio server? There already are wayland extensions for this.

permalink
report
parent
reply
7 points

Pioewire handles audio and video pipelines between applications.

permalink
report
parent
reply
19 points

I started running OBS with a virtual camera to do screen sharing. It is so much nicer to manage sharing with OBS than with Slack/Google Meet/Discord.

permalink
report
parent
reply
4 points
*
Deleted by creator
permalink
report
parent
reply
3 points

Oh, that sounds like an interesting idea. Currently stuck with teams at work. Screen sharing does work under wayland. But definitely going to try this.

permalink
report
parent
reply
8 points

Try using XWayland video bridge. It should allow any XWayland apps to use screen sharing. Unfortunately most distros either don’t ship it yet or ship broken versions but you can download nightly Flatpaks from Gitlab CI

permalink
report
parent
reply
2 points

I’m not sure why, but every time I use XWayland Video Bridge (installed as of about 2 days ago so it should still be pretty new), I just end up with a black screen being broadcasted - not sure what could be causing that.

permalink
report
parent
reply
1 point
*
Deleted by creator
permalink
report
parent
reply
31 points
*
  1. Stagnation isn’t always evil, it’s just part of tech. Once tech solves the problem it set out to, it should stagnate. Adding more bells and whistles makes things better less often than it makes them bloated and more prone to breaking. On the flipside, software that hasn’t changed much other than bugfixes and security patches is the backbone of a loooot of our tech infrastructure. Edit: @SkyeStarfall@lemmy.blahaj.zone provides an excellent refutation, with counterexamples showing where lack of new features is hurting X11 here (direct link broke for me on lemmy.ml, hence the redirect)

  2. I fail to see how the architectural difference fundamentally solves the issue of changes breaking compatibility. Now instead of breaking compatibility with the server, you’re “only” breaking compatibility with the compositor. But that’s okay because at least there are other compositors that fulfill this use case… oops switching to that compositor broke 3 of your other apps, well lets try another! … and now my pc won’t communicate with my GPU… well, we can always… and so on and so on.

Not saying that wayland is bad nor that X is better, but these are the two most common “cases against X/for wayland” that I hear and I just don’t buy it. As much as I argued against it, I love trying new and different software and eking every last bit of performance out of my 8 year old PCs, I can’t wait to give Wayland a try and see if there’s a noticeable difference… I just wish these two arguments would go away already

permalink
report
reply
38 points

The issue is that X was never a mature, feature-complete, stable project. It was always a hideous and bloated hodgepodge of disparate and barely working patches. The entire point of Wayland is to do exactly what you say tech should do: solve the particular problem (graphics server) well and cleanly, and limit itself to a definable set of features so it can actually reach that point of stability.

permalink
report
parent
reply
0 points

The issue is that X was never a mature, feature-complete, stable project.

Looool. It was too stable, which means stagnation.

bloated hodgepodge of disparate and barely working patches.

You mean bloated protocol or bloated implementation? Because kwin_wayland is pretty bloated.

The entire point of Wayland is to do exactly what you say tech should do: solve the particular problem (graphics server) well and cleanly, and limit itself to a definable set of features so it can actually reach that point of stability.

Tying graphics server to audio server is very clean.

permalink
report
parent
reply
13 points

As I understand it, Wayland offloads a ton of stuff that was core to X11 (like input device handling) directly to the compositor. The end result is every compositor handling things differently. Compare something like i3 to Sway. Sway has to handle input, displays, keyboard layouts, etc directly in its config. If I switch to Hyprland I then have to learn Hyprland’s configuration options for doing the same. Meanwhile, switching from i3 to dwm requires only setting up the WM to behave how I want - no setting up keyboards, mice, etc. It just feels clunky to work with Wayland compositors, frankly.

Also when something breaks in Wayland the fix is almost always hard to find or incredibly obscure because the fix isn’t for Wayland- it’s for the compositor. If your compositor isn’t popular then good luck!

permalink
report
parent
reply
3 points

Can someone debunk this please? It feels like something is overlooked here

permalink
report
parent
reply
7 points
*

They got all of the basic facts right and their general experience mostly mirrors my own, though in my case the majority of problems encountered apply to Wayland in general and are rarely compositor-specific. That is to say that I can usually Google “[APP]” [FEATURE] not working “Wayland” and find people from a variety of different Wayland compositors all experiencing the same thing[1]. Maybe I just got lucky when I chose my specific compositor?

In fact, despite being on Wayland for about a year now, the only compositor-specific issue I’ve ever encountered is a broken controller configuration overlay when using Steam’s Big Picture Mode. It’s actually super frustrating because I have absolutely no idea if it’s an issue specific to my compositor, wl-roots, or something unique about my configuration. All I really know is that it works correctly if I launch Steam in a nested gamescope compositor, so it’s not a bug in the protocol nor xwayland.


  1. Some recent examples: broken Steam Controller cursor, busted SDL in TF2, Invisible Emacs cursor ↩︎

permalink
report
parent
reply
2 points

Wayland offloads a ton of stuff that was core to X11 (like input device handling) directly to the compositor.

Not exactly. Imagine if xorg was also desktop environment with own compositor and effects. That’s what wayland compositor is.

permalink
report
parent
reply
9 points
*

For 1., the big issue is that there constantly are appearing new standards in display technologies. Two semi-recent examples are HDR and VRR, both of which X11 struggles with, and implementing those into X11 has been said to be painful by its developers.

permalink
report
parent
reply
2 points

This is an excellent counterexample to claim 1, and I wish this was the top response to my comment. It not only negates the claim that “maintenance mode” isn’t bad, it also provides specific examples of when it is bad.

permalink
report
parent
reply
6 points

Stagnation here specifically does mean that nobody is making bug fixes or security patches anymore. Xorg is abandoned, kaput, a former software project.

The new architecture allows developers to fix one thing without accidentally breaking 3 others.

permalink
report
parent
reply
2 points

Then the problem is that it’s abandoned, not that it has stagnated (which can also be phrased as “stabilized” depending entirely on context and the speaker’s/author’s personal feelings about the project). Once again, I’m not saying that Xorg is good, but that particular critique needs to stop; it’s major flaw is that even the “maintainers” are sick of it and want it to die, not that it has ceased major developments.

Even the article acknowledges this:

Having something as central as the window server being unmaintained is a major issue, as it means no bug fixes, no security patches…

But it also falls into the “Bells and whistles” side of the critique immediately after:

… and no new features

and it even starts of explaining the problems with X by saying it’s in “maintenance mode.” I couldn’t care less about new features, the Pareto principle implies 80% of users don’t need new features regardless of how much dopamine they get from seeing the marketing hype. “Maintenance mode” isn’t a bad thing, it’s a good thing. Abandoned projects that most GUIs still rely on is a disaster waiting to happen.


The new architecture allows developers to fix one thing without accidentally breaking 3 others.

That’s an extremely bold claim, and vague, with no actual examples. Do I take it on faith that changing code can break things with X? Yes, but I, having worked with code, just assume that’s what happens to all software. Do I believe that Wayland has found a way to do away with that problem of software architecture (and not necessarily protocol architecture)? Not unless they’ve somehow found a way to compartmentalize every single module such that every aspect is fully isolated and yet has interfaces for every potential use case that could ever be dreamed up. Any devs in the comments want to pipe up and let me know how that endeavor has worked for them in past projects?

permalink
report
parent
reply
3 points

The new architecture allows developers to fix one thing without accidentally breaking 3 others.

That’s an extremely bold claim, and vague, with no actual examples.

The problem is not the code per se, but that we can’t add stuff anymore that doesn’t somehow break the core protocol. The plain fact is that we’ve been tacking on things to X11 which it was never designed to do for decades and we reached a breaking point a while ago.

Stuff like multi-DPI setups are impossible to implement in X11’s single-framebuffer model; security on X11 is non-existent, but we can’t retroactively fit any kind of permissions on the protocol as that breaks X11 applications that (rightfully) assumed they could get a pixmap from the root window. There’s so much more, just take look at https://www.youtube.com/watch?v=RIctzAQOe44

permalink
report
parent
reply
0 points

Then the problem is that it’s abandoned, not that it has stagnated

By all means, feel free to start working on it!

All the people who developed Xorg for 20+ years decided that creating and working on Wayland was a better use of their time. But I’m sure you know better…

The problem isn’t that Xorg is spaghetti code (it’s pretty good for a large C project, imho). The problem is that the X11 protocol was designed to expose the capabilities of 1980s display hardware.

permalink
report
parent
reply
18 points

Great article. I’m currently still on X because Plasma 5 doesn’t handle fractional scaling well. As soon as that changes (Plasma 6?) I’ll be jumping over to Wayland.

permalink
report
reply
4 points

X handles fractional scaling terrible as well lol. Has caused terrible tearing and framedrops for me on a Framework 13.

permalink
report
parent
reply
2 points

And this is what I am talking. Fragmentation. Fractional scaling extension exists in wayland protocol for a year of more.

permalink
report
parent
reply

For me it’s Barrier/Input Leap which keeps me stuck on X. Still waiting for a solution there then I’m moving over.

permalink
report
parent
reply
1 point

Note that there’s now a solution for this in Wayland compositors that support the InputCapture portal. This should work on the latest (or next? not sure) version of Input Leap and GNOME 45 (which launches as part of Fedora 39)

permalink
report
parent
reply
18 points

Good read, provided context that I didn’t have before as a newbie

permalink
report
reply
15 points
*

I want to switch to Wayland. I try it every month to see if it is working with my system and so far it is not.

Ubuntu 23.04/Nvidia 3080/Steam. It use to work with the old big picture mode but when steam went to the new one, Wayland broke for me.

permalink
report
reply
8 points

That’s weird. I thought Steam doesn’t support Wayland at all and runs using XWayland.

permalink
report
parent
reply
2 points

Gamescope makes the experience a lot better with steam at least for me in swaywm. I experimented with running each game in gamescope using launch options but with gamescope’s mediocre support of the steam overlay some multiplayer invite stuff doesn’t work correctly. Running steam in bigpicture within gamescope pretty much solves all these issues and seems to improve performance too.

permalink
report
parent
reply
0 points

To be fair you probably use bloat blob driver instead of Mesa.

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

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

Community stats

  • 6.6K

    Monthly active users

  • 6.8K

    Posts

  • 185K

    Comments