Skip to content
Jason Hicks edited this page Oct 2, 2018 · 6 revisions

Nvidia

  • Use "Allow Flipping" in Nvidia Settings. This allows OpenGL to swap buffers, which is needed by the method Muffin uses for syncing to vblank.
  • Setting the preferred PowerMizer mode to "Prefer Maximum Performance" can improve compositing performance, at the cost of increased power usage.
  • Cinnamon 3.8 and older: "Sync to VBlank" in nvidia-settings needs to be enabled to prevent tearing.
    • This option is not necessary on Cinnamon 4.0+, and could increase input latency.
  • Cinnamon 3.8 and older: CLUTTER_VBLANK=none will disable Muffin's vblank implementation. The only way to reduce tearing in this scenario is to enable Nvidia's "Force Composition Pipeline" setting, which could increase input latency.
  • Cinnamon 4.0+: Force Composition Pipeline should not be necessary because of the addition of performance improvements to Muffin, and will increase input latency regardless of the Xorg configuration options set. While it doesn't share the same rendering issues of Muffin's internal vblank method, it throttles the rendering of the entire image going to the display, including the cursor.
  • Cinnamon 4.0+: CLUTTER_VBLANK=none is still available for edge cases, but the option has been moved to Cinnamon Settings -> General, under Compositor Options.

Optimus Laptops

If you have an Optimus laptop and want to use the Nvidia GPU, you may need to enable DRM kernel mode setting for Nvidia to prevent screen tearing.

  • Edit /etc/default/grub and append nvidia-drm.modeset=1 to GRUB_CMDLINE_LINUX_DEFAULT, after quiet splash with a space.
  • Add these modules to /etc/initramfs-tools/modules:
nvidia
nvidia_modeset
nvidia_uvm
nvidia_drm
  • Run sudo update-grub && sudo update-initramfs -u and reboot.

One benefit to to this solution is you can disable the VBlank setting in Cinnamon Settings and still have tear-free compositing. If you do not want to enable kernel mode setting, it is recommended to stay on the Intel PRIME profile.

Mesa

  • Cinnamon 3.8 and older: The CLUTTER_VBLANK=none work-around can work with Mesa as well if the TearFree option is enabled in the Xorg configuration.