Created attachment 164165 [details] screenshot SUMMARY If an app has a badge, its icon doesn't appear. Appears to have something to do with changes to shader infrastructure in Qt 6. Screenshot attached. STEPS TO REPRODUCE 1. Open an app which can have a badge. 2. Make it get a badge somehow. 3. Check the task manager. SOFTWARE/OS VERSIONS Operating System: Fedora Linux 39 KDE Plasma Version: 5.90.90 KDE Frameworks Version: 5.247.0 Qt Version: 6.6.0 Kernel Version: 6.5.11-300.fc39.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 5625U with Radeon Graphics Memory: 7.1 GiB of RAM Graphics Processor: AMD Radeon Graphics
From plasmashell: Failed to find shader ":/qt/qml/org/kde/graphicaleffects/:/shaders/badge.frag.qsb" ShaderEffect: Failed to deserialize QShader from :/qt/qml/org/kde/graphicaleffects/:/shaders/badge.frag.qsb. Either the filename is incorrect, or it is not a valid .qsb file. In Qt 6 shaders must be preprocessed using the Qt Shader Tools infrastructure. The vertexShader and fragmentShader properties are now URLs that are expected to point to .qsb files generated by the qsb tool. See https://doc.qt.io/qt-6/qtshadertools-index.html for more information. ShaderEffect: shader preparation failed for qrc:/qt/qml/org/kde/graphicaleffects/:/shaders/badge.frag.qsb
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kdeclarative/-/merge_requests/226
Git commit 282928cd17deb976769d9be81734df97a01f81c0 by Bharadwaj Raju. Committed on 14/12/2023 at 18:14. Pushed by ngraham into branch 'master'. Fix badge effect The path to the QSB file was wrong (needed to specify qrc:), and the fragment shader had a name mismatch with the vertex output (see https://doc.qt.io/qt-6/qml-qtquick-shadereffect.html#having-one-shader-only) M +1 -1 src/qmlcontrols/graphicaleffects/BadgeEffect.qml M +2 -2 src/qmlcontrols/graphicaleffects/badge.frag https://invent.kde.org/frameworks/kdeclarative/-/commit/282928cd17deb976769d9be81734df97a01f81c0