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

Після року розробки опубліковано реліз десктоп-движка Arcan 0.6.2, який поєднує в собі дисплейний сервер, мультимедійний фреймворк та ігровий движок для обробки 3D-графіки. Arcan може використовуватися для створення різних графічних систем, від інтерфейсів для вбудовуваних додатків до самодостатніх десктоп-оточень. У тому числі на базі Arcan розвивається тривимірний робочий стіл Safespaces для систем віртуальної реальності та десктоп-оточення Durden. Код проекту написаний мовою Сі та поширюється під ліцензією BSD (деякі компоненти під GPLv2+ та LGPL).

У новому випуску продовжено розробку засобів для віддаленої роботи з робочим столом по мережі. Доступ по мережі забезпечує графічний сервер «arcan-net», що реалізує протокол A12, який об'єднує можливості таких технологій, як mDNS (визначення локальних сервісів), SSH (інтерактивна текстова оболонка), X11/VNC/RDP (інтерактивна графічна оболонка), RTSP (потокова передача мультимедійних даних) та HTTP (завантаження ресурсів та синхронізація стану).

Arcan не прив'язаний до окремої графічної підсистеми і може працювати поверх різних системних оточень (BSD, Linux, macOS, Windows), використовуючи бекенди, що підключаються. Наприклад, є можливість запуску поверх Xorg, egl-dri, libsdl та AGP (GL/GLES). Під керуванням дисплейного сервера Arcan можуть виконуватися клієнтські програми на базі X, Wayland та SDL2. В якості ключових критеріїв, які застосовуються при проектуванні API Arcan, називаються безпека, продуктивність і придатність для налагодження. Для спрощення розробки інтерфейсів пропонується використовувати мову Lua.

Особливості Arcan:

  • Поєднання ролей композитного сервера, дисплейного сервера та віконного менеджера.
  • Можливість роботи у відокремленому режимі, у якому додаток виступає як самодостатнього ланки.
  • Вбудований мультимедійний фреймворк, що надає засоби роботи з графікою, анімації, обробки потокового відео та звуку, завантаження зображень, роботи з пристроями захоплення відео.
  • Мультипроцессная модель підключення обробників динамічних джерел даних - від відеопотоків до виведення окремих програм.
  • Жорстка модель поділу привілеїв. Компоненти двигуна розбиваються на невеликі непривілейовані процеси, що взаємодіють через інтерфейс пам'яті shmif, що розділяється;
  • Вбудовані засоби моніторингу та аналізу крахів, у тому числі двигун може серіалізувати внутрішній стан Lua-скриптів для спрощення налагодження;
  • Функція відкату (Fallbacks), яка у разі збою через помилку в програмі може запустити запасну програму, зберігши ті самі зовнішні джерела даних і з'єднання;
  • Розширені засоби спільного доступу, які можна використовувати для запису або мовлення окремих підмножин джерел аудіо та відео в процесі спільного доступу до робочого столу.

Джерело: opennet.ru

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