Created attachment 194426 [details] Video showing the issue when opening Dolphin DESCRIPTION After updating to 26.07.80, Dolphin does not show any icons at all. A workaround is to change the view mode (e.g., form detailed to icons, and then back to detailed). But this has to be done every single time Dolphin is closed. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.7.3 KDE Frameworks Version: 6.28.0 Qt Version: 6.12.0 Kernel Version: 7.1.3-arch2-2 (64-bit) Graphics Platform: Wayland Processors: 24 × AMD Ryzen 9 7900X3D 12-Core Processor Memory: 96 GiB of RAM (93.4 GiB usable) Graphics Processor 1: AMD Radeon RX 7900 XT Graphics Processor 2: AMD Ryzen 9 7900X3D 12-Core Processor Manufacturer: ASUS
To make this bug even more weird... I can only reproduce on my PC, not on my laptop. And both devices are running the exact same version.
I can still reliably reproduce the issue with 26.07.90.
Not sure this is a Dolphin problem... I was going to git bisect but now I observe the same problem on old tagged versions that I know it used to work. Perhaps a Qt 6.12 issue?
Okay, figured out the issue. It's not a Qt/Mesa/kernel regression, it's a Dolphin regression that my particular config happens to trigger. I'll propose a patch. This was introduced in 0f7a9c681c4f7336362bf8a5d1c41f2bc8ed9215.
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/1371
Git commit 3ce18dd17c41969796bdb62d0b7749b502b428a6 by Méven Car, on behalf of Iyán Méndez Veiga. Committed on 07/08/2026 at 10:53. Pushed by meven into branch 'master'. views: Never let the item layout use a zero icon size DolphinItemListView caches the icon size in m_iconSize/m_previewSize, but those members are only ever written by setZoomLevel(), which returns early when the requested zoom level equals the current one. DolphinView:: applyViewProperties() skips the call for the same reason. A freshly constructed view starts with m_zoomLevel == 0 and both cached sizes at 0. Details mode defaults to KIconLoader::SizeSmall, which is zoom level 0, so the requested level matches the initial one, setZoomLevel() is never called and updateGridSize() ends up putting a size of 0 into KItemListStyleOption. KStandardItemListWidget then creates a null pixmap for every item, and since it only refreshes the pixmap cache when the size changes, nothing recovers until the view mode is switched. Fall back to the configured size in updateGridSize() when the cache has not been populated yet, and keep the cache in sync in setZoomLevel() even when the zoom level itself did not change. The latter also covers toggling previews, which switches to the other cache without going through setZoomLevel(). Icons mode is unaffected because its default size maps to zoom level 2, and so is any setup using global view properties, which reads the sizes from the settings directly. M +5 -0 src/tests/CMakeLists.txt A +227 -0 src/tests/dolphinitemlistviewtest.cpp [License: GPL(v2.0+)] M +24 -9 src/views/dolphinitemlistview.cpp M +3 -1 src/views/zoomlevelinfo.h https://invent.kde.org/system/dolphin/-/commit/3ce18dd17c41969796bdb62d0b7749b502b428a6
*** Bug 524501 has been marked as a duplicate of this bug. ***
*** Bug 524525 has been marked as a duplicate of this bug. ***
*** Bug 524563 has been marked as a duplicate of this bug. ***
*** Bug 524578 has been marked as a duplicate of this bug. ***
*** Bug 524638 has been marked as a duplicate of this bug. ***
*** Bug 524633 has been marked as a duplicate of this bug. ***
Git commit 9c652faca2d0230de12397d8d2b2906e1f457c1c by Méven Car. Committed on 23/08/2026 at 13:18. Pushed by meven into branch 'release/26.08'. views: Never let the item layout use a zero icon size DolphinItemListView caches the icon size in m_iconSize/m_previewSize, but those members are only ever written by setZoomLevel(), which returns early when the requested zoom level equals the current one. DolphinView:: applyViewProperties() skips the call for the same reason. A freshly constructed view starts with m_zoomLevel == 0 and both cached sizes at 0. Details mode defaults to KIconLoader::SizeSmall, which is zoom level 0, so the requested level matches the initial one, setZoomLevel() is never called and updateGridSize() ends up putting a size of 0 into KItemListStyleOption. KStandardItemListWidget then creates a null pixmap for every item, and since it only refreshes the pixmap cache when the size changes, nothing recovers until the view mode is switched. Fall back to the configured size in updateGridSize() when the cache has not been populated yet, and keep the cache in sync in setZoomLevel() even when the zoom level itself did not change. The latter also covers toggling previews, which switches to the other cache without going through setZoomLevel(). Icons mode is unaffected because its default size maps to zoom level 2, and so is any setup using global view properties, which reads the sizes from the settings directly. (cherry picked from commit 3ce18dd17c41969796bdb62d0b7749b502b428a6) 16efaefa views: Never let the item layout use a zero icon size 5db1d781 Add unittest Co-authored-by: Iyán Méndez Veiga <me@iyanmv.com> M +5 -0 src/tests/CMakeLists.txt A +227 -0 src/tests/dolphinitemlistviewtest.cpp [License: GPL(v2.0+)] M +24 -9 src/views/dolphinitemlistview.cpp M +3 -1 src/views/zoomlevelinfo.h https://invent.kde.org/system/dolphin/-/commit/9c652faca2d0230de12397d8d2b2906e1f457c1c
*** Bug 524653 has been marked as a duplicate of this bug. ***
*** Bug 524674 has been marked as a duplicate of this bug. ***
*** Bug 524864 has been marked as a duplicate of this bug. ***