Bug 357376

Summary: cannot use OpenGL or compositing for desktop effects-- insists on XRender
Product: [Plasma] kwin Reporter: Bill Oliver <vendor>
Component: compositingAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: normal CC: m00nraker, rdieter
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Screenshot of System Settings

Description Bill Oliver 2015-12-31 22:56:52 UTC
Configuration:  HP Envy, Intel i7, Intel HD 530 graphics, Fedora 23
uname -a: Linux localhost.localdomain 4.2.8-300.fc23.x86_64 #1 SMP Tue Dec 15 16:49:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
KDE plasma desktop 5.5.0-4 f23

Problem:

I can't turn on Desktop Cube animation.  The option isn't shown.  When go to system settings and look at the compositor, it says "XRender" and it goes back to that if I choose something the OpenGL renderers. 

If I set KWIN_COMPOSE to 0, nothing changes.  If I set it to Q, I can get the choice of OpenGL to stay after I choose it, but behavior doesn't change, and when I reboot, it goes back to XRender with the following error message (with KWIN_COMPOSE set to Q, and OpenGL chosen at shutdown):



Dec 30 21:20:18 localhost org.kde.kglobalaccel: Could not find drkonqi at /usr/libexec/drkonqi
Dec 30 21:20:18 localhost org.kde.kglobalaccel: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Dec 30 21:20:19 localhost xinit: QDBusConnection: name 'org.kde.kglobalaccel' had owner '' but we thought it was ':1.7'
Dec 30 21:20:19 localhost xinit: OpenGL vendor string:                   VMware, Inc.
Dec 30 21:20:19 localhost xinit: OpenGL renderer string:                 Gallium 0.4 on llvmpipe (LLVM 3.7, 256 bits)
Dec 30 21:20:19 localhost xinit: OpenGL version string:                  2.1 Mesa 11.0.3 (git-b4bfea0)
Dec 30 21:20:19 localhost xinit: OpenGL shading language version string: 1.30
Dec 30 21:20:19 localhost xinit: Driver:                                 LLVMpipe
Dec 30 21:20:19 localhost xinit: GPU class:                              Unknown
Dec 30 21:20:19 localhost xinit: OpenGL version:                         2.1
Dec 30 21:20:19 localhost xinit: GLSL version:                           1.30
Dec 30 21:20:19 localhost xinit: Mesa version:                           11.0.3
Dec 30 21:20:19 localhost xinit: Linux kernel version:                   4.2.3
Dec 30 21:20:19 localhost xinit: Requires strict binding:                yes
Dec 30 21:20:19 localhost xinit: GLSL shaders:                           yes
Dec 30 21:20:19 localhost xinit: Texture NPOT support:                   yes
Dec 30 21:20:19 localhost xinit: Virtual Machine:                        no
Dec 30 21:20:19 localhost xinit: kwin_core: OpenGL driver recommends XRender based compositing. Falling back to XRender.
Dec 30 21:20:19 localhost xinit: kwin_core: To overwrite the detection use the environment variable KWIN_COMPOSE
Dec 30 21:20:19 localhost xinit: kwin_core: For more information see http://community.kde.org/KWin/Environment_Variables#KWIN_COMPOSE
Dec 30 21:20:19 localhost xinit: kwin_core: Failed to initialize compositing, compositing disabled
Dec 30 21:20:19 localhost xinit: QXcbConnection: XCB error: 3 (BadWindow), sequence: 660, resource id: 64, major code: 3 (GetWindowAttributes), minor code: 0
Dec 30 21:20:19 localhost xinit: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 661, resource id: 64, major code: 14 (GetGeometry), minor code: 0
:


