hyprwm / xdg-desktop-portal-hyprland Goto Github PK
View Code? Open in Web Editor NEWxdg-desktop-portal backend for Hyprland
License: BSD 3-Clause "New" or "Revised" License
xdg-desktop-portal backend for Hyprland
License: BSD 3-Clause "New" or "Revised" License
Screen sharing isn't working on neither obs nor firefox, it just shows up as a blank region. However everything is fine on sway. I've tried to reproduce the workflow as much as possible on both the WMs.
hyprland: v0.24.1
xdg-desktop-portal-hyprland: v0.2.1
I'm on gentoo and both the packages are from ::guru
repository. I've attached the corresponding logs for pipewire, obs and xdph on sway and hyprland below.
Service can't find hyprland-share-picker, but it is installed. If I launch portal using nuclear option from hyprland wiki, everything works as expected
● xdg-desktop-portal-hyprland.service - Portal service (Hyprland implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-hyprland.service; static)
Active: active (running) since Fri 2023-02-03 19:02:54 EET; 33s ago
Main PID: 1315 (xdg-desktop-por)
Tasks: 9 (limit: 18871)
Memory: 20.4M
CPU: 132ms
CGroup: /user.slice/user-1000.slice/[email protected]/app.slice/xdg-desktop-portal-hyprland.service
└─1315 /usr/libexec/xdg-desktop-portal-hyprland
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[1315]: 2023/02/03 19:03:18 [ERROR] - wlroots: no output / window found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[1315]: 2023/02/03 19:03:18 [ERROR] - wlroots: no output / window found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[3359]: sh: line 1: hyprland-share-picker: command not found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[1315]: 2023/02/03 19:03:18 [ERROR] - wlroots: no output / window found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[3365]: sh: line 1: hyprland-share-picker: command not found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[1315]: 2023/02/03 19:03:18 [ERROR] - wlroots: no output / window found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[3366]: sh: line 1: hyprland-share-picker: command not found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[1315]: 2023/02/03 19:03:18 [ERROR] - wlroots: no output / window found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[3377]: sh: line 1: hyprland-share-picker: command not found
лют 03 19:03:18 AlexNotebookL xdg-desktop-portal-hyprland[1315]: 2023/02/03 19:03:18 [ERROR] - wlroots: no output / window found
As mentioned in #29 screensharing does not work on RDNA3 cards, due to a bug in xdpw. This was fixed in the latest xdpw and I would ask you to update xdph to resolve this issue here as well.
Hi !
I'm trying to use the ImHex editor https://github.com/WerWolv/ImHex in hyprland.
As I need the screen sharing feature in discord, I also installed XDPH and it works really nicely, thanks !
But now I'm having a problem when trying to open a file in ImHex, I get this message :
There was an error while opening the file browser:
No such interface "org.freedesktop.portal.FileChooser" on object at path /org/freedesktop/portal/desktop.
This might be caused by your system not having a xdg-desktop-portal backend installed correctly.
I understand that this project is primarily aimed to implement advanced screen sharing on hyperland so the file picker might be out of it's scope, is there a way to configure an external file picker like Nautilus ?
Idrk if this is the right place to ask or if I should go ask an alternative on the ImHex repository ?
hey i'm trying to build hyprland in Guix (i'm using the flake.nix files as examples) I'm running into the following errors when linking xdg-desktop-portal-hyprland
ld: xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o: in function `linux_dmabuf_feedback_handle_main_device':
/tmp/guix-build-xdg-desktop-portal-hyprland-0.3.1.drv-0/build/../xdg-desktop-portal-hyprland-0.3.1/src/screencast/wlr_screencast.c:847: undefined reference to `drmGetDeviceFromDevId'
ld: xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o: in function `linux_dmabuf_feedback_tranche_target_devices':
/tmp/guix-build-xdg-desktop-portal-hyprland-0.3.1.drv-0/build/../xdg-desktop-portal-hyprland-0.3.1/src/screencast/wlr_screencast.c:895: undefined reference to `drmGetDeviceFromDevId'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "ninja" arguments: ("-j" "32") exit-status: 1 term-signal: #f stop-signal: #f>
here's my build log:
and the packages I defined:
The pastebins are dated for about a week, so i added the build log as an attachment. I can pull stuff out of the pastebins and add them to the issue if necessary. I tried asking on the discord and elsewhere about the question, but didn't get much of a response. i think the issue here surrounds the drmGetDeviceFromDevId
reference not being found.
i'm building my own hyprland-protocols
and i dont think the build is doing anything with the submodule in this repository.
There are a couple of discrepancies when attempting to cast upright screens with XDPH (and possibly 180 / flipped as well).
On KDE, OBS (PipeWire) on a screen with transform: 1
gives an upright image that's already rotated, with dimensions correct for upright presentation. I would think this is the correct behavior, since screen sharing is one of the primary use-cases for this, where the user can't easily rotate or flip their screen.
On Hyprland with XDPH, OBS (PW) shows an image that's lying flat (not rotated) with parts of the image being black, and other parts missing, seemingly due to a wrong offset. The dimensions are the native dimensions of the screen without any adjustment. Image Link.
Behavior is the same with both memfd and dmabuf capture.
Comparing to wlr_export_dmabuf (wlrobs), with that we get the native image unrotated, but there's no offset issue and the image is perfectly usable after manually rotating inside OBS.
Both xdg-desktop-portal-hyprland and xdg-desktop-portal-hyprland-git depend on xdg-desktop-portal. So when installing the XDG desktop implementation the AUR helper or Pacman package manager asks for one XDG desktop portal implementation which can conflict with the XDG desktop portal Hyprland implementation.
I don't know where the issue is exactly, but when I screenshare, it works for a few seconds, then will freeze until I restart the screenshare. Running xdph with -lTRACE
, it doesn't appear to log any errors when the screenshare freezes.
On my high res monitor, I need 2x scale for things to not be extremely tiny.
monitor=eDP-1,[email protected],0x0,2
But for some apps the cursor is HUGE unless I use 1x scale—and therefore half resolution which makes everything blurry.
monitor=eDP-1,[email protected],0x0,1
I notice this issue in CopyQ and Edge.
OBS does show up a qt menu for selecting monitors, but after selecting the monitor it's still a black screen. I also have an intel laptop with hyprland, but screensharing works fine given wlrobs-hg plugin installed.
Also, could this relate to 10-bit?
OS: Arch Linux
Kernel: 6.2.2
GPU: RX 7900 XT
Mesa version: 23.0.0
Monitor Setup: Single 3840x2160 monitor at 144hz, 10-bit enabled, scaling set to 1.5
Laptop specs:
OS: Arch Linux
Kernel: 6.2.1
CPU: i5-1135G7
GPU: Iris Xe LP
intel-media-driver version: 23.1.0
Monitor Setup: Builtin 2256x1504 monitor at 60hz, scaling set to 1.5
abcd
Log from OBS:
`info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.66
info: [pipewire] Library version: 0.3.66
info: [pipewire] Header version: 0.3.64
info: [pipewire] Created stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "paused" (error: none)
Hi, I've encountered an error during install through yay.
protocols/meson.build:26.1: ERROR : File //usr/share/protocols/hyprland-global-shortcuts-v1.xml do3s not exist.
Debian 12 minimal install not DE nvidia 1050Ti
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-03-12 09:34:52 +05; 17min ago
TriggeredBy: ● pipewire.socket
Main PID: 609 (pipewire)
Tasks: 2 (limit: 14040)
Memory: 5.9M
CPU: 63ms
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/pipewire.service
└─609 /usr/bin/pipewire
мар 12 09:34:52 dart systemd[602]: Started pipewire.service - PipeWire Multimedia Service.
мар 12 09:34:53 dart pipewire[609]: mod.rt: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
мар 12 09:34:53 dart pipewire[609]: mod.rt: found session bus but no portal
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-03-12 09:34:52 +05; 17min ago
Main PID: 610 (wireplumber)
Tasks: 4 (limit: 14040)
Memory: 37.3M
CPU: 338ms
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/wireplumber.service
└─610 /usr/bin/wireplumber
мар 12 09:34:52 dart systemd[602]: Started wireplumber.service - Multimedia Service Session Manager.
мар 12 09:34:53 dart wireplumber[610]: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
мар 12 09:34:53 dart wireplumber[610]: found session bus but no portal
мар 12 09:34:56 dart wireplumber[610]: Failed to set scheduler settings: Операция не позволена
мар 12 09:34:56 dart wireplumber[610]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
мар 12 09:34:56 dart wireplumber[610]: PipeWire's libcamera SPA missing or broken. libcamera not supported.
мар 12 09:34:56 dart wireplumber[610]: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
мар 12 09:34:56 dart wireplumber[610]: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
systemctl --user status xdg-desktop-portal-hyprland
○ xdg-desktop-portal-hyprland.service - Portal service (Hyprland implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-hyprland.service; static)
Active: inactive (dead)
in the directory /usr/lib/systemd/user/ two files xdg-desktop-autostart.target xdg-desktop-portal-hyprland.service and in the directory /usr/libexec xdg-desktop-portal-hyprland*
my .bashrc
#Hyprland
export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_DESKTOP=Hyprland
export XCURSOR_THEME=Bibata-Modern-Classic
export XCURSOR_SIZE=24
# Nvidia
export LIBVA_DRIVER_NAME=nvidia
export XDG_SESSION_TYPE=wayland
export GBM_BACKEND=nvidia-drm
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export WLR_NO_HARDWARE_CURSORS=1
# Qt
export QT_AUTO_SCREEN_FACTOR=1
export QT_QPA_PLATFORM="wayland;xcb"
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export QT_QPA_PLATFORMTHEME=qt5ct
[ "$(tty)" = "/dev/tty1" ] && exec Hyprland
config hyprland
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = HDMI-A-1, 1920x1080@60, 0x0, 1
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
exec-once = hyprpaper
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us,ru
kb_variant =
kb_model =
kb_options = grp:alt_shift_toggle
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur = yes
blur_size = 3
blur_passes = 1
blur_new_optimizations = on
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic mouse V1 {
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, foot
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, nautilus
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, rofi -show drun -theme ~/.config/rofi/global/rofi.rasi
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
In a terminal, run /usr/libexec/xdg-desktop-portal-hyprland -r -l TRACE
, then open obs and add the pipewire screen cast source. As soon as the picker comes up and I choose entire screen the portal crashes with the following output.
2023/05/28 00:11:05 [INFO] - dbus: start method invoked
2023/05/28 00:11:05 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_40/obs5
2023/05/28 00:11:05 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_40/obs2
2023/05/28 00:11:05 [INFO] - dbus: app_id:
2023/05/28 00:11:05 [INFO] - dbus: parent_window:
2023/05/28 00:11:05 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_40/obs2
2023/05/28 00:11:05 [TRACE] - wlroots: callbacks registered
2023/05/28 00:11:05 [TRACE] - wlroots: buffer event handler
2023/05/28 00:11:05 [TRACE] - wlroots: linux_dmabuf event handler
2023/05/28 00:11:05 [TRACE] - wlroots: buffer_done event handler
2023/05/28 00:11:05 [TRACE] - wlroots: finish screencopy
2023/05/28 00:11:05 [TRACE] - wlroots: frame destroyed
2023/05/28 00:11:05 [INFO] - pipewire: stream state changed to "connecting"
2023/05/28 00:11:05 [INFO] - pipewire: node id is -1
2023/05/28 00:11:05 [INFO] - pipewire: stream state changed to "paused"
2023/05/28 00:11:05 [INFO] - pipewire: node id is 50
2023/05/28 00:11:05 [INFO] - xdph: registered restoreToken with token E0978C34-96D0-4717-B391-D70B94B18213
2023/05/28 00:11:05 [DEBUG] - dbus: start: returning node 50
2023/05/28 00:11:06 [TRACE] - event-loop: got pipewire event
2023/05/28 00:11:06 [TRACE] - event-loop: got pipewire event
2023/05/28 00:11:06 [TRACE] - event-loop: got pipewire event
2023/05/28 00:11:06 [TRACE] - event-loop: got pipewire event
2023/05/28 00:11:06 [TRACE] - pipewire: stream parameters changed
2023/05/28 00:11:06 [DEBUG] - pipewire: Format negotiated:
2023/05/28 00:11:06 [DEBUG] - pipewire: buffer_type: 0 (4)
2023/05/28 00:11:06 [DEBUG] - pipewire: format: 7free
2023/05/28 00:11:06 [DEBUG] - pipewire: modifier: 0
2023/05/28 00:11:06 [DEBUG] - pipewire: size: (2560, 1600)
2023/05/28 00:11:06 [DEBUG] - pipewire: max_framerate: (60 / 1)
free(): invalid pointer
[1] 3754 IOT instruction /usr/libexec/xdg-desktop-portal-hyprland -r -l TRACE
I am currently running this on an arm64 machine (Macbook M1) with the following Hyprland/xdg versions:
I'm guess arm64 might have something to do with this, as I haven't seen any reports of this happening on AMD64 (in my searches).
Happy to aid in debugging this in any way possible, just not sure where to start right now.
First of all thank you for Hyprland!
I have an issue sharing windows in OBS.
When I try to share window in OBS I get only black screen.
The program logs error:
'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:417 pw_thread_loop_wait()
info: [pipewire] Stream 0x564e0a695e10 state: "unconnected" (error: none)
info: PipeWire initialized
info: [pipewire] Screencast session created
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.70
info: [pipewire] Library version: 0.3.70
info: [pipewire] Header version: 0.3.70
info: [pipewire] Created stream 0x564e0a695e10
info: [pipewire] Stream 0x564e0a695e10 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x564e0a695e10
info: [pipewire] Stream 0x564e0a695e10 state: "paused" (error: none)
info: [pipewire] Stream 0x564e0a695e10 state: "error" (error: no more input formats)
error: [pipewire] Error id:2 seq:8 res:-32 (Unknown error -32): no more input formats
I killed killall xdg-desktop-portal xdg-desktop-portal-hyprland
and started /usr/lib/xdg-desktop-portal-hyprland -l DEBUG
I checked /usr/lib/xdg-desktop-portal-hyprland -l DEBUG
:
2023/05/14 14:08:08 [DEBUG] - hyprland: toplevel handle created 55aab89a0000
2023/05/14 14:08:08 [DEBUG] - hyprland: toplevel app_id com.obsproject.Studio
2023/05/14 14:08:09 [INFO] - dbus: create session method invoked
2023/05/14 14:08:09 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_90/obs13
2023/05/14 14:08:09 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_90/obs5
2023/05/14 14:08:09 [INFO] - dbus: app_id:
2023/05/14 14:08:09 [INFO] - dbus: select sources method invoked
2023/05/14 14:08:09 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_90/obs14
2023/05/14 14:08:09 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_90/obs5
2023/05/14 14:08:09 [INFO] - dbus: app_id:
2023/05/14 14:08:09 [INFO] - dbus: option types:1
2023/05/14 14:08:09 [INFO] - dbus: option multiple: 0
2023/05/14 14:08:09 [INFO] - dbus: option cursor_mode:2
2023/05/14 14:08:09 [INFO] - dbus: persist 2
2023/05/14 14:08:09 [DEBUG] - dbus: select sources: found matching session /org/freedesktop/portal/desktop/session/1_90/obs5
2023/05/14 14:08:09 [INFO] - wlroots: capturable output: DZX model: Z1: id: 50 name: HDMI-A-1
2023/05/14 14:08:09 [DEBUG] - Screencast: Picker: Running command "WAYLAND_DISPLAY=wayland-1 QT_QPA_PLATFORM="wayland" XCURSOR_SIZE=24 HYPRLAND_INSTANCE_SIGNATURE=f27873a6f06dc2f87600edb890f3c38298bfb55f_1684083312 XDPH_WINDOW_SHARING_LIST="3097100288[HC>]com.obsproject.Studio[HT>]Properties for Screen Capture (PipeWire) [HE>]3095601824[HC>]LibreWolf[HT>]New Issue · hyprwm/xdg-desktop-portal-hyprland — LibreWolf[HE>]3095601392[HC>]foot[HT>]obs[HE>]3095601040[HC>]com.obsproject.Studio[HT>]OBS 29.1.1-1 - Profile: Untitled - Scenes: Untitled[HE>]3095600688[HC>]foot[HT>]/usr/lib/xdg-desktop-portal[HE>]3095600336[HC>]foot[HT>]/usr/lib/xdg-desktop-portal-hyprland[HE>]" hyprland-share-picker"
2023/05/14 14:08:15 [DEBUG] - Screencast: Attempting to find window for window:-1199365472
2023/05/14 14:08:15 [INFO] - xdpw: screencast instance 0x55aab89a2180 has 1 references
2023/05/14 14:08:15 [INFO] - xdpw: 2 active screencast instances
2023/05/14 14:08:15 [INFO] - hyprland: window handle -1199365472
2023/05/14 14:08:15 [INFO] - dbus: session closed
2023/05/14 14:08:15 [DEBUG] - dbus: destroying session 0x55aab8998500
2023/05/14 14:08:15 [DEBUG] - xdpw: screencast instance 0x55aab899b0f0 now has 0 references
2023/05/14 14:08:15 [DEBUG] - xdpw: destroying cast instance
2023/05/14 14:08:15 [DEBUG] - pipewire: destroying stream
2023/05/14 14:08:15 [INFO] - pipewire: stream state changed to "unconnected"
2023/05/14 14:08:15 [INFO] - pipewire: node id is -1
2023/05/14 14:08:15 [DEBUG] - hyprland: toplevel handle created 55aab8999d50
2023/05/14 14:08:15 [DEBUG] - hyprland: toplevel app_id hyprland-share-picker
2023/05/14 14:08:15 [DEBUG] - hyprland: toplevel closed hyprland-share-picker
2023/05/14 14:08:15 [INFO] - dbus: start method invoked
2023/05/14 14:08:15 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_90/obs15
2023/05/14 14:08:15 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_90/obs5
2023/05/14 14:08:15 [INFO] - dbus: app_id:
2023/05/14 14:08:15 [INFO] - dbus: parent_window:
2023/05/14 14:08:15 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_90/obs5
2023/05/14 14:08:15 [INFO] - wlroots: no modifiers available for format 0
2023/05/14 14:08:15 [INFO] - pipewire: stream state changed to "connecting"
2023/05/14 14:08:15 [INFO] - pipewire: node id is -1
2023/05/14 14:08:15 [INFO] - pipewire: stream state changed to "paused"
2023/05/14 14:08:15 [INFO] - pipewire: node id is 66
2023/05/14 14:08:15 [INFO] - xdph: registered restoreToken with token E2CA1774-21B3-4663-B49E-6E1BF34ADDC1
2023/05/14 14:08:15 [DEBUG] - dbus: start: returning node 66
2023/05/14 14:08:15 [INFO] - pipewire: stream state changed to "error"
2023/05/14 14:08:15 [INFO] - pipewire: node id is 66
2023/05/14 14:08:16 [DEBUG] - hyprland: toplevel closed com.obsproject.Studio
systemctl --user status xdg-desktop-portal-hyprland
logs:
● xdg-desktop-portal-hyprland.service - Portal service (Hyprland implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-hyprland.service; static)
Active: active (running) since Sun 2023-05-14 14:11:24 CST; 1min 3s ago
Main PID: 19905 (xdg-desktop-por)
Tasks: 6 (limit: 76108)
Memory: 12.7M
CPU: 374ms
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/xdg-desktop-portal-hyprland.service
└─19905 /usr/lib/xdg-desktop-portal-hyprland
May 14 14:11:24 archlinuxtower systemd[838]: Starting Portal service (Hyprland implementation)...
May 14 14:11:24 archlinuxtower systemd[838]: Started Portal service (Hyprland implementation).
systemctl --user status wireplumber
logs:
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-05-14 10:55:12 CST; 3h 15min ago
Main PID: 1296 (wireplumber)
Tasks: 6 (limit: 76108)
Memory: 38.7M
CPU: 281ms
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/wireplumber.service
└─1296 /usr/bin/wireplumber
May 14 13:50:06 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:50:12 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:50:20 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:50:24 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:50:35 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:50:47 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:51:48 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 13:52:12 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 14:02:26 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
May 14 14:08:15 archlinuxtower wireplumber[1296]: <WpPortalPermissionStorePlugin:0x5645dfb8c7d0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
Hi, I'm one of the xdpw developers and started implementing the parts required for session restore and different capture targets. My next goals would be to push those into the chooser part such that users could interact with them.
Would there be interest to collaborate on this task?
Note: tried to join your discord server, but it requires phone validation.
Pretty self explanatory, and would be pretty cool
When updating packages from yay, i get xdg-desktop-portal-hyprland-git update every time.
Package (1) Old Version New Version Net Change
xdg-desktop-portal-hyprland-git r261.e1f145d-1 r261.e1f145d-1 0.00 MiB
Total Installed Size: 0.36 MiB
Net Upgrade Size: 0.00 MiB
You need to inc pkgrel to break this loop. Thanks.
Hey,
tried this with firefox and google meet just now and it doesn't seem to work.
I get a popup for screen/window/location selection but the screensharing just sort of "blocks" and nothing happens. Ran the small script in the Usage section to get some actual output and saw this error:
2022/12/13 19:38:33 [ERROR] - wlroots: no output / window found
that's the only output I managed to get, if you have any idea how to get something more useful I'd be happy to try!
Telegram, Waybar, Firefox taking too much time to open, they works fine when I remove xdg-desktop-portal
. I'm on Artix runit, so systemd isn't involved anywhere.
➜ ~ /usr/lib/xdg-desktop-portal-hyprland
2023/02/24 16:41:23 [ERROR] - dbus: failed to connect to user bus: No such file or directory
## ~/.config/hypr/hyprland.conf
...
exec-once = ~/.config/hypr/scripts/xdg-desktop-portal
exec-once = dbus-update-activation-environment --all
exec-once = ~/.config/hypr/scripts/gtktheme
...
## ~/.bash_profile
...
if [[ -z $WAYLAND_DISPLAY && $(tty) = "/dev/tty1" ]]; then
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
exec dbus-launch Hyprland >/dev/null 2>&1
fi
...
I know this is probably out of scope, but it would be cool. Also this could be used https://invent.kde.org/plasma/layer-shell-qt, since its built with the qt framework
I'm getting the following error every time I try to do a screen share using brave-bin 1:1.50.114-1
(Or ungoogled-chromium 112.0.5615.49-1
) and it is failing.
Output from systemctl --user status xdg-desktop-portal-hyprland
/04/13 20:29:53 [ERROR] - dbus: unsupported cursor mode requested, ignoring
xdg-desktop-portal-hyprland.service - Portal service (Hyprland implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-hyprland.service; static)
Active: active (running) since Thu 2023-04-13 20:29:29 CET; 9min ago
Main PID: 1057 (xdg-desktop-por)
Tasks: 6 (limit: 37710)
Memory: 30.3M
CPU: 1.283s
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/xdg-desktop-portal-hyprland.service
└─1057 /usr/lib/xdg-desktop-portal-hyprland
Apr 13 20:29:29 archpad systemd[565]: Starting Portal service (Hyprland implementation)...
Apr 13 20:29:29 archpad systemd[565]: Started Portal service (Hyprland implementation).
Apr 13 20:29:53 archpad xdg-desktop-portal-hyprland[1057]: 2023/04/13 20:29:53 [ERROR] - dbus: unsupported cursor mode requested, ignoring
Apr 13 20:30:00 archpad xdg-desktop-portal-hyprland[1057]: 2023/04/13 20:30:00 [ERROR] - dbus: unsupported cursor mode requested, ignoring
Output from systemctl --user status xdg-desktop-portal
xdg-desktop-portal.service - Portal service
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static)
Active: active (running) since Thu 2023-04-13 20:29:29 CET; 13min ago
Main PID: 1018 (xdg-desktop-por)
Tasks: 5 (limit: 37710)
Memory: 10.1M
CPU: 192ms
CGroup: /user.slice/user-1000.slice/[email protected]/session.slice/xdg-desktop-portal.service
└─1018 /usr/lib/xdg-desktop-portal
Apr 13 20:29:29 archpad systemd[565]: Starting Portal service...
Apr 13 20:29:29 archpad xdg-desktop-por[1018]: No skeleton to export
Apr 13 20:29:29 archpad systemd[565]: Started Portal service.
Note that everything works correctly on Firefox.
System:
Kernel: 6.2.10-arch1-1
arch: x86_64 bits: 64
Desktop: Hyprland
Distro: Arch Linux
CPU:
Info: 8-core
model: AMD Ryzen 7 4800H with Radeon Graphics
bits: 64
Graphics:
Device-1: AMD Renoir driver: amdgpu v: kernel
Device-2: Chicony Integrated Camera type: USB driver: uvcvideo
Display: wayland server: X.Org v: 23.1.1 with: Xwayland v: 23.1.1
compositor: Hyprland driver: X: loaded: amdgpu unloaded: modesetting,vesa
dri: radeonsi gpu: amdgpu resolution: 1536x864~120Hz
API: OpenGL v: 4.6 Mesa 23.0.2 renderer: AMD Radeon Graphics (renoir LLVM
15.0.7 DRM 3.49 6.2.10-arch1-1)
# ~./.config/brave-flags.conf
--ozone-platform-hint=auto
# ~/.config/hypr/Hyprland.conf
monitor = ,preferred,auto,1.25
env = TERMINAL,alacritty
env = VISUAL,nvim
env = EDITOR,nvim
env = BROWSER,firefox
env = SDL_VIDEODRIVER,wayland
env = GDK_BACKEND,wayland,x11
env = MOZ_ENABLE_WAYLAND,1
env = XCURSOR_SIZE,24
env = _JAVA_AWT_WM_NONREPARENTING,1
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
...
# Autostart
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = wlr-wallpaper
exec-once = xsettingsd &
exec-once = waybar -c ~/.config/waybar/config.hyprland
exec-once = easyeffects --gapplication-service
exec-once = dunst
exec-once = wlr-night-light
exec-once = wl-paste --watch cliphist store
exec-once = nm-applet --indicator
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
exec-once = keyring # Gnome keyring
chrome://flags
xdg-desktop-portal 1.16.0-1
and xdg-desktop-portal-hyprland-git 1:r261.e1f145d-4
installed with no other portal implementations.OBS does show up a qt menu for selecting monitors, but after selecting the monitor it's still a black screen. I also have an intel laptop with hyprland, but screensharing works fine given wlrobs-hg plugin installed.
Also, could this relate to 10-bit?
OS: Arch Linux
Kernel: 6.2.2
GPU: RX 7900 XT
Mesa version: 23.0.0
Monitor Setup: Single 3840x2160 monitor at 144hz, 10-bit enabled, scaling set to 1.5
Laptop specs:
OS: Arch Linux
Kernel: 6.2.1
CPU: i5-1135G7
GPU: Iris Xe LP
intel-media-driver version: 23.1.0
Monitor Setup: Builtin 2256x1504 monitor at 60hz, scaling set to 1.5
Log from OBS:
`
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.66
info: [pipewire] Library version: 0.3.66
info: [pipewire] Header version: 0.3.64
info: [pipewire] Created stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "paused" (error: none)
`
Maybe you could patch https://invent.kde.org/davidedmundson/xwaylandvideobridge to work on hyprland and implement it :D
Don't really know what else to add, really. Would be great because it would allow us to stream wayland apps off of xwayland apps.
Screen capture works perfectly in OBS and Firefox, but when I try to screen capture in Chrome, Chromium or Vivaldi (so apparently any Chromium based application) then I just get a loading spinner that never resolves.
Meanwhile, Pipewire prints this error:
pw.context: params Spa:Enum:ParamId:EnumFormat: 0:0 Invalid argument (input format (no more input formats))
pw.context: Object: size 352, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 12 (Spa:Enum:VideoFormat:BGRA)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
pw.context: Long 144115188622605059
pw.context: Long 144115188622605059
pw.context: Long 144115188622588675
pw.context: Long 144115188622392067
pw.context: Long 144115188621122307
pw.context: Long 144115188084250882
pw.context: Long 144115188075858177
pw.context: Long 0
pw.context: Long 72057594037927935
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Rectangle 1x1
pw.context: Rectangle 1x1
pw.context: Rectangle -1x-1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 12 (Spa:Enum:VideoFormat:BGRA)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Rectangle 1x1
pw.context: Rectangle 1x1
pw.context: Rectangle -1x-1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Object: size 352, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 11 (Spa:Enum:VideoFormat:RGBA)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
pw.context: Long 144115188622605059
pw.context: Long 144115188622605059
pw.context: Long 144115188622588675
pw.context: Long 144115188622392067
pw.context: Long 144115188621122307
pw.context: Long 144115188084250882
pw.context: Long 144115188075858177
pw.context: Long 0
pw.context: Long 72057594037927935
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Rectangle 1x1
pw.context: Rectangle 1x1
pw.context: Rectangle -1x-1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 11 (Spa:Enum:VideoFormat:RGBA)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Rectangle 1x1
pw.context: Rectangle 1x1
pw.context: Rectangle -1x-1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Object: size 352, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 8 (Spa:Enum:VideoFormat:BGRx)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
pw.context: Long 144115188622605059
pw.context: Long 144115188622605059
pw.context: Long 144115188622588675
pw.context: Long 144115188622392067
pw.context: Long 144115188621122307
pw.context: Long 144115188084250882
pw.context: Long 144115188075858177
pw.context: Long 0
pw.context: Long 72057594037927935
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Rectangle 1x1
pw.context: Rectangle 1x1
pw.context: Rectangle -1x-1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Object: size 248, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 8 (Spa:Enum:VideoFormat:BGRx)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Rectangle 1x1
pw.context: Rectangle 1x1
pw.context: Rectangle -1x-1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 0/1
pw.context: Fraction 60/1
pw.context: params Spa:Enum:ParamId:EnumFormat: 1:0 Invalid argument (output format (no more input formats))
pw.context: Object: size 184, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
pw.context: Id 2 (Spa:Enum:MediaType:video)
pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
pw.context: Id 7 (Spa:Enum:VideoFormat:RGBx)
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
pw.context: Rectangle 2526x1368
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
pw.context: Fraction 0/1
pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
pw.context: Fraction 60/1
pw.context: Fraction 1/1
pw.context: Fraction 60/1
pw.link: (37.0 -> 40.0) negotiating -> error (no more input formats)
(Copied from journalctl --user --user-unit pipewire.service -f
)
I spotted the words "framerate" and "maxFramerate" in the error message, so I thought perhaps my 240hz monitor was the culprit. I reduced my framerate to 60, restarted xdg-desktop-portal-hyprland, xdg-desktop-portal and pipewire, but I still got the exact same error.
chromium 112.0.5615.165-1
google-chrome 112.0.5615.165-1
vivaldi 6.0.2979.15-1
firefox 112.0.1-1
hyprland 0.24.1-1
xdg-desktop-portal 1.16.0-1
xdg-desktop-portal-hyprland 0.3.0-1
pipewire 1:0.3.69-2
wireplumber 0.4.14-1
Regressed by 27118ee
$ export CC=clang CXX=clang++
$ cmake -G Ninja -S hyprland-share-picker -B /tmp/hyprland-share-picker_build
$ cmake --build /tmp/hyprland-share-picker_build
[...]
hyprland-share-picker/main.cpp:64:51: error: non-constant-expression cannot be narrowed from type 'long long' to 'unsigned long' in initializer list [-Wc++11-narrowing]
result.push_back({TITLESTR, CLASSSTR, std::stoll(IDSTR)});
^~~~~~~~~~~~~~~~~
hyprland-share-picker/main.cpp:64:51: note: insert an explicit cast to silence this issue
result.push_back({TITLESTR, CLASSSTR, std::stoll(IDSTR)});
^~~~~~~~~~~~~~~~~
static_cast<unsigned long>( )
1 error generated.
Thank you for Hyprland, I've migrated over from bspwm
and everything has been really simple to setup and use!
The only issue I'm having is that I can't get Firefox to share my screen. I have followed the instructions on the wiki as well as this guide and I still only get the "Use operating system settings" option. Clicking it does nothing.
I think the portal is working as when I try and upload files I get the file picker pop up which if I understand correctly is handled by the portal?
Things I have checked:
grim
and slurp
are installedpipewire
and wireplumber
are running with systemctl --user status pipewire wireplumber
$ pacman -Q | rg xdg-desktop
xdg-desktop-portal 1.16.0-1
xdg-desktop-portal-hyprland-git r250.b03b1c2-1
$ ps aux | rg xdg-desktop
iain 1352 0.0 0.1 536848 17624 ? Ssl 09:20 0:00 /usr/lib/xdg-desktop-portal
iain 1375 0.0 0.2 509096 44496 ? Ssl 09:20 0:00 /usr/libexec/xdg-desktop-portal-hyprland
hyprland-share-picker
manually from the terminal works and I can select a screenxdg-desktop-portal-hyprland-git r224.3d3c5a4-2 [+6 ~3.65] [Installed: r250.b03b1c2-1]
media.peerconnection.enabled
setting enabledhyprland.conf
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
I have also tested in chrome and the same thing happens. I can share a tab fine but not a window or screen.
Hey,
Excuse the piss poor title, I wasnt sure how else to label this as I'm piecing together some stuff-- I moved over to XDPH recently and have not had any luck getting the screensharing function to work on my multi-monitor setup. At all. For example, if I add a pipewire capture via OBS I get the picker tool, and I select a monitor:
via xdg-desktop-portal-hyprland -l DEBUG
:
2023/01/19 19:07:17 [INFO] - xdpw: screencast instance 0x55cf0ce85de0 has 1 references
2023/01/19 19:07:17 [INFO] - xdpw: 1 active screencast instances
2023/01/19 19:07:17 [INFO] - hyprland: window handle 215068032
2023/01/19 19:07:17 [INFO] - dbus: start method invoked
2023/01/19 19:07:17 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_71/obs9
2023/01/19 19:07:17 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_71/obs3
2023/01/19 19:07:17 [INFO] - dbus: app_id:
2023/01/19 19:07:17 [INFO] - dbus: parent_window:
2023/01/19 19:07:17 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_71/obs3
2023/01/19 19:07:17 [INFO] - wlroots: no modifiers available for format 0
2023/01/19 19:07:17 [INFO] - pipewire: stream state changed to "connecting"
2023/01/19 19:07:17 [INFO] - pipewire: node id is -1
2023/01/19 19:07:17 [INFO] - pipewire: stream state changed to "paused"
2023/01/19 19:07:17 [INFO] - pipewire: node id is 73
2023/01/19 19:07:17 [DEBUG] - dbus: start: returning node 73
Removing it:
2023/01/19 19:07:55 [INFO] - dbus: session closed
2023/01/19 19:07:55 [DEBUG] - dbus: destroying session 0x55cf0ce89bf0
2023/01/19 19:07:55 [DEBUG] - xdpw: screencast instance 0x55cf0ce85de0 now has 0 references
2023/01/19 19:07:55 [DEBUG] - xdpw: destroying cast instance
2023/01/19 19:07:55 [DEBUG] - pipewire: destroying stream
2023/01/19 19:07:55 [INFO] - pipewire: stream state changed to "unconnected"
2023/01/19 19:07:55 [INFO] - pipewire: node id is -1
From Wireplumber journal:
Jan 19 19:07:17 skynet wireplumber[1516]: <WpPortalPermissionStorePlugin:0x55933e42b080> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
From Pipewire (tailed) journal:
ct:Param:Format:mediaType (1), flags 00000000
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Id 2 (Spa:Enum:MediaType:video)
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Id 81 (Spa:Enum:VideoFormat:xBGR_210LE)
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Rectangle 1263x687
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Fraction 0/1
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Fraction 60/1
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Fraction 1/1
Jan 19 19:07:17 skynet pipewire[1515]: pw.context: Fraction 60/1
Jan 19 19:07:17 skynet pipewire[1515]: pw.link: (73.0 -> 83.0) negotiating -> error (no more input formats)
Whilst searching around I stumbled across this issue from Wireplumber repo, which references pretty much the same things I've outlined above:
https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/87
And that, in turn, ended back with XDPW here:
emersion/xdg-desktop-portal-wlr#168
There is seemingly a reference to another similar problem in XDPW here (where the OP reverted to pipewire-media-session):
emersion/xdg-desktop-portal-wlr#97
I cannot, for the life of me, what is causing this to not function correctly. For whatever reason Pipewire never hits "streaming" state in the XDPH debug log. Feel free to tell me if you think this is an issue with my setup (that may well be the case tbh), I figured it was worth logging either way. I also feel its worth stating I've been over the wiki to ensure I'm not shooting myself in the foot; I'm not running other XDP implementations etc. Happy to supply full logs if you think it'll help.
Thank you for your work on this.
OBS does show up a qt menu for selecting monitors, but after selecting the monitor it's still a black screen. I also have an intel laptop with hyprland, but screensharing works fine given wlrobs-hg plugin installed.
Also, could this relate to 10-bit?
OS: Arch Linux
Kernel: 6.2.2
GPU: RX 7900 XT
Mesa version: 23.0.0
Monitor Setup: Single 3840x2160 monitor at 144hz, 10-bit enabled, scaling set to 1.5
Laptop specs:
OS: Arch Linux
Kernel: 6.2.1
CPU: i5-1135G7
GPU: Iris Xe LP
intel-media-driver version: 23.1.0
Monitor Setup: Builtin 2256x1504 monitor at 60hz, scaling set to 1.5
Log from OBS:
`
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.66
info: [pipewire] Library version: 0.3.66
info: [pipewire] Header version: 0.3.64
info: [pipewire] Created stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "paused" (error: none)
`
After adding the nixos and home manager modules, and enabling both, a nixos-rebuild results in this error:
building the system configuration...
warning: Git tree '/root/.nix-configs' is dirty
error: builder for '/nix/store/icz9gdxj6nqwjkrm5vhxwy0vwhbsddj6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae.drv' failed with exit code 1;
last 10 log lines:
> FAILED: xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o
> gcc -Ixdg-desktop-portal-hyprland.p -I. -I.. -I../include -Iprotocols -I/nix/store/m5vjh9vkwv860fgjf3lp318sq91fas41-wayland-1.21.0-dev/include -I/nix/store/5i9hp7vf8f7cgynks2dfazca0kpzcvg1-systemd-252.1-dev/include -I/nix/store/xqcb7z6gwzvfawm9q9y3ixshx1g40lkc-pipewire-0.3.63-dev/include/pipewire-0.3 -I/nix/store/xqcb7z6gwzvfawm9q9y3ixshx1g40lkc-pipewire-0.3.63-dev/include/spa-0.2 -I/nix/store/vdpgiildw7rdzm293lks13z343y1jkna-inih-56/include -I/nix/store/dc13rizw4r38a41r1i79xw455x2m6305-mesa-22.2.5-dev/include -I/nix/store/i9ay2q2bnwcknmid34dhn40izkqa308v-libdrm-2.4.114-dev/include -I/nix/store/i9ay2q2bnwcknmid34dhn40izkqa308v-libdrm-2.4.114-dev/include/libdrm -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -D_POSIX_C_SOURCE=200809L '-DSYSCONFDIR="/nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/etc"' -DHAVE_LIBSYSTEMD=1 -D_REENTRANT -MD -MQ xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o -MF xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o.d -o xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o -c ../src/screencast/wlr_screencast.c
> ../src/screencast/wlr_screencast.c: In function 'vasprintf':
> ../src/screencast/wlr_screencast.c:645:49: error: missing binary operator before token "("
> 645 | #if defined(_LIBCPP_CXX03_LANG) && __has_builtin(__builtin_va_copy)
> | ^
> [25/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_screencast_common.c.o
> [26/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_screencast.c.o
> [27/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_pipewire_screencast.c.o
> ninja: build stopped: subcommand failed.
For full logs, run 'nix log /nix/store/icz9gdxj6nqwjkrm5vhxwy0vwhbsddj6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae.drv'.
error: 1 dependencies of derivation '/nix/store/fmazzd7x223jivf9yv8r3apvm98ybh0g-dbus-1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/l00bhp5jx590ia64a889zixzhss0i10v-xdg-portals.drv' failed to build
error: 1 dependencies of derivation '/nix/store/p3hds7kfdf61sn0cnwwwqvfgwianplby-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/6nah1zll3pnnj8bmbj0222a6l8jimwlr-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/9mxp13grs7cf7q9n151gf6hdaf0lhq87-nixos-system-cicucci-devvm-23.05.20221222.7ba7b45.drv' failed to build
the nix log shows:
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/w3bhan5scvsb0ksbzyf42g0r80vgpq5i-vj08gn8simj499vy5kz0qckvma01glg0-source
source root is vj08gn8simj499vy5kz0qckvma01glg0-source
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
meson flags: --buildtype=plain --libdir=/nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/lib --libexecdir=/nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre>
The Meson build system
Version: 0.64.1
Source dir: /build/vj08gn8simj499vy5kz0qckvma01glg0-source
Build dir: /build/vj08gn8simj499vy5kz0qckvma01glg0-source/build
Build type: native build
Project name: xdg-desktop-portal-hyprland
Project version: 0.6.0
C compiler for the host machine: gcc (gcc 9.5.0 "gcc (GCC) 9.5.0")
C linker for the host machine: gcc ld.bfd 2.39
Host machine cpu family: aarch64
Host machine cpu: aarch64
Compiler for C supports arguments -Wno-missing-braces: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -D_POSIX_C_SOURCE=200809L: YES
Library rt found: YES
Found pkg-config: /nix/store/xjpkpbs2mb4nqyqadbi44bwxa8gap8h9-pkg-config-wrapper-0.29.2/bin/pkg-config (0.29.2)
Run-time dependency libpipewire-0.3 found: YES 0.3.63
Run-time dependency wayland-client found: YES 1.21.0
Run-time dependency wayland-protocols found: YES 1.31
Run-time dependency inih found: YES 56
Run-time dependency gbm found: YES 22.2.5
Run-time dependency libdrm found: YES 2.4.114
Checking for function "timerfd_create" : YES
Checking for function "signalfd" : YES
Run-time dependency libsystemd found: YES 252
Found pkg-config: /nix/store/xjpkpbs2mb4nqyqadbi44bwxa8gap8h9-pkg-config-wrapper-0.29.2/bin/pkg-config (0.29.2)
Build-time dependency wayland-scanner found: YES 1.21.0
Program /nix/store/0029k730qv1fl3wcqifppdm3gk5gy51r-wayland-1.21.0-bin/bin/wayland-scanner found: YES (/nix/store/0029k730qv1fl3wcqifppdm3gk5gy51r-wayland-1.21.0-bin/bin/wayland-scanner)
Run-time dependency systemd found: YES 252
Configuring xdg-desktop-portal-hyprland.service using configuration
Configuring org.freedesktop.impl.portal.desktop.hyprland.service using configuration
Build targets in project: 11
xdg-desktop-portal-hyprland 0.6.0
User defined options
auto_features : enabled
bindir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/bin
buildtype : plain
includedir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/include
infodir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/share/info
libdir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/lib
libexecdir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/libexec
localedir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/share/locale
mandir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/share/man
prefix : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae
sbindir : /nix/store/fyc0hdwik5bp70msbxif40yqjpmvg5z6-xdg-desktop-portal-hyprland-0.pre+date=2022-12-13_9fb4fae/sbin
wrap_mode : nodownload
sd-bus-provider: libsystemd
Found ninja-1.11.1 at /nix/store/1313aamckdb8y5jixp0k4pc8s8qgyrj7-ninja-1.11.1/bin/ninja
meson: enabled parallel building
@nix { "action": "setPhase", "phase": "buildPhase" }
building
build flags: -j4
[1/29] Generating protocols/__nix_store_9czb3wcbls9ihflinb90bp2zkj50a2x8_wayland_protocols_1_31_share_wayland_protocols_unstable_linux_dmabuf_linux_dmabuf_unstable_v1_xml_c with a custom command
[2/29] Generating protocols/__nix_store_9czb3wcbls9ihflinb90bp2zkj50a2x8_wayland_protocols_1_31_share_wayland_protocols_unstable_xdg_output_xdg_output_unstable_v1_xml_c with a custom command
[3/29] Generating protocols/__nix_store_9czb3wcbls9ihflinb90bp2zkj50a2x8_wayland_protocols_1_31_share_wayland_protocols_unstable_linux_dmabuf_linux_dmabuf_unstable_v1_xml_client_h with a custom command
[4/29] Generating protocols/__nix_store_9czb3wcbls9ihflinb90bp2zkj50a2x8_wayland_protocols_1_31_share_wayland_protocols_unstable_xdg_output_xdg_output_unstable_v1_xml_client_h with a custom command
[5/29] Generating protocols/wlr_screencopy_unstable_v1_xml_c with a custom command
[6/29] Generating protocols/wlr_screencopy_unstable_v1_xml_client_h with a custom command
[7/29] Generating protocols/wlr_foreign_toplevel_management_unstable_v1_xml_c with a custom command
[8/29] Generating protocols/wlr_foreign_toplevel_management_unstable_v1_xml_client_h with a custom command
[9/29] Generating protocols/hyprland_protocols_protocols_hyprland_toplevel_export_v1_xml_c with a custom command
[10/29] Generating protocols/hyprland_protocols_protocols_hyprland_toplevel_export_v1_xml_client_h with a custom command
[11/29] Compiling C object xdg-desktop-portal-hyprland.p/meson-generated_.._protocols_xdg-output-unstable-v1-protocol.c.o
[12/29] Compiling C object xdg-desktop-portal-hyprland.p/meson-generated_.._protocols_linux-dmabuf-unstable-v1-protocol.c.o
[13/29] Compiling C object xdg-desktop-portal-hyprland.p/meson-generated_.._protocols_wlr-screencopy-unstable-v1-protocol.c.o
[14/29] Compiling C object xdg-desktop-portal-hyprland.p/meson-generated_.._protocols_wlr-foreign-toplevel-management-unstable-v1-protocol.c.o
[15/29] Compiling C object xdg-desktop-portal-hyprland.p/meson-generated_.._protocols_hyprland-toplevel-export-v1-protocol.c.o
[16/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_logger.c.o
[17/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_config.c.o
[18/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_request.c.o
[19/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_main.c.o
[20/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_session.c.o
[21/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_timespec_util.c.o
[22/29] Compiling C object xdg-desktop-portal-hyprland.p/src_core_timer.c.o
[23/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screenshot_screenshot.c.o
[24/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o
FAILED: xdg-desktop-portal-hyprland.p/src_screencast_wlr_screencast.c.o
gcc -Ixdg-desktop-portal-hyprland.p -I. -I.. -I../include -Iprotocols -I/nix/store/m5vjh9vkwv860fgjf3lp318sq91fas41-wayland-1.21.0-dev/include -I/nix/store/5i9hp7vf8f7cgynks2dfazca0kpzcvg1-systemd-252.1-dev/include -I/nix/store/xqcb7z6gwzvfawm9>
../src/screencast/wlr_screencast.c: In function 'vasprintf':
../src/screencast/wlr_screencast.c:645:49: error: missing binary operator before token "("
645 | #if defined(_LIBCPP_CXX03_LANG) && __has_builtin(__builtin_va_copy)
| ^
[25/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_screencast_common.c.o
[26/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_screencast.c.o
[27/29] Compiling C object xdg-desktop-portal-hyprland.p/src_screencast_pipewire_screencast.c.o
ninja: build stopped: subcommand failed.
Background:
1-) I have the latest git versions of xdg-desktop-portal, xdg-desktop-portal-hyprland, grim, slurp, pipewire, wireplumber and hyprland.
2-) I have made sure that I don't have other implementations installed.
3-) I start the script as recommended and checked with "pidof -s xdg-desktop-portal
" and "pidof -s xdg-desktop-portal-hyprland
"
4-) I can take screenshots with Grim and Slurp without a problem.
5-) I can record a video that has sounds with wf-recorder, ffmpeg without a problem.
6-) I use Chromium browser for Discord since I can't run the Discord app even with ozone flags. It segfaults. Other types of Discords (such as Webcord or GTKCord) are also same.
Problem:
1-) I can share a Chromium tab without a problem.
2-) I can also share any window from the window tab.
3-) I can't share the "screen". The output is black screen.
* I can share the screen by selecting the "Region" on the "Window" tab. But it doesn't work for the first time. It's always black at first. Then, I need to constantly try and somehow, I select the region (I basically select the whole screen with my mouse) and it works.
I modified the xdpw ebuild and added the necessary dependencies and install options to make it work with xdph.
When using 10 bitdepth screenshare fails using OBS and Firefox (probably in more software)
I have 2 monitors, works if the monitor i want to screenshare is not in 10 bit mode
/usr/lib/xdg-desktop-portal-hyprland -l DEBUG
does not show any error
System info
CPU: Ryzen 2700X
GPU: RX 6700 XT (RADV)
Distro: Arch
AUR: hyprland-git
AUR: xdg-desktop-portal-hyprland-git
Everything is up to date
xdg-desktop-portal-kde, xdg-desktop-portal-gnome, xdg-desktop-portal-wlr are not installed
journalctl log
feb 08 03:30:34 rurigk wireplumber[5338]: <WpPortalPermissionStorePlugin:0x558fb7314f50> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: params Spa:Enum:ParamId:EnumFormat: 0:0 Invalid argument (input format (no more input formats))
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 296, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 12 (Spa:Enum:VideoFormat:BGRA)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488370947
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488174339
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188486904579
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188084250882
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188075858177
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 0
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 72057594037927935
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 296, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 11 (Spa:Enum:VideoFormat:RGBA)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488370947
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488174339
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188486904579
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188084250882
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188075858177
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 0
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 72057594037927935
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 296, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 8 (Spa:Enum:VideoFormat:BGRx)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488370947
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488174339
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188486904579
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188084250882
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188075858177
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 0
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 72057594037927935
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 296, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 7 (Spa:Enum:VideoFormat:RGBx)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488370947
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488174339
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188486904579
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188084250882
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188075858177
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 0
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 72057594037927935
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 192, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 12 (Spa:Enum:VideoFormat:BGRA)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 192, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 11 (Spa:Enum:VideoFormat:RGBA)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 192, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 8 (Spa:Enum:VideoFormat:BGRx)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 192, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 7 (Spa:Enum:VideoFormat:RGBx)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 320x240
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 1x1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 8192x4320
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 30/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 360/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: params Spa:Enum:ParamId:EnumFormat: 1:0 Invalid argument (output format (no more input formats))
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 288, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 80 (Spa:Enum:VideoFormat:xRGB_210LE)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:modifier (131074), flags 00000018
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Enum, flags 00000000 88 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488387331
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488370947
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188488174339
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188486904579
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188084250882
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 144115188075858177
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 0
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Long 72057594037927935
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 3840x2160
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 60/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 1/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 60/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Object: size 184, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 2 (Spa:Enum:MediaType:video)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 1 (Spa:Enum:MediaSubtype:raw)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:format (131073), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Id 81 (Spa:Enum:VideoFormat:xBGR_210LE)
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:size (131075), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Rectangle 3840x2160
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:framerate (131076), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 0/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Prop: key Spa:Pod:Object:Param:Format:Video:maxFramerate (131077), flags 00000000
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 60/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 1/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.context: Fraction 60/1
feb 08 03:30:34 rurigk pipewire[5326]: pw.link: (108.0 -> 111.0) negotiating -> error (no more input formats)
I'll preface this by saying I am a newb to dbus in general, and honestly don't know what I'm doing. lol. So this is may be more a question than a real 'bug report'.
So the problem I'm having is that while CreateSession seems to work no problem, BindShortcuts and ListShortcuts does not appear to. The Response signal I get is only 2 {}
when trying to use either.
This is the error in journalctl that I see most of the time when trying to BindShortcuts:
xdg-desktop-por[48879]: A backend call failed: No such device or address
And when trying to ListShortcuts:
xdg-desktop-por[51137]: A backend call failed: Unknown method ListShortcuts or interface org.freedesktop.impl.portal.GlobalShortcuts.
And here's the log of xdg-desktop-portal-hyprland during a session:
2023/05/03 13:03:33 [INFO] - dbus: create session method invoked
2023/05/03 13:03:33 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_647/pyscreenshot
2023/05/03 13:03:33 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_647/pyscreenshot
2023/05/03 13:03:33 [INFO] - dbus: app_id:
2023/05/03 13:03:33 [WARN] - dbus: unknown option: handle_token
2023/05/03 13:03:33 [INFO] - dbus: option token: pyscreenshot
2023/05/03 13:03:33 [INFO] - dbus: list shortcuts invoked
2023/05/03 13:03:33 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_647/pyscreenshot
2023/05/03 13:03:33 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_647/pyscreenshot
2023/05/03 13:03:35 [INFO] - dbus: session closed
2023/05/03 13:03:35 [DEBUG] - dbus: destroying session 0x55b0d232c980
Occasionally, a ListShortcuts will 'slip through' and work. It will show the new shortcut bound, despite the No such device or address
error. However, it does not show up in hyprctl globalshortcuts
at all.
Very much would believe there's some user-error on my part. So this very much could be less a bug report, more an I'm an idiot report.
OBS does show up a qt menu for selecting monitors, but after selecting the monitor it's still a black screen. I also have an intel laptop with hyprland, but screensharing works fine given wlrobs-hg plugin installed.
Also, could this relate to 10-bit?
OS: Arch Linux
Kernel: 6.2.2
GPU: RX 7900 XT
Mesa version: 23.0.0
Monitor Setup: Single 3840x2160 monitor at 144hz, 10-bit enabled, scaling set to 1.5
Laptop specs:
OS: Arch Linux
Kernel: 6.2.1
CPU: i5-1135G7
GPU: Iris Xe LP
intel-media-driver version: 23.1.0
Monitor Setup: Builtin 2256x1504 monitor at 60hz, scaling set to 1.5
Log from OBS:
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
info: [pipewire] Asking for desktop
info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 0.3.66
info: [pipewire] Library version: 0.3.66
info: [pipewire] Header version: 0.3.64
info: [pipewire] Created stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x555b4392d890
info: [pipewire] Stream 0x555b4392d890 state: "paused" (error: none)
Edit: It seems unrelated to 10-bit. I switched to 8 bit and it still doesn't work.
Edit: Not sure why it works given KDE and xdg-desktop-portal-kde
.
On latest commit: b03b1c2
Hyprland itself is build from git today as well.
Not sure how to debug this one, but sharing entire screens works flawlessly. However on a clean start on the window sharing tab it is empty:
When I play arround with restarting xdg-desktop-portal-hyprland.service
and xdg-desktop-portal.service
after a long raindance it starts working. And keeps working, for multiple sessions. But then on reboot, it's broken again.
Log from xdg-desktop-portal-hyprland.service
:
Jan 19 15:57:41 haplo xdg-desktop-portal-hyprland[79468]: 2023/01/19 15:57:41 [ERROR] - wlroots: no output / window found
Log from xdg-desktop-portal.service
Jan 19 15:57:27 haplo xdg-desktop-por[81748]: No skeleton to export
When selecting the region sharing option, slurp opens, i select a region, and then xdg-desktop-portal
errors with A backend call failed: Operation not permitted
. I use nixos, and haven't tried building and testing locally.
in OBS every time obs is opened i need to put every share again and again, maybe we can add the remember for that
something like https://github.com/flatpak/xdg-desktop-portal/pull/638/files
The picker crashes instantly upon opening. This doesn't happen when xdg-desktop-portal-hyprland is run manually from a terminal, it only happens if it's run as a service.
The log from systemctl --user status
:
Feb 04 00:09:49 dottodot systemd-coredump[11411]: [🡕] Process 11409 (hyprland-share-) of user 1000 dumped core.
Stack trace of thread 11409:
#0 0x00007fe7614a164c n/a (libc.so.6 + 0x8864c)
#1 0x00007fe761451938 raise (libc.so.6 + 0x38938)
#2 0x00007fe76143b53d abort (libc.so.6 + 0x2253d)
#3 0x00007fe76169a833 _ZN9__gnu_cxx27__verbose_terminate_handlerEv (libstdc++.so.6 + 0x9a833)
#4 0x00007fe7616a6ccc _ZN10__cxxabiv111__terminateEPFvvE (libstdc++.so.6 + 0xa6ccc)
#5 0x00007fe7616a6d39 _ZSt9terminatev (libstdc++.so.6 + 0xa6d39)
#6 0x00007fe7616a6f9d __cxa_throw (libstdc++.so.6 + 0xa6f9d)
#7 0x00007fe76169d55b _ZSt24__throw_out_of_range_fmtPKcz (libstdc++.so.6 + 0x9d55b)
#8 0x00005605e0e21c20 _Z10getWindowsPKc (hyprland-share-picker + 0x9c20)
#9 0x00005605e0e1ce6a main (hyprland-share-picker + 0x4e6a)
#10 0x00007fe76143c290 n/a (libc.so.6 + 0x23290)
#11 0x00007fe76143c34a __libc_start_main (libc.so.6 + 0x2334a)
#12 0x00005605e0e1f555 _start (hyprland-share-picker + 0x7555)
ELF object binary architecture: AMD x86-64
Feb 04 00:09:49 dottodot xdg-desktop-portal-hyprland[10665]: 2023/02/04 00:09:49 [ERROR] - wlroots: no output / window found
On Hyprland with NVIDIA 1660 Super, when selecting whole screen or just region for screen sharing, the output is black, despite sharing individual windows working flawlessly (hyprland-nvidia-git on arch linux).
On OBS everything seems to be working fine, but on discord, webcord, firefox, chromium and telegram-desktop it's just black for full screen.
When launching the screen sharing on my NixOS setups, I encounter what seems a permission issue (here with OBS)
info: PipeWire initialized
info: Switched to scene 'Full desktop'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Alone':
info: - source: 'Image' (image_source)
info: - source: 'Video Capture Device (V4L2)' (v4l2_input)
info: - scene 'Full desktop':
info: - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: - source: 'Video Capture Device (V4L2)' (v4l2_input)
info: ------------------------------------------------
info: [pipewire] Screencast session created
Attempted path: share/obs/obs-studio/images/overflow.png
Attempted path: /nix/store/v5dd3g0kgk8pzjdkypky19qynwil100z-obs-studio-28.1.2/share/obs/obs-studio/images/overflow.png
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
info: [pipewire] Asking for desktop
warning: [pipewire] Failed to start screencast, denied or cancelled by user
I installed hyprland using flakes and NixOS, I check the module and it seems this portal is added automatically to extra portals so my guess is the setup is pretty standard and foolproof and should work out of the box, but it is not the case.
I use nixpkgs on nixpkgs.url = github:NixOS/nixpkgs;
(unstable).
Did I miss something or is there a bug ?
I can provide more logs if you need, let me know.
When sharing my screen on Chrome 112.0.5615.165, only a black screen is shown. The Chrome logs are flooded with
[4958:7102:0420/093242.251780:ERROR:egl_dmabuf.cc(569)] Failed to record frame: Error creating EGLImage - EGL_BAD_ALLOC
[4958:7102:0420/093242.251805:ERROR:shared_screencast_stream.cc(791)] Dropping DMA-BUF modifier: 144115188622392067 and trying to renegotiate stream parameters
This same issue was reported in xdg-desktop-portal-wlr
, and it's fixed in 0.7 (I have tested myself).
Hi ,
xdg-desktop-portal-hyprland is flagged out of date in the aur.
Just want to let you know, and it is still not possible to upgrade the dependencie.
Summary of the Bug:
When playing FInal Fantasy using Hyprland with XDG-Desktop-Portal-Hyprland cursor will erratically and randomly move around (frequently happens in combination with Right Click, but I have observed the behavior without pushing right click). This issue is not present in KDE'S Implementation of Wayland (KWin), nor is it present when using Hyprland with the XDG-Desktop-Portal-Wlr
Steps to Reproduce the Bug:
Play Final Fantasy like normal. Try to move the camera and obverse erratic behavior / observe the position of the cursor when idle. I am not sure if this happens in other games. This bug is also present when using Gamescope which uses the Dekstop Portal present (but only depends on WLRoots). I have tested this with several mice and several implementations of the XDG-Desktop-Portal, and this issue only occurs with the Hyprland fork.
Expected Behavior:
Cursor moves where directed by mouse input.
Relevant System Information:
Arch Linux, 3440x1440 Monitor, AMD Ryzen R9 5950X, AMD 7900XTX GPU (can provide other specs as needed). Tested with: Logitech, Corsiar, and Steelseries mice to isolate mouse problem but all produced the same behavior.
Workaround:
Use XDG-Desktop-Portal-Wlr
Priority to fix:
Low. I don't know how or why this is attached to this, but here we are. XDG-Dekstop-Portal-Wlr works if you don't need Global Hotkeys.
Try to share an entire screen or a window (video).
hyprland-share-picker
is shown once
hyprland-share-picker
is shown multiple times (video)
hyprland-bin: (https://github.com/hyprwm/Hyprland/releases/tag/v0.19.1beta)
xdg-desktop-portal-hyprland-git r240.7567892-1
OS Arch Linux x86_64
Kernel 6.0.11-zen1-1-zen
Packages 1016 (pacman)
DE Hyprland
Resolution 3440x1440
Shell zsh 5.9.0.1-dev
Terminal foot
CPU AMD Ryzen 7 3800X (16) @ 3.9GHz
GPU AMD ATI Radeon 6900 XT
GPU Driver amdgpu
Redirect from hyprwm/Hyprland#1223
I was able to reproduce this issue 3 times and narrow the cause down to this:
In hyprland.conf, I have this line -
exec-once = swayidle timeout 240 'brightnessctl -s && brightnessctl set 5%' resume 'brightnessctl -r' timeout 300 'swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2' timeout 360 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on'
If I leave OBS open with a pipewire screen capture (not actively recording), and allow the laptop to dim/lock/turn display off, Hyprland crashed each time immediately after the display turns off.
This line seemed to occur all 3 times in the logs -
A backend call failed: Message recipient disconnected from message bus without replying
,
so it looks like hyprctl dispatch dpms off
turns off the portal somehow, which cascades into Hyprland crashing after xdg-desktop-portal-hyprland and OBS go down.
There are also a fair number of
xdg-desktop-portal-hyprland [ERROR] - wayland: failed to connect to display
lines in the logs. I noticed some inconsistency in OBS prompting for which monitor to capture. I found deleting the pipewire display capture and re-adding it sometimes made it ask which monitor to capture, other times I just opened the settings of the existing pipewire display capture and clicked select monitor a few times and it eventually popped up. I only had a laptop display throughout all of this. This is likely a separate issue, I can open later one if needed.
some fastfetch info:
OS: Gentoo 2.13 x86_64
Host: ROG Zephyrus G14 GA402RJ_GA402RJ (1.0)
Kernel: 6.1.28-gentoo-x86_64
Display: 2560x1600 @ 120Hz
Brightness (amdgpu_bl1): 31%
WM: Hyprland (Wayland)
CPU: AMD Ryzen 9 6900HS (16) @ 4.933886 GHz
GPU 1: AMD Radeon Graphics (RADV REMBRANDT)
GPU 2: AMD Radeon RX 6700S (RADV NAVI23) (7.98 GiB)
Vulkan: 1.3.246 - radv [Mesa 23.1.1]
OpenGL: 4.6 (Compatibility Profile) Mesa 23.1.1
OpenCL: 2.0
Hyprland: 0.25
xdg-desktop-portal-hyprland: 9999 (wayland-desktop overlay)
I have xdg-desktop-portal-gtk installed, no -kde or -gnome.
heh, it was too long to paste directly -
Lmk if I can provide any other useful info, and thanks.
Once 0.26 lands in the Gentoo repo I'll see if it still occurs.
OS is NixOS Unstable, using Hyprland via the flake.
Any time I open OBS, the screen is black, and the same error is consistently printed to journalctl
.
What journalctl --user
spits out:
Dec 12 19:33:25 heffos-obsidian xdg-desktop-portal-hyprland[15566]: qt.qpa.xcb: could not connect to display
Dec 12 19:33:25 heffos-obsidian xdg-desktop-portal-hyprland[15566]: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
Dec 12 19:33:25 heffos-obsidian xdg-desktop-portal-hyprland[15566]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Dec 12 19:33:25 heffos-obsidian xdg-desktop-portal-hyprland[15566]: Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Dec 12 19:33:25 heffos-obsidian systemd-coredump[15569]: [🡕] Process 15566 (.hyprland-share) of user 1000 dumped core.
Module libcap.so.2 without build-id.
Module libsystemd.so.0 without build-id.
Module libxcb-util.so.1 without build-id.
Module libdbus-1.so.3 without build-id.
Module libexpat.so.1 without build-id.
Module libxkbcommon.so.0 without build-id.
Module libxkbcommon-x11.so.0 without build-id.
Module libICE.so.6 without build-id.
Module libSM.so.6 without build-id.
Module libxcb-xinput.so.0 without build-id.
Module libxcb-xkb.so.1 without build-id.
Module libxcb-xinerama.so.0 without build-id.
Module libxcb-xfixes.so.0 without build-id.
Module libxcb-sync.so.1 without build-id.
Module libxcb-shape.so.0 without build-id.
Module libxcb-render.so.0 without build-id.
Module libxcb-render-util.so.0 without build-id.
Module libxcb-randr.so.0 without build-id.
Module libxcb-keysyms.so.1 without build-id.
Module libxcb-shm.so.0 without build-id.
Module libxcb-image.so.0 without build-id.
Module libxcb-icccm.so.4 without build-id.
Module libX11-xcb.so.1 without build-id.
Module libQt5DBus.so.5 without build-id.
Module libfontconfig.so.1 without build-id.
Module libQt5XcbQpa.so.5 without build-id.
Module libqxcb.so without build-id.
Module libXdmcp.so.6 without build-id.
Module libXau.so.6 without build-id.
Module libbz2.so.1 without build-id.
Module libxcb.so.1 without build-id.
Module libpcre2-8.so.0 without build-id.
Module libgraphite2.so.3 without build-id.
Module libfreetype.so.6 without build-id.
Module libGLdispatch.so.0 without build-id.
Module libXext.so.6 without build-id.
Module libX11.so.6 without build-id.
Module libGLX.so.0 without build-id.
Module libzstd.so.1 without build-id.
Module libpcre2-16.so.0 without build-id.
Module libicudata.so.72 without build-id.
Module libicuuc.so.72 without build-id.
Module libicui18n.so.72 without build-id.
Module libharfbuzz.so.0 without build-id.
Module libz.so.1 without build-id.
Module libpng16.so.16 without build-id.
Module libGL.so.1 without build-id.
Module libgcc_s.so.1 without build-id.
Module libstdc++.so.6 without build-id.
Module libQt5Core.so.5 without build-id.
Module libQt5Gui.so.5 without build-id.
Module libQt5Widgets.so.5 without build-id.
Module .hyprland-share-picker-wrapped without build-id.
Stack trace of thread 15566:
#0 0x00007f9d0228abc7 __pthread_kill_implementation (libc.so.6 + 0x8abc7)
#1 0x00007f9d0223db46 raise (libc.so.6 + 0x3db46)
#2 0x00007f9d022284b5 abort (libc.so.6 + 0x284b5)
#3 0x00007f9d02a99bab _ZNK14QMessageLogger5fatalEPKcz (libQt5Core.so.5 + 0x99bab)
#4 0x00007f9d03125e73 _ZN22QGuiApplicationPrivate25createPlatformIntegrationEv (libQt5Gui.so.5 + 0x125e73)
#5 0x00007f9d03126380 _ZN22QGuiApplicationPrivate21createEventDispatcherEv (libQt5Gui.so.5 + 0x126380)
#6 0x00007f9d02cd13e5 _ZN23QCoreApplicationPrivate4initEv (libQt5Core.so.5 + 0x2d13e5)
#7 0x00007f9d031292dc _ZN22QGuiApplicationPrivate4initEv (libQt5Gui.so.5 + 0x1292dc)
#8 0x00007f9d03976c99 _ZN19QApplicationPrivate4initEv (libQt5Widgets.so.5 + 0x176c99)
#9 0x0000000000405e32 main (.hyprland-share-picker-wrapped + 0x5e32)
#10 0x00007f9d0222924e __libc_start_call_main (libc.so.6 + 0x2924e)
#11 0x00007f9d02229309 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x29309)
#12 0x0000000000407e75 _start (.hyprland-share-picker-wrapped + 0x7e75)
Stack trace of thread 15567:
#0 0x00007f9cf220ff96 _dbus_message_loader_queue_messages (libdbus-1.so.3 + 0x27f96)
#1 0x00007f9cf2218af0 _dbus_transport_get_dispatch_status (libdbus-1.so.3 + 0x30af0)
#2 0x00007f9cf2218c46 _dbus_transport_queue_messages (libdbus-1.so.3 + 0x30c46)
#3 0x00007f9cf22197ef do_reading.part.0 (libdbus-1.so.3 + 0x317ef)
#4 0x00007f9cf221a1a4 socket_handle_watch (libdbus-1.so.3 + 0x321a4)
#5 0x00007f9cf221889c _dbus_transport_handle_watch (libdbus-1.so.3 + 0x3089c)
#6 0x00007f9cf220002e _dbus_connection_handle_watch (libdbus-1.so.3 + 0x1802e)
#7 0x00007f9d01c5bc9e n/a (libQt5DBus.so.5 + 0x2ac9e)
#8 0x00007f9d02d017f4 n/a (libQt5Core.so.5 + 0x3017f4)
#9 0x00007f9d02d04bef _ZN15QSocketNotifier9activatedE17QSocketDescriptorNS_4TypeENS_14QPrivateSignalE (libQt5Core.so.5 + 0x304bef)
#10 0x00007f9d02d053eb _ZN15QSocketNotifier5eventEP6QEvent (libQt5Core.so.5 + 0x3053eb)
#11 0x00007f9d02cca56f _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5 + 0x2ca56f)
#12 0x00007f9d02d23347 n/a (libQt5Core.so.5 + 0x323347)
#13 0x00007f9d01d1b9db g_main_context_dispatch (libglib-2.0.so.0 + 0x589db)
#14 0x00007f9d01d1bc88 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0x58c88)
#15 0x00007f9d01d1bd3f g_main_context_iteration (libglib-2.0.so.0 + 0x58d3f)
#16 0x00007f9d02d22764 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x322764)
#17 0x00007f9d02cc8f1b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2c8f1b)
#18 0x00007f9d02ad4b2b _ZN7QThread4execEv (libQt5Core.so.5 + 0xd4b2b)
#19 0x00007f9d01c4a4f7 n/a (libQt5DBus.so.5 + 0x194f7)
#20 0x00007f9d02ad5e41 n/a (libQt5Core.so.5 + 0xd5e41)
#21 0x00007f9d02288e86 start_thread (libc.so.6 + 0x88e86)
#22 0x00007f9d0230fc60 __clone3 (libc.so.6 + 0x10fc60)
ELF object binary architecture: AMD x86-64
Dec 12 19:33:25 heffos-obsidian xdg-desktop-portal-hyprland[1960]: 2022/12/12 19:33:25 [ERROR] - wlroots: no output / window found
I can provide any other info as necessary.
Installing xdg desktop portal hyprland as described on the website results in following crash when obs studio is opened.
grim isn't working either (screenshot is black).
Apr 04 21:29:03 jojiiPC xdg-desktop-por[735]: Failed to close session implementation: Timeout was reached
Apr 04 21:29:05 jojiiPC xdg-desktop-portal-hyprland[1259]: 2023/04/04 21:29:05 [ERROR] - xdg-desktop-portal-hyprland: unsupported wl_shm format 0x34324742
Apr 04 21:29:06 jojiiPC systemd-coredump[1862]: [🡕] Process 1259 (xdg-desktop-por) of user 1000 dumped core.
Stack trace of thread 1259:
#0 0x00007f88073058ec n/a (libc.so.6 + 0x878ec)
#1 0x00007f88072b6ea8 raise (libc.so.6 + 0x38ea8)
#2 0x00007f88072a053d abort (libc.so.6 + 0x2253d)
#3 0x00005573614c81f4 xdpw_format_drm_fourcc_from_wl_shm (xdg-desktop-portal-hyprland + 0xb1f4)
#4 0x00005573614c9437 wlr_frame_buffer (xdg-desktop-portal-hyprland + 0xc437)
#5 0x00007f880727a4f6 n/a (libffi.so.8 + 0x74f6)
#6 0x00007f8807276f5e n/a (libffi.so.8 + 0x3f5e)
#7 0x00007f8807279b73 ffi_call (libffi.so.8 + 0x6b73)
#8 0x00007f8807657645 n/a (libwayland-client.so.0 + 0x7645)
#9 0x00007f8807657e03 n/a (libwayland-client.so.0 + 0x7e03)
#10 0x00007f8807657ffc wl_display_dispatch_queue_pending (libwayland-client.so.0 + 0x7ffc)
#11 0x00005573614c5f9b start_screencast (xdg-desktop-portal-hyprland + 0x8f9b)
#12 0x00005573614c6c87 method_screencast_start (xdg-desktop-portal-hyprland + 0x9c87)
#13 0x00007f880759fe2d n/a (libsystemd.so.0 + 0x32e2d)
#14 0x00007f88075b62be n/a (libsystemd.so.0 + 0x492be)
#15 0x00005573614c31a2 main (xdg-desktop-portal-hyprland + 0x61a2)
#16 0x00007f88072a1790 n/a (libc.so.6 + 0x23790)
#17 0x00007f88072a184a __libc_start_main (libc.so.6 + 0x2384a)
#18 0x00005573614c2905 _start (xdg-desktop-portal-hyprland + 0x5905)
Stack trace of thread 1260:
#0 0x00007f88073861b6 epoll_wait (libc.so.6 + 0x1081b6)
#1 0x00007f880768b759 n/a (libspa-support.so + 0x16759)
#2 0x00007f880767b9fb n/a (libspa-support.so + 0x69fb)
#3 0x00007f88074d8227 n/a (libpipewire-0.3.so.0 + 0x45227)
#4 0x00007f8807303bb5 n/a (libc.so.6 + 0x85bb5)
#5 0x00007f8807385d90 n/a (libc.so.6 + 0x107d90)
ELF object binary architecture: AMD x86-64
Apr 04 21:29:06 jojiiPC systemd[626]: xdg-desktop-portal-hyprland.service: Main process exited, code=dumped, status=6/ABRT
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.