Após um ano de desenvolvimento, foi lançado o Arcano 0.6.2, um motor de desktop que combina um servidor de exibição, um framework multimídia e um motor de jogo para processamento de gráficos 3D. O Arcano pode ser usado para criar vários sistemas gráficos, desde interfaces de usuário para aplicativos embarcados até ambientes desktop autossuficientes. Entre outros, o Arcano dá origem à área de trabalho tridimensional Safespaces para sistemas de realidade virtual e ao ambiente desktop Durden. O código do projeto é escrito em C e é distribuído sob a licença BSD (alguns componentes sob GPLv2+ e LGPL).
Nesta nova versão, a desenvolvimento de ferramentas para acesso remoto ao desktop via rede foi continuado. servidor O acesso pela rede é garantido pelo "arcan-net", que implementa o protocolo A12, combinando recursos de tecnologias como mDNS (descoberta de serviços locais), SSH (shell interativo de texto), X11/VNC/RDP (shell gráfica interativa), RTSP (streaming de dados multimídia) e HTTP (carregamento de recursos e sincronização de estado).
O Arcano não está atrelado a um subsistema gráfico específico e pode operar sobre vários ambientes de sistema (BSD, Linux, macOS, Windows), utilizando backends plugáveis. Por exemplo, é possível executá-lo sobre Xorg, egl-dri, libsdl e AGP (GL/GLES). Sob a gestão do servidor de exibição, servidor o Arcano pode executar aplicativos cliente baseados em X, Wayland e SDL2. Os principais critérios considerados no projeto da API do Arcano são segurança, desempenho e facilidade de depuração. Para simplificar o desenvolvimento de interfaces, recomenda-se o uso da linguagem Lua.
Características do Arcan:
- Combinação de funções de servidor compositor, servidor de exibição e gerenciador de janelas.
- Capacidade de operar em modo isolado, onde o aplicativo atua como um link autossuficiente.
- Framework multimídia integrado, fornecendo recursos para trabalho com gráficos, animações, processamento de vídeo e áudio em streaming, carregamento de imagens e interação com dispositivos de captura de vídeo.
- Modelo multiprocessado para conectar manipuladores de fontes dinâmicas de dados — de streams de vídeo até a saída de programas individuais.
- Modelo rígido de separação de privilégios. Os componentes do mecanismo são divididos em pequenos processos não privilegiados que interagem por meio da interface de memória compartilhada shmif;
- Ferramentas integradas de monitoramento e análise de falhas, incluindo a capacidade de serializar o estado interno de scripts Lua para facilitar a depuração;
- Funcionalidade de fallback, que em caso de falha devido a um erro no programa pode iniciar um aplicativo de reserva, mantendo as mesmas fontes de dados externas e conexões;
- Recursos avançados de compartilhamento que podem ser utilizados para gravar ou transmitir subconjuntos individuais de fontes de áudio e vídeo durante a implementação do compartilhamento de desktop.
Fonte: opennet.ru
