Registered Member
|
I've been struggling with tearing (vsync) on KWin.
I previously had trouble with Cinnamon, but resolved that using the ForceCompositionPipeline in xorg.conf. Nothing I do, however, seems to eliminate tearing in KDE/KWin though. I've found and tried all the possible fixes I could find below (I do not have them all active at the moment) xorg.conf Device Section Option "TripleBuffer" "On" Option "CoolBits" "1" Option "ExactModeTimingsDVI" "True" Screen, Option "metamodes" ForceCompositionPipeline and ForceFullCompositionPipeline /etc/profile.d/Tearing.sh export KWIN_TRIPLE_BUFFER=1 export __GL_YIELD="USLEEP" export CLUTTER_PAINT=disable-clipped-redraws:disable-culling export CLUTTER_VBLANK=True export KWIN_EXPLICIT_SYNC=0 #https://wiki.archlinux.org/index.php/NVIDIA#Vertical_sync_using_TwinView export __GL_SYNC_TO_VBLANK=1 export __GL_SYNC_DISPLAY_DEVICE=DFP-0 export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0 And of course: nVidia X Server Settings VSync KDE's SystemSettings -> Desktop Effects -> Advanced Tab --Compositing type --Qt graphics system --Tearing Prevention Turning compositing on and off (alt-shift-F12) Using only a single screen Changing the orientation of my screens to both be landscape Primary as DVI vs DisplayPort Different nVidia driver (331 vs 346) While these settings do have some effect on tearing (how bad it is, whether it is on the whole screen or just the top 1/4 or so) I haven't been able to eliminate it entirely. With the current settings I've got tearing on the top 1/4 of the landscape (DFP-0) screen. KWin info: https://paste.kde.org/pxbcxwmss XOrg log: https://paste.kde.org/pizoodejd /etc/profile.d/Tearing.sh: https://paste.kde.org/pbyezrz0j xorg.conf: https://paste.kde.org/pshb2m9kj |
|
You should have
> Option "TripleBuffer" "On" (which is not, according to the xorg.0.log) and may convince KWin (so it won't try to detect this - there's unfortunately no reliable way) > export KWIN_TRIPLE_BUFFER=1 W/o triple buffering, you need > export __GL_YIELD=USLEEP Focus on single screen for the beginning. You'll always ever be able to sync to one screen (and have tearing on the other) - if your clients (an application and the compositor) sync to different screens, you'll get either stutter or tearing. ---------- This > export KWIN_EXPLICIT_SYNC=0 is lately reported to cause bugs (if it was enabled "=1"), but is not related to tearing > nVidia X Server Settings VSync Please do not mess around with globally enforcing swap control - eg. KWin alters the behavior depending on what it "thinks" swap control is set to (by itself) - if you override that "secretly" you'll get bad time estimations, what may/will result in frame losses. > Turning compositing on and off (alt-shift-F12) Do you experience tearing in a particular client ("application") - X11 does not have any swap control, so w/o compositing you can experience tearing in everything that's not OpenGL (or xv/vdpau if you make use of the nvidia video texture feature) |
Registered Member
|
I turned on TripleBuffer in the xorg.conf and took out the export __GL_YIELD="USLEEP" from the profile.d/Tearing.sh, rebooted and there's no change (still tearing)
I see tearing inside applications (scrolling in Chrome for instance) but the easiest way to test it is just to drag a window left/right on the primary screen and watch for tearing on the edges. I see tearing with Compositing enabled and disabled. |
|
Even in the single-screen case?
Stupid question: is flipping allowed in nvidia-settings? Or is this maybe an "optimus" system (intel + nvidia chip)? |
Registered Member
|
Yes, even on a single screen, I see tearing. Allow Flipping is enabled in nvidia-settings. This is not an optimus system, it is a workstation with a discrete Quadro K600 graphics card. |
Registered Member
|
I see a similar problem with a GTX 960 and Kwin 5.4.2 with the proprietary Nvidia driver: After a system start, vsync is always disabled. I see tearing and frame rates up to 90 fps. Kwin seems to ignore completely what is set up in System Settings > Compositor. But after changing any setting and then clicking 'Apply' tearing disappears completely and the frame rate is fixed to 60 fps. I have to repeat this after each boot.
|
|
This is completely unrelated, https://bugs.kde.org/show_bug.cgi?id=343184
|
|
You probably don't have a G'Sync compatible screen? Try
no guarantee that this is respected, though (actually a KWin profile for this should be in place so at least kwin should not tear if this is the problem, while everything else could) |
Registered Member
|
ERROR: Error parsing assignment 'GLGSYNCAllowed=false' (Unrecognized attribute name). |
Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot], ourcraft