hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.71k stars 901 forks source link

xdg-desktop-portal-gtk fails to start after a hard hyprland restart #2242

Open primalmotion opened 1 year ago

primalmotion commented 1 year ago

If I restart hyprland, (manually or after a crash) xdg-desktop-portal-gtk.service is not able to start. It happens 100% of the time. It does not say much, but here's the log

May 04 12:53:36 axion xdg-desktop-por[100358]: Unhandled parent window type 
May 04 12:53:36 axion xdg-desktop-por[100358]: Failed to associate portal window with parent window 
May 04 13:23:15 axion xdg-desktop-por[100358]: Error reading events from display: Broken pipe
May 04 13:23:15 axion systemd[814]: xdg-desktop-portal-gtk.service: Main process exited, code=exited, status=1/FAILURE
vaxerski commented 1 year ago

is that a hl issue

primalmotion commented 1 year ago

same issue with hyprland portal

May 04 13:23:15 axion xdg-desktop-portal-hyprland[114249]: 2023/05/04 13:23:15 [ERROR] - wayland: failed to connect to display
May 04 13:23:15 axion systemd[814]: xdg-desktop-portal-hyprland.service: Main process exited, code=exited, status=1/FAILURE
May 04 13:23:15 axion systemd[814]: xdg-desktop-portal-hyprland.service: Failed with result 'exit-code'.
May 04 13:23:15 axion systemd[814]: Failed to start Portal service (Hyprland implementation).
primalmotion commented 1 year ago

I'm not sure. I start these services with systemd, and it works fine after boot. not so fine later on. technically, it should be the same as when hyprland stops, I'm dropped back at my tty

Avimitin commented 1 year ago

I get same issue like this for waybar and wpaperd. I ran this two program using systemd-run to have better resource control, but they will always fail when hyprland is boot up at first time.

Here is my config:

exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemd-run --user --unit=fcitx5-hypr fcitx5
exec-once = systemd-run --user --unit=waybar-hypr waybar
exec-once = systemd-run --user --unit=polkit-hypr /usr/lib/polkit-kde-authentication-agent-1
exec-once = systemd-run --user --unit=wpaperd-hypr wpaperd --no-daemon

And here is the log:

$ journalctl --user -u waybar-hypr
...
Oct 08 18:39:43 waybar[1044]: Error reading events from display: Broken pipe
Oct 08 18:39:43 systemd[910]: waybar-hypr.service: Main process exited, code=exited, status=1/FAILURE
Oct 08 18:39:43 systemd[910]: waybar-hypr.service: Failed with result 'exit-code'.
$ journalctl --user -u wpaperd-hypr
Oct 08 17:24:53 systemd[910]: Started .nix-profile/bin/wpaperd --no-daemon.
Oct 08 18:39:43 wpaperd[1047]: Io error: Broken pipe (os error 32)
Oct 08 18:39:43 wpaperd[1047]: ERROR [wpaperd]
Oct 08 18:39:43 wpaperd[1047]:    0: dispatching the event loop
Oct 08 18:39:43 wpaperd[1047]:    1: other error during loop operation
Oct 08 18:39:43 wpaperd[1047]:    2: underlying IO error
Oct 08 18:39:43 wpaperd[1047]:    3: Broken pipe (os error 32)
Oct 08 18:39:43 wpaperd[1047]: Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Oct 08 18:39:43 wpaperd[1047]: Run with RUST_BACKTRACE=full to include source snippets.
Oct 08 18:39:43 wpaperd[1047]: Error:
Oct 08 18:39:43 wpaperd[1047]:    0: dispatching the event loop
Oct 08 18:39:43 wpaperd[1047]:    1: other error during loop operation
Oct 08 18:39:43 wpaperd[1047]:    2: underlying IO error
Oct 08 18:39:43 wpaperd[1047]:    3: Broken pipe (os error 32)
Oct 08 18:39:43 wpaperd[1047]: Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Oct 08 18:39:43 wpaperd[1047]: Run with RUST_BACKTRACE=full to include source snippets.
Oct 08 18:39:43 systemd[910]: wpaperd-hypr.service: Main process exited, code=exited, status=1/FAILURE
Oct 08 18:39:43 systemd[910]: wpaperd-hypr.service: Failed with result 'exit-code'.

But they can run successfully after I get into hyprland.

Avimitin commented 1 year ago

Also found that this error is not reproducible every time, so I think there are some race condition here.