QT 5.12 on Ubuntu 20.04 has bugs. What are my options?

I tried it some time ago and there’s multiple things wrong with it:

  1. It is only for amd64, I need more (arm64, armhf, ppc64el)
  2. It forces some QT_QPA_PLATFORMTHEME value: snapcraft/extensions/desktop/kde-neon/launcher-specific at b5138e03e53727347f65b0b1499a02fccd1ef9b4 · canonical/snapcraft · GitHub For instance, this leads to a bad situation with tray icons: if an app detects that current icon theme contains an icon and sets it to a SNI tray icon, users may get a broken icon (since this icon may present in Breeze, but there’s might another theme be used on host, without the icon. This commit says that QT_QPA_PLATFORMTHEME=gtk3 will lead to QGnomeTheme, but it’s wrong, it will use xdgdesktopportal instead: qtbase/src/gui/kernel/qguiapplication.cpp at 5.12 · qt/qtbase · GitHub And xdgdesktopportal doesn’t look for QT_QPA_PLATFORMTHEME value when creating platform integration: qtbase/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp at cafda99d2cf1bc42a5c793b2c2119b14b6b4e762 · qt/qtbase · GitHub On other side, if you remove it, some users will lose ability to open file dialog since Qt doesn’t have any fallback when it uses portal dialogs and xdg-desktop-portal is not a dependency of snapd in most distros.
  3. A problem with svg icon themes: https://forum.snapcraft.io/t/broken-theming-and-missing-icons-on-gtk-file-picker-using-kde-neon-extension
  4. KDE Neon maintainers removing QtWayland private headers, I need them.
  5. It uses core18, I need core20 with newer libraries.
  6. Finally, last time I tried, kde-neon extension used kde-frameworks-5-core18 with Qt 5.12, so there’s no any benefit.

It will disable Wayland completely without ability to enable it for users. snapcraft-desktop-helpers should let Qt (and GTK) decide should it use Wayland or not, so that users will be allowed to override QT_QPA_PLATFORM manually if they want Wayland when Qt thinks that a compositor is incompatible.

1 Like