04.07.2022

Для ОС Haiku предложен слой совместимости с Xlib/X11

Разработчики открытой операционной системы Haiku, продолжающей развитие идей BeOS, подготовили начальную реализацию прослойки для обеспечению совместимости с библиотекой Xlib, позволяющую запускать X11-приложения в Haiku без использования X-сервера. Прослойка реализована через эмуляцию функций Xlib при помощи трансляции вызовов в высокоуровневый графический API Haiku.

В текущем виде прослойкой предоставляется большая часть обычно используемых программных интерфейсов Xlib, но некоторые вызовы пока остаются заменены на заглушки. Прослойка позволяет компилировать и запускать приложения на базе библиотеки GTK, но качество компоновки элементов в окнах ещё требует доработки. Обработка ввода при помощи клавиатуры и кликов мышью пока не доведена до рабочего вида (добавлена только обработка события движения мыши).

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

При запуске через прослойку более простых приложений на Tcl/Tk и wxWidgets также отмечаются ещё не решённые проблемы, но внешний вид уже более близок к нормальному:



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

Система ориентирована на персональные компьютеры, использует собственное ядро, построенное на основе гибридной архитектуры, оптимизированное для высокой отзывчивости на действия пользователя и эффективного выполнения многопоточных приложений. В качестве файловой системы используется OpenBFS, поддерживающая расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тэгов (для каждого файла можно сохранить атрибуты в форме ключ=значение, что делает ФС похожей на БД) и специальных индексов для ускорения выборки по ним. Для организации структуры директорий используются «B+ tree» деревья. Из кода BeOS в состав Haiku включен файловый менеджер Tracker и панель Deskbar, исходные тексты которых были открыты после прекращения развития BeOS.

Источник.