[GH-ISSUE #291] Fixing LibrePods Crash with Kvantum on Hyprland / Qt6 #136

Open
opened 2026-03-02 12:03:55 +03:00 by kerem · 1 comment
Owner

Originally created by @Lodvald on GitHub (Nov 20, 2025).
Original GitHub issue: https://github.com/kavishdevar/librepods/issues/291

Problem:

LibrePods (and other QtQuick/Qt6 apps) crash on Wayland when the environment variable in the main config file:

QT_STYLE_OVERRIDE=kvantum

is set globaly.

Symptoms:

-Segmentation fault or QML load failure:

QQmlApplicationEngine failed to load component
qrc:/linux/Main.qml: module "kvantum" is not installed

-Works fine on some systems (tested on Desktop) but crashes on others (laptop) all running the same set ups and with the same packages installed.

Root Cause

Kvantum is a style engine for QtWidgets (Qt5/Qt6 QWidget apps) only.
QtQuick Controls 6 (used by LibrePods) does NOT support Kvantum as far as my testing goes.
When QT_STYLE_OVERRIDE is set globally, QtQuick apps try to use Kvantum and crash.
Systems differ because some may silently ignore the override (desktop), while others try to load it (laptop) and fail throwing the error (see symptoms).

Solution (so far)

1) Disable global Kvantum override

In your Hyprland config file (hyprland.conf is usually in /home/your_username/.config/hypr/) comment out the QT style override:

# env = QT_STYLE_OVERRIDE=kvantum

This lets LibrePods and all the other QML apps still work and load properly and kvantum will still be applied to other Qt5 Qwidgets apps if you lanch them manually or maybe by making a wrapper for them

These are the conclusions i got to after testing on my machines, if something is wrong or you find more about this issue pleease be sure to add to the discussion!

Originally created by @Lodvald on GitHub (Nov 20, 2025). Original GitHub issue: https://github.com/kavishdevar/librepods/issues/291 ### Problem: LibrePods (and other QtQuick/Qt6 apps) crash on Wayland when the environment variable in the main config file: `QT_STYLE_OVERRIDE=kvantum` is set globaly. ### Symptoms: -Segmentation fault or QML load failure: ``` QQmlApplicationEngine failed to load component qrc:/linux/Main.qml: module "kvantum" is not installed ``` -Works fine on some systems (tested on Desktop) but crashes on others (laptop) all running the same set ups and with the same packages installed. ### Root Cause Kvantum is a style engine for QtWidgets (Qt5/Qt6 QWidget apps) only. QtQuick Controls 6 (used by LibrePods) does NOT support Kvantum as far as my testing goes. When QT_STYLE_OVERRIDE is set globally, QtQuick apps try to use Kvantum and crash. Systems differ because some may silently ignore the override (desktop), while others try to load it (laptop) and fail throwing the error (see symptoms). ### Solution (so far) ### 1) Disable global Kvantum override In your Hyprland config file (hyprland.conf is usually in /home/your_username/.config/hypr/) comment out the QT style override: `# env = QT_STYLE_OVERRIDE=kvantum` This lets LibrePods and all the other QML apps still work and load properly and kvantum will still be applied to other Qt5 Qwidgets apps if you lanch them manually or maybe by making a wrapper for them These are the conclusions i got to after testing on my machines, if something is wrong or you find more about this issue pleease be sure to add to the discussion!
Author
Owner

@kavishdevar commented on GitHub (Nov 20, 2025):

I am moving away from QT, I am not experienced with QT and the maintainer didn't have time. (among other reasons ofc,like QBluetooth limitation as described in linux README). Please use #241 (download the latest build from actions). Most of the existing features and configs have been ported there.

Leaving this open in case anyone insists on using the old app.

<!-- gh-comment-id:3559933945 --> @kavishdevar commented on GitHub (Nov 20, 2025): I am moving away from QT, I am not experienced with QT and the maintainer didn't have time. (among other reasons ofc,like QBluetooth limitation as described in linux README). Please use #241 (download the latest build from actions). Most of the existing features and configs have been ported there. Leaving this open in case anyone insists on using the old app.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librepods#136
No description provided.