1

I'm running Ubuntu 16.04.06 LTS with two 1920x1080 monitors connected (one over HDMI and another over DVI). I have terrible vertical screen tearing on both of the monitors.

There are many helpful videos which address vertical tearing with a single monitor, but none for more than one:

Solutions are very similar, and involve configuring the NVIDIA settings with the ForceFullCompositionPipeline enabled. The following solution works for a single monitor ONLY:

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

Can anyone suggest how to apply this fix simultaneously to both monitors?

jofa
  • 31

1 Answers1

2

Below are the steps which worked for me using two screens:

  1. Run xrandr to reveal the monitor connection names, resolutions and offsets:

Take note of the following two lines which are needed later

HDMI-0 connected 1920x1080+0+0
DVI-I-1 connected primary 1920x1080+1920+0
  1. Use the following code as a template to fix screen tearing:

Replace the screen names, resolutions and offsets for each screen as per your configuration:

nvidia-settings --assign CurrentMetaMode="DVI-I-1: nvidia-auto-select @1920x1080 +1920+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+1920+0, ForceFullCompositionPipeline=On}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0, ForceFullCompositionPipeline=On}"
  1. Add the previous command to the Startup Application Preferences to ensure the fix persists across reboots.

Upon running the 2nd step command, your screens may blank to black momentarily before the fix is applied. You might like to watch this video to test whether the tearing has gone.

Credit here for the dual screen code which was adapted.

jofa
  • 31