LINUX.ORG.RU

NVIDIA и композитинг с этими опциями

 ,


0

1

Немного предыстории. В 2006-2008 году мы знали про низкоуровневые вещи, поверх которых работает Компиз (и другие композитные менеджеры). XGL, AIGLX, NVIDIA. Теперь остался только AIGLX, и мы о нём не знаем и не помним - он просто работает. Разве что в логе иксов можем повстречать упоминание о нём.

  • XGL это наиболее ранний движок, это пропатченный бинарник /usr/bin/X (или /usr/bin/Xorg). glxinfo с ним выдаёт Direct rendering: no. На раннем глючном fglrx работал только он. Разработка прекращена после появления AIGLX
  • AIGLX позволял не патчить бинарник иксов, а использовать расширение. glxinfo с ним выдаёт Direct rendering: yes. На нвидиях работал прекрасно, а на ати не работал. Когда появились другие драйверы (i810, i965, radeon open source, nouveau), то AIGLX и на них тоже забегал
  • Реализация композитинга от NVIDIA появилась после XGL, но до AIGLX. Можно было включить композитинг, не патча «иксы», и это было круто. И DRI был YES. Но, после появления AIGLX, про реализацию от NVIDIA все забыли. Разницы между ними как-то нет.

Я тут попробовал выполнить:

nvidia-xconfig --composite
nvidia-xconfig --allow-glx-with-composite
nvidia-xconfig --render-accel
nvidia-xconfig --add-argb-glx-visuals

И AIGLX заблокировал в конфиге иксов. Кажется, стало плавнее. Или это самовнушение? Можете попробовать?

Вообще, раньше выполнять команды, перечисленные выше, было обязательно. Иначе композитинг не работал. Но после драйвера 100.14.19, они включены по умолчанию. Но почему-то мне кажется, что стало плавнее. Оттестируйте и напишите, на каком «железе» тестировали!

P.S. Изменения в конфиг «иксов», если не доверяете утилите:

Section "ServerFlags"
...
    Option         "AIGLX" "false"
EndSection

Section "Screen"
...
    Option         "AllowGLXWithComposite" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "RenderAccel" "True"
...
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
EndSection

Ответ на: комментарий от ox55ff

Патчи как бы тоже под GPL были :-) Нужно было, чтобы сервер Xorg умел быть приложением OpenGL. А он мог только отрисовывать внутри себя приложение OpenGL, в окошке или на полный экран - но не самому им быть.

Потом разработчики Fedora придумали расширение AIGLX, реализующее это, и XGL стал не нужен. Но его тащили в репозиториях аж до Ubuntu 8.04, потому что fglrx работал только с ним

ZenitharChampion ★★★★★ ()