Since I installed Ubuntu 20.04 I notice that there is Screen tearing when playing videos, it happens in several browsers and it is noticeable when moving the windows within the screen, when scrolling it is also noticeable. How is this problem solved?
I had the same problem with a GTX 960M on my Lenovo ideaPad Y700 and the following worked for me.
Open a terminal and run
sudo gedit /etc/modprobe.d/nvidia-drm-nomodeset.conf
In the file, write the following line:
options nvidia-drm modeset=1
Save the file. Back into the terminal, update
initramfs by running:
sudo update-initramfs -u
If the previous step didn't work, there is another solution that you can try:
$ xrandr --output eDP-1-1 --set "PRIME Synchronization" 1
This command will enable the sync in your hybrid card.
To check that sync has been enable:
$ sudo cat /sys/module/nvidia_drm/parameters/modeset
it should return
I couldn't get this answer to work because the DRM kernel mode setting would not get updated.
Then I stumbled upon this answer explaining how to set that kernel boot parameter through GRUB instead. This worked for me on my laptop running Ubuntu 21.04 with the 470 drivers and a GTX 1050M GPU.
Steps based on this Ubuntu wiki page that describes how to set boot params through GRUB:
Open the file
/etc/default/grubfor editing (e.g.
sudo nano /etc/default/grub). It should already exist.
Change the line starting with
GRUB_CMDLINE_LINUX_DEFAULT, adding the parameter
nvidia-drm.modeset=1to the text inside the double-quotes. If you haven't added any parameters before, it likely just contains
quiet splash. So the changed line would be
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1".
Now save the file and run
sudo update-grubto make the changes take effect.
Restart the system.
I didn't have the "Enable Force Composition Pipeline or Force Full Composition Pipeline" setting in the graphical Nvidia X server setting window nor did the command
$ xrandr --output eDP-1-1 --set "PRIME Synchronization" 1 worked for me (it just didn't change the parameter value for some reason).
But when under "RRIME profiles" of the "NVIDIA X Server Settings" I selected "NVIDIA On-Demand" and restarted I got rid of the screen tearing.
Note: somebody commented that's because on demand uses intel not nvidia so it's probably not a very good solution