XGL, архитектура X-сервера, которая когда-то вдохновила такие проекты как Compiz и повлияла, возможно, на внешний вид KDE4, уходит в прошлое: http://gitweb.freedesktop.org/?p=xorg...
Поддержки XGL также не будет в openSUSE 11.1 и SUSE Linux Enterprise 11.
Хорошо бы. Просто у меня сложилось впечатление, что проект закрывают, а не поглощают/присоединяют и не делают с ним других замечательных, но чрезвычайно хлопотных вещей. А потому могут и просто бросить...
Это был пруф-оф-концепт "чистого" OpenGL менеджера окон. Тестовая версия - xgl работала поверх уже существующего X сервера. Идея была в том, чтобы доведя до ума эту тестовую версию, заменить затем и сам Х сервер.
> Просто XGL оказался тупиковой вещью - поэтому его бросят.
Да, к сожалению, попытка безболезенно заменить допотопную иксовую арихтектуру на чуть более адекватную современности с сохраненим обратной совместимости закончилась неудачей.
> И это хорошо. Для примера можно посмотреть на win, где кучу неудач тянут ради совместимости
Как-то этот вывод странновато смотриться на фоне исходной посылки... Если учесть, что вся иксовая подсистема остается "как есть".
Он не внес лепту, а показал полный отстой X-ов. Покажите мне где хотя бы кто-то специфицировал поддержку X. DirectX 10 - без проблем, OpenGL 2.1 - без проблем (но за отдельные деньги в Quadro или FireGL). XGL уходит в историю - нет это X окунулись с головой в г. и потянули за собой всех их пользователей включая Linux. Cedega - надрывается в рекламе, они умудрились сделать PixelShader v2, когда карточка поддерживает PixelShader v4. X - это не десктопная среда, и она нафиг не нужна на серверах. AIблабла спасет? Нафиг. Задолбал этот линукс
Это вопрос не к Линукс и не к X. Это вопрос к OpenGL. До сих пор не могут договориться насчет OGL3.x, а Вы про какие-то XGL. Нафиг пихать _старый_ OpenGL в иксы?
>Есть другие предложения по замене иксовой архитектуры?
Оставить иксам только драйверы и отслеживание положений и размер окна. Остальное перенести в тулкиты (как это сделано в Qt4.4). Это по поводу иксовой архитектуры. Все остальное и так есть (Gallium3D, DRI2, DRM, Kernel Mode Settings, X в User Space)
> Оставить иксам только драйверы и отслеживание положений и размер окна. Остальное перенести в тулкиты
И какой в этом смысл? Чем реализация в тулките принципиально отличается от реализации в иксах? Задача то стоит прямо противоположная - пренести максимум работы с графикой (начиная с xlib) на дрова.
>Чем реализация в тулките принципиально отличается от реализации в иксах?
А Вы не задумывались, почему при ресайзинге и любом другом взаимодействии между окнами иксы начинают потреблять до 60% CPU? Это происходит из за взаимодействия между иксами и клиентом. Все было хорошо (окошки с кнопкой на xlib), пока не пришли тулкиты, которые очень много рисуют сами на поверхности окон. Грубо говоря, это позволит сэкономить 10%-60% процессорного времени при взаимодействии между окнами. В Qt4.4 все, что находится внутри окна не контролируется иксами, т.к. тулкиту лучше известно как правильно разрулить взаимодействие между элементами на поверхности окна.
>Задача то стоит прямо противоположная - пренести максимум работы с графикой (начиная с xlib) на дрова.
Графика - это конечно хорошо, но любое взаимодействие между иксами и клиентом заставляет:
1)Все действия происходят с задержкой (вспоминаем ресайзанг при включенном композитинге)
2)Экспоненциально возрастает нагрузка на CPU, а ведь именно его в конечном счёте и призван разгрузить GPU.
> Даже OGL3 станет старым через какое-то время, получается вообще ничего не надо пихать.
Когда в последний раз архитектура и/или API GL'я менялись столь радикальным образом? Это ведь не Direct3D, чтобы каждые 2-3 года все заново переделывать? IMHO стоит подождать, благо осталось-то немного (к августовскому SIGGRAPH обещались выкатить обновленные спецификации).
Да. В идеале _все_ функции вроде XFillRectangle и XCreateSimpleWindow должны отображаться на функции видеодрайвера, с тем, чтобы все операции производились в видеопамяти средствами GPU.
>В идеале _все_ функции вроде XFillRectangle и XCreateSimpleWindow должны отображаться на функции видеодрайвера, с тем, чтобы все операции производились в видеопамяти средствами GPU.
Сейчас, когда даже Cairo гвоздями прибито к GTK, не говоря уже о Qt'шных плюшках и так "все операции производятся в видеопамяти средствами GPU". Чтобы не плодить на каждую новую mesa/Gallium3D по очередным XGL приняли решение не трогать базовый функционал иксов, пусть будет все как есть для совместимости со старым (новым, но без поддержки аппаратного 3D/2D, иксы ведь не на одних топовых видюшках должны работать) программным и аппаратным обеспечением. Для всего остального есть расширения.
> Сейчас, ... и так "все операции производятся в видеопамяти средствами GPU"
Там еще очень далеко до "все операции".
> Чтобы не плодить на каждую новую mesa/Gallium3D по очередным XGL приняли решение не трогать базовый функционал иксов, пусть будет все как есть ...
Это "решение" приняли 10 лет назад. А сейчас де-факто на попытку завернуть всю иксовую ню хотя бы в GL просто забили болт.
> Для всего остального есть расширения.
На года-два. Если повезет - три. Потом эти расширения выкидывают в помойку и лепят новые. Мы не будем лечить ноги, мы будем делать все более и более технологичные и совершенные новые костыли...
Разницу между "не нужен в принципе" и "нужен в последнюю очередь" не видишь? Неужели не очевидно, что если все, для чего годится видеочип - это сполшной "суспенд" и "пауэрсейвинг", то это как если бы его вообще не было.
интересный ход рассуждений. если индустрия 3D(хардвера) развивается - писать поддержку всего этого(в X-ах) не стоит ? только потому что писать прийдется ПОСТОЯННО ? авторам харда - вот не "в лом" это делать(с фирмвером и дровами). не проблема и для разработчиков целевого софта. один лишь буревестник - рееет гордо и свободно ... 3D-free.
хотя про дедлок с OGL 3.0 - верно подкололи. момент пришел ибо. для релиза.
Сейчас, когда анонимусы несут чушь... Это не Cairo завазано GTK, это GTK завязан на Cairo! Сам Cairo зависит от GLib (то есть GObject, GList и так далее). А в качестве бакэнда Cairo может использовать Quartz, X11, Win32, OpenGL и прочее.
> В идеале _все_ функции вроде XFillRectangle и XCreateSimpleWindow должны отображаться на функции видеодрайвера, с тем, чтобы все операции производились в видеопамяти средствами GPU.
Вообще-то, это проблема драйверописателей, которые идут по пути наименьшего сопротивления, и вместе того, чтобы написать полнофункциональный драйвер, просто дописывают "рюшечки" для своих решений.
> Вообще-то, это проблема драйверописателей, которые идут по пути наименьшего сопротивления
Драйверопейсатели идут по тому пути, который им укажут. Драйвера пишуться под спецификацию и апи. Нынешние "видеодрайвера" в иксах берут на себя "последнюю милю" на пути от пользовательского приложения к видеобуферу. Этого мало по современным меркам.
Нет, я хочу сказать, что шанс подхватить выпавшее из рук SGI знамя лидера систем для 3d был окончательно и бесповоротно просран. 3д на линуксе всегда будет в "догоняющих"