Have tearing (no Vsync) in movies (Nvidia proprietary driver)

The source of problem was (of course) faulty nvidia drivers. The solution is simple. Add environmental variables:

export __GL_YIELD="USLEEP"
export __GL_THREADED_OPTIMIZATIONS=1

somewhere before X starts. System-wide /etc/profile/ works fine.


Simple guide to solve this annoying problem :)

  1. Create file:

    /etc/profile.d/Tearing.sh
    
  2. Insert this code:

    export __GL_YIELD="USLEEP"
    
  3. Then make it executable with:

    chmod +x /etc/profile.d/Tearing.sh
    
  4. Once that's done, reboot or press ctrl + alt + F2, login and run sudo service lightdm restart Or restart what ever your display manager is.

The GL_YIELD worked for me, and now vertical sync appears to be working as it should.

(https://www.kubuntuforums.net/showthread.php?63946-No-vertical-sync-with-NVIDIA&highlight=tearing)


I have tried all the tricks and nothing solved on Ubuntu 15.04 (along with xorg-edgers and nvidia-355) , until I came on nvidia archlinux page.

Test with:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

In order to make the change permanent, you need to add the following line to the "Screen" section of your Xorg configuration file, for example in /etc/X11/xorg.conf.d/20-nvidia.conf

Option  "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"