Xgl

Материал из openSUSE.

Содержание

Введение

Куб - Переключение рабочих столов , вращая трехмерный куб с запущенным фильмом высокого разрешения на его грани.
Увеличить
Куб - Переключение рабочих столов , вращая трехмерный куб с запущенным фильмом высокого разрешения на его грани.

Xgl - это новая архитектура Xserver'а, являющаяся надстройкой OpenGL. Xgl выполняет сложные графические операции, такие как отрисовка шрифтов со сглаживанием , заметно быстрее других Xserver'ов, не использующих OpenGL. В текущей реализации архитектура названа Xglx, но в последующих версиях это будет Xegl.

Xgl ускоряет сложные операции в комплексе. Необходимым условием, позволяющим увидеть все возможности Xgl, является наличие композитного оконного менеджера. Например, такие OpenGL-менеджеры, как Compiz, позволяют создавать невероятные визуальные эффекты, делая Linux более доступным для людей с ослабленным зрением. Они создают рабочее окружение, легкое в восприятии и навигации даже для неопытных пользователей.Compiz - это дополнительная утилита, разработанная совместно с Xgl.

Возможно, в дальнейшем графические платы будут поддерживать только 3D операции, без каких-либо намеков на 2D. Именно поэтому внедрение Xgl является серьезным преимуществом для всех операционных систем, основанных на X.org.

Xgl в Open Source

В начале 2006 разработчик Xgl David Reveman добавил некоторые изменения в Xgl и Compiz в freedesktop.org CVS репозиторий. В настоящее время freedesktop.org содержит исходные коды Xgl.

Использование Xgl/Compiz

Информацию об использовании Xgl на SuSE Linux, пожалуйста прочтите Советы по использованию Xgl в SUSE . Для информации о композит менеджере посетите страницу Compiz. Если у вас взникли проблемы, посетите страницу Xgl troubleshooting.

ЧАВО

  • Могу я использовать <вставьте_ваш_любимый_манеджер_окон> с compiz?
    Нет, compiz это менеджер окон, только одна копия может быть запущенна одновременно. Однако кампозит мненеджер и менеджер окон это разные понятия, для многих эффектов эти два процесса должны быть тесно связанными, так мы получаем так называемые композитные менеджеры окон. Каковым Compiz и является.
  • Тогда как насчет glxcompmgr.rpm и xglx.rpm ?
    glxcompmgr не поддерживается используйте пакет xglx.
  • Direct rendering не работает при запущенном Xgl, но работает на Xorg. Почему приложения OpenGL не используют аппаратное ускорение?
    Не смешивайте аппаратное ускорение и direct rendering. Приложения OpenGL будут аппаратно ускоряться на Xgl, если поддерживает драйвер pBuffers или FBOs, как, например, в драйверах nvidia и fglrx. С другой стороны, direct rendering невозможно реализовать сейчас, необходимые расширения для реализации этой возможности всё ещё не имеют спецификации, но будут реализованы.
    Direct rendering предполагает аппаратное ускорение, но не наоборот. Direct rendering немного быстрее, чем indirect rendering, но indirect rendering не так плох, как звучит.
  • Как можно проверить, включён ли direct rendering на Xorg?
    Direct rendering работает, если запущенная команда glxinfo|grep direct вверху Xorg (не Xgl!) показывает "Yes". В случае с Xgl это всегда будет отображаться как "No". К сожалению, для Xorg direct rendering это синоним иметь ускоренную графику, и гораздо сложнее определить, доступно ли аппаратное ускорение, чем определить direct rendering.
  • Могу я поместить рабочие столы на верхнюю и нижнюю части куба?
    Нет. Это не имеет смысла, т.к верхняя и нижняя стороны это квардраты, когда ваш экран имеет некое соотношение сторон. Это также озночает что вы можете выбрать соответсвующий рабочий стол и увидить его вращающимся. Вы можете легко изменить количество сторон, изменив опцию

