Собрал в одну статью способы борьбы с тирингом для всех видеокарт...
ВНИМАНИЕ: Данная инструкция не тестировалась с гибридной графикой, будьте осторожны!
Тиринг (англ. Tearing) - это разрыв картинки, который обычно характеризуется горизонтальными полосами. Происходит это из-за выключенной или неправильно работающей вертикальной синхронизации. Часто проявляется в динамических сценах игр и при просмотре видео или в рабочем окружении при прокрутке и манипуляции с окнами.
Вы можете проверить, существует ли у вас тиринг, глянув это видео. Если наблюдается разрыв картинки значит эта инструкция для вас.
И так, нам нужно добавить пару опций в настройки нашего драйвера видео. Но прежде чем мы начнем, то давайте узнаем какая видеокарта у нас установлена и какой модуль используется:
ВНИМАНИЕ: Данная инструкция не тестировалась с гибридной графикой, будьте осторожны!
Тиринг (англ. Tearing) - это разрыв картинки, который обычно характеризуется горизонтальными полосами. Происходит это из-за выключенной или неправильно работающей вертикальной синхронизации. Часто проявляется в динамических сценах игр и при просмотре видео или в рабочем окружении при прокрутке и манипуляции с окнами.
Вы можете проверить, существует ли у вас тиринг, глянув это видео. Если наблюдается разрыв картинки значит эта инструкция для вас.
И так, нам нужно добавить пару опций в настройки нашего драйвера видео. Но прежде чем мы начнем, то давайте узнаем какая видеокарта у нас установлена и какой модуль используется:
lspci -k| grep -EA2 'VGA|3D'
Так же не забываем, что вертикальную синхронизацию можно задействовать в самом рабочем окружении KDE, открыв Параметры системы - Экран - Обеспечение эффектов и перейдя к пункту Предотвращение разрывов (Vsync). Я надеюсь, что вы сами подберете для себя производительный и лучший вариант.
INTEL
Видеокарты Intel по-умолчанию используют ускорение SNA и DRI2. Для решения проблем с тирингом рекомендуется использовать опцию TearFree, либо включить DRI3. Нельзя TearFree и DRI3 использовать одновременно, ибо у вас начнут виснуть иксы или рабочее окружение. Напомню, что TearFree немного снижает производительность графики.
1 вариант
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "TearFree" "true"
EndSection
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "DRI" "3"
EndSection
3 вариант/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "uxa"
Option "DRI" "3"
EndSection
AMD
Обладателям этих видеокарт рекомендуется использовать открытый драйвер radeon или amdgpu (для карт семейства Volcanic Islands и Sea Islands). Так же как и для Intel тут доступны TearFree и DRI3, которые нужно задействовать.
radeon - свободный драйвер
/etc/X11/xorg.conf.d/20-radeon.conf
Section "Device"
Identifier "Radeon"
Driver "radeon"
Option "DRI" "3"
Option "TearFree" "on"
EndSection
/etc/X11/xorg.conf.d/20-amdgpu.conf
Section "Device"
Identifier "AMD"
Driver "amdgpu"
EndSection
Если по каким-либо причинам вам необходим проприетарный драйвер, то вы можете избавиться от тиринга включив опцию снижение помех на рабочем столе, чтобы уменьшить помехи в Параметры дисплея - Снижение Помех.
NVIDIA
Для карт Nvidia лучше всего использовать проприетарный драйвер. В настройках драйвера установите галочку на Sync to VBlank
Так же рекомендуется включить в Параметрах системы - Экран опцию Повторное использование в поле Предотвращение разрывов (VSync).
И добавить опции профиля системы:
sudo sh -c 'echo "export __GL_YIELD=\042USLEEP\042" >> /etc/profile'
sudo sh -c 'echo "export KWIN_TRIPLE_BUFFER=1" >> /etc/profile'
NVIDIA
ОтветитьУдалитьsudo sh -c 'echo -e "export __GL_YIELD=\042USLEEP\042" >> /etc/profile'
В сам файл добавяет вот так
export __GL_YIELD="USLEEP"
042 — это какие-то системные маркеры, или таки ошибка в команде закралась?
А, кажись пока писал вопрос — понял, это же кавычки.
УдалитьДа, это кавычки.
Удалитьпишет ошибка синтаксиса после этих команд. что не так?
ОтветитьУдалить# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i-e export __GL_YIELD="USLEEP"
export KWIN_TRIPLE_BUFFER=1
Этот комментарий был удален автором.
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьИзвиняюсь, поправил команду для NVIDIA
ОтветитьУдалить