Мерцание экрана (Tearing) под Linux на видеокартах от NVIDIA

Внимание! При использовании метода ниже может возникнуть небольшой глюк, после авторизации пользователя рабочий стол не будет загружатся, просто курсор и всё. Для этого надо перейти в консоль нажав клавиши Ctrl+Alt+F1 затем опять нажать Ctl+Alt+F7 и всё будет нормлаьно.

Что бы этого избежать, уберите изменения в конфиге (если вы их делали).

Затем, после перезагрузки, залогинтесь и после входа на рабочий стол, добавте эту строку в автозапуск:
nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"

 


Давно пытался побороть мерцание экрана в Linux на видеокартах от NVIDIA, особенно они были заметны при работе в браузерах и в 3D приложениях/играх.

В основном это происходит а оболочках XFCE, MATE, LXDE. Может и в других тоже но я в осноном пользуюсь XFCE и замечал это именно в нём.

 

Недавно пересел с xubuntu на manjaro и решил разобраться с этим окончательно, помогла мне вот эта статья.

Возможна она поможет и будет работать сразу как атм описанно в ubuntu и основанных на нём дистрибутивах, но мне в manjaro пришлось немного сделать иначе.

 

Итак, как это сделать на manjaro возможно и на ubuntu/mint... тоже поможет:

  1. Открываем администратором файл "/etc/X11/xorg.conf.d/90-mhwd.conf"
    (например коммандой "sudo nano /etc/X11/xorg.conf.d/90-mhwd.conf")
  2. Ищем строку/секцию настроек Section "Screen"
  3. Ищем строку DefaultDepth 24 она была на 50 строке
  4. Вставляем после строки выше новую
    Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On}"
  5. Сохраните файл и перезагрузите систему

Проверить можно запустив панель NVIDIA и если галочка на пункте "Force Composition Pipeline" включена то всё работает.

Источник