Xgl

редактировать
Xgl
Compiz на Xgl с реальной прозрачностью Compiz в Xgl с реальной прозрачностью
Автор (ы) Дэвид Ревеман
Первый выпуск2 января 2006 г.; 14 лет назад (02.01.2006)
Тип Сервер отображения
Веб-сайтweb.archive.org / web / 20070605230047 /http://www.freedesktop.org/w/Software/Xgl

Xglэто устаревший сервер отображения , поддерживающая протокол X Window System, предназначенная для использования преимуществ современных видеокарт через их драйверы OpenGL, расположенные поверх OpenGL. Он поддерживает аппаратное ускорение всех приложений X, OpenGL и XVideo, а также графические эффекты с помощью композитного оконного менеджера, такого как Compiz или Берил. Проект был начат Дэвидом Ревеманом из Novell и впервые выпущен 2 января 2006 г. Он был удален с сервера X.org в пользу AIGLX на 12 июня 2008 г.

Содержание
  • 1 История
  • 2 Бэкэнды
    • 2.1 Xglx
    • 2.2 Xegl
  • 3 Обоснование
  • 4 Конкуренты
  • 5 Доступность
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
История

Первоначально Xgl разрабатывался в публичных списках рассылки, но долгое время, до 2 января 2006 г., большая часть разработки Xgl велась за закрытыми дверями.. В тот день исходный код Xgl был вновь открыт для публики и включен в freedesktop.org вместе с крупной реструктуризацией, чтобы обеспечить более широкий диапазон поддерживаемых драйверов дисплея. Бэкенды X-сервера, используемые Xgl, включают Xglx и Xegl . В феврале 2006 года сервер получил широкую огласку после публичной демонстрации, на которой команда разработчиков настольных компьютеров Novell продемонстрировала рабочий стол, использующий Xgl, с несколькими визуальными эффектами, такими как полупрозрачный windows и вращающийся 3D-рабочий стол. Эффекты сначала были реализованы в составном менеджере под названием (не путать с xcompmgr), но теперь не рекомендуется, поскольку некоторые эффекты не могли быть адекватно реализованы без более тесного взаимодействия между оконным менеджером и составным менеджером. В качестве решения Дэвид Ревеман разработал Compiz, первый полноценный оконный менеджер OpenGL для композитинга для X Window System. Позже, в сентябре 2006 года, был выпущен оконный менеджер композитинга Beryl как форк оригинального Compiz. Compiz и Beryl объединились еще в апреле 2007 года, что привело к разработке Compiz Fusion.

Backends

OpenGL не определяет, как инициализировать отображение и управлять контекстами рисования. Вместо этого эти операции обрабатываются API, специфичным для собственной оконной системы. На данный момент существует два разных подхода к решению этой проблемы инициализации. Скорее всего, большинство бэкэндов будет содержать один и тот же код, и различия будут в основном в частях инициализации серверов.

Xglx

Xglx был первым сервером, реализованным для этой архитектуры. Он требует, чтобы уже существующий X-сервер работал поверх, и использует GLX для создания окна OpenGL, которое затем использует Xgl, аналогично. Этот режим предназначен только для использования в будущих разработках, поскольку он избыточен, требуя, чтобы X-сервер запускал Xgl поверх.

На XDevConf 2006 (конференция разработчиков X в 2006 году) NVIDIA выступила с презентацией, утверждая, что это неправильное направление, потому что многоуровневый сервер абстрагирует функции карт. Это значительно усложняет специфические возможности драйвера, такие как поддержка 3D-очков и поддержки двух мониторов.

Однако делегирование инициализации существующему X-серверу позволяет разработчикам немедленно сосредоточиться на функциональности сервера, а не тратить значительное время на детализацию взаимодействие с многочисленным видеооборудованием. На данный момент Xglx официально не поддерживает несколько мониторов, хотя это было реализовано в Ubuntu Dapper / ATI / NVIDIA (twinview).

Xegl

