Bug 355246 - (Regression in Kubuntu 15.10) Plasmashell UI (only display!) freezes after seconds if OpenGL compositor is used
Summary: (Regression in Kubuntu 15.10) Plasmashell UI (only display!) freezes after se...
Status: RESOLVED DUPLICATE of bug 338150
Alias: None
Product: kwin
Classification: Plasma
Component: scene-opengl (show other bugs)
Version: 5.4.3
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-12 14:37 UTC by Gunter Ohrner
Modified: 2015-11-12 21:30 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Xorg log (27.89 KB, text/x-log)
2015-11-12 14:38 UTC, Gunter Ohrner
Details
Using Xrender-based compositor: qdbus org.kde.KWin /KWin supportInformation > supportInformation_xrender.txt (5.00 KB, text/plain)
2015-11-12 15:32 UTC, Gunter Ohrner
Details
Using OpenGL 3.1-based compositor: qdbus org.kde.KWin /KWin supportInformation > supportInformation_opengl_3.1.txt (6.27 KB, text/plain)
2015-11-12 15:33 UTC, Gunter Ohrner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gunter Ohrner 2015-11-12 14:37:25 UTC
I observe a pretty annoying and at the same time pretty astonishing behaviour since I upgraded from Kubuntu 15.04 with Plasma 5.4.3 packages (from Kubuntu KDE CI Stable repositories) to Kubuntu 15.10 with Plasma 5.4.3 packages from Kubuntu PPA backports.

Since the upgrade, the Plasma Desktop Shell's UI seems to freeze after seconds if I'm using the OpenGL 2 or 3.1 compositor drivers. This means that the clock widget's seconds hand will stop and the clock will not update any more; also the systray applet or the window list won't update any more.

However, autohiding panels still work and will hide and re-appear as expected, albeit with outdated / frozen contents. Apparently only the UI is frozen, as eg. right-clicking the systray still brings up the popup menus, although sometimes for the wrong systray applet if apparently the systray's contents changed which is not reflected by the frozen GUI. Interestingly, also mouse hover tooltips still work and can be used to detect which applet actually occupies what position in the systray... The same holds for the window list which also contains frozen contents but still works fine if clicked - you only cannot tell what window you'll activate after the window list changes internally, or you'll also have to use the mouser hover tooltips with the window screenshots here.

All other windows keep updating fine and Alt-Tab and Alt-F2 (krunner) also work flawlessly.

Probably even more annoying is that this freeze also affects the session lock screen and often it's not possible to unlock the screen any more after it got locked. (Well, it probably gets unlocked if you manage to type in the correct password blindly, but the screen won't update to reflect this.)

