Как избавиться от тиринга nvidia
Опубликовано статей: 57
Решаем проблему тиринга в 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, выбрать пункт конфигурация оборудования, нажать кнопку 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 в терминале.
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
После выполнения данных команд в «Программы и обновления» появится последний 384.59 (2017 22 авг) драйвер, устанавливаем его и перезагружаемся.
Источник
Заметочки
Дисклеймер
среда, 9 июля 2014 г.
Как я избавился от тиринга (KDE, Nvidia)
У кого-то при использовании GNU/Linux его нет и не было, у кого-то периодически пропадает, некоторые его просто не замечают. Иногда тиринг пропадает при работе в полноэкранном режиме, при этом присутствуя в оконном.
Причины кроются в видеодрайверах, настройках менеджера окон, X-сервера и, возможно, в самом железе (имеется в виду не только видеокарта, но и монитор).
Не так давно у меня появился удивительно мерзкий тиринг, который натурально мешал смотреть видео, включая полноэкранные режимы, где тиринга у меня никогда не было.
И я решил, что хватит это терпеть и стал искать решения. Делюсь тем, что нашёл.
Вариант 1:
После многочасовых попыток решить проблему, на горизонте нарисовалось первое решение.
Для этого нужно внести изменения в файл /etc/X11/xorg.conf, добавив в секцию Screen строку:
Section «Screen»
Identifier «Screen0»
Device «Device0»
Monitor «Monitor0»
DefaultDepth 24
Option «metamodes» «nvidia-auto-select +0+0 < ForceFullCompositionPipeline = On >«
SubSection «Display»
Depth 24
EndSubSection
EndSection
Если blogger разобьёт выделенное жирным на 2 строки — не поддавайтесь на провокацию, всё выделенное жирным должно быть в Вашем xorg.conf одной строкой.
Кроме того, вместо nvidia-auto-select можно вручную вписать разрешение и частоту обновления. Например, вот так:
Option «metamodes» «1920x1080_120 +0+0 < ForceFullCompositionPipeline = On >«
После этого нужно сохранить изменения в файле и перезапустить X-сервер. Но можно и «просто» перезагрузить компьютер (я так и делал).
Для полноты картины моих настроек:
- в настройках Nvidia X Server в разделе OpenGL у меня отключён «Sync to VBlank»;
- в настройках эффектов KDE движок — OpenGL 3.1, графическая система Qt — растровая, предотвращение разрывов (Vsync) — полная перерисовка.
Совершенно нет уверенности в том, что сами по себе данные настройки повлияли в моём случае. Реально помогло лишь включение режима ForceFullCompositionPipeline, о чём написано выше. Тиринг пропал, его просто нет (или я его не вижу, что, в принципе, одно и то же). Стоит убрать строку из xorg.conf — и он возвращается независимо от того, какие опции Nvidia X Server или эффектов KDE.
На форумах devtalk.nvidia.com я слышал байки, что эта опция для решения проблемы screen tearing — ужасное решение, т.к. приведёт к страшной потере производительности. Возможно, у кого-то так и будет. Возможно, для какой-то версии драйверов это и так.
Но я на слово верить не захотел и проверил через Unigine Valley. Ключевые компоненты — i5-2500K @ 4.4 GHz и GTX 760.
С включенной опцией получил такой результат:
Возможно, для кого-то потеря 0.5 от максимального FPS и 0.1 от среднего — это страшно, но по моему скромному мнению, не только лишь все, мало кто может это заметить своими глазами.
Вроде бы всё достаточно понятно.
Вариант 2:
Создать файл /etc/profile.d/antitearing.sh
В который необходимо добавить строку
Опять же, дисклеймер: то, что работает у меня, не обязательно должно работать у других, т.к.
системы, настройки, версии драйверов и железо у всех разное.
Возможно, есть и более изящные решения, но я их не нашёл, поэтому делюсь тем, которое помогло в моём случае, вдруг поможет кому-то ещё устранить tearing.
Источник
Как избавиться от тиринга nvidia
Чаще всего эффект tearing встречается у тех, у кого различается частота кадров настроенная в игре и отображаемая на мониторе. Большинство говорят что эта проблема решается простым включением вертикальной синхронизации в играх, но как показала практика не всегда.
В нашем случае решение подойдет только для видеокарт с архитектурой Maxwell и Pascal, это примерно серия видеокарт GTX начиная с 900 серии выше.
451 | уникальных посетителей |
1 | добавили в избранное |
Для тех у кого наблюдаются «разрывы» изображения во время игрового процесса, эффект Tearing. Примеры «разрывов» картинки:
Чаще всего эффект tearing встречается у тех, у кого различается частота кадров настроенная в игре и отображаемая на мониторе. Большинство говорят что эта проблема решается простым включением вертикальной синхронизации в играх, но как показала практика не всегда.
В нашем случае решение подойдет только для видеокарт с архитектурой Maxwell и Pascal, это примерно серия видеокарт GTX начиная с 900 серии выше.
Итак перейдем к настройке:
- Панель управления Nvidia
- Пункт — Управление параметрами 3D
- Выбираем — Глобальные параметры
- Ищем строку — Вертикальный синхроимпульс
- Выбираем значение — Быстро
Для настройки определенного приложения или же игры нужно проделать следующие шаги:
- Панель управления Nvidia
- Пункт — Управление параметрами 3D
- Выбираем — Параметры настройки
- Выбираем — Приложение из списка (Выберите программу для настройки)
- Ищем строку — Вертикальный синхроимпульс
- Выбираем значение — Быстро
UPD:
• Вкл: ограничивает частоту рендеринга кадров ГП максимальной частотой обновления дисплея во избежание разрывов изображения. Однако ограничение частоты кадров может увеличить задержки и снизить производительность. Также это может привести к подтормаживанию, если частота рендеринга кадров ниже частоты обновления.
• Быстро: снимает ограничение частоты рендеринга кадров ГП, как при отключенной синхронизации, но не вызывает разрывов изображения, так как кадры, превышающие частоту обновления дисплея, не отображаются. Обеспечивает примерно такие же низкие задержки, как и отключение синхронизации, и при этом ликвидирует разрывы.
•Адаптивный: вертикальная синхронизация будет включаться только при частоте кадров, превышающей частоту обновления монитора, и отключаться, когда она ниже. Хороший компромисс между производительностью монитора и качеством изображения.
Для обладателей видеокарт AMD нужно включить функцию AMD Enhanced Sync.
Перейдите в расположение Настройки > Видеокарта. Переключите ползунок Radeon Enhanced Sync в положение Включено.
В разделе Игры выбрав нужное приложение мы попадаем в его персональный профиль. Снизу аналогично включите Radeon Enhanced Sync (уменьшение разрывов кадров и задержки). Если же нужной игры нет, нажмите Сканировать или Добавить игру вручную.
Если у вас имеются идеи или способы можете поделится ими здесь, в этом руководстве. Буду очень благодарен за лайк или награду это будет мотивацией для написания новых руководств.
Источник
Kubuntu 15.04 как избавиться от tearing-а с проприетарным nvidia?
Всякие ‘export __GL_YIELD=«USLEEP»’ и тому подобное никак не помогает, везде где только мог найти галочки vsync поставил. Даже для просмотра видео в VLC перебирал способы вывода видео, не помогает. Тиринг просто жестчайший, глаза вытекают от просмотра какого-либо видео. Сколько лет этой проблеме а до сих пор раз и навсегда не исправили.
Какая видеокарта, версия драйвера? Ищи в настройках кед, есть, что-то связанное с vsync.
GeForce GTX 770, драйвер 352.21.
Так делал? Параметры системы → Эффекты → Дополнительно → Параметры OpenGL → Предотвращение разрывов (VSync) → Полная перерисовка.
Вот кстати да. Говорят, ForceFullCompositionPipeline = On помогает 100%, однако я не вижу никакой разницы, кроме как небольшого падения фпс в 3д. Хотя у меня тиринг не в мультиках, а в игрушках, где vsync странным образом не работает, а то и вообще создаёт лаги.
Нашел похожее по другому пути: Параметры системы → Экран → Обеспечение эффектов. Выбрал включить эффекты и полная перерисовка. Заработало, вот только для полноэкранного просмотра без тиринга надо снять галку «Отключить графические эффекты для полноэкранных окон». Надеюсь это не повлияет на игры.
Это повлияет на игры — производительность ухудшится из-за принудительного vsync.
Ну я тебе дал старый способ, для кде4 наверное. На время игруль вырубай композитинг, там, в кде, есть хоткей для отключения эффектов.
Говорят, ForceFullCompositionPipeline = On помогает 100%
В моем случае это не помогает, прописывал в /etc/X11/xorg.conf. Так как там не было «metamodes» я его сам дописал, после первой перезагрузки оно само исправило и стерло ForceFullCompositionPipeline, во второй раз оставило но не помогло.
Остановлюсь на включении эффектов.
Ну я тебе дал старый способ, для кде4 наверное. На время игруль вырубай композитинг, там, в кде, есть хоткей для отключения эффектов.
Да, спасибо. Теперь можно не насиловать глаза.
Тройная буферизация. Никакого тиринга.
Тройная буферизация. Никакого тиринга.
Пробовал в /etc/X11/xorg.conf добавлять Option «TripleBuffer» с параметром «1» и «on». Никакого эффекта.
В какую секцию? Затирать само не должно в любом случае…
В какую секцию? Затирать само не должно в любом случае…
В секцию «Screen». Оно первый раз затерло наверно из-за того что я не совсем правильно параметры прописал, а вот после второго раза просто ничего не поменялось.
А композитинг вообще включен? Выглядит как полупрозрачности, тени, и desktop grid. У меня с отключённым композитингом тиринг всегда был.
А композитинг вообще включен? Выглядит как полупрозрачности, тени, и desktop grid. У меня с отключённым композитингом тиринг всегда был.
Да, я пробовал TripleBuffer до того как включил эффекты. Попробую с эффектами, но врятли на глаз смогу эффект увидеть, видеокарта у меня мощная и что с тройным буфером что без одинаково по идеи должно все быть.
движок точно opengl, а не xrender?
Да, OpenGL 3.1. Еще почему-то есть выбор OpenGL 2.0.
у меня работает с
еще можешь поиграться с опциями vsync, но насколько я помню при полной перерисовке производительность в играх должна существенно упасть
еще можешь поиграться с опциями vsync, но насколько я помню при полной перерисовке производительность в играх должна существенно упасть
Нажать один раз Alt-Shift-F12 перед запуском игры и после меня не напрягает.
отключи powermizer в опция драйвера или, если найдешь как, выставь не самую минимальную частоту чипа. Тогда тиринг пропадет. А так ничего не помогает.
как это ничего не помогает? помогает замена kwin на что-нибудь другое )
Как я выше уже отписался мне помог способ garik_keghen. Включается и выключается по Alt-Shift-F12. Конечно хотелось бы чтоб для игр оно само выключалось а для видео и GUI включалось. Но я так понял такое пока не светит, хотя я бы почитал где налажали с архитектурой что все так плохо.
проприетарный nvidia
GeForce GTX 770
производительность в играх должна существенно упасть
Linux
И какие же интересно Игори для Linux не потянет GTX770 даже с тройной буфферизацией? У меня 750Ti в Battlefield 4 на максимуме выдавала хороший FPS, в offtopic, конечно. А тут речь идёт о GTX770 и портах протухших игр и индюшатины для Linux.
А вообще используй FOSS-стэк, он хоть ещё не научился менять частоту чипов Maxwell, но на днях должен появится OpenGL 4.0, прошивку генерирует сам, к тому же VDPAU работает.
Конечно хотелось бы чтоб для игр оно само выключалось а для видео и GUI включалось.
«Suspend desktop effects for fullscreen windows» практически это и делает.
как вы этого добиваетесь, мне приходится шевелиться дабы отключить vsync
что значит «потянет»? это категория для оценки?
Я лишь говорил что некоторые настройки вертикальной синхронизации в kwin могут влиять на производительность opengl.
И какие же интересно Игори для Linux не потянет GTX770 даже с тройной буфферизацией? У меня 750Ti в Battlefield 4 на максимуме выдавала хороший FPS, в offtopic, конечно. А тут речь идёт о GTX770 и портах протухших игр и индюшатины для Linux.
Мало ли какие настройки графики я выставлю. А так я очень редко включая vsync в играх, а буферизацию вообще отключаю так как из-за нее в играх для меня заметно отставание отклика на мышь/клаву.
Источник