Как победить тиринг (tearing) XFCE
Многих (в т.ч. и меня) сильно бесит тиринг в linux (windows тоже этим балуется). Лечить это можно и нужно. Это влияет на плавность картинки при перетаскивании окон, просмотре видео. Итак, у каждой видеокарты это лечиться по особенному. В этой статье рассмотрим исправление тиринга в Linux Mint XFCE (Xubuntu). Поехали!
AMD (ATI)
Для начала, не мешало бы включить композитинг и эффекты рабочего стола в настройках XFCE, ежели Вы их конечно отключали ;)
Включим вертикальную синхронизацию:
Тут всё просто, AMD приходится догонять nvidia, потому они более ответственно относятся к пользователям. Их софт удобнее, на русском и содержит всё необходимое для лёгкого подключения телика и избавления от тиринга. Обожаю видеокарты от AMD!
Думаю, на картинке всё видно. Отключается это через настройки catalist. Как правило этого достаточно, чтобы проблема тиринга Вас больше не беспокоила.
В последнее время AMD забросили catalist для Linux и сосредоточились на свободном драйвере + AMD GPU Pro.
Тиринг в этом случае устраняется ещё проще. Нужно создать файл /usr/share/X11/xorg.conf.d/20-radeon.conf
Identifier "Radeon"
Driver "radeon"
Option "TearFree" "true"
Option "DRI" "3"
EndSection
После перезагрузки, тиринг Вас оставит в покое. Так же можно воспользоваться моим скриптом преднастройки Xubuntu, который делает это автоматически :)
Intel
Делаем по аналогии с AMD.
Нужно создать файл /usr/share/X11/xorg.conf.d/20-intel.conf
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection
Nvidia
Тут всё намного хуже. Nvidia карточки значительно производительнее AMD-шных при той же цене (в дешёвом сегменте, разумеется. Всё что более $150 лучше брать AMD). Но эти п...болы зажрались и даже простейшее изменение типа пикселизации в настройках ничего хорошего не приносит. К примеру в Linux драйверах отсутствует режим Ycbcr 422, а в windows он хоть и имеется, но не работает. Так же в nvidia клали на Ваши проблемы тиринга, и исправлять его в 2D режиме совершенно не чешутся.
В общем, вернёмся к нашим "баранам". Для начало стоит выключить композитинг:
Заменим композитинг на compton, который будем запускать вручную. По умолчанию он в Mint уже есть, но лучше его обновить из сторонних репозиториев:
#apt-add-repository ppa:richardgv/compton
#apt-get update
#apt-get install compton
Теперь можно просто запустить в консоли "$compton --vsync opengl" и всё станет красиво! Никакого тиринга. Но если хочется ещё красивее, т.е. лучшей плавности и теней, то можно замутить файлик настроек для compton, где малость его сконфигурировать.
Файл настроек положите в домашнюю дирректорию и обзовите: ~/.compton.conf (файл будет скрытым).
paint-on-overlay = true; # Эти три может повысить производительность, хорошо работают в большинстве случаев
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
xrender-sync = true;
xrender-sync-fence = true;
#vsync = "opengl-swc"; # Включает один из методов VSync. Проверьте здесь для получения дополнительной информации: https://github.com/chjj/compton/wiki/vsync-guide
vsync = "opengl"; # Включает один из методов VSync. Проверьте здесь для получения дополнительной информации: https://github.com/chjj/compton/wiki/vsync-guide
# Тени
shadow = true; # Enabled стороне клиента тени на окнах.
no-dock-shadow = true; # Избегайте нанесения теней на док / панельных окон.
no-dnd-shadow = true; # Не рисовать тени на ДНА окон.
clear-shadow = true; # Ноль часть маски тени позади окна (экспериментальный).
shadow-radius = 7; # Радиус размытия теней. (По умолчанию 12)
shadow-offset-x = -7; # Левый смещение для теней. (По умолчанию -15)
shadow-offset-y = -7; # Верхняя смещение для теней. (По умолчанию -15)
shadow-exclude = [
"! name~=''",
"n:e:Notification",
"n:e:Plank",
"n:e:Docky",
"g:e:Synapse",
"g:e:Kupfer",
"g:e:Conky",
"n:w:*Firefox*",
"n:w:*Thunderbird*",
"n:w:*Chrome*",
"n:w:*Chromium*",
"n:w:*VirtualBox*",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Cairo-dock'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'"
];
# Из-за того, как Compton рисует тени, некоторые приложения будут иметь "Glitchy" тени. Я добавил все проблемные приложения я столкнулся здесь.
# "! Название ~ = ''" исключает тени на "Unkown" Окна, который фиксирует теневой глюк с XFWM в закладке Alt коммутатора.
# выцветания
fading = true; # Fade окна при изменении непрозрачности.
fade-delta = 4; # Время между шагами в исчезать в миллисекундах. (По умолчанию 10).
fade-in-step = 0.03; # Непрозрачность изменение между стадиями пока происходит. (По умолчанию 0.028).
fade-out-step = 0.03; # Непрозрачность изменение между стадиями во время выведении. (По умолчанию 0.03).
no-fading-openclose = true; # Fade окна в / из при открытии / закрытии
detect-client-opacity = true; #Fixes Непрозрачности в некоторых приложениях, таких как xfce4-notifyd
# настройки типа окна
# Отключение теней на подсказках и позволяет замирания на подсказках
wintypes:
{
tooltip = { fade = true; shadow = false; };
};
Достаточно просто запустить $compton
Если не прокатит, попробуйте указать файл настроек вручную:
$compton --config ~/.compton.conf
Всё! Думаю то, что запуск этого дела можно внести в автозагрузку, объяснять не нужно ;)
Ссылки:
Настройка compton
Nvidia. Второй вариант
Устанавливаем драйвер nvidia через "Настройки --> Дополнительный драйверы"
Запускаем nvidia-settings
Далее нужно создать файл xorg.conf. Для этого в nvidia-settings в разделе "X Server Display Configuration" давим кнопку "Save to X Configuration file" и прописываем путь /etc/X11/xorg.conf
Закрываем nvidia-settings и открываем файл /etc/X11/xorg.conf. Там нужно найти секцию Section "Screen"
И в ней подправить опцию Option "metamodes"
прописав после +0+0 строчку:
{ForceFullCompositionPipeline=On}
Например, моя строчка выглядит так:
Option "metamodes" "DVI-D-0: 1920x1080_60 +0+0 {ForceFullCompositionPipeline=On}, HDMI-0: 1920x1080_60 +0+0 {ForceFullCompositionPipeline=On}"
У меня есть монитор, он сидит на DVI-D-0 и есть телик, сидит на HDMI-0. "Антитиринг" я прописал дважды на каждое устройство.
Такой вариант работает, но есть косяк. Если включать комп только с монитором, а затем запускать телик (фильмец, например захотелось глянуть), то тиринг есть не телике. Если запускать комп сразу с включенным монитором и теликом, то тиринга нету, нигде!
PS если после загрузки с теликом, телик выключить а затем включить, то всё работает. Тиринга нет. Видимо на этапе загрузки чё-то срабатывает.
19.02.2016. 19:32
Комментарии
запустить в консоли "$compton --vsync opengl" Скажите, это полная команда или перед ней еще что то?
Ответ: Цитата: "Но если хочется ещё красивее, т.е. лучшей плавности и теней, то можно замутить файлик настроек для compton..."
Меню
Статьи
- Настраиваем Windows 10 LTSC 2021
- Сброс аккаунта (FRP) huawei и honor
- Блок питания 200 Ватт (>10А) из трансформатора компьютерного блока ATX
- Программируемое реле дворников ВАЗ 2101 своими руками
- Настраиваем Windows 10 LTSC. Более "мягкий" способ
- Отключение телеметрии MS office 2019/2021 (и обновлений)
- Модернизация стабилизатора напряжения Daewoo DW-TZM2kVA и аналогичных.
- Термостат управления обогревателем
- Настраиваем Windows 10 LTSC
- Самые лучшие электронные часы в мире.
- Сохраняем пароли в облаке
- Правда о 3D-Secure
- Клавиатурный тренажёр
- Список изменений Mbux
- Разлочка аккаунта google на android
Закладки
Комментарии
- Антон (Спасибо тебе добрый человек!)
- homa (Сайт virustotal ругается на файл nullprog...)
- Стас (Здравствуйте! Подскажите как решить ту ж...)
- fc00d (Отключать обновления - это, имхо, нонсенс.)
- rezorustavi (Да и у меня проблем не замеченно и...)
Написать комментарий
* - обязательное поле