Dec 30 21:20:18 localhost org.kde.kglobalaccel: Could not find drkonqi at /usr/libexec/drkonqi
Dec 30 21:20:18 localhost org.kde.kglobalaccel: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Dec 30 21:20:19 localhost xinit: QDBusConnection: name 'org.kde.kglobalaccel' had owner '' but we thought it was ':1.7'
Dec 30 21:20:19 localhost xinit: OpenGL vendor string:                   VMware, Inc.
Dec 30 21:20:19 localhost xinit: OpenGL renderer string:                 Gallium 0.4 on llvmpipe (LLVM 3.7, 256 bits)
Dec 30 21:20:19 localhost xinit: OpenGL version string:                  2.1 Mesa 11.0.3 (git-b4bfea0)
Dec 30 21:20:19 localhost xinit: OpenGL shading language version string: 1.30
Dec 30 21:20:19 localhost xinit: Driver:                                 LLVMpipe
Dec 30 21:20:19 localhost xinit: GPU class:                              Unknown
Dec 30 21:20:19 localhost xinit: OpenGL version:                         2.1
Dec 30 21:20:19 localhost xinit: GLSL version:                           1.30
Dec 30 21:20:19 localhost xinit: Mesa version:                           11.0.3
Dec 30 21:20:19 localhost xinit: Linux kernel version:                   4.2.3
Dec 30 21:20:19 localhost xinit: Requires strict binding:                yes
Dec 30 21:20:19 localhost xinit: GLSL shaders:                           yes
Dec 30 21:20:19 localhost xinit: Texture NPOT support:                   yes
Dec 30 21:20:19 localhost xinit: Virtual Machine:                        no
Dec 30 21:20:19 localhost xinit: kwin_core: OpenGL driver recommends XRender based compositing. Falling back to XRender.
Dec 30 21:20:19 localhost xinit: kwin_core: To overwrite the detection use the environment variable KWIN_COMPOSE
Dec 30 21:20:19 localhost xinit: kwin_core: For more information see http://community.kde.org/KWin/Environment_Variables#KWIN_COMPOSE
Dec 30 21:20:19 localhost xinit: kwin_core: Failed to initialize compositing, compositing disabled
Dec 30 21:20:19 localhost xinit: QXcbConnection: XCB error: 3 (BadWindow), sequence: 660, resource id: 64, major code: 3 (GetWindowAttributes), minor code: 0
Dec 30 21:20:19 localhost xinit: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 661, resource id: 64, major code: 14 (GetGeometry), minor code: 0


Reproducible: Always

Steps to Reproduce:
1.Boot up
2.Choose OpenGL compositor
3.Close System Settings
4. Reopen System Settings -- back to XRender

Actual Results:  
What I've already written

Expected Results:  
I'd like OpenGL and the infamous cube with compositing
Comment 1 Rex Dieter 2016-01-01 16:35:25 UTC
Are you logging in as root?  If so, try a regular user instead.

How are you logging in, sddm ?  some other method?  (if not using sddm, please try that)
Comment 2 Rex Dieter 2016-01-01 16:37:45 UTC
And please post the output from:

