LINUX.ORG.RU

Для тех, у кого тиринг на блобе nvidia и kwin

 , , ,


6

2

Стоило лишь прочитать вывод в консоль:

$ kwin
OpenGL vendor string:                   NVIDIA Corporation
OpenGL renderer string:                 GeForce GTX 760/PCIe/SSE2
OpenGL version string:                  3.1.0 NVIDIA 319.60
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver:                                 NVIDIA
Driver version:                         319.60
GPU class:                              Unknown
OpenGL version:                         3.1
GLSL version:                           1.40
X server version:                       1.14.3
Linux kernel version:                   3.11
Direct rendering:                       yes
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
kwin(2875) KWin::GlxBackend::present: 
It seems you are using the nvidia driver without triple buffering
You must export __GL_YIELD="USLEEP" to prevent large CPU overhead on synced swaps
Preferably, enable the TripleBuffer Option in the xorg.conf Device
For this reason, the tearing prevention has been disabled.
See https://bugs.kde.org/show_bug.cgi?id=322060

Делаем что сказано (вариант для системы с xorg.conf.d, напр. Ubuntu):

cat <<__CONF__ | sudo tee /usr/share/X11/xorg.conf.d/60-triple-buffering.conf
Section "Device"
    Identifier "NVIDIA card"
    Driver "nvidia"
    Option "TripleBuffer" "True"
EndSection
__CONF__

Перезапускаем иксы (можно еще и драйвер обновить и перезагрузиться) и радуемся.

P.S. Справка по nvidia опциям xorg.conf здесь: http://us.download.nvidia.com/XFree86/Linux-x86_64/331.20/README/xconfigoptio...

Ээ, мне тупо хватило в настроках квина указать полную перерисовку. И все, никакого тиринга близко даже нет. Правда нуво, а не кактус.

Akamanah ★★★★★ ()
Ответ на: комментарий от Akamanah

Указывал полную перерисовку тоже. Но это помогло.

Правда странно, что на одной тачке не потребовало Identifier и Driver в секции Device.

KennyMinigun ★★★★★ ()

Спасибо тебе, добрый человек!
Чтобы работало для полноэкранных приложений - снять галку «отключить графические эффекты для полноэкранных окон»

Valkeru ★★★★ ()
Ответ на: комментарий от KendovNorok

Я у себя замечал на краях полупрозрачного окна Konsole, когда его двигал. Но дял меня это не особо критично, т.к. тиринг замечаю, только если сильно приглядеться.

KennyMinigun ★★★★★ ()

У меня тиринг при прокрутке страниц. Эффекты выключены. А на видео тиринга вроде нет (не замечал по крайней мере, редко приходится что-то смотреть).

Gicdillah ()

Разве тройная буферизация - это не 30 FPS? Сегодня мне пришло в Jabber:

realiddqd: удалось избавиться от буфера в счёт export __GL_YIELD=«USLEEP» этой команды
realiddqd: не знаю что делает
realiddqd: но тиринга нет

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

__GL_YIELD=«USLEEP»

Про это kwin тоже говорит. В шапке видно.

Разве тройная буферизация - это не 30 FPS?

Вроди нет, по ощущениям.

KennyMinigun ★★★★★ ()

Сперва Здрав буде, Боярин! Хотелось бы поговорить подробно о предмете, так как похоже в этом деле азм еси нубъ. Можно как нибудь в личку? А то слегка стыдно.

yun4k0v ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.