Большинство пользователей Линукс систем, конечно же знают о существовании такой проблемы, как разрыв экрана или tearing. Основной, и наиболее вероятной причиной данного «недуга», является X-сервер. Да, Wayland уже вполне себе работоспособен, но от Иксов пока ещё способны отказаться не все. Но не одним X-сервером жив тиринг. Следующей причиной оного может послужить драйвер GPU. Наиболее частым виновником разрывов является, как ни странно, самый популярный производитель видеокарт — NVIDIA и его видеодрайвера. Третьим виновником возниковения тиринга в Linux является окружение рабочего стола, со своими багами и фичами. Ну вот мы вкратце разобрались с классическим вопросом: «Кто виноват?», далее попробуем разобраться с не менее класическим: «Что делать?».
Тиринг NVIDIA
Сразу обращу ваше внимание, что это не единственное решение для NVIDIA, и, конечно, найдутся десятки ситуаций, в которых этот метод не поможет, но это один из наиболее часто спасающих вариантов, и он не полагается на графическую утилиту NVIDIA, которая иногда ломает конфигурацию среды рабочего стола.
Для начала вам нужно включить настройку модуля NVIDIA DRM (modsetting). Начните с создания файла конфигурации в каталоге modprobe:
sudo touch /etc/modprobe.d/nvidia-nomodset.conf
Предлагаю вашему вниманию так же статью Клиенты Google drive (google disk) linux webdav: Ubuntu, Mint
Затем правим его в любом удобном вам текстовом редакторе, и добавляем там следующую строку:
options nvidia-drm modset=1
Затем чтобы ядро получило информацию о наших манипуляциях делаем в терминале:
sudo update-initramfs -u
После перезагрузки разрывы должны пропасть. Радуемся но это не точно. Если не исчезло то попробуйте в /etc/X11/xorg.conf.d/20-nvidia.conf в разделе «Device», добавить такие строки:
Section "Device"
Identifier "Nvidia Card"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo" "true"
Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"
EndSection
Тиринг Intel
Графика Intel в Linux обычно не составляет больших проблем. Вероятно, это связано с тем, что интегрированная графика обычно имеет меньше функций, а стек драйверов Intel вообще поставляется с открытым исходным кодом. Для устранения тиринга на Intel найдите и исправьте у себя конфигурационный файл, примерно по такому пути /etc/X11/xorg.conf.d/20-intel.conf (в различных системах он может находиться в различных каталогах). Исправьте в нём раздел «Device» таким образом:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection
После чего сохраните и перезагрузитесь.
Тиринг AMD
Тиринг на видеокартах от AMD в Linux тоже хоть и не так часто, но бывает. Этот способ подходит как для проприетарных, так и для свободных драйверов. К сожалению этот способ не подходит для окружения рабочего стола KDE. Итак создайте или, если он есть, исправьте файл /etc/X11/xorg.conf.d/20-radeon.conf , доведя раздел «Device», до следующего сосостояния:
Section "Device"
Identifier "Radeon"
Driver "radeon"
Option "TearFree" "on"
EndSection
xfce тиринг
<шутка>XFCE славится своим замечательным тирингом</шутка>. Это всегда было проблемой данного рабочего окружения, благодаря своему композитному менеджеру. Поэтому для решения этой проблемы заменим дефолтный композитор на Compton.
Для начала отключим стандартный композитный менеджер «Крыски» для этого выполним в терминале:
xfconf-query -c xfwm4 -p /general/use_compositing -s false
Или пройдём в настройки XFCE, в настройки менеджера окон, и снимем чекбокс с Enable display compositing, как на изображении ниже.
далее установим Compton, независимый композитор, который очень хорошо работает с легковесными окружениями рабочего стола. Дам команды для двух веток Linux, но думаю что ни для кого ни составит труда установить пакет в свой дистрибутив.
Debian и производные
sudo apt install compton
Arch linux и производные
sudo pacman -S compton
Вернёмся к настройкам XFCE. На этот раз нажмите “Сеанс и запуск.” (Session and Startup) Добавить Compton в автозапуск, для этого добавим в атвозапуск комптон со следующим ключем:
usr/bin/compton --backend glx
как на скрине:
После чего перезагружаемся и проверяем работает ли Compton:
pgrep -l compton
Если всё норм, проверяем работает ли тиринг =)
Если тиринг в XFCE не пропал, то пробуем отредактировать файл ~/.config/compton.conf, в моём случае он такой:
backend = "glx";
paint-on-overlay = true;
glx-no-stencil = true;
vsync = "opengl-swc";
# Shadow
shadow = true; # Enabled client-side shadows on windows.
no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows.
no-dnd-shadow = true; # Don't draw shadows on DND windows.
clear-shadow = true; # Zero the part of the shadow's mask behind the window (experimental).
shadow-radius = 7; # The blur radius for shadows. (default 12)
shadow-offset-x = -7; # The left offset for shadows. (default -15)
shadow-offset-y = -7; # The top offset for shadows. (default -15)
shadow-exclude = [
"n:e:Notification",
"n:e:Docky",
"g:e:Synapse",
"g:e:Conky",
"n:w:*Firefox*",
"n:w:*Chromium*",
"n:w:*dockbarx*",
"class_g ?= 'Cairo-dock'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'",
"class_g ?= 'Notify-osd'",
"_GTK_FRAME_EXTENTS@:c"
];
# Opacity
detect-client-opacity = true;
# Window type settings
wintypes:
{
tooltip = { shadow = false; };
};
По идее разрывы должны пропасть, если не пропали, значит что-то пошло не так. Ищите дальше, ведь это Линукс, за всё нужно платить=)
kde тиринг
KDE, является моим любим рабочим окружением. В нём есть такое огромное количество, так нужных пользователям, элементов управления, что с помощью GUI Панели управления можно настроить практически всё. Откройте приложение Настройки и найдите «Display and Monitor». Там выберите «Compositor». Найдите параметр «Предотвращение разрыва vsync»(Tearing prevention «vsync» и установите для него значение «Перерисовка всего экрана” (Full screen repaints). После этого нажмите «Применить» (Apply).
Нередко Kwin, оконный менджер KDE, тоже становится причиной тиринга. Если не после предыдущих манипуляци разры картинки не пропал, то создалим файл /etc/profile.d/kwin.sh следующего содержания:
export KWIN_TRIPLE_BUFFER=1
Перелогиньтесь и всё должно стать гладко.
Firefox тиринг
Удостоверьтесь, что тиринг у вас присутствует только в браузере Firefox, с помощью данного видео выполните проверку на тиринг просмотрев в 1080p60:
если при просмотре видео, изображение будет рваться то переходите к следующим манипуляциям:
1) Откройте about:config в Firefox
2) Найдите layers.acceleration.force-enabled
3) Измените значение(Value) на true.
4) Перезагрузите браузер
Гик, хакинтошник, линуксоид, считаю себя flutter разработчиком. Завёл канал, в котором изначально хотел показывать как я с нуля и до бесконечности погрузился в дорвей тематику, а в итоге просто рассказываю о себе, своих успехах и неудачах в сайтах, приложениях, офлайн проектах. Добро пожаловать в
Спасибо за руководства. Избавился от тиринга в фаерфокс. Как поменять настройки для AMD не понял. Не хватает информации.
Думал, что дело именно в firefox но менять настройки в about:config ничем успешным не закончились, решил попробовать compton и вся система стала супер плавно скролиться. Автору огромное спасибо!
Debian 10 stable и KDE, видюха Nvidia RTX 2060, монитор 144 гц. В общем имеется полный набор этих проблем: тиринг и тормозной фпс интерфейса (окон и анимаций). Но, вроде как починил (думаю по поводу тормозного фпс способ поможет и на Intel с AMD). Чтобы фиксануть тиринг, все как в статье, ставим дрова нвидиа, ставим там ForceCompositionPipeline, после этого в принципе тиринга нет, но полоска на этом видео (Video tearing and smoothness test @60fps) как будто бы дергается, ну и интерфейс тормозной все равно. Если в KDE включить в эффектах «График производительности», то он показывает 72 фпс. В общем, чтобы интерфейс стал плавным на 144 гц, нужно отредактировать файл оконного менеджера KWin от рута (например через sudo nano) по адресу /home/user/.config/kwinrc (разумеется вместо user имя вашего пользователя), и там в конец секции [Compositing] добавить следующие строки: MaxFPS = 200, RefreshRate = 200. Наверное фпс можно и больше, но я разницы с 500 не заметил, а 200 поставил чтоб заведомо было больше частоты монитора. В любом случае, этот график kdeшный показывает 100 фпс максимум, так что я не знаю, мб выше 100 он и не становится, но плавнее в разы становится, как на 10 винде (и ролик тоже стал плавным).
Спасибо. Избавился от тиринга в играх на карте Nvidia вторым способом.
Fedora 37.
перепробовал все дистрибутивы mint когда-то. тиринга вроде не было на MAte
Что только не пробовал делать, тиринг в браузерах на всех дистрибутивах, со всевозможными настройками. Очень действует на нервы когда при скроллинге постоянно рвет страничку т. к. ноут в основном и используется что бы посидеть в интернете. Выходом было установить win10, пусть громоздкая и тупая, но зато никакого тиринга и нервы в порядке. Кстати пробовал даже дистрибутивы на вайланд, там другая проблема проявлялась, очень странно ведет себя мышь, как будто инпут лаг постоянный, очень странно перемещается. Линукс безусловно интересная система, но эти косяки ставят полный крест на нём для меня.