Как я понял (прошу сильно меня не бить) это первый вариант гибрида X-ов и FreeDesktop.org... Помнится тут проходжила новость о их объединении... вот уже вервый результат.
А что это дает? Ну так XFree с возможностями FreeDesktop :-))
Я так понял, что ситуация такая. Есть стандартные xfree. Которые собираются одним _охрененно_ большим монолитом - при этом _номинально_ в состав этого монолита входит немалое количество библиотек. Ребята с freedesktop.org взяли всю эту помойку кода xfree и начали разбирать на составляющие. Для начала - научили это дело собираться при помощи autoconf/automake.
Частью той же работы freedesktop.org явлется работа над собств. X Server (тоже, конечно, основанным на коде из xfree). Короче, применение модульности к иксам в самом что ни на есть хорошем смысле этого слова. Теперь можно будет библиотеки выпускать отдельными релизами, утилитные проги (когда до них у freedesktop.org руки дойдут) - отдельно, сервер - отдельно. И не будет от релиза до релиза проходить 1.5 года как у xfree (который уже несколько месяцев как не может разродиться версией 4.4).
Вот как я понимаю всю эту картину. Может, кто поправит?
А ребята из X.org увидили, что у них хлеб одбирают и в крик :-)
А насчет впечатлений - я скачал, но пока не ставил... дома проблема с компом, а на рабочий ставить не хочу пока не испытаю. Все ж это что-то новое... и ставить Это на рабочий компьютер во время рабочего процесса - не, я не самоубийца :-)
У freedesktop есть куча идей о том как можно упростить жизнь девелоперов под X, уже не секрет что стандартная xlib себя выжила и мешает развитию. X был задуман настолько глубоко что позволяет делать почти все, а с учетом возможной интеграцией екстеншенов вообще все, но затык состоит как раз не в серверной части, а с клиентской. xlib была написана на каленках, всю мощь вобрал сервер, поэтому основным тормозом развития является как раз xlib для языка C, так как большинтсво X аппликух написано на C либо с использованием биндингов к сишьной xlibе. Было решено разбить xlib на части, сделать низкоуровнивую либу, чисто реализация протокола с поддержкой всяких там кеширований, быстых поисков и всего такого, в идеале она должна быть супер быстрой, и более высокоуровневую либу которая в свою очередь юзает эту низкоуровневую но нужна чтобы избавить процесс девелопанья x app от всякой монотонной мишуры, эта высокоуровневая либа практически за тебя все будет делать .. Первоначальные тесты показали что такая концепция дает большой перевес с точки зрения скорости работы аппликухи и скорости разработки, возможна также прослойка к xlib чтобы переход но новый интерфейс проходил мягко, тоесть уже существующие X app могут работат с новыми либами. Hу и собсно сыр бор весь что freedesktop постепенно имплементят данную концепцию, ну и наварачивают x server ..
Фигня какая-то. Да xlib скажем так отстает от современных возможностей, которые дает нам нынешняя техника. Но зачем его разбивать на части. А вот это вообще непонятно: "Было решено разбить xlib на части, сделать низкоуровнивую либу, чисто реализация протокола с поддержкой всяких там кеширований, быстых поисков и всего такого, в идеале она должна быть супер быстрой, и более высокоуровневую либу которая в свою очередь юзает эту низкоуровневую но нужна чтобы избавить процесс девелопанья x app от всякой монотонной мишуры, эта высокоуровневая либа практически за тебя все будет делать". Xlib и есть низкоуровневая часть сама по себе, а высокоуровненвые -- это библиотеки виджетов. Собственно Xlib-ом пользуются крайне редко, обычно когда надо что-нибудь рисовать. Что-то эта концепция и набирающая обороты возня некоторых рьяных улучшателей X-ов вселяет в меня некоторую тревогу. X.org конечно слишком вяло в последнее вермя совершенствует архитектуру X-ов (это мягко выражаясь). Но как-бы новоявленные приверженцы прогресса не наломали дров своими усовершенствованиями.
нет - xlib это далеко не низкоуровневая либа, в ней столько хлама что
разгребать его запаришься .. тем кому не нужно использовать вещи
которые навязывает xlib приходиться с етим мириться в урон скорости
.. разбиение позволит поднять X программинг на более гибкий уровень
.. тебе никто уже навязать ничего не сможет так как у тебя будет
полный и заметь чистый доступ к протоколу ... Hу виджеты ты это вообще
в небеса взлетел .. по хорошему высокий уровень это прослойка которая
не зависит от X протокола, но может с ним работать .. так например при
небольших усилиях ее можно заставить работать с PS дисплеем, и без
модификации аппликухи ты сможешь ее пускать на разных движках, славо
богу client/server никто не отменял .. Вот допустим у тебя
дисплей(например банальный принтер) который понимает PostScript .. он
совершенно не в курсе что вообще существует какой-то там X, а ты с
помощью этой прослойки _не модифицуруя_ аппликуху можешь работать с
таким вот извратным дисплеем .. Или например взять тот же
eink(www.eink.com)[да мало ли что еще придумают] у него внутренний
формат представления картинки и есть минипротокол для изменения
конкретного участка экрана без полной перерисовки, и представь что
твоя аппликуха _без изменений_ может работать, да еще и будет
оптимизированна для работы с таким дисплеем ..
Архитектуре X(xserver) как я уже говорил продумана очень глубоко и
мажорных изменений пока не требуется, с небольшой натяжкой ее можно
назвать идеальной, X это как ядро атома вокруг которого вращяется куча
маленьких частичек, вокруг которых в свою очередь могут вращаться
другие ... почти идеальная модель ..
Что же касается клиентской части то она действительно написана на
каленках
Монолит..? Вот у меня
[mumidol]~> dpkg -l | grep xlib
ii xlibmesa3-gl 4.2.1-12.1 Mesa 3D graphics library [XFree86]
ii xlibmesa3-glu 4.2.1-12.1 Mesa OpenGL utility library [XFree86]
ii xlibs 4.2.1-12.1 X Window System client libraries
ii xlibs-dev 4.2.1-12.1 X Window System client library development f
[mumidol]~> dpkg -l | grep xserver
ii xserver-common 4.2.1-12.1 files and utilities common to all X servers
ii xserver-xfree8 4.2.1-12.1 the XFree86 X server
Т.е. я, например, просто заменю xlibs, который от XFree.org, на тот,
который от freedesktop.org -- и все.
О каком собственно хламе идет речь? По большому счету, что у нас имеется в Xlib: Работа с дисплеем, экраном, сервером и пр. Рисование примитивов, работа с пиксмапами ... Работа со шрифтами и рисование текстов Работа с окнами Работа с событиями
Ну вроде как все, если что не забыл. Конечно, используя возможности современного железа, все выше перечисленные функции можно серьезно усовершенствовать. Ну дык хорошо надо делать расширения к стандартному сейчас Xlib-у. А поверх этого пожалуйста можно громоздить высокоуровневй интерфейс.