Xegl был долгосрочной целью разработки X-серверов. Он разделяет большую часть кода рисования с сервером Xglx, но инициализация отрисовки OpenGL и управление контекстом обрабатываются EGL API, разработанным Khronos (EGL является независимым от оконной системы эквивалентом API GLX и WGL, которые соответственно позволяют Поддержка OpenGL в X и Microsoft Windows). Текущая реализация использует Mesa-solo для обеспечения рендеринга OpenGL непосредственно в фреймбуфер Linux или DRI для графического оборудования. По состоянию на июль 2007 года Xegl может работать только с графическим оборудованием Radeon R200, и разработка в настоящее время приостановлена. Вполне вероятно, что так будет и дальше, пока сервер Xglx не зарекомендовал себя, а драйверы с закрытым исходным кодом не добавят поддержку EGL API, когда он должен стать прозрачной заменой вложенного сервера Xglx.

Обоснование

Структурирование всей визуализации поверх OpenGL может потенциально упростить разработку видеодрайвера. Он устраняет искусственное разделение 2D и 3D ускорение. Это выгодно, поскольку 2D-операции часто не ускоряются (что противоречит здравому смыслу, поскольку 2D является подмножеством 3D).

Он также удаляет весь код, зависящий от драйвера, с самого X-сервера и позволяет выполнять ускорение Операции Composite и Render не зависят от графического драйвера.

Конкуренты

Аппаратное ускорение операций 2D-рисования уже много лет является общей чертой многих оконных систем (включая X11). Новизна Xgl и подобных систем заключается в использовании API-интерфейсов, специально разработанных для 3D-рендеринга для ускорения 2D-операций на рабочем столе. До принятия X11 рисования со сглаживанием использование API-интерфейсов 3D-рендеринга для 2D-рендеринга рабочего стола было нежелательно, поскольку такие API-интерфейсы не обеспечивали точность рендеринга пикселей, которая является частью исходного определения протокола X11.

Аппаратное ускорение рендеринга окон OpenGL и рабочего стола, ограниченного использованием OpenGL для композиции текстур, использовалось в Mac OS X в технологии под названием Quartz Extreme, начиная с Mac OS X v10.2. Quartz 2D Extreme является усовершенствованным вариантом этой функции и более точно сопоставим с Xgl. Как и Xgl, Quartz 2D Extreme обеспечивает ускорение OpenGL для всех операций 2D-рисования (а не только для компоновки рабочего стола) и поставляется с Mac OS X v10.4, но по умолчанию отключен в ожидании официального объявления о готовности к производству. Core Animation - это продолжение этой работы для Leopard (Mac OS X v10.5 ).

Было разработано несколько интерфейсов рабочего стола на основе 3D API, в последнее время OpenCroquet и Project Looking Glass [1] от Sun Microsystems; они используют преимущества 3D-ускорения для программного обеспечения, созданного в их собственной структуре, но, похоже, не ускоряют существующие 2D-приложения для настольных ПК, отображаемые в их среде (часто с помощью таких механизмов, как VNC ).

Microsoft разработала аналогичную технологию на основе DirectX, названную DWM, как часть своей операционной системы Windows Vista. Эта технология была впервые публично продемонстрирована на конференции Microsoft в октябре 2003 года.

Доступность

По состоянию на май 2006 г. Xgl X Server (и связанные компоненты, включая диспетчер композитинга Compiz и связанные с ним графические инструменты настройки) поставляются в качестве нестандартного в один из основных дистрибутивов Linux, SUSE 10.1, и включен в Frugalware Linux или SUSE Linux Enterprise Desktop 10. Xgl можно довольно легко настроить для Ubuntu 6.06 LTS (Dapper Drake) и 6.10 (Edgy Eft) и для Freespire с бинарными пакетами из неофициальных репозиториев . Xgl также доступен в виде наложенного пакета в Gentoo Linux и в виде PKGBUILD для Arch Linux.

Mandriva Linux 2007, включая официальные пакеты для запуска Compiz, с использованием Xgl и AIGLX. Mandriva предоставляет drak3d, инструмент для настройки 3D-рабочего стола в два клика.

Ubuntu 6.10 "Edgy Eft" и более поздние версии по умолчанию используют AIGLX, а не Xgl.

Xgl был удален из X11R7.5 в 2009 году из-за того, что это не обслуживаемый вариант сервера.

См. Также
Ссылки
Внешние ссылки
На Викискладе есть материалы, связанные с Compiz.
Последняя правка сделана 2021-06-22 07:35:55
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте