Summary: | Recording windows or screens with OBS or spectacle is broken in Plasma 6 RC2 on Wayland: Failed to start pipewire screencast | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Guido Winkelmann <guido-kdebugs> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED NOT A BUG | ||
Severity: | normal | CC: | andrej.halv, andres.becerra, fanzhuyifan, kde, leodream2008, melechtna, patrick.holthaus, sites+kdebugs, z411 |
Priority: | NOR | Keywords: | qt6 |
Version: | 5.93.0 | ||
Target Milestone: | 1.0 | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=481029 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Guido Winkelmann
2024-02-08 15:21:58 UTC
Could you try to see if screen sharing works for a freshly created user? Thanks! I'm assuming you mean krfb when you say screen sharing, but in any case, none of these things work for a new user either. The same problem occurs with Zoom when trying to share screen. This was working correctly on plasma 5.27.10 (wayland) With plasma-6.0.0 it works on Xorg and fails on Wayland. Yesterday, I created a new user account, and screen sharing worked there. So I completely nuked my settings for everything not vital (saves, browser history, etc.), and this got screen sharing working on my main account. Tested a live stream, all good. Wake up the next day, login, and it's back to being broken with this error in everything [pipewire] Failed to start screencast, denied or cancelled by user Meaning, it's likely broken by a config change after one user login, perhaps on the next session after using screen share of any kind. I'd be fine with wiping said config at login for now, but I have absolutely no idea which one is relavent. I have so far tried deleting the xdg config, and the entire pipewire config folder and relogging, and these didn't work to clear the issue for even one session, but doing a mass wipe did, so it would likely be a good idea to hunt down which config is creating the problem so this issue can be resolved. Remarking than in Gentoo I am using openrc, not systemd, to activate services. in .local/share/sddm/wayland-session.log I find this warnings/errors that might be related: (/usr/libexec/xdg-desktop-portal:2645): xdg-desktop-portal-WARNING **: 12:06:54.105: Failed connect to PipeWire: Couldn't connect to PipeWire kf.kio.gui: Failed to register new cgroup: "app-pam_kwallet_init-ee0be7f7c8a54329a488c7d4c30b9fed.scope" "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.freedesktop.systemd1 was not provided by any .service files" kf.kio.gui: Failed to register new cgroup: "app-powerdevil-34e04bace542414490aaf20954391870.scope" "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.freedesktop.systemd1 was not provided by any .service files" kf.kio.gui: Failed to register new cgroup: "app-baloo_file-62353f4a5da64f4dad630d8969c0b397.scope" "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.freedesktop.systemd1 was not provided by any .service files" kf.kio.gui: Failed to register new cgroup: "app-pipewire-70b92ce0d61a4e51adc23c696c832609.scope" "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.freedesktop.systemd1 was not provided by any .service files" kf.kio.gui: Failed to register new cgroup: "app-org.kde.kalendarac-8584ff4aa2ee46aaad09df352cd1d160.scope" "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.freedesktop.systemd1 was not provided by any .service files" kf.kio.gui: Failed to register new cgroup: "app-kglobalacceld-61c1789c73514cfabf7197b66a310a4f.scope" "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.freedesktop.systemd1 was not provided by any .service files" error creating screencast "Failed to connect PipeWire context" https://pastebin.com/L9BSVK9H Here's an strace for OBS, I'm completely out of ideas. Can you run your openrc equivalent of:
systemctl --user status pipewire.service
and make sure it's enabled and running
>(/usr/libexec/xdg-desktop-portal:2645): xdg-desktop-portal-WARNING **: 12:06:54.105: Failed connect to PipeWire: Couldn't connect to PipeWire
This is the killer line, we're trying to talk to pipewire and it's not running for whatever reason.
I think there may be two separate issues being discussed here. I'm seeing the same "[pipewire] Failed to start screencast, denied or cancelled by user" issue, and I'm using systemd. Pipewire is running the entire time, qpwgraph works, my music keeps playing. Logging in and out again fixes it for one run. If I exit OBS and then reopen it, the behaviour reproduces. All of this was working on 5.27.10, so I suggest we reopen this. (In reply to Zane from comment #8) > I think there may be two separate issues being discussed here. > > I'm seeing the same "[pipewire] Failed to start screencast, denied or > cancelled by user" issue, and I'm using systemd. > Pipewire is running the entire time, qpwgraph works, my music keeps playing. > Logging in and out again fixes it for one run. If I exit OBS and then reopen > it, the behaviour reproduces. > > All of this was working on 5.27.10, so I suggest we reopen this. Is there anything specific that happens when you relog? I can't even get it to work again once after it gets "on its shit" without a full config flush since I can't seem to isolate which one causes this weirdness. I can't see why this bug has been marked as solved and "not a bug". It's clearly still a bug, it's clearly a regression a from 5.27, and it's clearly not caused just by pipewire not actually running, since all reporters so far could confirm that, yes, pipewire is really running the whole time and reachable from various other pipewire frontends. From my point of view, this is even a rather major bug. (In reply to Guido Winkelmann from comment #10) > I can't see why this bug has been marked as solved and "not a bug". It's > clearly still a bug, it's clearly a regression a from 5.27, and it's clearly > not caused just by pipewire not actually running, since all reporters so far > could confirm that, yes, pipewire is really running the whole time and > reachable from various other pipewire frontends. > > From my point of view, this is even a rather major bug. It's also not just a genroo thing, I for one am using Fedora, but had similar issues on Arch, which is SystemD, so it's not openrc related either. (In reply to Melechtna Antelecht from comment #9) > > Is there anything specific that happens when you relog? I can't even get it > to work again once after it gets "on its shit" without a full config flush > since I can't seem to isolate which one causes this weirdness. I've found that when I relog, some processes (specifically the user dbus daemon, and pipewire) have persisted from the previous session. It's quite annoying tbh (even happens in Plasma 5). To work around this, after logging out I always enter a tty, "pkill -u $USER" everything, verify everything's dead, and only _then_ log back in. I suspect the core of this issue is caused by some dbus-related state going wonky somehere, in which case killing dbus temporarily solves it. (In reply to Zane from comment #12) > (In reply to Melechtna Antelecht from comment #9) > > > > Is there anything specific that happens when you relog? I can't even get it > > to work again once after it gets "on its shit" without a full config flush > > since I can't seem to isolate which one causes this weirdness. > > I've found that when I relog, some processes (specifically the user dbus > daemon, and pipewire) have persisted from the previous session. It's quite > annoying tbh (even happens in Plasma 5). > To work around this, after logging out I always enter a tty, "pkill -u > $USER" everything, verify everything's dead, and only _then_ log back in. > > I suspect the core of this issue is caused by some dbus-related state going > wonky somehere, in which case killing dbus temporarily solves it. I'd agree, except, the issue occurs for me from first login (cold boot), until I relog (sometimes multiple are needed). So it can't be that, at least not in my case. Unless somehow these persist between reboots, and somehow I don't think so. I can confirm this happens to me after the KDE Plasma 6.0.4 update on Void Linux. This was working on Plasma 5. I also previously could see a preview of the windows to be shared in the Select Window screen but now I don't see anything, and after choosing one I get the Failed to connect PipeWire context error. Same issue as above, please this is important as I need screensharing for work! OBS shows the same: warning: [pipewire] Failed to start screencast, denied or cancelled by user KDE Plasma Version: 6.0.4 KDE Frameworks Version: 6.1.0 Qt Version: 6.6.0 Graphics Platform: Wayland PipeWire is running just fine as everyone has said above and GNOME works. Just wanted to comment that this got patched in Void Linux by cherrypicking this fix: https://invent.kde.org/plasma/kwin/-/merge_requests/5708 |