След година и половина разработка беше публикувана четвъртата бета-версия на операционната система Haiku R1. Първоначално проектът беше създаден като реакция на закриването на ОС BeOS и се развиваше под името OpenBeOS, но беше преименуван през 2004 г. поради претенции, свързани с използването на търговската марка BeOS в името. За оценка на работата на новата версия са подготвени няколко зареждащи Live образи (x86, x86-64). Изходните кодове на по-голямата част от ОС Haiku се разпространяват под свободна лицензия MIT, с изключение на някои библиотеки, медийни кодеци и компоненти, заимствани от други проекти.
ОС Haiku е насочена към персонални компютри, използва собствено ядро, изградили се на основата на модулна архитектура, оптимизирано за висока реактивност към действията на потребителя и ефективно изпълнение на многопоточни приложения. За разработчиците е предоставен обектно-ориентиран API. Системата е директно базирана на технологиите на BeOS 5 и е насочена към бинарна съвместимост с приложенията за тази ОС. Минималните изисквания към хардуера: CPU Pentium II и 384 MB RAM (препоръчително Intel Core i3 и 2 GB RAM).
В качеството си на файловата система се използва OpenBFS, която поддържа разширени атрибути на файловете, журнализация, 64-битови указатели, поддръжка на съхранение на мета-тагове (за всеки файл могат да се запазят атрибути във формата ключ=стойност, което прави файловата система подобна на база данни) и специални индекси за ускоряване на търсенето по тях. За организиране на структурата на директориите се използват дървета 'B+ tree'. От кода на BeOS в състава на Haiku е включен файловия мениджър Tracker и панелът Deskbar, изходните кодове на които бяха отворени след оттеглянето на BeOS от сцената.
Основни нововъведения:
- Подобрена е работата на екрани с висока пикселна плътност (HiDPI). Осъществено е коректно мащабиране на интерфейса, което не се ограничава само до промяна на размера на шрифтовете. При първо зареждане Haiku сега се опитва автоматично да определи наличието на HiDPI екран и да избере необходимите размери за мащабиране. Избраните параметри могат да бъдат променени в настройките, но за да влязат в сила, все още е необходимо презареждане. Параметрите за мащабиране се поддържат в повечето родни приложения и в някои портируеми, но не във всички.
- Предоставена възможност за използване на външен вид с плосък декоратор на прозорците и плоско оформление на бутоните, вместо оформление с активно използване на градиенти. Плоското оформление идва с пакета Haiku Extras и може да бъде включено в настройките на външния вид.

- Добавен е слой за осигуряване на съвместимост с библиотеката Xlib, позволяващ стартиране на X11-приложения в Haiku без необходимост от стартиране на X-сървър. Слоят е реализиран чрез емуляция на функциите на Xlib, като се трансформират повикванията в високоуровневия графичен API на Haiku.
- Подготвен е слой за осигуряване на съвместимост с Wayland, позволяващ стартиране на тулкити и приложения, използващи този протокол, включително приложения на базата на библиотеката GTK. Слоят предоставя библиотека libwayland-client.so, базирана на кода на libwayland и съвместима на ниво API и ABI, което позволява стартиране на приложения Wayland без промени. За разлика от типичните композитни сървъри Wayland, слоят не се стартира като отделен сървърен процес, а се зарежда като плъгин към клиентските процеси. Вместо сокети в сървър се използва нативен цикъл за обработка на съобщения, базиран на BLooper.
- Благодарение на слоевете за съвместимост с X11 и Wayland, беше подготвен работен порт на библиотеката GTK3. От приложенията, които могат да бъдат стартирани чрез порта, са GIMP, Inkscape, Epiphany (GNOME Web), Claws-mail, AbiWord и HandBrake.

- Добавен е работен порт с Wine, който може да се използва за стартиране на Windows-приложения в Haiku. От ограниченията се отбелязва, че е възможно стартиране само в 64-битови версии на Haiku и способността за изпълнение само на 64-битови Windows приложения.

- Добавен е порт на текстовия редактор GNU Emacs, работещ в графичен режим. Пакетите са разположени в репозитория HaikuDepot.

- В файловия мениджър Tracker бе добавена поддръжка за генериране и показване на миниатюри на изображения. Миниатюрите се запазват в разширените атрибути на файловете.

- Реализиран е слой за съвместимост с драйверите на FreeBSD. От FreeBSD са портнати драйвери за поддръжка на безжични USB адаптери с чипове Realtek (RTL) и Ralink (RA). От ограниченията се отбелязва необходимостта от свързване на устройството преди зареждане (след зареждане устройството не се разпознава).
- От OpenBSD е портнат безжичният стек 802.11 с поддръжка на 802.11ac и драйвери iwm и iwx с поддръжка на безжични адаптери на Intel "Dual Band" и "AX".
- Добавен USB-RNDIS драйвер, позволяващ на организация на точка за достъп чрез USB (USB tethering) за използване като виртуална мрежова карта.
- Добавен е нов драйвер за NTFS, основан на библиотеката от проекта NTFS-3G. Новата реализация е по-стабилна, поддържа интеграция със слоя за кеширане на файлове и осигурява добра производителност.
- Добавен е транслятор за четене и запис на изображения във формат AVIF.
- Браузърният двигател HaikuWebKit е синхронизиран с актуалната версия на WebKit и е преведен на мрежов бекенд на базата на библиотеката cURL.
- В зареждача е добавена поддръжка за 32-битови системи с EFI и е предоставена възможност за инсталиране на 64-битова среда Haiku от 32-битов зареждач EFI.
- Подобрен е съвместимостта с POSIX стандартите. Продължава заменята на извикванията на стандартната C библиотека, преди трансферирани от glibc, с варианти от musl. Добавена е поддръжка на потоци C11 и методи locale_t.
- Подобрен е драйверът за NVMe устройства, добавена е поддръжка на операцията TRIM за уведомяване на устройството за освободените блокове.
- Осигурена е възможността за компилиране на ядрото и драйверите с нови версии на GCC (включително GCC 11), за компилация на системата от-за привързвания към стария код за съвместимост с BeOS все още е необходим GCC 2.95.
- Проведена е обща работа по повишаване на стабилността на цялата система.
Източник: opennet.ru





