Xlib/X11 слой за съвместимост, предлаган за Haiku OS

Разработчиците на отворената операционна система Haiku, която продължава развитието на идеите на BeOS, са подготвили първоначално внедряване на слоя, за да осигурят съвместимост с библиотеката Xlib, което ви позволява да стартирате X11 приложения в Haiku, без да използвате X сървър. Слоят е имплементиран чрез емулация на Xlib функции чрез преобразуване на повиквания към високо ниво на Haiku graphics API.

В сегашната си форма слоят предоставя повечето от често използваните API на Xlib, но някои извиквания остават заменени с мъничета. Слоят ви позволява да компилирате и изпълнявате приложения, базирани на библиотеката GTK, но качеството на оформлението на елементите в прозорците все още изисква подобрение. Обработката на въвеждане чрез щракване на клавиатурата и мишката все още не е приведена в работеща форма (добавена е само обработка на събитието движение на мишката).

Поддръжката за Qt библиотеката в Haiku беше внедрена преди това чрез създаване на собствен Qt порт, който работи върху Haiku API. Но за поддръжката на GTK, използването на X11 емулация се разглежда като по-добър вариант, тъй като вътрешността на GTK не е толкова добре абстрахирана и създаването на отделен GTK бекенд за Haiku би изисквало значителни ресурси. Като решение беше разгледана възможността за създаване на порт на сървъра X11 за Haiku, но този подход беше счетен за неподходящ в условия, при които API на X11 може да бъде внедрен директно върху API на Haiku. X11 беше избран като дълго стабилизиран и непроменлив протокол, докато експериментите с Wayland все още продължават, необходимо е създаването на собствена сървърна реализация и не всички необходими разширения на протокола са окончателно одобрени.

Xlib/X11 слой за съвместимост, предлаган за Haiku OS

Когато изпълнявате по-прости приложения на Tcl/Tk и wxWidgets през слоя, проблемите, които все още не са разрешени, също се отбелязват, но външният вид вече е по-близо до нормалното:

Xlib/X11 слой за съвместимост, предлаган за Haiku OS
Xlib/X11 слой за съвместимост, предлаган за Haiku OS
Xlib/X11 слой за съвместимост, предлаган за Haiku OS

Нека припомним, че проектът Haiku е създаден през 2001 г. като реакция на съкращаването на разработката на BeOS OS и е разработен под името OpenBeOS, но е преименуван през 2004 г. поради твърдения, свързани с използването на търговската марка BeOS в името. Системата е директно базирана на технологиите BeOS 5 и е насочена към бинарна съвместимост с приложения за тази ОС. Изходният код за по-голямата част от Haiku OS се разпространява под безплатния лиценз на MIT, с изключение на някои библиотеки, медийни кодеци и компоненти, заимствани от други проекти.

Системата е насочена към персонални компютри и използва собствено ядро, изградено върху хибридна архитектура, оптимизирана за висока чувствителност към действията на потребителите и ефективно изпълнение на многонишкови приложения. OpenBFS се използва като файлова система, която поддържа разширени файлови атрибути, регистриране, 64-битови указатели, поддръжка за съхраняване на мета тагове (за всеки файл атрибутите могат да се съхраняват във формата ключ=стойност, което прави файловата система подобна на база данни) и специални индекси за ускоряване на извличането от тях. „B+ дървета“ се използват за организиране на структурата на директорията. От кода на BeOS, Haiku включва файловия мениджър Tracker и Deskbar, като и двата бяха с отворен код, след като BeOS прекрати разработката.

Източник: opennet.ru

Добавяне на нов коментар