Closed GladOSkar closed 1 year ago
I have the same issue on hyprland. What graphics card do you have? It also works in OBS for me but not in any other app (tried firefox, chromium, telegram desktop) although for me the the resolution and framerate seem fine, just output a black screen
What graphics card do you have?
Just an internal Intel Alder Lake-P
@GladOSkar I have the same error on the latest version of Chromium and Firefox but not in Firefox ESR on Alpine Linux, which makes me think it's related to the Browser. Can you try with ESR aswell? Also related: #255.
@spameier you're right, it works in Firefox ESR (102.9.0) for me as well
Same issue here. Not working on:
Working on:
System: OS: Arch Kernel: 6.2.12-zen CPU: AMD Ryzen 9 5900X GPU: AMD Radeon 6800XT
Software: xdg-desktop-portal: 1.16.0 xdg-desktop-portal-wlr: 0.7.0 pipewire + pipewire-alsa + pipewire-jack + pipewire-pulse + pipewire-v4l2: 0.3.70 wlroots-git: 0.17.0.r6206.44069dfd sway-git: r7122.33cfdbe8
debug-pipewire-screencast.sh output
Update: I was using the mesa-git package which I had a lot of graphical bugs on. I have since switched to mesa-amdonly-gaming-git which seems to have resolved both my general graphical glitches in the mesa bug report but also my screenshare capabilities.
It's entirely possible that this was fixed in mesa HEAD and my switching of packages was a coincidence so I'll come back here and update once I've checked that.
I use neither an AMD GPU nor do i have graphical glitches, so i doubt that'll help. But good to know!
For me this issue does not seem to appear on the Flatpak version on Firefox, only on the Arch package version.
Dropping pipewire to version 0.3.67 (from 0.3.69 and 0.3.70) resolved my issue; xdpw would report the same output as in this issue. Chrome/Chromium would report 'Failed to connect PipeWire context'. The Flatpak versions of things (Firefox/Chrome/Chromium) worked A-OK.
Running PIPEWIRE_DEBUG=4 pipewire
between 0.3.67 (working) and 0.3.69/0.3.70 (not working) shows their initial divergence at [D][93244.011761] mod.protocol-native | [protocol-native.: 724 core_method_demarshal_destroy()] client 0x562e7cc47540: destroy resource 2
0.3.67 (working)
[D][93406.246061] pw.context | [ context.c: 1272 pw_context_recalc_graph()] 0x5613bf055890: follower 0x5613bf0830c0 running:0 runnable:0 rate:0/0 latency 0/0 'xdg-desktop-portal-wlr'
[D][93406.246062] pw.context | [ context.c: 1382 pw_context_recalc_graph()] 0x5613bf055890: driver 0x5613bf0830c0 running:0 runnable:0 quantum:1024 'xdg-desktop-portal-wlr'
[D][93406.246064] pw.node | [ impl-node.c: 2218 pw_impl_node_set_state()] 0x5613bf0830c0: set state (suspended) suspended -> suspended, active 1 pause_on_idle:1
[D][93406.246064] pw.node | [ impl-node.c: 421 suspend_node()] 0x5613bf0830c0: suspend node state:suspended
[D][93406.246457] pw.core | [ impl-core.c: 53 registry_bind()] global 0x5613bf09cea0: bind global id 76, iface PipeWire:Interface:Node/3 to 64
[D][93406.246460] pw.resource | [ resource.c: 74 pw_resource_new()] 0x5613bf09d720: new 64 type PipeWire:Interface:Node/3 client:0x5613bf0beab0 marshal:0x7f19612206c0
[D][93406.246462] pw.node | [ impl-node.c: 642 global_bind()] 0x5613bf09a520: bound to 64
[D][93406.246466] pw.global | [ global.c: 250 pw_global_add_resource()] 0x5613bf09cea0: resource 0x5613bf09d720 id:64 global:76
[D][93406.246468] pw.resource | [ resource.c: 198 pw_resource_set_bound_id()] 0x5613bf09d720: 64 global_id:76
0.3.69/0.3.70 (not working)
[D][93244.011742] pw.context | [ context.c: 1355 pw_context_recalc_graph()] 0x562e7ca2c8a0: follower 0x562e7cc384a0 running:0 runnable:0 rate:0/0 latency 0/0 'xdg-desktop-portal-wlr'
[D][93244.011746] pw.context | [ context.c: 1480 pw_context_recalc_graph()] 0x562e7ca2c8a0: driver 0x562e7cc384a0 running:0 runnable:0 quantum:1024 'xdg-desktop-portal-wlr'
[D][93244.011751] pw.node | [ impl-node.c: 2243 pw_impl_node_set_state()] 0x562e7cc384a0: set state (suspended) suspended -> suspended, active 0 pause_on_idle:1
[D][93244.011755] pw.node | [ impl-node.c: 421 suspend_node()] 0x562e7cc384a0: suspend node state:suspended
[D][93244.011761] mod.protocol-native | [protocol-native.: 724 core_method_demarshal_destroy()] client 0x562e7cc47540: destroy resource 2
[D][93244.011766] pw.core | [ impl-core.c: 366 core_destroy()] 0x562e7ca3b100: destroy resource 0x562e7ca950d0 from client 0x562e7cc47540
[D][93244.011770] pw.resource | [ resource.c: 316 pw_resource_destroy()] 0x562e7ca950d0: destroy 2
[D][93244.011774] mod.client-node | [ client-node.c: 1197 client_node_resource_destroy()] 0x562e7ca5bcb0: destroy
[D][93244.011885] pw.node | [ impl-node.c: 1903 pw_impl_node_destroy()] 0x562e7cc384a0: destroy
[I][93244.011889] pw.node | [ impl-node.c: 1904 pw_impl_node_destroy()] (xdg-desktop-portal-wlr-73) destroy
[D][93244.011893] pw.node | [ impl-node.c: 179 node_deactivate()] 0x562e7cc384a0: deactivate
[D][93244.011918] pw.node | [ impl-node.c: 421 suspend_node()] 0x562e7cc384a0: suspend node state:suspended
it now works for me as of pipewire 0.3.71
it still doesnt work for me as of pipewire 0.3.71, nor 0.3.67:
[I][08456.442496] mod.protocol-native | [module-protocol-: 554 client_new()] server 0x7f681d6369e0: security label not available
[I][08456.442548] mod.access | [ module-access.c: 215 context_check_access()] client 0x7f681c2c9ab0 has trusted pid 30771
[I][08456.442557] mod.access | [ module-access.c: 217 context_check_access()] client 0x7f681c2c9ab0 has trusted exe path '/usr/lib/firefox/firefox'
[I][08456.442563] mod.access | [ module-access.c: 292 context_check_access()] 0x7f681d6941b0: client 0x7f681c2c9ab0 'unrestricted' access granted
[I][08456.442757] pw.node | [ impl-node.c: 1001 check_properties()] (alsa_playback.firefox-0) latency:0/0 -> 58/44100
[I][08456.442761] pw.node | [ impl-node.c: 1034 check_properties()] (alsa_playback.firefox-0) rate:0/0 -> 1/44100
[I][08456.442802] pw.node | [ impl-node.c: 412 node_update_state()] (alsa_playback.firefox-35) creating -> suspended
[I][08456.442837] pw.context | [ context.c: 1180 pw_context_recalc_graph()] 0x7f681d71d040: busy:0 reason:node activate
[I][08456.444144] mod.protocol-native | [module-protocol-: 386 handle_client_error()] 0x7f681d694a20: connection_data: client 0x7f681c2c9ab0 disconnected
[I][08456.444162] pw.node | [ impl-node.c: 1985 pw_impl_node_destroy()] (alsa_playback.firefox-35) destroy
[I][08456.444174] pw.context | [ context.c: 1180 pw_context_recalc_graph()] 0x7f681d71d040: busy:0 reason:active node destroy
[I][08456.445293] mod.protocol-native | [module-protocol-: 554 client_new()] server 0x7f681d6369e0: security label not available
[I][08456.445327] mod.access | [ module-access.c: 215 context_check_access()] client 0x7f681c2c9d60 has trusted pid 30771
[I][08456.445335] mod.access | [ module-access.c: 217 context_check_access()] client 0x7f681c2c9d60 has trusted exe path '/usr/lib/firefox/firefox'
[I][08456.445341] mod.access | [ module-access.c: 292 context_check_access()] 0x7f681d6941b0: client 0x7f681c2c9d60 'unrestricted' access granted
[I][08456.445483] pw.node | [ impl-node.c: 1001 check_properties()] (alsa_playback.firefox-0) latency:0/0 -> 58/44100
[I][08456.445487] pw.node | [ impl-node.c: 1034 check_properties()] (alsa_playback.firefox-0) rate:0/0 -> 1/44100
[I][08456.445516] pw.node | [ impl-node.c: 412 node_update_state()] (alsa_playback.firefox-35) creating -> suspended
[I][08456.445546] pw.context | [ context.c: 1180 pw_context_recalc_graph()] 0x7f681d71d040: busy:0 reason:node activate
[I][08456.446567] mod.protocol-native | [module-protocol-: 386 handle_client_error()] 0x7f681d694a20: connection_data: client 0x7f681c2c9d60 disconnected
[I][08456.446576] pw.node | [ impl-node.c: 1985 pw_impl_node_destroy()] (alsa_playback.firefox-35) destroy
[I][08456.446584] pw.context | [ context.c: 1180 pw_context_recalc_graph()] 0x7f681d71d040: busy:0 reason:active node destroy
[I][08457.258415] pw.node | [ impl-node.c: 412 node_update_state()] (xdg-desktop-portal-wlr-37) creating -> suspended
[I][08457.258475] pw.context | [ context.c: 1180 pw_context_recalc_graph()] 0x7f681d71d040: busy:0 reason:node activate
[I][08457.259089] mod.protocol-native | [module-protocol-: 554 client_new()] server 0x7f681d6369e0: security label not available
[I][08457.259130] mod.portal | [ module-portal.c: 105 context_check_access()] 0x7f681c58b7e0: portal managed client 0x7f681c2c9570 added
[I][08457.259136] mod.access | [ module-access.c: 204 context_check_access()] client 0x7f681c2c9570: has already access: 'portal'
2023/05/27 03:50:24 [TRACE] - event-loop: got pipewire event
2023/05/27 03:50:24 [TRACE] - event-loop: got pipewire event
2023/05/27 03:50:24 [TRACE] - event-loop: got pipewire event
2023/05/27 03:50:24 [TRACE] - event-loop: got pipewire event
2023/05/27 03:50:24 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:24 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:24 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:24 [INFO] - dbus: create session method invoked
2023/05/27 03:50:24 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_8/webrtc_471486251
2023/05/27 03:50:24 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_8/webrtc_session651142714
2023/05/27 03:50:24 [INFO] - dbus: app_id:
2023/05/27 03:50:24 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:24 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:24 [INFO] - dbus: select sources method invoked
2023/05/27 03:50:24 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_8/webrtc213690677
2023/05/27 03:50:24 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_8/webrtc_session651142714
2023/05/27 03:50:24 [INFO] - dbus: app_id:
2023/05/27 03:50:24 [DEBUG] - dbus: select sources: found matching session /org/freedesktop/portal/desktop/session/1_8/webrtc_session651142714
2023/05/27 03:50:24 [INFO] - dbus: option types:3
2023/05/27 03:50:24 [INFO] - dbus: option multiple: 0
2023/05/27 03:50:24 [INFO] - dbus: option persist_mode:1
2023/05/27 03:50:24 [INFO] - wlroots: capturable output: AOC model: 24G2W1G4: id: 44 name: DP-1
2023/05/27 03:50:24 [INFO] - wlroots: capturable output: Philips Consumer Electronics Company model: PHL 193V5: id: 45 name: HDMI-A-1
2023/05/27 03:50:24 [DEBUG] - wlroots: output chooser called
2023/05/27 03:50:24 [DEBUG] - wlroots: output chooser called
2023/05/27 03:50:24 [TRACE] - exec chooser called: cmd slurp -f %o -or, pipe chooser_in (23,24), pipe chooser_out (25,26)
2023/05/27 03:50:25 [TRACE] - wlroots: output chooser slurp -f %o -or selects output DP-1
2023/05/27 03:50:25 [DEBUG] - wlroots: output chooser selects DP-1
2023/05/27 03:50:25 [INFO] - xdpw: screencast instance 0x7f5655b597d0 has 1 references
2023/05/27 03:50:25 [INFO] - xdpw: 1 active screencast instances
2023/05/27 03:50:25 [INFO] - wlroots: output: DP-1
2023/05/27 03:50:25 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:25 [TRACE] - event-loop: got dbus event
2023/05/27 03:50:25 [INFO] - dbus: start method invoked
2023/05/27 03:50:25 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_8/webrtc1140478601
2023/05/27 03:50:25 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_8/webrtc_session651142714
2023/05/27 03:50:25 [INFO] - dbus: app_id:
2023/05/27 03:50:25 [INFO] - dbus: parent_window:
2023/05/27 03:50:25 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_8/webrtc_session651142714
2023/05/27 03:50:25 [TRACE] - wlroots: callbacks registered
2023/05/27 03:50:25 [TRACE] - wlroots: buffer event handler
2023/05/27 03:50:25 [TRACE] - wlroots: linux_dmabuf event handler
2023/05/27 03:50:25 [TRACE] - wlroots: buffer_done event handler
2023/05/27 03:50:25 [TRACE] - wlroots: finish screencopy
2023/05/27 03:50:25 [TRACE] - wlroots: frame destroyed
2023/05/27 03:50:25 [INFO] - wlroots: num_modififiers 8
2023/05/27 03:50:25 [INFO] - pipewire: stream state changed to "connecting"
2023/05/27 03:50:25 [INFO] - pipewire: node id is -1
2023/05/27 03:50:25 [INFO] - pipewire: stream state changed to "paused"
2023/05/27 03:50:25 [INFO] - pipewire: node id is 37
2023/05/27 03:50:25 [DEBUG] - dbus: start: returning node 37
2023/05/27 03:50:25 [TRACE] - event-loop: got pipewire event
edit: xdp-screen-cast.py
does not work, but after using firefox 114.0b9 and making sure my displays were 8-bit, now works.
pipewire 0.3.71 does not work for me either.
Tried it again today and suddenly it worked. Don't know what update was responsible, but here are my new versions:
I'll assume it was firefox, but who knows ¯\_(ツ)_/¯
My issue is very similar to #88 and #99 but i didn't want to necro those.
System:
Software:
gUM on FF:
on chromium it's a black square with
NaN
FPS andNaN
resolutionTried all of the Troubleshooting Checklist. Nothing helped. Some Info regarding the tips there:
pipewire
as a runit service, but start it directlysway
withXDG_CURRENT_DESKTOP=sway dbus-run-session sway
sodbus-update-activation-environment
should not be needed, but i did try adding it to mysway
config and it did not help..config/xdg-desktop-portal-wlr/config
:The chooser does pop up and i can choose a display, as seen below, but then there is nothing to be seen.
xdpw
Pipewire (PIPEWIRE_DEBUG=4): Gist
Filtered
pw-dump
:xdp-screen-cast.py
:^ This is the one thing i didn't find in any other issue, but it seems to just be a gstreamer thing?.
Thank you for any help, and thanks for your work in general! :)