Решаем проблему тиринга в Linux. (Nvidia)

Решаем проблему тиринга в Linux. (Nvidia)

Решаем проблему тиринга в Linux. (Nvidia)

Суть проблемы

Для начала что такое проблема тиринга. Дело в том что у каждого монитора есть такой показатель как частота обновления экрана (характеристика обозначающая количество возможных изменений изображения в секунду), чаще всего она равна 60 Гц, но существуют исключения в виде игровых мониторов на которых это значение может быть 144, 165 и даже 240 Гц. Тк вот видеокарта может выдавать значительно больше чем 60 кадров в секунду (fps), и соответственно выводит допустим 270 кадров в секунду на монитор 60 Гц кадры накладываются друг на друга и получается тиринг. В играх используется технология V-Sync которая искусственно  понижает fps в игре до 60 чтобы частота кадров в игре и частота обновления монитора совпадали. Эта проблема встречается во многих дистрибутивах, но сейчас я разберу ее на Manjaro Arch Linux на ядре 4.12 или 4.9 и Ubuntu ядро 4.10.

Тиринг проще всего заметить во время горизонтального движения объектов(такая полоска «несостыковки кадров», в теории она может следовать за мышкой в полноэкранном режиме), и в последних версиях линукса он чаще наблюдается на дополнительных мониторах, а на основном отсутствует.

Проверять только в полноэкранном режиме.

Установка проприетарных драйверов


На Manjaro

Открыть Менеджер настроек Manjaro, выбрать пункт конфигурация оборудования, нажать кнопку Auto Install Proprietary Driver или поставить галочку около video-nvidia

 

На другом Arch дистрибутиве (Antergos, Chakra, Arch-Anywhere и другие)

Если он не установлен то устанавливаем pamac (GUI для пакмена, с ним проще если вы новичек) в терминале вводим sudo pacman -S pamac и пароль администратора. (Pamac в Manjaro дистрибутиве установлен по умолчанию и называется установка и удаление программ)

Запускаем pamac и вводим в поиске nvidia сортируем по версиям и устанавливаем соответствующий ядру системы драйвер или пакет nvidia-utils. Версию ядра можно узнать командой uname -r в терминале.


На Ubuntu

В терминале

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt update

После выполнения данных команд в «Программы и обновления» появится последний 384.59 (2017 22 авг) драйвер, устанавливаем его и перезагружаемся.

 


Настройка xorg.conf

Все просто, открываем установившиеся вместе с проприетарным драйвером приложение NVIDIA X Server Settings. На вкладке OpenGL Settings убеждаемся что включены обе галки «Sync to VBlank» и «Allow Flipping». Затем на вкладке X Server Display Configuration на каждом мониторе (если их несколько, или это ноутбук с подключенным внешним монитором)  устанавливаем разрешение соответствующие разрешению монитора и частоту обновления 60Hz (или больше если таковая имеется) жмем Apply и затем Save to X Configuration File(скрин 2) чтобы сохранить изменения после перезагрузки, но тут понадобиться кое-что добавить. Тыкаем Show Preview(скрин 3) и в открывшемся текстовике, в подзаголовке Section «Screen»(в самом низу) находим опцию «metamodes»(скрин 4) и после каждого смещения монитора (если он один после +0+0) добавляем «{ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}» аналогично тому как это сделано у меня под спойлером. Сохраняем, (файл должен сохранится по пути /etc/X11/xorg.conf) перезагружаемся и проверяем результат на видео выше.

/etc/X11/xorg.conf

Option «metamodes» «DVI-D-0: 1920x1080_60 +3200+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, HDMI-0: 1280x720_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, HDMI-1: 1920x1080_60 +1280+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}»

[свернуть]
Войти с помощью: 
avatar
5000
14 Comment threads
12 Thread replies
5 Followers
 
Most reacted comment
Hottest comment thread
17 Comment authors
KxtaRuslanРустамРоманEldaeron Recent comment authors
новые старые лучшие
Ruslan
Гость
Ruslan

На 22.09.18 работает, тиринг пропал (ОС-Xubuntu 18.04LTS)

Рустам
Гость
Рустам

Спасибо!

Роман
Гость
Роман

Ребят подскажите как быть. Борюсь с тирингом достаточно долго, данная статья в принципе, не чтото новое. [spoiler title=" # nvidia-settings:… Читать дальше »

Андрей
Гость
Андрей

Народ, а если в настойках nvidia нет «Sync to VBlank» и «Allow Flipping»?
Что тогда делать?

ivan
Гость
ivan

После добавления репозитория обновился драйвер до 340.106 . Дальше следовал по инструкции, похоже все работает. Огромное спасибо. Теперь можно забить… Читать дальше »

Влад
Гость
Влад

Большое спасибо, ооооочень помогло!
Интересно еще для гибридной графики пойдет?

Eldaeron
Участник

Вот тоже незнаю, интересует этот вопрос

Ярослав
Гость
Ярослав

Спасибо тебе огромное, добрый человек. Я уже запарился гуглить, и шариться по конф. файлам; уже готовился городить огороды со всякими… Читать дальше »

Серж
Гость
Серж

При попытке сохранить в NVIDIA X Settings пишет мол рут нужен как это под рутом сделать обьясните не опытному?

Eldaeron
Участник

$sudo nvidia-xconfig

Kxta
Гость
Kxta

$sudo nvidia-settings

Сергей
Участник

Отлично!!!!

Neyel
Гость
Neyel

Спасибо помогло. Правда у меня файл с конфигом лежал по этому пути — /etc/X11/xorg.conf.d/20-nvidia.conf

Maxer152
Участник

В кедах с этими функциями вообще экран не работает =)

Artem
Участник

Mint 18 в кедах — полет отличный

Петро
Гость
Петро

Пишу выразить благодарность. Дело в том, что я этот дефект давно наблюдал, но списывал его на закономерные проблемы при продуктивных… Читать дальше »

Петро
Гость
Петро

Ничего не понятно начиная с Show Preview
Где оно?

Vlad Serdyuk
Участник

а как это всё проделать на OpenSUSE?