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 …
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 …
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.
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)
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.
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.
Starting by hand is fine and I do it with just about anything I need anyway (though I suspect there is still some startup bloat I'll need to sort out, if I don't set up an entirely new system somewhere down the line), but don't underestimate my compulsion to automate what I can (or at least know how to).
I'm a sucker for automation for automation's sake :D
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.
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.
Many Electron maintainers are Slack employees. They're contributing upstream more than most other companies that use Electron, especially compared to their size.
Could you name a couple? Genuinely interested to check out their contributions.
Also, I just updated to 4.34.119 and screen sharing is still completely broken. As is typical with Slack.
Oh, thx for the tip!
Why? Why plasma nailed own screensharing to audio server? There already are wayland extensions for this.
Pioewire handles audio and video pipelines between applications.
So why Wayland instead of pipewire at all?
Because Pipewire only handles and understands media streams, so it can stream the output of a window or the whole desktop, but only because the Wayland compositor has already composed the windows and other data it gets from the application to a visual and hands the final result to Pipewire.
Which goes back to oroginal question. Why pipewire if there are already wayland extensions?
Because it is convenient for programs to use Pipewire for screensharing, as those programs can then also use the same Pipewire support for all their audio and webcam needs. Also Pipewire is good at multiplexing the various media streams.
And what developers will hammer their apps to one sound server implementation? What is convenient here? Loosing interoperability? You always can use Wayland for screensharing, ALSA for sound and V4L2 for webcam.
For the multiplexing, as I mentioned.
A V4L2 camera can only be opened by a single application at a time, but if that application is Pipewire, then Pipewire can allow multiple applications to make use of it simultaneously. Same thing with ALSA, it's the reason sound servers exist at all, though I suspect you're already familiar with that.
I also hear that ALSA has some support for multiple applications per device nowadays, though I understand it is much less pleasant to use than a fully featured sound server.