I read that in order to avoid screen tearing I should enable the option "Force full composition pipeline" on nvidia settings[¹]. However that option doesn't seem to be available in my system.

enter image description here

enter image description here

I thought nvidia-settings might have been held back but according to the blog post below, that option should be available in this version:

enter image description here

Am I missing something?



  • Do you experience screen tearing? If not, ignore that advice. If you do then you'll have to enable that in a different way (CCSM is one possibility) because hybrid graphics are a entirely different beast and, as clearly stated in Nvidia X Server settings , PRIME displays cannot be controlled by nvidia settings (...)
    – user692175
    Commented Oct 25, 2017 at 1:35
  • Yes I am experiencing screen tearing, Is there a guide on how to solve this with Prime Displays?, Thanks Commented Oct 25, 2017 at 9:50
  • I think it can be done by installing CCSM and enabling the "force full redraw" or something like that.
    – user692175
    Commented Oct 25, 2017 at 12:23
  • I tried it but it doesn't solve the problem Commented Oct 26, 2017 at 7:29
  • Please see my answer below. Forcing the composition pipeline is not how to deal with tearing in the more recent Nvidia hardware/drivers. Commented Jan 5, 2018 at 22:36

5 Answers 5


The solutions above do not work with Ubuntu 20.04 but the problem seems to persist. But the working solution is quite simple:

sudo nano /lib/modprobe.d/nvidia-kms.conf
sudo update-initramfs -u

The original content of nvidia-kms.conf is:

# This file was generated by nvidia-prime
# Set value to 1 to enable modesetting
options nvidia-drm modeset=0

As it says, modeset=0 has to be changed to modeset=1.

I wonder why this is not enabled from the beginning.

  • 1
    After trying some of the other solutions yours worked to solve screen tearing. Although the /lib/modprobe.d/nvidia-kms.conf file did not exist in my system. I placed the options nvidia-drm modeset=1 line inside /lib/modprobe.d/nvidia-graphics-drivers.conf. After running update-initramfs and rebooting Synchronization was "On" although I still can't tweak with the display settings. I'm using nvidia-driver-440. Commented Jul 24, 2020 at 15:51
  • 1
    I have found that /lib/modprobe.d/nvidia-graphics-drivers.conf (which is the file that exists in Ubuntu 20.04 installations) gets changed every time the nvidia drivers are updated. Creating the file /lib/modprobe.d/nvidia-kms.conf and adding the line "options nvidia-drm modeset=1" then (you have to do this) running "sudo update-initramfs -u" and rebooting fixes the problem. Thank you so much for this solution, without it there is horrible screen tearing on Ubuntu 20.04 using nvidia drivers. Commented Feb 25, 2021 at 5:35

I feel your pain. I always have problems trying to figure out how to get rid of tearing on my laptops that have both an Nvidia dGPU (Dedicated GPU) and the iGPU (Integrated GPU).

I'm going to take a stab in the dark and guess that you're system is a PRIME system, in which case the composition pipeline options will not be available (even adding them manually to your xorg.conf file won't work - it'll probably just make your screen go dark).

I think what you're looking for (again, just guessing) is PRIME Synchronization - this is Nvidia's new way of syncing screens.

Try this:

  • Create a file in your /etc/modprobe.d directory called zz-nvidia-tearing.conf.
  • Add the following line to it: options nvidia_387_drm modeset=1 (change "387" to your driver version).
  • From the terminal: sudo update-initramfs -u
  • Reboot.
  • Check is PRIME sync is enabled: xrandr --prop | less

You should see something like:

Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
        PRIME Synchronization: 1 

The important line is the last line. If, for some reason, your PRIME sync still isn't enabled (i.e. set to "1"), then try editing the last line of your /etc/modprobe.d/nvidia-graphics-drivers.conf - change it to:

options nvidia_387_drm modeset=1

(again, obviously changing "387" to the version of your installed Nvidia driver).

Don't forget to run:

sudo update-initramfs -u

after you make any changes to any file in /etc/modprobe.d.