Disabling the compositor using Alt-F12 or switching the compositor to XRender using the control center immediately unfreezes the GUI. (I've not tried so far with the lockscreen, at least not successfully.)

The reverse also works, ie. after turning OpenGL compositing back on by switching from Xrender in the control settings or using Alt-F12, I can see the clock's seconds hand continue moving for very few seconds, sometimes already skipping some steps, and then it freezes reliably, normally within the first three to five seconds or less...

I do not have the slightest idea which component or setting might cause such behaviour and how to get rid of it (besides using the Xrender compositor which will not provide any transparent panels or 3D effects).

Could it be a problem introduced with a new Xorg or Intel video driver version, or is it more likely to be a problem within KDE, kwin or plasmashell itself? Or maybe some plasma widget which blocks the painter thread or process? (but only with the OpenGL compositor? Mh...)

Does anyone have any idea?

$ uname -a
Linux Zweiblum 4.2.0-18-generic #22-Ubuntu SMP Fri Nov 6 18:25:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ lspci 
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
$ dpkg -l | egrep intel
ii  intel-gpu-tools                                             1.11-1                                      amd64        tools for debugging the Intel graphics driver
ii  intel-microcode                                             3.20150121.1                                amd64        Processor microcode firmware for Intel CPUs
ii  libdrm-intel1:amd64                                         2.4.64-1                                    amd64        Userspace interface to intel-specific kernel DRM services -- runtime
ii  libdrm-intel1:i386                                          2.4.64-1                                    i386         Userspace interface to intel-specific kernel DRM services -- runtime
ii  whois                                                       5.2.10                                      amd64        intelligent WHOIS client
ii  xserver-xorg-video-intel                                    2:2.99.917+git20150808-0ubuntu4             amd64        X.Org X server -- Intel i8xx, i9xx display driver
$ dpkg -l | egrep xorg 
ii  python-xkit                                                 0.5.0ubuntu2                                all          library for the manipulation of xorg.conf files (Python 2)
ii  python3-xkit                                                0.5.0ubuntu2                                all          library for the manipulation of xorg.conf files (Python 3)
ii  xorg                                                        1:7.7+7ubuntu4                              amd64        X.Org X Window System
ii  xorg-docs-core                                              1:1.7.1-0ubuntu1                            all          Core documentation for the X.org X Window System
ii  xorg-sgml-doctools                                          1:1.11-1                                    all          Common tools for building X.Org SGML documentation
ii  xserver-xorg                                                1:7.7+7ubuntu4                              amd64        X.Org X server
ii  xserver-xorg-core                                           2:1.17.2-1ubuntu9                           amd64        Xorg X server - core server
ii  xserver-xorg-input-evdev                                    1:2.9.2-1ubuntu1                            amd64        X.Org X server -- evdev input driver
ii  xserver-xorg-input-mouse                                    1:1.9.1-1                                   amd64        X.Org X server -- mouse input driver
ii  xserver-xorg-input-synaptics                                1.8.2-1ubuntu1                              amd64        Synaptics TouchPad driver for X.Org server
ii  xserver-xorg-input-wacom                                    1:0.30.0-0ubuntu3                           amd64        X.Org X server -- Wacom input driver
ii  xserver-xorg-video-fbdev                                    1:0.4.4-1build3                             amd64        X.Org X server -- fbdev display driver
ii  xserver-xorg-video-intel                                    2:2.99.917+git20150808-0ubuntu4             amd64        X.Org X server -- Intel i8xx, i9xx display driver
ii  xserver-xorg-video-vesa                                     1:2.3.4-0ubuntu1                            amd64        X.Org X server -- VESA display driver
$ dpkg -l | egrep plasma
ii  kdeconnect-plasma                                           0.0+git20150810-0ubuntu1                    amd64        connect smartphones to your KDE Plasma desktop
ii  kdeplasma-addons-data                                       4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           all          locale files for kdeplasma-addons
ii  libkdeclarative5                                            4:4.14.13-0ubuntu1                          amd64        declarative library for plasma
ii  libkf5plasma5:amd64                                         5.15.0-0ubuntu1                             amd64        Plasma Runtime components
ii  libkf5plasmaquick5:amd64                                    5.15.0-0ubuntu1                             amd64        Plasma Runtime components
ii  libplasma-geolocation-interface5                            4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        Plasma Workspace for KF5 library
ii  libplasma3                                                  4:4.14.13-0ubuntu1                          amd64        Plasma Library for the KDE Platform
ri  libsmokeplasma3                                             4:4.14.2-0ubuntu4                           amd64        Plasma SMOKE library
ii  plasma-dataengines-addons                                   4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        additional data engines for Plasma
ii  plasma-desktop                                              4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        Tools and widgets for the desktop
ii  plasma-desktop-data                                         4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           all          Tools and widgets for the desktop data files
ii  plasma-framework                                            5.15.0-0ubuntu1                             amd64        Plasma Runtime components
ii  plasma-nm                                                   4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        Plasma5 networkmanager library.
ii  plasma-pa                                                   4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        Plasma 5 Volume controller
ii  plasma-runners-addons                                       4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        additional runners for Plasma 5 and Krunner
ii  plasma-scriptengine-javascript                              4:15.08.2-0ubuntu1                          amd64        JavaScript script engine for Plasma
ri  plasma-scriptengine-superkaramba                            4:15.08.2-0ubuntu1                          amd64        SuperKaramba theme support for the Plasma Workspaces
ii  plasma-wallpapers-addons                                    4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        additional wallpaper plugins for Plasma 5
ii  plasma-widget-folderview                                    4:15.08.2-0ubuntu1                          amd64        plasma widget showing the content of a folder
ii  plasma-widget-kimpanel                                      4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        KIMPanel widget for Plasma
ii  plasma-widget-message-indicator                             0.5.8-3                                     amd64        Plasma widget to display message indicators
ii  plasma-widgets-addons                                       4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        additional widgets for Plasma 5
ii  plasma-workspace                                            4:5.4.3-0ubuntu1~ubuntu15.10~ppa1           amd64        Plasma Workspace for KF5
ri  ruby-plasma                                                 4:4.14.2-0ubuntu4                           amd64        Plasma Ruby bindings


Reproducible: Always
Comment 1 Gunter Ohrner 2015-11-12 14:38:04 UTC
Created attachment 95466 [details]
Xorg log
Comment 2 Thomas Lübking 2015-11-12 15:03:09 UTC
Please attach the ouput of "qdbus org.kde.KWin /KWin supportInformation"
This would be more like a bug in plasmashell than in kwin (does suspending the compositor revive plasmashell updates?) but ultimately is likely indeed in the driver.
Comment 3 Gunter Ohrner 2015-11-12 15:32:43 UTC
Created attachment 95467 [details]
Using Xrender-based compositor: qdbus org.kde.KWin /KWin supportInformation > supportInformation_xrender.txt
Comment 4 Gunter Ohrner 2015-11-12 15:33:18 UTC
Created attachment 95468 [details]
Using OpenGL 3.1-based compositor: qdbus org.kde.KWin /KWin supportInformation > supportInformation_opengl_3.1.txt
Comment 5 Gunter Ohrner 2015-11-12 15:35:10 UTC
(In reply to Thomas Lübking from comment #2)
> Please attach the ouput of "qdbus org.kde.KWin /KWin supportInformation"
> This would be more like a bug in plasmashell than in kwin (does suspending
> the compositor revive plasmashell updates?) but ultimately is likely indeed
> in the driver.

If I suspend the compositor using Alt-F12, plasmashell immediately updates again, yes. (At least if I'm on the Desktop, I've not yet been successful with this in the frozen lock screen, but I'm also not sure if I really successfully managed to unlock the session in this case.)
Comment 6 Thomas Lübking 2015-11-12 15:36:41 UTC
> OpenGL platform interface: EGL

Try glx or enable dri3, likely bug #338150
Comment 7 Gunter Ohrner 2015-11-12 18:39:20 UTC
(In reply to Thomas Lübking from comment #6)
> > OpenGL platform interface: EGL
> Try glx or enable dri3, likely bug #338150

Yes, seems to help! DRI3 is not available in the selection box, but GLX is, and with GLX the GUI does not stall / freeze.

Interestingly I did not (actively) change anything concerning this setting on my upgrade, so it worked fine with EGL in Plasma 5.4.3 under Kubuntu 15.04 and just started to fail after the upgrade to 15.10.

Due to this I've not yet tagged this bug as a duplicate of #338150, but feel free to do so if you consider it to be one.
Comment 8 Thomas Lübking 2015-11-12 21:30:42 UTC
DRI level can not be configured for clients, it's a setting of the X11 driver.
See https://bugs.kde.org/show_bug.cgi?id=338150#c10 (you don't need a complete xorg.conf but can use an include in eg. /etc/X11/xorg.conf.d/20-intel.conf)

This may be triggered by an update of the intel driver / mesa.

I'll tag this as dupe; if you can deny the DRI3 solution, please feel free to re-open it.

*** This bug has been marked as a duplicate of bug 338150 ***