qdbus org.kde.KWin /KWin supportInformation
Comment 3 Bill Oliver 2016-01-01 18:06:09 UTC
Created attachment 96400 [details]
Screenshot of System Settings
Comment 4 Bill Oliver 2016-01-01 18:09:46 UTC
(In reply to Rex Dieter from comment #2)
> And please post the output from:
> 
> qdbus org.kde.KWin /KWin supportInformation

It looks like my attachment was successfully submitted, but not my reply.  So here it is again, sorry.


I'm logging in as a user (oliver).

I'm using sddm.  Here's a ps:

[oliver@localhost ~]$ ps -ef | grep sddm
root      1586     1  0 12:57 ?        00:00:00 /usr/bin/sddm
root      1639  1586  2 12:57 tty1     00:00:16 /usr/libexec/Xorg -nolisten tcp -auth /var/run/sddm/{01a460a0-5d1c-4171-b175-f2ef106f49cd} -background none -noreset -displayfd 16 vt1
sddm      1794     1  0 12:57 ?        00:00:00 /usr/lib/systemd/systemd --user
sddm      1804  1794  0 12:57 ?        00:00:00 (sd-pam)
sddm      1907     1  0 12:57 ?        00:00:00 dbus-launch --autolaunch 553f147c2d3e4d75b8afb475ad9a1fc2 --binary-syntax --close-stderr
sddm      1909     1  0 12:57 ?        00:00:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
root      1943  1586  0 12:58 ?        00:00:00 /usr/libexec/sddm-helper --socket /tmp/sddm-authdc359e7f-e0ad-4ad6-87e0-956784cb9fe1 --id 1 --start /usr/bin/startkde --user oliver



Here's the qdbus:
qdbus org.kde.KWin /KWin supportInformation
KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 5.5.0
Qt Version: 5.5.1
Qt compile version: 5.5.1
XCB compile version: 1.11.1

Operation Mode: X11 only

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_INPUT: yes
HAVE_DRM: yes
HAVE_GBM: yes
HAVE_X11_XCB: yes
HAVE_EPOXY_GLX: yes
HAVE_WAYLAND_EGL: yes

X11
===
Vendor: Fedora Project
Vendor Release: 11800000
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Blur: 0
onAllDesktopsAvailable: true
alphaChannelSupported: false
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 3
gridUnit: 10
font: Noto Sans,10,-1,0,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 10

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 4
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
unredirectFullscreen: false
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: true
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: true
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 97
glPlatformInterface: 1

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: true
cursorPushBackDistance: 1x1
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 1

Screen 0:
---------
Name: default
Geometry: 0,0,1920x1080
Refresh Rate: 77


Compositing
===========
Compositing is not active

Thanks!

billo
Comment 5 Bill Oliver 2016-01-01 18:14:08 UTC
By the way, I apologize for not using the paste service.  I didn't even see the instruction until I posted the reply.  Next time I'll know better.  If you actually want the paste service url, it's https://paste.kde.org/pxbilj2e8

But, anyway, next time you ask for information, I'll read the damn instructions...

billo
Comment 6 Bill Oliver 2016-01-06 23:11:32 UTC
As an aside, I ran Mint 17.3 from a USB stick, and the desktop effects work with KDE 4 (I think it was 4.3)
Comment 7 m00nraker 2016-03-02 21:56:35 UTC
Hi.

I can confirm this. Since Plasma 5.x I run into quite the same problems. My NVidia graphics adapter initializes fine and is working, but I cannot activate compositing for desktop effects. You can see it in Bill Olivers config. that compositing in his plasmashell is set to not active.

My system:

openSUSE Leap 42.1 (x64) (updated from OBS repos)
KDE Plasma Version 5.5.5 (OBS repo)
Qt: 5.5.1
Graphics Adapter: NVidia Geforce Go 7950 GTX
NVidia-Driver: current 304.131 from nvidia-repository

Nouveau is disabled (blacklisted)

uname -a output:
Linux linux-gss9.suse 4.1.15-8-default #1 SMP PREEMPT Wed Jan 20 16:41:00 UTC 2016 (0e3b3ab) x86_64 x86_64 x86_64 GNU/Linux

rpm -qa | grep -i nvidia
nvidia-gfxG02-kmp-default-304.131_k4.1.12_1-38.1.x86_64
nvidia-computeG02-304.131-39.1.x86_64
x11-video-nvidiaG02-304.131-39.1.x86_64

NVidia initializes fine and is working.

In Plasma Systemsettings/Display/Compositor:
Enable Compositor on startup (checked)
Rendering Backend: OpenGL 2.0
OpenGL interface: GLX

qdbus org.kde.KWin /KWin supportInformation
https://paste.kde.org/pg1ped3w4/kaatmd

You can see, that the compositor is not active.

I also use sddm:

rpm -qa | grep sddm
kcm_sddm-lang-5.5.5-49.1.noarch
sddm-0.13.0-58.16.x86_64
sddm-branding-openSUSE-0.13.0-58.16.x86_64
kcm_sddm-5.5.5-49.1.x86_64

rpm -qa | grep -i mesa
Mesa-libGL1-11.0.8-137.1.x86_64
Mesa-libva-11.1.2-133.1.x86_64
Mesa-libEGL1-32bit-11.0.8-137.1.x86_64
Mesa-libGL-devel-11.0.8-137.1.x86_64
Mesa-libglapi0-11.0.8-137.1.x86_64
Mesa-libEGL1-11.0.8-137.1.x86_64
Mesa-demo-x-8.2.0-4.4.x86_64
Mesa-libGL1-32bit-11.0.8-137.1.x86_64
Mesa-11.0.8-137.1.x86_64
Mesa-libEGL-devel-11.0.8-137.1.x86_64
Mesa-libglapi0-32bit-11.0.8-137.1.x86_64
Mesa-libGLESv2-2-11.0.8-137.1.x86_64
Mesa-32bit-11.0.8-137.1.x86_64

I have this compositing-not-active problem since Plasma 5.x. No problems with compositing with KDE SC 4.x.

My Plasma desktop feels so slow without compositing. I can switch over to using xrender. But thats not an option, its too slow. I would like to get back desktop effects via OpenGL.

Expected results: active compositing with OpenGL 2.0

Any idea or workaround?
Comment 8 m00nraker 2016-03-02 22:06:39 UTC
(In reply to m00nraker from comment #7)
> qdbus org.kde.KWin /KWin supportInformation
> https://paste.kde.org/pg1ped3w4/kaatmd
> 
Sorry, I've added a password and forgot it. New paste of my config:

qdbus org.kde.KWin /KWin supportInformation

https://paste.kde.org/peft8eimj
Comment 9 m00nraker 2016-03-03 09:54:15 UTC
After I studied some other bug reports, here some additional informations:

Shell-Output from "kwin_x11 --replace" from a running plasma5 desktop:

QXcbConnection: XCB error: 8 (BadMatch), sequence: 1157, resource id: 113246213, major code: 42 (SetInputFocus), minor code: 0
OpenGL vendor string:                   NVIDIA Corporation
OpenGL renderer string:                 GeForce Go 7950 GTX/PCIe/SSE2
OpenGL version string:                  2.1.2 NVIDIA 304.131
OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
Driver:                                 NVIDIA
Driver version:                         304.131
GPU class:                              NV40/G70
OpenGL version:                         2.1.2
GLSL version:                           1.20
X server version:                       1.17.2
Linux kernel version:                   4.1.15
Requires strict binding:                no
GLSL shaders:                           limited
Texture NPOT support:                   yes
Virtual Machine:                        no
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 1, 0, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 1, 0, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 1, 0, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 1, 0, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(1, 0, 0, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 1, 0, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 0, 1, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(1, 1, 1, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.44882, 0.14882, 0.14882, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.50064, 0.80064, 0.50064, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.05054, 0.05054, 0.35054, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(1, 1, 1, 1)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.3, 0, 0, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 0.4, 0, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0, 0, 0.5, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.3, 0.4, 0.5, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.134646, 0.044646, 0.044646, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.200256, 0.320256, 0.200256, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.02527, 0.02527, 0.17527, 0.6)
Pixel was QVector4D(0, 0, 0, 0) expected QVector4D(0.360172, 0.390172, 0.420172, 0.6)
kwin_core: ShaderManager self test failed
kwin_core: Failed to initialize compositing, compositing disabled
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1298, resource id: 579, major code: 3 (GetWindowAttributes), minor code: 0
QXcbConnection: XCB error: 9 (BadDrawable), sequence: 1299, resource id: 579, major code: 14 (GetGeometry), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1937, resource id: 123731969, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1941, resource id: 123731970, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2275, resource id: 123731969, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2283, resource id: 31457288, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2745, resource id: 123731968, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2749, resource id: 123731969, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 3243, resource id: 35651588, major code: 15 (QueryTree), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 3847, resource id: 35651597, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 4568, resource id: 35651597, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 4609, resource id: 123731972, major code: 15 (QueryTree), minor code: 0

glxinfo output:
https://paste.kde.org/ptbsvexvf

In Plasma-Systemsettings: Switching from OpenGL GLX to OpenGL EGL doesn't seem to work with my NVidia.  Scale method is set to smooth. Pressing Shift+Alt+F12 doesn't have any effect. kwin_x11 --replace doesn't change anything. 

kwin_core: Failed to initialize compositing, compositing disabled

Can it be, that compositing support for my NVidia 7950 GTX (G70) has been dropped? Or is it a bug?

Please help.
Comment 10 Martin Flöser 2016-03-03 14:10:12 UTC
This bug report contains two different issues which need to be separated. @m00nraker you are facing a different problem, please open a new bug report.

@Bill Oliver: your system reports the usage of llvmpipe. That's the software rasterizer - a fallback for no working OpenGL driver. KWin doesn't support compositing on that because it would be done on CPU. Please check with your distribution how to install the proper driver for your system.

There is no bug in our software, though. The fallback to XRender in case of llvmpipe is the expected behavior.