Good day everyone,
As stated, I need assistance with some (not all) applications causing my system (in Hyprland) to freeze. After the freeze starts, I am NOT able to drop into a tty (Ctrl + Alt + F4/F#) either and need to hard reboot.
Some additional context:
About 2 years ago, I stalled openSUSE TW with Kde Plasma. Since then I installed (and removed) GNOME, i3, Sway and the past 2 months I have been on-and-off of Hyprland (considering Linux is moving to wayland).
Due to the xv backdoor, I was forced to re-install my system.
NOTE:: All applications (via openSUSE/opi repo’s or flatpak) WORKED and DID NOT cause my system/Hyprland to freeze, this only started POST fresh install.
Using the (Kde) Live install, for a few personal reasons, I decided to NOT install a full DE, but rather the “generic desktop” install (ice_wm get’s installed).
I wanted to “build my own DE/environment” using Hyprland.
This brings me to my current situation:
Some applications causes my system/Hyprland to completely freeze.
I cannot say what the cause is, because Firefox (installed via openSUSE repo) works flawlessly.
However, trying to open YaST (GUI - not CLI) or Spotify (using Flatpak) (including other distro or flatpak apps) causes my system to freeze when in Hyprland.
This does NOT happen when in ice_wm.
I did follow the Hyprland master tutorial for the “must have”.
Notification daemon
dunst
pipewire and wireplumber is installed
XDG Desktop portal - I have all of the following installed:
xdg-desktop-portal
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
xdg-desktop-portal-wlr
$ zypper se xdg-desktop-portal
Reading installed packages...
S | Name | Summary | Type
---+-------------------------------+-----------------------------------+--------
i | xdg-desktop-portal | A portal frontend service for F-> | package
| xdg-desktop-portal-devel | A portal frontend service for F-> | package
| xdg-desktop-portal-gnome | A backend implementation for xd-> | package
| xdg-desktop-portal-gnome-lang | Translations for package xdg-de-> | package
i | xdg-desktop-portal-gtk | Backend implementation for xdg--> | package
i | xdg-desktop-portal-gtk-lang | Translations for package xdg-de-> | package
i+ | xdg-desktop-portal-hyprland | Extended xdg-desktop-portal bac-> | package
| xdg-desktop-portal-kde6 | QT/KF6 backend for xdg-desktop--> | package
| xdg-desktop-portal-kde6-lang | Translations for package xdg-de-> | package
i | xdg-desktop-portal-lang | Translations for package xdg-de-> | package
| xdg-desktop-portal-lxqt | A backend implementation for xd-> | package
i+ | xdg-desktop-portal-wlr | An xdg-desktop-portal backend f-> | package
Status of each portal:
Portal:
$ 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 2024-04-11 11:39:32 SAST; 28min ago
Main PID: 5872 (xdg-desktop-por)
Tasks: 5 (limit: 4915)
CPU: 82ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/xdg-desktop-portal.service
└─5872 /usr/libexec/xdg-desktop-portal
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: The preferred method to match portal implementations to desktop environments is to use the portals.conf(5) configuration file
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.AppChooser as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.Print as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.Notification as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.Inhibit as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.Access as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.Account as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.Email as a last-resort fallback
Apr 11 11:39:32 openSUSE xdg-desktop-por[5872]: Choosing gtk.portal for org.freedesktop.impl.portal.DynamicLauncher as a last-resort fallback
Apr 11 11:39:32 openSUSE systemd[5651]: Started Portal service.
Portal-GTK:
$ systemctl --user status xdg-desktop-portal-gtk
● xdg-desktop-portal-gtk.service - Portal service (GTK/GNOME implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-gtk.service; static)
Active: active (running) since Thu 2024-04-11 11:39:32 SAST; 30min ago
Main PID: 5884 (xdg-desktop-por)
Tasks: 4 (limit: 4915)
CPU: 158ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/xdg-desktop-portal-gtk.service
└─5884 /usr/libexec/xdg-desktop-portal-gtk
Apr 11 11:39:32 openSUSE systemd[5651]: Starting Portal service (GTK/GNOME implementation)...
Apr 11 11:39:32 openSUSE systemd[5651]: Started Portal service (GTK/GNOME implementation).
Portal-Hyprland:
$ 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)
Apr 11 11:16:20 openSUSE systemd[1479]: Starting Portal service (Hyprland implementation)...
Apr 11 11:16:20 openSUSE systemd[1479]: Started Portal service (Hyprland implementation).
Apr 11 11:38:43 openSUSE systemd[1479]: Stopped Portal service (Hyprland implementation).
Apr 11 11:38:54 openSUSE systemd[5268]: Starting Portal service (Hyprland implementation)...
Apr 11 11:38:54 openSUSE systemd[5268]: Started Portal service (Hyprland implementation).
Apr 11 11:39:00 openSUSE systemd[5268]: Stopped Portal service (Hyprland implementation).
Apr 11 12:11:16 openSUSE systemd[5651]: Portal service (Hyprland implementation) was skipped because of an unmet condition check (ConditionEnvironment=WAYLAND_DISPLAY).
$ systemctl --user start xdg-desktop-portal-hyprland
$ 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: active (running) since Thu 2024-04-11 12:14:53 SAST; 1s ago
Main PID: 7606 (xdg-desktop-por)
Tasks: 4 (limit: 4915)
CPU: 17ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/xdg-desktop-portal-hyprland.service
└─7606 /usr/libexec/xdg-desktop-portal-hyprland
Apr 11 12:14:53 openSUSE systemd[5651]: Starting Portal service (Hyprland implementation)...
Apr 11 12:14:53 openSUSE systemd[5651]: Started Portal service (Hyprland implementation).
Portal-Wlr:
$ systemctl --user status xdg-desktop-portal-wlr
○ xdg-desktop-portal-wlr.service - Portal service (wlroots implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-wlr.service; static)
Active: inactive (dead)
Apr 11 12:12:39 openSUSE systemd[5651]: Portal service (wlroots implementation) was skipped because of an unmet condition check (ConditionEnvironment=WAYLAND_DISPLAY).
systemctl --user start xdg-desktop-portal-wlr
systemctl --user status xdg-desktop-portal-wlr
● xdg-desktop-portal-wlr.service - Portal service (wlroots implementation)
Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-wlr.service; static)
Active: active (running) since Thu 2024-04-11 12:16:26 SAST; 1s ago
Main PID: 7659 (xdg-desktop-por)
Tasks: 2 (limit: 4915)
CPU: 14ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/xdg-desktop-portal-wlr.service
└─7659 /usr/libexec/xdg-desktop-portal-wlr
Apr 11 12:16:26 openSUSE systemd[5651]: Starting Portal service (wlroots implementation)...
Apr 11 12:16:26 openSUSE systemd[5651]: Started Portal service (wlroots implementation).
Authentication Agent:
I have the following installed:
polkit
polkit-kde-agent-6
polkit-gnome
Reading installed packages...
S | Name | Summary | Type
---+-----------------------------+-------------------------------------------------------------+--------
| connman-plugin-polkit | PolicyKit plugin for connman | package
| deepin-daemon-polkit | Deepin daemon polkit profiles | package
| deepin-file-manager-polkit | Deepin File polkit profiles | package
| deepin-polkit-agent | Deepin Polkit Agent | package
| deepin-polkit-agent-devel | Development package for deepin-polkit-agent | package
| deepin-polkit-agent-lang | Translations for package deepin-polkit-agent | package
i | libpolkit-agent-1-0 | PolicyKit Authorization Framework -- Agent Library | package
| libpolkit-agent-1-0-32bit | PolicyKit Authorization Framework -- Agent Library | package
i | libpolkit-gobject-1-0 | PolicyKit Authorization Framework -- GObject Library | package
| libpolkit-gobject-1-0-32bit | PolicyKit Authorization Framework -- GObject Library | package
i | libpolkit-qt5-1-1 | PolicyKit Library Qt Bindings | package
| libpolkit-qt5-1-devel | PolicyKit Library Qt Bindings | package
i | libpolkit-qt6-1-1 | PolicyKit Library Qt Bindings | package
| libpolkit-qt6-1-devel | PolicyKit Library Qt Bindings | package
| mate-polkit | MATE authentification agent for polkit | package
| mate-polkit-lang | Translations for package mate-polkit | package
i | polkit | PolicyKit Authorization Framework | package
i | polkit-default-privs | SUSE PolicyKit default permissions | package
| polkit-devel | Development files for PolicyKit | package
| polkit-doc | Development documentation for PolicyKit | package
i | polkit-gnome | PolicyKit integration for the GNOME desktop | package
i | polkit-gnome-lang | Translations for package polkit-gnome | package
i+ | polkit-kde-agent-6 | PolicyKit authentication agent for Plasma | package
i | polkit-kde-agent-6-lang | Translations for package polkit-kde-agent-6 | package
i | typelib-1_0-Polkit-1_0 | PolicyKit Authorization Framework -- Introspection bindings | package
Status of polkit:
$ systemctl status polkit.service
● polkit.service - Authorization Manager
Loaded: loaded (/usr/lib/systemd/system/polkit.service; static)
Active: active (running) since Thu 2024-04-11 11:16:03 SAST; 1h 5min ago
Docs: man:polkit(8)
Main PID: 1074 (polkitd)
Tasks: 4 (limit: 4915)
CPU: 534ms
CGroup: /system.slice/polkit.service
└─1074 /usr/libexec/polkit-1/polkitd --no-debug
Apr 11 11:16:03 openSUSE polkitd[1074]: Acquired the name org.freedesktop.PolicyKit1 on the system bus
Apr 11 12:12:46 openSUSE polkitd[1074]: Registered Authentication Agent for unix-process:7218:341072 (system bus name :1.110 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit>
Apr 11 12:12:50 openSUSE polkitd[1074]: Operator of unix-process:7218:341072 successfully authenticated as unix-user:root to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-unit-files for>
Apr 11 12:12:50 openSUSE polkitd[1074]: Unregistered Authentication Agent for unix-process:7218:341072 (system bus name :1.110, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.UTF-8) (d>
Apr 11 12:13:03 openSUSE polkitd[1074]: Registered Authentication Agent for unix-process:7234:342727 (system bus name :1.113 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit>
Apr 11 12:13:05 openSUSE polkitd[1074]: Operator of unix-process:7234:342727 successfully authenticated as unix-user:root to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-units for syst>
Apr 11 12:13:05 openSUSE polkitd[1074]: Unregistered Authentication Agent for unix-process:7234:342727 (system bus name :1.113, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.UTF-8) (d>
Apr 11 12:21:16 openSUSE polkitd[1074]: Registered Authentication Agent for unix-process:7769:392036 (system bus name :1.131 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit>
Apr 11 12:21:19 openSUSE polkitd[1074]: Operator of unix-process:7769:392036 successfully authenticated as unix-user:root to gain TEMPORARY authorization for action org.freedesktop.systemd1.reload-daemon for sys>
Apr 11 12:21:20 openSUSE polkitd[1074]: Unregistered Authentication Agent for unix-process:7769:392036 (system bus name :1.131, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.UTF-8) (d
Qt6-wayland is installed as well
In addition to the above (I can’t replicate it anymore due to system freeze) but I was able to see Brave browser (via flatpak) give the following error:
Missing X server or $DISPLAY
Hyprland crash report states this:
[libseat] [libseat/backend/logind.c:317] Could not activate session: Interactive authentication required.
[libseat] [libseat/libseat.c:79] No backend was able to open a seat
[backend/session/session.c:83] Unable to create seat: Function not implemented
[backend/session/session.c:248] Failed to load session backend
[backend/backend.c:78] Failed to start a session
[backend/backend.c:406] Failed to start a DRM session
[CRITICAL] m_sWLRBackend was NULL! This usually means wlroots could not find a GPU or enountered some issues.
[CRITICAL] Critical error thrown: wlr_backend_autocreate() failed!
I am currently at a loss, cause as mentioned this all worked, BEFORE a fresh install, so I don’t think it’s Hyprland or openSUSE issue, but rather something missing?
Any help to resolve this will be greatly appreciated.