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?
4 Answers
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
Reboot.
Source: ubuntuhandbook.org
If the previous step didn't work, there is another solution that you can try:
$ xrandr --output eDP-1-1 --set "PRIME Synchronization" 1
Reboot.
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 Y
now.
Reboot.
-
-
-
I used the private drivers it doesn't work and the free drivers too Jul 28, 2020 at 4:30
-
-
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/grub
for editing (e.g.sudo nano /etc/default/grub
). It should already exist.Change the line starting with
GRUB_CMDLINE_LINUX_DEFAULT
, adding the parameternvidia-drm.modeset=1
to the text inside the double-quotes. If you haven't added any parameters before, it likely just containsquiet splash
. So the changed line would beGRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
.Now save the file and run
sudo update-grub
to 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
-
1That's because the On-demand uses Intel unless explicitly commanded to use nvidia.– dougNov 20, 2020 at 10:15