Bug 391902

Summary: [r600g] kwin not starts with OpenGL ES on RV730
Product: [Plasma] kwin Reporter: Eugene <ken20001>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version First Reported In: 5.12.3   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Eugene 2018-03-15 22:47:41 UTC
After upgrading to Kubunt 18.04 I found kwin fails to start with OpenGL ES:

$ KWIN_COMPOSE=O2ES kwin_x11 --replace               
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::setWindow: Painter not active
QPainter::setClipRect: Painter not active
QPainter::save: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::setPen: Painter not active
QPainter::setBrush: Painter not active
QPainter::setClipRect: Painter not active
QPainter::drawRects: Painter not active
QPainter::restore: Unbalanced save/restore
QPainter::save: Painter not active
QPainter::setRenderHint: Painter must be active to set rendering hints
QPainter::setBrush: Painter not active
QPainter::setPen: Painter not active
QPainter::drawRects: Painter not active
QPainter::restore: Unbalanced save/restore
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
kf5.kcoreaddons.desktopparser: Property type "Url" is not a known QVariant type. Found while parsing property definition for "X-KWin-Video-Url" in "/usr/share/kservicetypes5/kwineffect.desktop"
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1502, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1504, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1505, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1506, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1507, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1508, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1512, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1514, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1515, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1516, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1517, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1518, resource id: 0, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1539, resource id: 73400348, major code: 3 (GetWindowAttributes), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1540, resource id: 73400348, major code: 14 (GetGeometry), minor code: 0
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
BlurConfig::instance called after the first use - ignoring
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
BlurConfig::instance called after the first use - ignoring
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2105, resource id: 73400392, major code: 18 (ChangeProperty), minor code: 0
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
BlurConfig::instance called after the first use - ignoring
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2497, resource id: 73400412, major code: 18 (ChangeProperty), minor code: 0
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
BlurConfig::instance called after the first use - ignoring
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2888, resource id: 73400432, major code: 18 (ChangeProperty), minor code: 0
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
BlurConfig::instance called after the first use - ignoring
QXcbConnection: XCB error: 3 (BadWindow), sequence: 3279, resource id: 73400452, major code: 18 (ChangeProperty), minor code: 0
OpenGL vendor string:                   X.Org
OpenGL renderer string:                 AMD RV730 (DRM 2.50.0 / 4.15.0-12-generic, LLVM 5.0.1)
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 R600G
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.0
X server version:                       1.19.6
Linux kernel version:                   4.15
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no


Additional info:

$ glxinfo | grep -i version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Version: 18.0.0
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.0-rc4
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.0.0-rc4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

The appropriate bug on freedesktop.org: https://bugs.freedesktop.org/show_bug.cgi?id=105352
Comment 1 Martin Flöser 2018-03-16 05:10:26 UTC
Please try normal OpenGL
Comment 2 Eugene 2018-03-16 20:02:01 UTC
(In reply to Martin Flöser from comment #1)
> Please try normal OpenGL

I am now on normal OpenGL. But OpenGL would be much better.
Comment 3 Eugene 2018-03-16 20:02:30 UTC
I meant OpenGL ES would be better.
Comment 4 Martin Flöser 2018-03-17 05:16:36 UTC
(In reply to Eugene from comment #3)
> I meant OpenGL ES would be better.

Why? You have a desktop GPU, why would you want to use goes.
Comment 5 Eugene 2018-03-17 16:28:33 UTC
(In reply to Martin Flöser from comment #4)
> (In reply to Eugene from comment #3)
> > I meant OpenGL ES would be better.
> 
> Why? You have a desktop GPU, why would you want to use goes.

Because OpenGL ES is much faster on my old hardware.
Comment 6 Martin Flöser 2018-03-17 20:07:48 UTC
(In reply to Eugene from comment #5)
> (In reply to Martin Flöser from comment #4)
> > (In reply to Eugene from comment #3)
> > > I meant OpenGL ES would be better.
> > 
> > Why? You have a desktop GPU, why would you want to use goes.
> 
> Because OpenGL ES is much faster on my old hardware.

Sorry, but that doesn't make any sense. In KWin it's the identical code path to OpenGL 2.0. Furthermore we use QtQuick which defaults to OpenGL. So you have a mixture of both. It doesn't make any sense to use gles on a desktop. Give a try to regular gl.
Comment 7 Eugene 2019-06-09 00:53:18 UTC
Works well in Kubuntu 19.04.