Fixing LibrePods Crash with Kvantum on Hyprland / Qt6
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!
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.