You are not logged in.

#1 2016-08-28 11:27:52

raggerv8
Member
From: Sweden
Registered: 2010-07-01
Posts: 110
Website

Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

The NVIDIA/Troubleshooting wiki page about avoiding screen tearing suggests running a command that applies ForceFullCompositionPipeline, or you can also use an X config. When using the command, it can reset after quitting a OpenGL game like Minecraft, so I need to run it again. The X config makes it persist.

Before the NVIDIA 370.23 update, using ForceFullCompositionPipeline worked but made some games stuttery, like Minecraft. After the 370.23 update however, games stopped stuttering. Maybe because of the 5th bullet in this changelog?

So, that's fine, but it seems that using the X config, almost every time I start X, it is very glitchy. If I spam a character in a terminal (hold down key), the output stutter, it looks like it "flashes". Same if I run a command that outputs something, it seems to stutter or blink. In web browser chrome, I experiance slowdowns. Moving windows "lags behind". Without the X config, I have tearing, but it solves those other issues. However, running the command, fixes these issues. The problem as I said is that the command would reset after closing OpenGL game in this case, so I have to re-run it, which is annoying.

For additional information, you could read these posts:

- https://github.com/chjj/compton/issues/ … -242033612
- https://github.com/chjj/compton/issues/ … -242735719
- https://github.com/chjj/compton/issues/ … -242901605

My graphics card is GeForce GTX 750 Ti, and in nvidia-settings I have Sync to VBlank enabled and Flipping disabled, if that matters.


Brottweiler@#archlinux

Offline

#2 2016-09-10 11:38:05

OK38
Member
Registered: 2014-08-07
Posts: 15

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

Hi, i have the same issue with nvidia-lts-370.23. Now i downgraded to nvidia-lts-367.35-2, and for now, i don't have any probleme.

It's not just tearing for me.

http://oi67.tinypic.com/2hz06qp.jpg

Thanks

Offline

#3 2016-10-28 12:58:12

cra1g321
Member
Registered: 2011-01-24
Posts: 66

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

I have a nvidia GT730 with 370.28 nvidia driver  and using 4.8.4 kernel, have the forcefullcomposition option for nvidia-settings to run after login as part of openbox.
Gets rid of the tearing but like you said it lags games. I actually thought it was CS:GO that was to blame (only game i was playing at the time) until i realised it was this option.
I also get times where i can see old parts of the cursor icon left behind, then they dont go away until i move the cursor over them.
If anyone ever figures out how to resolve the tearing without it affecting games, please do share.

Offline

#4 2016-10-28 13:21:07

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,424

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

Use a compositing window manager/standalone compositor that has the possibility to suspend compositing while running a fullscreen game and resume it after you are done. Or write a wrapper script that disables the composition pipeline during the duration of the game and reenables it afterwards.

Offline

#5 2016-10-28 14:14:32

kokoko3k
Member
Registered: 2008-11-14
Posts: 2,390

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

I second that; from my testings, there is no performance gain in using the "in-driver" compositor over an userspace one like compton.
Plus, you lose the eyecandy stuff of a full X compositor.

Last edited by kokoko3k (2016-10-28 14:15:01)


Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !

Offline

#6 2016-10-28 15:26:34

cra1g321
Member
Registered: 2011-01-24
Posts: 66

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

So shortly after posting my message, i did some more googling and remembered about compton.

Installed compton-git from the AUR then used this config - https://github.com/Lend27/linuxstuff/bl … mpton.conf

and then disabled the nvidia setting from running.

Things are good now, there is very little screen tearing and games should be ok now since i dont need to run that nvidia-setting.

Offline

#7 2016-11-04 22:25:02

cra1g321
Member
Registered: 2011-01-24
Posts: 66

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

Maybe speaking to soon but just updated to nvidia driver 375.10 and i have no lag input anymore with CS:GO or tearing while watching videos.

No longer using the forcecomposition setting in my openbox autostart config file, so what seems to be working for me now is that driver version and using compton-git from the AUR. Hope this info helps anyone else.

Offline

#8 2016-11-04 23:44:46

raggerv8
Member
From: Sweden
Registered: 2010-07-01
Posts: 110
Website

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

cra1g321 wrote:

Maybe speaking to soon but just updated to nvidia driver 375.10 and i have no lag input anymore with CS:GO or tearing while watching videos.

No longer using the forcecomposition setting in my openbox autostart config file, so what seems to be working for me now is that driver version and using compton-git from the AUR. Hope this info helps anyone else.

I looked at the changelog for this driver update and saw this

NVIDIA wrote:

Added new X configuration options:
ForceCompositionPipeline
ForceFullCompositionPipeline
which override the MetaMode tokens with the same names.

Last edited by raggerv8 (2016-11-04 23:45:03)


Brottweiler@#archlinux

Offline

#9 2016-11-05 09:11:53

raggerv8
Member
From: Sweden
Registered: 2010-07-01
Posts: 110
Website

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

I updated today to 375.10-1, and there seem to be no difference since before. Using X config has issues as I described in the OP, running the command is fine.

Seems to have brought some other problems though with it, mostly related to Plank Dock, but oh well. nvm

Last edited by raggerv8 (2016-11-05 16:58:43)


Brottweiler@#archlinux

Offline

#10 2016-11-19 01:59:27

cra1g321
Member
Registered: 2011-01-24
Posts: 66

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

Thought i'd do a random google search a few minutes ago for this issue, see if i stumble on something i haven't before, sure enough i found a post saying to add "TripleBuffer" "True" and then reboot.

And this magic line along with compton has finally fixed this issue for me big_smile

So to summarise i'm using compton and it is autostarted by my autostart.sh openbox file, I am NOT using the forcecomposition or forcefullcomposition at all and below is a snippet from my /etc/X11/xorg.conf.d/nvidia.conf

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 730"
    Option "TripleBuffer" "True"
EndSection

I haven't tried any games yet, i mostly game on windows, just glad at least i'm getting no more glitchy scrolling.

Last edited by cra1g321 (2016-11-19 02:01:27)

Offline

#11 2016-11-19 08:47:27

raggerv8
Member
From: Sweden
Registered: 2010-07-01
Posts: 110
Website

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

cra1g321 wrote:

And this magic line along with compton has finally fixed this issue for me big_smile

What backend do you use in compton?


Brottweiler@#archlinux

Offline

#12 2016-11-19 21:11:20

cra1g321
Member
Registered: 2011-01-24
Posts: 66

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

raggerv8 wrote:

What backend do you use in compton?

backend = "glx";

Offline

#13 2016-11-19 21:12:23

raggerv8
Member
From: Sweden
Registered: 2010-07-01
Posts: 110
Website

Re: Avoid screen tearing (ForceFullCompositionPipeline, NVIDIA 370.23)

cra1g321 wrote:
raggerv8 wrote:

What backend do you use in compton?

backend = "glx";

That fixes screen tearing by itself, as far as I have experienced. So the X config you made is probably useless.


Brottweiler@#archlinux

Offline

Board footer

Powered by FluxBB