Manjaro user for half a year now. Pleasantly surpised with this OS! , though it did took quite some configuring to get my games running properly on my Strix laptop with AMD CPU & GPU, running HW-accelerated games on an external monitor without DRI_PRIME=1 (in the end, simply removing the amdgpu drivers fixed everything). I enjoyed carefree gaming for a few weeks, but now after this 2023- 01-24 update, many games (Blizzard and on Steam) did not start anymore… Bummer
I dived into journalctl and came across this whenever a crashing game wanted to start:
jan 26 00:11:02 Strix plasmashell[15940]: NIR validation failed after spirv_to_nir
jan 26 00:11:02 Strix plasmashell[15940]: 2 errors:
jan 26 00:11:02 Strix plasmashell[15940]: shader: MESA_SHADER_COMPUTE
Followed by a complete dump of vulkan shader code/logic.
But also the actual error being reported twice, being:
jan 26 00:11:02 Strix plasmashell[15940]: error: nir_dest_bit_size(instr->dest) == util_format_get_blocksizebits(format) (../mesa-22.3.3/src/compiler/nir/nir_validate.c:741)
This error never appeared in the journal before the upgrade. So my hunch was to downgrade everything related with mesa/vulkan (from v22.3.3-2) to the previous version (v22.3.1-1) and reboot. This gave some graphic troubles, being: the system running only in software rendering mode and no signal on my external monitor anymore.
In pacman I also came across the ‘spirv-tools’ and ‘spirv-llvm-translator’ packages, which struck a chord with me, since ‘spirv’ was what the shader error was about. So I downgraded those two as well, these packages complained that they depended on llvm-14, so I also downgraded the whole llvm suite (from v15.0.7-1) to the previous version (v14.0.6-1).
This gave the problem that the newer Qt packages depended on the newer llvm-suite. So I also downgraded everything Qt5 and Qt6 related (from v5.15.8) to the previous version (v5.15.7).
This finally seemed to do the trick. No glitches, all my applications still work and I can play games again. The system seems stable for the past 2 days
For completeness though, I also downgraded ‘shiboken6’ whose version (v6.4.2-5) depended on ‘clang’ v15.0.7, which I had just downgraded. And since the description and version numbers match, I guess ‘pyside6’ goes along with ‘shiboken6’, so I downgraded that one as well, for stability’s sake…
Anyways, TL;DR:
The stable update broke the run-time shader compilation on my system and I had to revert the following upgrades to keep things working as they did before:
Downgraded / Reverted
---------------------
upgraded vulkan-intel (22.3.1-1 -> 22.3.3-3)
upgraded mesa-vdpau (22.3.1-1 -> 22.3.3-3)
upgraded libva-mesa-driver (22.3.1-1 -> 22.3.3-3)
upgraded lib32-vulkan-radeon (22.3.1-1 -> 22.3.3-2)
upgraded vulkan-radeon (22.3.1-1 -> 22.3.3-3)
upgraded lib32-vulkan-mesa-layers (22.3.1-1 -> 22.3.3-2)
upgraded vulkan-mesa-layers (22.3.1-1 -> 22.3.3-3)
upgraded lib32-vulkan-intel (22.3.1-1 -> 22.3.3-2)
upgraded lib32-opencl-mesa (22.3.1-1 -> 22.3.3-2)
upgraded opencl-mesa (22.3.1-1 -> 22.3.3-3)
upgraded lib32-mesa-vdpau (22.3.1-1 -> 22.3.3-2)
upgraded lib32-libva-mesa-driver (22.3.1-1 -> 22.3.3-2)
upgraded lib32-mesa (22.3.1-1 -> 22.3.3-2)
upgraded mesa (22.3.1-1 -> 22.3.3-3)
upgraded llvm (14.0.6-4 -> 15.0.7-1)
upgraded llvm-libs (14.0.6-4 -> 15.0.7-1)
upgraded lib32-llvm-libs (14.0.6-3 -> 15.0.7-1)
upgraded lldb (14.0.6-1 -> 15.0.7-1)
upgraded lib32-clang (14.0.6-2 -> 15.0.7-1)
upgraded libclc (14.0.6-1 -> 15.0.7-1)
upgraded compiler-rt (14.0.6-1 -> 15.0.7-1)
upgraded clang (14.0.6-4 -> 15.0.7-1)
upgraded shiboken6 (6.4.1-2 -> 6.4.2-5) # v6.4.2-5 depends on clang v15.0.7
upgraded pyside6 (6.4.1-2 -> 6.4.2-5) # Seems tightly connected to shiboken6, better keep versions aligned.
upgraded qt5-virtualkeyboard (5.15.7-1 -> 5.15.8-1)
upgraded qt5-imageformats (5.15.7+kde+r6-2 -> 5.15.8+kde+r9-1)
upgraded qt5-sensors (5.15.7-1 -> 5.15.8-1)
upgraded qt5-tools (5.15.7+kde+r1-2 -> 5.15.8+kde+r1-3)
upgraded qt5-webengine (5.15.11-3 -> 5.15.12-2)
upgraded qt5-location (5.15.7+kde+r3-1 -> 5.15.8+kde+r3-1)
upgraded qt5-webchannel (5.15.7+kde+r3-1 -> 5.15.8+kde+r3-1)
upgraded qt5-graphicaleffects (5.15.7-1 -> 5.15.8-1)
upgraded qt5-quickcontrols2 (5.15.7+kde+r7-1 -> 5.15.8+kde+r7-1)
upgraded qt5-quickcontrols (5.15.7-1 -> 5.15.8-1)
upgraded qt5-speech (5.15.7+kde+r1-1 -> 5.15.8+kde+r1-1)
upgraded qt5-multimedia (5.15.7+kde+r1-1 -> 5.15.8+kde+r1-1)
upgraded qt5-wayland (5.15.7+kde+r58-1 -> 5.15.8+kde+r57-1)
upgraded qt5-declarative (5.15.7+kde+r25-1 -> 5.15.8+kde+r24-2)
upgraded qt5-svg (5.15.7+kde+r9-1 -> 5.15.8+kde+r8-1)
upgraded qt5-x11extras (5.15.7-1 -> 5.15.8-1)
upgraded qt5-base (5.15.7+kde+r177-1 -> 5.15.8+kde+r174-1)
upgraded qt5-translations (5.15.7-1 -> 5.15.8-1)
upgraded qt6-declarative (6.4.1-1 -> 6.4.2-1)
upgraded qt6-base (6.4.1-1 -> 6.4.2-1)
upgraded qt6-translations (6.4.1-1 -> 6.4.2-1)
How to deal with this in the future, once other upgrades get released? I can imagine that at some points, package versions start to differ to much and things get unstable. But for now, I’m not going to upgrade anything which updates any of these above packages (which is troublesome in the long end, since I’m a C++ developer and I like to keep the LLVM suite up-to-date).