Bug 326264

Summary: Need to change composition type (OpenGL version) every session to get rid of tearing
Product: [Plasma] kwin Reporter: Alicia Boya García (ntrrgc) <ntrrgc>
Component: scene-openglAssignee: KWin default assignee <kwin-bugs-null>
Severity: normal    
Priority: NOR    
Version: 4.11.2   
Target Milestone: ---   
Platform: Archlinux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Alicia Boya García (ntrrgc) 2013-10-19 14:30:10 UTC
Yesterday I updated to KDE 4.11. I noticed huge horrid video tearing in KWin (more horrid than before).

After a while, I looked at the settings of KWin in systemsettings and saw there was a new composition type, "OpenGL 3.1". Wonderful, after years, the tearing went off! (or so it seems)

Then I rebooted. Tearing came back. Less than before, but it was there and it was pretty noticeable, specially when moving in Firefox with cursor keys. I did set KWin back to OpenGL 2.0 and then to OpenGL 3.1, and the tearing went off again.

I also noticed if I change from OpenGL 3.1 to OpenGL 2.0 it works too. It seems that I need to change the OpenGL version on every session. It does not matter which version I choose, but I have to change it in order to get rid of video tearing.
Comment 1 Thomas Lübking 2013-10-19 17:40:23 UTC
Nvidia GPU?
See bug #322060
There was a problem detecting triple buffering during startup, but that should be fixed.

Please ensure that triple buffering is enabled at all (/var/log/Xorg.0.log)
If it's not, please either enable it or export the yielding strategy.

If it is and you're sure to have 4.11.2, please run "kdebugdialog --fullmode", enable kwin (1212) and redirect the debug messages into some file (so we can see the output on triple buffering determination)

If it is *not* on nvidia, please attach the output of "qdbus org.kde.kwin /KWin supportInformation"
Comment 2 Alicia Boya García (ntrrgc) 2013-10-19 20:30:03 UTC
I added the TripleBuffer option and then it worked fine without tricks. Thanks :D

I read in the ArchLinux wiki TripleBuffer is enabled by default. Maybe it is not true?
Comment 3 Thomas Lübking 2013-10-19 20:39:09 UTC
Not for the nvidia blob:
(vsync != triple buffering)

You should however not be able to "trick" the system into (expensive) syncing.

Can you try disabling triple buffering again, re-login (ie. cause tearing), alter compositing ("fix" tearing), wait a minute (500 repaints to be more precise - move a window around, alt+tab or activate present windows or something. On constant 60fps repaints 500 frames =~ 8.3 secs) and dump the output of

   qdbus org.kde.kwin /KWin supportInformation

thanks in advance ;-)

*** This bug has been marked as a duplicate of bug 322060 ***
Comment 4 Alicia Boya García (ntrrgc) 2013-10-19 20:46:26 UTC
Here it is. http://pastebin.kde.org/pii9bktfs
Comment 5 Thomas Lübking 2013-10-19 21:38:59 UTC

glPreferBufferSwap: 99
Painting blocks for vertical retrace:  no

Something wrong here.
Comment 6 Alicia Boya García (ntrrgc) 2013-10-19 21:39:46 UTC
Should I do something with it?
Comment 7 Thomas Lübking 2013-10-19 21:54:25 UTC
No, but that smells like a bug and i wanted to record it here (pastebin will delete the post at some point)
Comment 8 Alicia Boya García (ntrrgc) 2013-10-19 21:58:56 UTC
Ok, I'm setting TripleBuffer on again then. I don't want to manually change composition type on every session.
Comment 9 Thomas Lübking 2013-10-19 22:05:16 UTC
Yes of course, sorry.
I just wanted to see the state in this condition (i maybe should have hinted that ;-)