I never experienced tearing before since I was using Ubuntu all the time but recently I have switched to Arch Linux with awesome as my window manager. Since awesome does not use any composite manager I see these annoying glitches while scrolling the web page. I have installed compton and it works but I have some issues with it enabled.
Graphic card: GeForce GTX 670 with proprietary driver (387.34-19)
compton --version: v0.1_beta2.5
compton --daemon --config /dev/null --backend glx
- Sometimes terminal emulator I use (xfce4-terminal) does not render output until additional keystroke. The issue is described here, here and here.
- The google chrome context menu sometimes flickers.
Nevertheless, it fixes tearing.
compton --daemon --config /dev/null --backend xrender
This fixes issues described above but tearing itself.
compton --daemon --config /dev/null --backend xr_glx_hybrid
This fixes issue #1 and tearing but issue #2. Moreover, screen flush starts to appear randomly. I have found that I can fix issue #2 by passing
--fading option but the latter one is still present.
xrender works pretty well since it does not produce new bugs but I do not think it is good decision to investigate to when I have gpu with proprietary drivers. It seems that
compton is a bunch of hacks and tricks, I am tired to make it work properly. I have tried
xcompmgr and saw no desired effect - there was tearing during scrolling.
Fortunately, there is another solution to make desktop tear-free using
ForceCompositionPipeline=On. I have configured my
/etc/X11/xorg.conf.d/20-nvidia.conf properly and everything is perfect except input latency. The mouse pointer has become less responsiveness, more smoothed. Perhaps, the keyboard is too but I am not sure (I mean, it takes more time to print the key I have pressed).
I am looking for any possibility to get rid of tearing. New composite managers as well as proper
compton options are acceptable but the solution for latter issue is preferable since I do not actually need all these features like shadow or fading provided by compositors.