Some application causes system/Hyprland to freeze (minimal install)

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.

Also note: I have also installed xwayland and xorg-x11 - But this did NOT resolve the issue either.

Well, Firefox is using GTK and YaST is using Qt (do not about Spotify). This may be the difference.

Thanks for the reply, however I do have Qt6-wayland installed (as per the Hyprland “must have”), but not Qt5 (unavailable).
Could that be the issue?

@4SubZero20 Hi and welcome to the Forum :smile:
I run hyprland but on MicroOS, what is the system gpu (not Nvidia?) have you configured env variables?

Hi @malcolmlewis Thank you very much :smiley:

I am running it on my old desktop system. It is unfortunately using Nvidia.
Nvidia GTX 750 Ti
I have the Nvidia drivers also installed:

$ zypper se nvidia-gl-G06
S  | Name                | Summary                                               | Type
---+---------------------+-------------------------------------------------------+--------
i+ | nvidia-gl-G06       | NVIDIA OpenGL libraries for OpenGL acceleration       | package
i  | nvidia-gl-G06-32bit | 32bit NVIDIA OpenGL libraries for OpenGL acceleration | package

I have the following env variables configured:
~ Some default env vars.
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that

~ Nvidia render settings
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1


This is the same settings I used pre-installation and had no issues with Hyprland, so I don’t want to put unneeded blame on NVIDIA, if it was fine before; That doesn’t mean I could still be missing something.

@4SubZero20 so on Nvidia I have;

# Some default env vars.
env = XCURSOR_SIZE,12
env = GDK_BACKEND,wayland
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
env = QT_QPA_PLATFORM,wayland-egl
env = QT_QPA_PLATFORMTHEME,qt5ct

# For nvidia, see https://wiki.hyprland.org/Nvidia/#how-to-get-hyprland-to-possibly-work-on-nvidia
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = WLR_RENDERER_ALLOW_SOFTWARE,1

The above is on Tumbleweed, but I’m running GNOME. I didn’t do much testing as it was just to see what would work…

@malcolmlewis Thanks for the above.
I tried those settings, but it didn’t work.

Also, I noticed you use qt5ct and mine was qt6ct.
I didn’t have either installed, so I installed both.
Updated my environment vars and tested my system, on both occasions it still freezes.

@4SubZero20 Not really sure, my main Hyprland setup runs on Intel with MicroOS as the base and was a built from a very minimal setup.

What I suggest is switching to a VT with ctrl+alt+F1, login as root user and set the system to multiuser target with systemctl isolate multi-user.target then log out, log in to the same VT as your user and then run Hyprland command to get to the desktop and see how that goes.

That’s how I start my Hyperland, well it’s set to fire up for my user and on VT 1 using seatd.

@malcolmlewis unfortunately no luck.
I was able to do all the commands as stated, however opening a flatpak app (spotify) still freezes Hyprland/my system.

@4SubZero20 so aside from Spotify, it all started up as expected?

@malcolmlewis
Depends what you mean with “all”?
My “desktop”; Hyprland, hyprpaper, waybar, polkit, etc. yes, those all started up as expected.

It’s just when I open certain apps, the whole system freezes.
e.g. Spotify (flatpak), Brave (Flatpak), YaST, etc. causes my system to freeze.

Firefox (openSUSE repo) - Works - No freeze.

I also tried Krusader (openSUSE repo) now. Although it didn’t freeze, it couldn’t open.
Gave me this error:

Could not find the Qt platform plugin "wayland-egl" in ""

I do have wayland-egl installed.

It seems like apps more than my “desktop environment” is giving trouble.

@4SubZero20 are you using Flatseal for flatpaks as I suspect there may be some specific environment tweaks needed.

@malcolmlewis I am not using flatseal at this time.
I did use it, before my re-install.
I plan to install it again, but only after I resolve this system freeze.

@4SubZero20 if you start the spotify flatpak from the command line and disable the hardware gpu with --disable-gpu does that stop the freeze? Or use flatseal to disable…

@malcolmlewis So I got some good news.
I posted over on Reddit as well and received a response that says:
Comment out/remove the following lines:
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia

By commenting them out, NONE of the application are freezing my system.
[I am going to add them back 1-by-1 and see what line causes the freeze].

Spotify and Brave (flatpaks) are now launching.

However, I now have problem where it seems like QT apps, just won’t start (doesn’t cause a freeze) as my YaST and Krusader doesn’t open.
YaST prompts for PW, but then never opens.
Krusader still gives the error above.
I have also installed ‘waynvc’ and ‘xcb’ to try and resolve this, but not working.

This seems like a new issue now.

@malcolmlewis On the above issue.
I removed/commented out the line:
env = QT_QPA_PLATFORM,wayland-egl

And that resulted in Krusader launching.
It’s not only YaST that doesn’t open, but I am working on that.

Thank you for all the assistance today, I really appreciate it.
It looks like my system freeze(s) are over and now I have to iron-out smaller headaches.

Posting the solution, in case anyone else has the same issue.

I had the following 3 entries in my Hyprland.conf file:
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia

I removed them all and added them back one-by-one.
In my case, it was the line:
env = __GLX_VENDOR_LIBRARY_NAME,nvidia

causing the system freeze.
By removing it (commented out), NONE of my apps froze my system.

P.S. It’s only the YaST GUI that doesn’t open (still investigating), but can be accessed via the terminal/cli.

You likely miss some package in the patterns-gnome-gnome_yast (or patterns-kde-kde_yast) or patterns-yast-x11_yast or some of the libyui libraries or the yast2-ycp-ui-bindings package.
Never used hyprland, so I cannot be specific (and don’t know if YaST2 GUI is expected to work there either).

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.