LINUX.ORG.RU

Как победить тиринг на nvidia?

 , , ,


2

2

Привет, ЛОР.

Я решил заменить compiz, на котором всё было нормально, на i3wm.

Без композитного менеджера при прокрутке текста в любом окне вижу просто адский убийственный тиринг смерти, работать невозможно. С xcompmgr не такой страшный, но всё же заметный тиринг. С compton, в зависимости от его настроек и положения флажка напротив vsync в nvidia-settings, либо тиринг, либо содержимое окон иногда перерисовывается кусками, например вот так, исправляется это перемещением окна.

Видеокарта GeForce GTS 450, проприетарный драйвер 337.19, два монитора с одинаковыми разрешениями, xcompmgr и compton из git.

Если у вас нет таких проблем на nvidia с проприетарным драйвером, расскажите, как вы этого добились, какая стоит версия драйвера и т.п.

Deleted

Последнее исправление: somestuff (всего исправлений: 1)

В xorg.conf у меня прописано

Option         "metamodes" "CRT: 1920x1200 +0+0 { ForceCompositionPipeline = On }, DFP-0: nvidia-auto-select +1920+0 { ForceCompositionPipeline = On }, DFP-1: nvidia-auto-select +3840+0 { ForceCompositionPipeline = On }"

Проверить можно так:

nvidia-settings --assign CurrentMetaMode="CRT: 1920x1200 +0+0 { ForceCompositionPipeline = On }, DFP-0: nvidia-auto-select +1920+0 { ForceCompositionPipeline = On }, DFP-1: nvidia-auto-select +3840+0 { ForceCompositionPipeline = On }"

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

Мониторы в twinview. Если выключить один, тиринг без композита становится менее заметным, но не пропадает, с включенным композитом картинка иногда «замерзает».

Deleted
()
Ответ на: комментарий от NeOlip

Сделал

nvidia-settings --assign CurrentMetaMode="DFP-1: nvidia-auto-select +0+0 { ForceCompositionPipeline = On }, DFP-0: nvidia-auto-select +1600+0 { ForceCompositionPipeline = On }"

Тиринг без композитного менеджера пропал, но при скроллинге страницы сверху вниз, изображение становится каким-то дерганным, как будто смотрю в ЭЛТ монитор с низкой частотой обновления, если скроллить снизу вверх, то всё идеально плавно. Но вообще прогресс налицо, буду тестировать эту опцию с разными настройками compton.

Deleted
()

у самого gtx 460, тиринг в кедах до конца победить не удалось. Однако проявляется он только при просмотре флэша и играния в игры, и только во время экшона.

Deleted
()

Дерганость отрисовки из-за того, что в nvidia начиная с 334 ветки что-то сделали с glx-композитингом (возможно как-то связано с поддержкой egl). В комптоне из гита это исправлено костылем. Для компиза 0.9 вроде бы есть какой-то патч.

Тут два варианта:

1. Использовать комптон с xrender-бэкэндом:

compton --vsync opengl
Вертикальная синхронизация в настройках блоба никак не влияет, т.к. не glx

2. Собрать последний комптон из гита.

compton --backend glx --vsync opengl --xrender-sync --xrender-sync-fence
Вертикальная синхронизация в nvidia-settings должна быть выключена.

Тиринга не будет в обоих случаях.

equeim ★★
()
Последнее исправление: equeim (всего исправлений: 1)

такая же видеокарта, 337.88. Проблем вроде нет. А что такое тиринг?

anonymous
()

Добавь

export __GL_YIELD="USLEEP"
в
/etc/profile

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

Спасибо, compton с --xrender-sync-fence, пока показал лучший результат. Почти также плавно, как в compiz, но не так плавно, как на i915 с wayland.

Deleted
()

Отключил vsync в nvidia-settings, пересобрал compton из git и сделал

compton --backend glx --vsync opengl-swc --xrender-sync --xrender-sync-fence --paint-on-overlay --glx-no-rebind-pixmap --glx-no-stencil --glx-swap-method=2

Тиринга нет, на счет плавности ничего сказать пока не могу, т.к. через полчаса тестирования разных настроек начал замечать дерганье и подлагивание изображения на всех устройствах, даже на телефоне и телевизоре.

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

Не поможет, включай в xorg.conf тройную буферизацию. Как это сделать сам нагуглишь, Linux-а сейчас нет под рукой.

anonymous
()

Могу ещё посоветовать включить тройную буферизациию. Мне помогло, правда с kwin.

А по поводу производительности — то 60 fps для десктопа хватит выше крыши.

KennyMinigun ★★★★★
()

Пока не придумали ничего лучше Compiz. Но если руки чешутся перейти таки на i3, то спасет только Compton.

neocrust ★★★★★
()

Еще энергосбережение карточки отключите.

hizel ★★★★★
()

Включил тройную буферизацию, выключил vsync в блобе, запустил compton вот так:

compton --backend glx --vsync opengl-swc --xrender-sync --xrender-sync-fence --paint-on-overlay --glx-no-rebind-pixmap --glx-no-stencil

Стало показывать нормально. Если отключить энергосбережение видеокарты, становится еще лучше, но видеокарта со своим пассивным охлаждением начинает сильно греться на ровном месте.

Всем спасибо за советы.

Deleted
()
26 ноября 2014 г.
Ответ на: комментарий от anonymous_sama

Вот с --paint-on-overlay не могу загрузить i3. Черный экран, песочные часы. Без него - норм, но тиринг

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

Это уже не важно, у меня nouveau, всё плавно и без тиринга.

Deleted
()
Ответ на: комментарий от vertexua

Зачем нужны опции xrender если backend glx? Работает без них?

Скажем если у тебя gma3600 или еще какая-нибудь видеокарта, с которой opengl не работает как надо, или медленно работает.
Т.е я так понимаю, compton по дефолту задействует opengl backend если он хоть как-то работает, но как его делает твою видеокарта это уже твои проблемы, в таких случаях нужно явно ему указать нужный тебе backend. В man'е там довольно хорошо описаны все опции, можешь поэксперементировать.

Вот с --paint-on-overlay не могу загрузить i3. Черный экран, песочные часы. Без него - норм, но тиринг

Я сталкивался с тирингом на nvidia только один раз. И то оно проявлялось только в очень динамических сценах в видео, если использовать vdpau. И это был Debian Squeeze, несколько лет назад. Тогда проблема решилась с обновлением vdpau и иксов через пару месяцев сама.
Команда выше была приведена, просто как то, что слышал людям помогает... Вообще если у тебя реально проблема с тирингом. То в первую очередь проверь vsync в nvidia-settings и можешь насильно включить triple buffer.

Option "TripleBuffer" "enable"
Вообще большинство пробем с тирингом, как мне кажется, это либо признак неудачно выбранной среды или WM, особенно если она сама задействует opengl (например, kwin в kde) либо чаще всего старый графический стек (дистрибутив) или очень неудачное его сочетание. Ну или vsync включен и драйвере и где-то еще одновременно.

anonymous_sama ★★★★★
()
21 июля 2015 г.
Ответ на: комментарий от anonymous_sama

разработчики иксов писали, что в общем случае виновата архитектура иксов, хотя в частных случаях это можно заставить работать

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