If that still doesn't work (which it should, so long as you're using Nvidia driver 370 or higher), then you can try adding the following to your GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub:


I don't know what your GRUB_CMDLINE_LINUX_DEFAULT looks like, but after you add the line above, it could look something like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"

I find it astonishing that Nvidia do not enable PRIME Sync by default on hardware the supports it. The reason given is because it doesn't play nicely with SLI - but how many Linux users actually use SLI? I have yet to see any.

If you have any more questions, ask away, I'll try to answer them.

Good luck!

  • 3
    This tecnique of Prime Synchronization (putting options nvidia_387_drm modeset=1 inside a config file in modprobe.d) completely broke my system. At restart, kubuntu restarted into a black screen. After 3 hours the solution was to remove a corrupted xorg.conf file: mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak Commented Dec 6, 2018 at 23:56
  • me too.. your steps ruin my laptop Commented Dec 22, 2019 at 18:11
  • The place to edit the modeset setting has changed with Ubuntu 20.04 / Nvidia 440, it is now at /lib/modprobe.d. See my answer below and vote it up if it worked for you!
    – w-sky
    Commented Jul 21, 2020 at 22:52
  • These instructions made the screen on my laptop no longer detected, and only my external monitor worked. I used raffaem's comment to fix my computer.
    – Ali Mizan
    Commented Nov 7, 2020 at 5:25

In the latest (as of writing this) Nvidia Binary Drivers 430.26 there is such option (of course I am assuming here that the driver is properly installed and works) :

enter image description here

But if it does not show up for You for some reason there is another way to enable it via xorg.conf file.

Here is how it looks like in my system:

Edit /etc/X11/xorg.conf file and the following code to the Screen section (note that there will be more options in Yours) :

Section "Screen"
    Option "metamodes" "3440x1440_75 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On};"

Save and then reboot system.

Another possible way is to use nvidia-settings :

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

As an Ubuntu user I've come across this horrible tearing issue and also the installer-freeze issue, both of them related to using an NVIDIA gpu based hardware. I'd like to resolve both problems in this single answer, so here it goes:

The system I'm working with is an Ubuntu 18.04 LTS amd64 running on a Core i7 with a built-in HD Graphics gpu and an NVIDIA GEFORCE GTX 960M gpu.

1st, Ubuntu installer freezes at startup: this is caused by the presence of the NVIDIA chip, so, in order to correct it, boot the installer and press E when the GRUB shows up. Go to the end of the LINUX line and add nouveau.modeset=0. Then continue the booting process by pressing F10. Install the system normally and, when finished, remove the installer media from the computer, reboot the system and log into your account.

Continue below:

2nd, the horrible display tearing problem or the unsynchronized PRIME display: this is caused by an improper configuration of the PRIME display (the system needs to properly offload the graphics in a multiple gpu system configuration), so, firstly, install the proper GPU drivers in the system. In my case, the 390 version driver corresponds to the GTX 960M gpu, so, for example, it would be needed to perform a sudo apt-get install nvidia-driver-390. If the proper driver version is available, I would prefer doing it from the main repositories rather than from a PPA.

After the driver libraries have been installed, go to a terminal and open gedit as a super user with sudo gedit. Then, open the system file /etc/default/grub, locate the line that shows the nouveau.modeset=0 code we set earlier and delete it entirely. Replace that line with GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1" and save. Close gedit and, in the terminal, perform a GRUB update, by doing a sudo update-grub.

After this has been done, close everything and reboot the system. Everything should be working fine now!


  1. My guided steps are a summary of other users' advices and I've performed these steps at least thrice with the same great result. I've decided to write my own guide because the ones I used always had some uncovered issues that I had to go through to get the system working properly.

  2. In order to identify your correspondent NVIDIA driver version you can check their official drivers download page, selecting the proper model and linux 64-bit as the operating system. The results will show the proper version number.

  3. If you want to learn about what a PRIME display is and why it is so cumbersome, you can check this link: https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/

Good luck!


No you just need to Save X Configuration to somewhere...then only the composition setting will be continued for next reboot...So click "Save To X Configuration File" successfully...thats it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .