Arcan, un framework para la creacion de GUI y entornos de escritorio
Despues de poco mas de 4 años de la publicación de la última versión significativa, se ha dado a conocer recientemente el lanzamiento de la nueva version del motor de escritorio Arcan 0.6.0, que combina un servidor de visualización, un marco multimedia y un motor de juego para procesar gráficos 3D.
Arcan se puede utilizar para crear una variedad de sistemas gráficos, desde interfaces de usuario para aplicaciones integradas hasta entornos de escritorio autónomos.
El escritorio tridimensional Safespaces para sistemas de realidad virtual y el entorno de escritorio Durden también se están desarrollando sobre la base de Arcan . El código del proyecto está escrito en C y se distribuye bajo la licencia BSD (algunos componentes bajo GPLv2 + y LGPL).
Sobre Arcan
Arcan no está vinculado a un subsistema de gráficos separado y puede ejecutarse sobre varios entornos de sistema (BSD, Linux, macOS, Windows) utilizando backends conectables.
Por lo que Arcan es una curiosa combinación de un procesador multimedia de transmisión, un motor de juegos y un servidor de visualización con un diseño novedoso que se adapta bien a proyectos gráficos interactivos en tiempo real complejos y simples por igual, y combina bien con cualquier cosa, desde interfaces de usuario de ciencia ficción para algún proyecto integrado de cosecha propia. a escritorios completos.
Es muy modular, tiene pocas dependencias, pero viene con todas las baterías necesarias incluidas.
Por ejemplo, es posible ejecutar sobre Xorg, egl-dri , libsdl y AGP (GL / GLES). El servidor de pantalla Arcan puede ejecutar aplicaciones cliente X, Wayland y SDL2. La seguridad, el rendimiento y la debugabilidad se citan como criterios de diseño clave para la API de Arcan . Para simplificar el desarrollo de interfaces, se propone utilizar el lenguaje Lua.
Dentro de las caracteristicas que se destacan de Arcan, podremos encontrar lo siguiente:
- Combinación de roles de servidor compuesto, servidor de pantalla y administrador de ventanas.
- Marco multimedia incorporado que proporciona herramientas para trabajar con gráficos, animación, procesamiento de transmisión de video y sonido, descarga de imágenes y trabajo con dispositivos de captura de video.
- Un modelo multiproceso para conectar controladores de fuentes de datos dinámicos, desde transmisiones de video hasta la salida de programas individuales.
- Modelo rígido para compartir privilegios . Los componentes del motor se dividen en pequeños procesos sin privilegios que interactúan a través de la interfaz de memoria compartida shmif.
- Las herramientas integradas para monitorear y analizar fallas, incluido el motor, pueden serializar el estado interno de los scripts de Lua para simplificar la depuración.
- Función de respaldo, que en caso de falla debido a un error en el programa, puede iniciar una aplicación de respaldo, manteniendo las mismas fuentes de datos externas y conexiones.
- Herramientas de uso compartido avanzadas que puede utilizar para grabar o transmitir subconjuntos específicos de fuentes de audio y video mientras implementa el uso compartido de escritorio.
Sobre la nueva version de Arcan 0.6.0
En esta nueva version los desarrolladores mencionan que el enfoque ha sido la transparencia de la red.
Se ha propuesto la primera versión del servidor gráfico «arcan-net», que permite organizar el trabajo remoto a través de la red utilizando su propio protocolo A12.
Se admiten la redirección de clientes de estilo X11 y el acceso a escritorio remoto como en RFB/RDP/SPICE, así como la transmisión de entrada, transmisión de audio y video, acceso compartido, migración de clientes en vivo y multiproceso.
Los datos de vídeo transmitidos, según los tipos de ventanas, se comprimen mediante códecs con y sin pérdidas.
Para el cifrado autenticado de los canales de comunicación, se utiliza el paquete X25519 + Chacha8 + Blake3.
Otros cambios incluyen:
- Herramientas para depurar la actividad del cliente.
- Consola estilo KMSCon/FBCon.
- La capacidad de tomar prestado en aplicaciones algunos controladores desarrollados para el administrador de ventanas.
- Implementación del controlador para el dispositivo de seguimiento ocular Tobii 4C.
- Soporte de aislamiento de clientes de XWayland.
- Componente Arcan-trayicon para colocar iconos en la bandeja del sistema.
- Soporte para sintetizadores de voz.
- Rediseño del modo de funcionamiento en sistemas sin monitores (headless).
Finalmente, si quieres conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.