Taskbar icons "disappear"

I’m running plasma 6.0.4 on arch. It was working on plasma 6, but then this happened: If you hover your mouse over an icon in the taskbar, the image of the icon “slides” to the left. The first icon you “disappear” slides on top of the “Application” icon. Subsequent icons seem to slide under that first icon that slid to the left. However, the area on the taskbar where the icon was is still clickable. If you hover over the blank spot, you get the popup for the app. If you click on the blank spot, you will bring up the window for that icon. The system tray icons too.

3 Likes

I’ve fixed it. Edit ~/.config/kdeglobals and add the stanza:

[QtQuickRendererSettings]
RenderLoop=basic
SceneGraphBackend=opengl

5 Likes

Thanks, this helped me a treat. Not sure why this is necessary though, maybe it’s a NVIDIA driver issue?

I’m running a Quadro M1000 with driver version 550.78 with LKV 5.10.216

Thank you.

I just installed Linux yesterday and had this same issue. Taskbar icons & tray items all went invisible and stacked up in the top left corner of the taskbar.

This fixed it for me.

I wanted to start my work day today and the same thing happened to me. I tried everything, even a kernel downgrade. Your fix helped me a lot. Thank you!

1 Like

Thank you, this fixed it for me too.

Here is a video recording of the glitch (cant put a link in my post).

Hopefully this shows how disrupting this is to working with the system and something can be done to “fix” this bug. Thanks in advance.

Update on this. While these three lines from sarastro in post #2 fixed the icons issue for me I started to see crashes from all kinds of things. When opening Windows button, some of the pop-up menu elements from the system tray (Volume control etc.), notifications. These crashes occured sporadically.

Removed the entire QtQuickRendererSettings and now everything seems to work fine again. Second monitor and everything.

1 Like

Many thanks.
I was also having problems with programs crashing and otherwise behaving badly when resizing or repositioning and this fix appears to have solved that as well.
I had to reboot for it to work.
Fedora 40 KDE Plasma 6.1.3 Graphics = BONAIRE
So not just a Nvidia issue.

I now feel safe upgrading my accountant.

thanks a lot! it worked for me. i am using kde plasma 6.1.3 and nvidia driver 555.58.02 on archlinux (garuda linux distro)

Thanks from me too. I had the same issue. It started randomly today. Plasma 6.1.4, Arch, NVIDIA GeForce GTX 1660 Ti Mobile, nvidia 555.58.02-13.
Now not only the bug is gone, but animations are much smoother. Instead of 3-4 frames for an maximize window animation, it now goes really smooth.

i’ve been having this issue for weeks, i’ve tried everything. i made an alias to open the qt quick settings so i can change it from software to opengl or automatic whenever it messes up, then i restart plasmashell to have it not be in software mode. removing the qtquick settings from kde globals only works if i restart plasma shell, it just adds/forces it into software mode when i reboot and then i have the icon issue. i tried making sure to start nvidia driver earlier in the boot than plasmashell and it didnt solve my issue

EndeavourOS, Plasma 6.1.5, Frameworks Version 6.60, X11, Nvidia 3060Ti with driver version 560.35.03-6.

i should also note it’s persisted through several updates of all of them (driver, plasma, frameworks, kernel, etc). both in x11 and wayland

edit: months, not weeks

Thanks this workt for me except that some icons where broken after reboot so had to change icon pack, the first fix didnt work at all in my case.

Lenzelot
Removed the entire QtQuickRendererSettings and now everything seems to work fine again. Second monitor and everything.

You can also change this setting in a GUI by running

kcmshell6 qtquicksettings

Instead of hard-coding it to OpenGL, I changed both settings (Rendering Backend and Render Loop) to “automatic”. This fixed the issue for me! Thanks for the suggestion.

I’d guess that this is the root cause: If Plasma encounters an error while initializing OpenGL, it sets the rendering backend to software. I can’t include links in my post, but it’s in shell/main.cpp in the KDE/plasma_workspace repo:

QObject::connect(corona, &ShellCorona::glInitializationFailed, &app, [&app]() {
    // scene graphs errors come from a thread
    // even though we process them in the main thread, app.exit could still process these events
    static bool s_multipleInvokations = false;
    if (s_multipleInvokations) {
        return;
    }
    s_multipleInvokations = true;

    qCritical("Open GL context could not be created");
    auto configGroup = KSharedConfig::openConfig()->group(QStringLiteral("QtQuickRendererSettings"));
    if (configGroup.readEntry("SceneGraphBackend") != QLatin1String("software")) {
        configGroup.writeEntry("SceneGraphBackend", "software", KConfigBase::Global | KConfigBase::Persistent);
        configGroup.sync();

so if the graphics driver does something weird, it’ll revert to software rendering until you change this setting back to automatic (or force it to OpenGL or Vulkan).

I don’t see any code that reverts it back to automatic mode - the diff that added the code (D11722) explicitly says that it permanently changes to software mode. IMO, ideally a fallback to software mode would only persist for the current session, and it should switch back to automatic afterwards.