След година развитие, наличен е релиз на десктопния двигател Arcan 0.6.1, който съчетава дисплейния сървър, мултимедийната рамка и игровия двигател за обработка на 3D графика. Arcan може да се използва за създаване на различни графични системи, от потребителски интерфейси за вградени приложения до самостоятелни десктоп среди. Включително, на базата на Arcan, се развива тримерният работен плот Safespaces за системи за виртуална реалност и десктоп средата Durden. Кодът на проекта е написан на езика C и се разпространява под лиценза BSD (някои компоненти под GPLv2+ и LGPL).
В новия релиз са включени натрупаните през годината разработки, главно съсредоточени върху развитието на подсистемата за достъп до работния плот по мрежата. В общи линии е представен планът за подготовка на първото значително издание 1.0: В следващата версия 0.7 се очаква работа по разширяване на звуковата подсистема, подобряване на съвместимостта и развитие на средствата за 3D графика. Версия 0.8 ще бъде фокусирана върху оптимизация и производителност, а 0.9 на осигуряване на безопасност.
Сред най-значимите промени в версия Arcan 0.6.1 е модернизацията на дисплейния сървър arcan-wayland, използващ протокола Wayland, в който е реализиран слой за използване на EGL и по подразбиране е включена поддръжка на dma-buf. В X сървъра Xarcan е подобрена обработката на превключвания на GPU и е добавена поддръжка за буфер за обмен и хардуерно ускорение на рендерирането на курсора. Подобрена е поддръжката на екрани с променлива честота на обновление на съдържанието. В системата за въвеждане е проведена работа по намаляване на забавянията.
Направени са много вътрешни промени, насочени към подобряване на синхронизацията и повишаване на ефективността на управлението на опашките от събития. Продължава развитието на графичния сървър «arcan-net» за отдалечена работа с работния плот по мрежата и използван в този сървър протокол A12, развит за замяна на SSH/VNC/RDP/X11. Обновени са привързванията за разработка на компоненти на езика Lua.
Предложената концепция Pipeworld позволява пренасочване на потоците от данни между прозорците, свързвайки данни и обработващи елементи в различни прозорци по аналогия с клетките в електронни таблици, създавайки смесен работен процес, който обединява графичен и конзолен интерфейс (например, може да пренасочите изхода от един прозорец към стартирания в терминала shell-обработчик и да използвате резултата в друг прозорец).

Напомняме, че Arcan не е свързан с определена графична подсистема и може да работи върху различни системни среди (BSD, Linux, macOS, Windows), използвайки подменяеми бекенди. Например, има възможност за стартиране върху Xorg, egl-dri, libsdl и AGP (GL/GLES). Под управлението на дисплейния сървър Arcan могат да работят клиентски приложения на базата на X, Wayland и SDL2. Като ключови критерии, прилагани при проектирането на API Arcan, се посочват безопасността, производителността и удобството за отстраняване на грешки. За улесняване на разработването на интерфейси се предлага използването на езика Lua.
Характеристики на Arcan:
- Комбинация от роля на композитен сървър, дисплейен сървър и мениджър на прозорци.
- Възможност за работа в обособен режим, при който приложението функционира като самодостатъчна единица.
- Вграден мултимедиен фреймуърк, предоставящ средства за работа с графика, анимация, обработка на потоково видео и звук, зареждане на изображения, работа с устройства за захващане на видео.
- Мултипроцесна модел на свързване на обработващи елементи на динамични източници на данни - от видеостийми до изхода от отделни програми.
- Строга модел на разделяне на привилегиите. Компонентите на движка се разпределят на малки непривилегировани процеси, които взаимодействат чрез интерфейса на споделена памет shmif.
- Вградени средства за мониторинг и анализ на сривове, включително движка може да сериализира вътрешното състояние на Lua-скриптове за улесняване на отстраняването на грешки.
- Функция за резервно копие (Fallbacks), която в случай на срив поради грешка в програмата може да стартира резервно приложение, запазвайки същите външни източници на данни и връзки.
- Разширени средства за съвместно ползване, които могат да се използват за запис или предаване на отделни подмножества на източници на аудио и видео в процеса на реализиране на съвместно ползване на работния плот.
Допълнително може да се отбележи подготовката на новата версия на работния плот Durden 0.7, разработван за използване с Arcan. В версия 0.7 ще има поддръжка на вертикално разположение на заглавието на прозореца и статусната лента, както и ще бъде добавен инструмент за гласово озвучаване (text to speech). Durden поддържа както мозаичен интерфейс с пълноценни средства за управление от клавиатурата, така и режим свободно разположение на прозорците на екрана. Всички настройки, включително методите на въвеждане, шрифтове и визуални ефекти, могат да се променят в движение, без необходимост от презареждане на конфигурацията.
Възможна е настройка на отделно поведение за всеки прозорец и използване на независим буфер за обмен, свързан с прозореца. Поддържа се работа в системи с множество монитори с различно DPI. Има възможност за показване на менюта на приложенията в панела (глобално меню) или разполагане на менюто в заглавната част на прозореца. На работния плот е разрешено разполагане на джаджи. Има вградена възможност за видео запис на действията на работния плот и в отделни прозорци. Подсистемата за управление на вход поддържа смяна на клавиатурни подредби и работа с разширени устройства, като игрови контролери.
Източник: opennet.ru
