Випуск десктоп-движка Arcan 0.6.1

Після року розробки доступний реліз десктоп-движка Arcan 0.6.1, який об'єднує дисплейний сервер, мультимедійний фреймворк і ігровий движок для обробки 3D-графіки. Arcan може використовуватися для створення різних графічних систем, від інтерфейсів для вбудовуваних додатків до самодостатніх десктоп-оточень. У тому числі на базі Arcan розвивається тривимірний робочий стіл Safespaces для систем віртуальної реальності та десктоп-оточення Durden. Код проекту написаний мовою Сі та поширюється під ліцензією 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, що дозволяє перенаправляти потоки даних між вікнами, зв'язуючи дані та обробники в різних вікнах за аналогією з комірками в електронних таблицях, формуючи змішаний робочий процес, що поєднує графічний і консольний інтерфейси (наприклад, можна перенаправити виведення з одного вікна в -Обробник і використовувати результат в іншому вікні).

Нагадаємо, що 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

Додати коментар або відгук