Решаем проблему тиринга в linux (NVIDIA)
Что такое тиринг? Когда графическая система не успевает прорисовать картинку и на неё накладывается новый кадр до того как старый исчезнет. Получается разрыв
Разрыв картинки можно заметить не только в играх, но и при использовании графической среды, например в XFCE4.
Победить его очень просто, есть 2 варианта.
1 способ
Запускаем утилиту nvidia-settings, в разделе X Server Display Configuration выставляем параметры монитора(ов) и сохраняем конфигурационный файл xorg.conf в /etc/X11/
После этого открываем сохранный файл и удаляем запись ForceCompositionPipeline=On оставляя только ForceFullCompositionPipeline=On, должно получиться что-то вроде этого (у меня 2 монитора):
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "DFP-1" Option "metamodes" "HDMI-0: 1920x1080_60 +0+0 {ForceFullCompositionPipeline=On}, DVI-D-0: 1920x1080_60 +1920+0 {ForceFullCompositionPipeline=On}" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection
После перегружаемся и смотрим на эффект.
2 способ. Убираем тиринг в xfwm
С версии xfce 4.14, Xfwm4 теперь поддерживает 3 режима vblank:
glx или auto — по умолчанию. Работает с картами Intel и некоторыми картами nvidia / ati.
xpresent — использует библиотеки xpresent. Работает с новыми картами ATI / AMD.
off — это отключает код vblank. Работает с картами nvidia.
Чтобы проверить, какой режим vblank лучше всего подходит для вашей системы, просто перезапустите xfwm и укажите в качестве параметра, какой режим vblank использовать:
xfwm4 --vblank=MODE --replace
После того как определили какой параметр вам подходит, сохраняем изменения и радуемся.
xfconf-query -c xfwm4 -p /general/vblank_mode -t string -s "MODE" --create
"MODE" замените на одно из значений: "auto", "glx", "xpresent", "off".