apps/compiz/general/screen0/options/size.

  • Как я могу настроить использование множества мониторов в Xgl?
    На данный момент Xgl и Compiz не поддерживает расширение Xinerama. Над этим работают.
  • Все это является частью Xorg 7?
    Нет, Xgl разрабатывается в Xorg сообществе, но в отдельной ветке.Скорей всего слияние произойдет после выхода Xorg 7.1.
  • Как я могу включить Composite в файле конфигурации?
    Вам не следует этого делать.Xgl нативно поддерживает Composite,прослойке Xorg нет надобности предоставлять Composite.Это важно, например для драйвера Nvidia,который имеет ряд замечаний в одновременной работе с OpenGL и Composite.
  • Как я могу избавится от артефактов?
    Это комплексная проблема которая будет решаться постепенно.

Техническая информация

Xgl и Compiz созданы в основном разработчиком David Reveman (Novell) с некоторыми добавлениями от Matthias Hopf (SUSE). Dave Arlie, Adam Jackson (Red Hat) и Jon Smirl работают над отдельным проектом - Xegl, который не описывается здесь, однако родственен Xgl. Xgl использует glitz API, который был создан и применен David Reveman и Peter Nilsson (UMU).

Xgl это frontend к нескольким разным вещам, однако glx backend (также называемый Xglx) был центральным направлением разработки на данный момент. Этот backend работает в окне поверх обычного Xserver'а (сравнимо с Xnest) и обеспечивает необходимую поддержку OpenGL. Существует ключ -fullscreen для создания одного полноэкранного окна. Также вы должны указать имя дисплея (display), которое НЕ является именем дисплея первоначального Xserver'а. Другой backend, называемый Xegl позволяет работать Xgl напрямую с framebuffer. Однако, этот backend далек от завершения и работает только с видеокартами, основанными на ATI R200.

Т.к. Xgl с glx backend'ом не может работать отдельно сам по себе, он автоматически запускает на фоне Xorg server. По умолчанию SUSE использует дисплей :93 для этого. Только Xgl имеет права на работу с этим Xorg server'ом и создает дисплей :0 для всех остальных приложений.

Рекомендации по аппаратному обеспечению

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


  • Intel
    Для безупречной работы графических чипов от intel необходимы новейшие пакеты Xgl и compiz
    • i915, i945
      Ускоренное XVideo некорректно работает на этих картах. Смотрите страницу Xgl troubleshooting.
  • NVidia
    Всем картам NVIDIA нужны проприетарные драйвера для работы с Xgl. Вам будет нужно удалить и переустановить xgl rpm пакет после установки проприетарного драйвера от NVidia.
    • GeForce 4xxx series
      XVideo не ускорено на этих картах.
    • GeForce FX 5xxx series, Quadro FX series
      Поддержка ускоренного XVideo на этих картах медленно, но разрабатывается.
    • GeForce 6xxx series
    • GeForce 7xxx series
  • ATI
    • Mobility Radeon 9700 SE: Xgl работает с проприетарным fglrx драйвером 8.23
    • Radeon X300: Xgl работает с проприетарным fglrx драйвером 8.23

Если вы не уверены какую карту используете, вы можете запустить следующую команду (как root):
hwinfo --gfxcard

Если ваша карта не указана здесь, вы можете проверить Gentoo hardware list .

Конфликтное аппаратное обеспечение

Видеокарты с выявленными проблемами и несовместимостями:

  • ATI
    • Mobility Radeon M6 LY (7000), Mobility Radeon M9 (9000) and Mobility Radeon M9+ (9200)
      Артефакты и случайное мерцание.
    • Radeon 9200
      Нет аппаратного ускорения при использованиее fglrx 8.22.5 драйвера.
    • Radeon XPRESS 200M 5955 (PCIE), Driver: "fglrx_pci", XGL работает но 2D/3D приложения не работают должным образом (2D/3D игры,полноэкранное видео и т.д.).
  • Intel
    • i855GM
      Работает, но в целом эффекты очень медленны.
    • i815, i845
      Слишком стары, Xgl работает, однако compiz нет. Возможно совместимость будет добавлена позже.

Ссылки

Получено с http://ru.opensuse.org/Xgl