SDDM and KWin permanently broken after changing compositor settings

Hello,

I’m currently experiencing some issues with SDDM and KWin breaking after making a change to my compositor settings in the KDE Settings Panel (ksystemsettings5). Recently, I tried changing the “Scale method” menu option to see how it would look. Changing this option used to work without issue before (on an old Radeon HD 5670), but this time around, after clicking “Apply”, KWin immediately stopped drawing all window decorations, panels, or the desktop background/icons, and all open windows started to behave erratically, leaving rendering artifacts all over. After rebooting in an attempt to clear it up, SDDM now shows a solid white screen, and when I do login and start KDE, the same behavior from before persists. This leaves the KDE desktop in an unusable state, since I now just have a mouse cursor moving around in a solid black void.

I’m still able to use a different display manger such as LightDM and a different WM such as IceWM; this issue seems to exclusively affect SDDM and KDE. When I do manage to login with a different DM/WM, I’m able to access the KDE Settings Panel, but the panels for changing the desktop theme or DM theme only show a solid black box in the settings window (most–not all–other panels still work for some reason). I don’t believe it’s due to faulty GPU drivers, since I tried running some Unigine GPU benchmarks in an IceWM session and they still render properly.

System info that may be relevant:

  • openSUSE Tumbleweed AMD64
  • GPU: Radeon RX 560
  • Kernel 4.15.0-1-default
  • “amdgpu.dc=1” kernel option enabled in GRUB boot loader settings
  • KDE Plasma 5.11.95, KDE Frameworks 5.42.0, Qt 5.10.0
  • sddm 0.17.0-1.1, kcm-sddm 5.11.95-1.1
  • Mesa 18.0.0-785.1

Fixes I’ve tried so far that failed:

  • Rebooting (cold and warm reboots), logging out/in, restarting X via Ctrl+Alt+Backspace (multiple times, no effect)
  • Starting KDE via LightDM (doesn’t help, KDE still behaves the same)
  • sudo systemctl kill sddm.service (this just causes the screen to flicker wildly across all virtual terminals until I reboot)
  • Killing/restarting plasmashell via command line (it comes back still broken)
  • Changing SDDM theme via /etc/sddm.conf (no effect; all themes show a solid white screen)
  • sddm-greeter --test-mode (also shows a solid white screen, regardless of theme)
  • Changing KDE desktop theme via ~/.kde4/share/config/plasmarc (no effect; desktop still broken, it even seems to ignore the theme setting in plasmarc)
  • Changing SDDM or KDE themes via KDE Settings Panel (I can’t even try this now because these two settings panels don’t render anymore)
  • Enabling/disabling compositor on startup (tried it both ways, no effect; I had this enabled at the time)
  • Changing the compositor rendering backend (tried both OpenGL options and XRender, no effect; I was using OpenGL 3.1 at the time)
  • Reverting to the option I had before for “Scale method” that caused all this (no effect)
  • zypper dup to bring everything up-to-date (didn’t help)

Install KDM from the repos, change your display manager to that. Or, try XDM.

After switching to KDM via update-alternatives (the DM setting in /etc/sysconfig/displaymanger is ignored it seems) and restarting, the issue with KDE still persists. For some reason, it lists 4 different options for KDE in the sessions menu; I tried all 4 for good measure and all gave me the same broken desktop, even the “failsafe” KDE session. I then tried XDM with KDE still set as the default session, and again KDE behaved the same as before.

On a side note, I’m also noticing that “init 3 && init 5” to restart the DM just leaves it sitting on a blinking terminal cursor with every DM I’ve tried; I’m not sure what’s up there, but I just reboot when I change the DM to work around it.

Sorry to hear that. At the moment, my only suggestion is the display manager switch that unfortunately does not work in your case.

However, just wait awhile, there are others here who probably can help you.

It’s probably this bug in Mesa 18:
https://bugzilla.opensuse.org/show_bug.cgi?id=1079465
https://bugs.freedesktop.org/show_bug.cgi?id=104762

It should help to delete the user’s .cache folder (/var/lib/sddm/.cache/ for sddm).
There are also testing packages with a fix offered in the openSUSE bug report.

Btw, Changing the compositor settings in Plasma has absolutely no effect on sddm.
sddm runs outside the user session and is completely independent from the user’s settings (and there is no window manager/compositor on the login screen anyway).

Got a white screen instead of sddm. Deleted /var/lib/sddm/.cache/ and rebooted. Now I have the login screen displaying several users. I can login to user default but logging in to user karl displays a black screen only. Any idea?

You need to delete /home/karl/.cache/ too.

A fix should be in the next snapshot though. (but AIUI, you’d still need to delete the caches)

Thanks, this hint helped solve a white screen instead of the login on Tumbelweed. I logged in but the the desktop theme didn’t load and i got a black screen. I then deleted the local .cache directory and everything worked as it should.

PS: The fixed package should actually be in the Update repo meanwhile, so please update your system to prevent that from happening again.

Confirmed here.

Confirmed:


erlangen:~ # zypper se --installed-only -r http://download.opensuse.org/update/tumbleweed/ Mesa
Loading repository data...
Reading installed packages...

S  | Name                 | Summary                                            | Type   
---+----------------------+----------------------------------------------------+--------
i+ | Mesa                 | System for rendering 3-D graphics                  | package
i+ | Mesa-32bit           | System for rendering 3-D graphics                  | package
i  | Mesa-dri             | DRI plug-ins for 3D acceleration                   | package
i  | Mesa-dri-32bit       | DRI plug-ins for 3D acceleration                   | package
i+ | Mesa-dri-nouveau     | Mesa DRI plug-in for 3D acceleration via Nouveau   | package
i  | Mesa-gallium         | Mesa Gallium GPU drivers                           | package
i  | Mesa-gallium-32bit   | Mesa Gallium GPU drivers                           | package
i+ | Mesa-libEGL1         | EGL API implementation                             | package
i+ | Mesa-libEGL1-32bit   | EGL API implementation                             | package
i+ | Mesa-libGL1          | The GL/GLX runtime of the Mesa 3D graphics library | package
i+ | Mesa-libGL1-32bit    | The GL/GLX runtime of the Mesa 3D graphics library | package
i+ | Mesa-libGLESv2-2     | OpenGL|ES 2.x API implementation                   | package
i+ | Mesa-libglapi0       | Free implementation of the GL API                  | package
i+ | Mesa-libglapi0-32bit | Free implementation of the GL API                  | package
i+ | Mesa-libva           | Mesa VA-API implementation                         | package
i  | libOSMesa8           | Mesa Off-screen rendering extension                | package
erlangen:~ # 

That mesa update broke my SDDM as well, I rolled back before the update, then removed the .cache files as advised here. Then I did the zypper dup again and all seems ok.

Thanks

Just tried updating Mesa then deleting /var/lib/sddm/.cache and ~/.cache followed by a reboot. This has fixed my errant SDDM and KDE desktop. Thanks!