Después de un año de desarrollo se dio a conocer el lanzamiento de la nueva versión del motor de escritorio Arcan 0.6.1, 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.
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 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 capacidad de depuración 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.
De las características que se destacan de Arcan, son las siguientes:
- Combinación de las funciones de servidor compuesto, servidor de visualización y administrador de ventanas.
- La capacidad de trabajar en modo autónomo, en el que la aplicación actúa como un enlace autosuficiente.
- Marco multimedia integrado 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 de uso compartido de 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 de análisis y monitoreo de fallas integradas, 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 lanzar 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.
Principales novedades de Arcan 0.6.1
La nueva versión incluye el trabajo acumulado durante el año, principalmente enfocado al desarrollo del subsistema de acceso al escritorio a través de la red. En general, se presenta el plan para la preparación de la primera versión 1.0.
El cambio más notable en Arcan 0.6.1 es la modernización del servidor de visualización arcan-wayland usando el protocolo Wayland, que implementa una capa para usar EGL y tiene el soporte dma-buf habilitado por defecto.
El servidor Xarcan X ha mejorado el manejo de los conmutadores de GPU y agrega soporte para el portapapeles y la representación del cursor acelerada por hardware. Soporte mejorado para pantallas con frecuencias de actualización variables. Se ha trabajado en el sistema de entrada para reducir los retrasos.
Se han realizado muchos cambios internos para mejorar la sincronización y mejorar la eficiencia de la gestión de colas de eventos, ademas de que se continúa con el desarrollo del servidor gráfico «arcan-net» para trabajo remoto con el escritorio a través de la red y el protocolo A12 utilizado en este servidor, que se está desarrollando para reemplazar SSH / VNC / RDP / X11. Enlaces actualizados para desarrollar componentes de Lua.
Se ha propuesto el concepto de Pipeworld, que permite redirigir los flujos de datos entre ventanas, vinculando datos y manejadores en diferentes ventanas por analogía con celdas en hojas de cálculo, formando un flujo de trabajo mixto que combina interfaces gráficas y de consola (por ejemplo, puede redirigir la salida de una ventana a un shell que se ejecuta en la terminal -handler y usa el resultado en otra ventana).
Finalmente se menciona que en la próxima rama 0.7, se espera trabajar para expandir el subsistema de sonido, mejorar la compatibilidad y desarrollar herramientas para gráficos 3D. La rama 0.8 se centrará en la optimización y el rendimiento, mientras que la 0.9 se centrará en la seguridad.
Si quieres conocer más al respecto, puedes consultar los detalles en el siguiente enlace.