Lançamento do motor de desktop Arcan 0.7.1 e do ambiente de desktop Durden 0.6.3

Após um ano de desenvolvimento, o motor de desktop Arcan 0.7.1 é apresentado, combinando um servidor de exibição, um framework multimídia e um motor de jogo para processamento de gráficos 3D. Arcan pode ser utilizado para criar diversos sistemas gráficos — desde interfaces de usuário para aplicativos embarcados até ambientes de desktop autossuficientes. Baseados no Arcan, temos o ambiente virtual tridimensional Safespaces para sistemas de realidade virtual e o ambiente de desktop Durden. O código do projeto é escrito em C e é distribuído sob a licença BSD (alguns componentes sob GPLv2+ e LGPL).

Arcan não está amarrado a subsistemas gráficos específicos e pode operar sobre diversos ambientes de sistema (BSD, Linux, macOS, Windows), utilizando backends plugáveis. Por exemplo, é possível rodar sobre Xorg, egl-dri, libsdl e AGP (GL/GLES). Sob o controle do servidor de exibição Arcan, aplicativos cliente baseados em X11, Wayland e SDL podem ser executados. O projeto desenvolve seu fork do servidor X.org — xarcan, além de um servidor compositor arcan-wayland (waybridge), permitindo a execução de aplicativos baseados em Wayland. São mencionados como critérios-chave, utilizados no design da API do Arcan, segurança, desempenho e adequação para depuração. Para facilitar o desenvolvimento de interfaces, é sugerido o uso da linguagem Lua.

Lançamento do motor de desktop Arcan 0.7.1 e do ambiente de desktop Durden 0.6.3

Características do Arcan:

  • Uma combinação das capacidades de um servidor composto, um servidor de exibição e um gerenciador de janelas.
  • Suporte para funcionamento em modo isolado, onde o aplicativo baseado em Arcan é uma entidade autossuficiente, operando sem camadas gráficas adicionais.
  • Um framework multimídia embutido, que fornece ferramentas para trabalhar com gráficos, processamento de vídeo e áudio em streaming, animação, carregamento de imagens e operação com dispositivos de captura de vídeo.
    Lançamento do motor de desktop Arcan 0.7.1 e do ambiente de desktop Durden 0.6.3
  • Modelo multiprocessado de conexão de manipuladores de fontes de dados (por exemplo, fluxos de vídeo e a saída de programas em execução).
    Lançamento do motor de desktop Arcan 0.7.1 e do ambiente de desktop Durden 0.6.3
  • Modelo rígido de separação de privilégios — os componentes do motor são divididos em pequenos processos não privilegiados que interagem por meio de uma interface de memória compartilhada chamada Shmif.
  • Ferramentas internas de monitoramento e análise de falhas de processos. O motor pode serializar o estado interno de scripts Lua para simplificar a depuração.
  • Possibilidade de fallback para outro manipulador — em caso de falha devido a um erro no programa, o motor pode iniciar um aplicativo reserva, mantendo as mesmas fontes de dados externas e conexões.
  • Ferramentas para acesso compartilhado e conexão remota à área de trabalho. O acesso pela rede é garantido pelo servidor gráfico "arcan-net", que implementa o protocolo P2P A12, unindo as capacidades de tecnologias como mDNS (descoberta de serviços locais), SSH (interface de linha de comando interativa), X11/VNC/RDP (interface gráfica interativa), RTSP (transmissão de mídia) e HTTP (carregamento de recursos e sincronização de estado).
  • Shell de comando Cat9, que permite vincular a execução de comandos a células individuais, formando uma espécie de planilha eletrônica (vídeo de demonstração). O conceito proposto permite redirecionar fluxos de dados entre janelas, conectando dados e manipuladores em diferentes janelas, similar a células em planilhas eletrônicas (por exemplo, é possível redirecionar a saída de uma janela para um processador shell em execução no terminal e usar o resultado em outra janela).
    Lançamento do motor de desktop Arcan 0.7.1 e do ambiente de desktop Durden 0.6.3

Mudanças relacionadas ao projeto:

  • O servidor compositor Gamescope desenvolvido pela Valve foi portado, permitindo iniciar jogos do Steam sem manipulações com Xwayland.
  • Melhorado o plug-in Qt qtarcan, que permite executar aplicativos que usam Qt5 e Qt6, como Qbittorrent e Binary Ninja, no Arcan.
  • Foram criados patches e um script para iniciar o KeepassXC.
  • Está sendo desenvolvido um visualizador para o protocolo A12 e a interação através dele.
  • Um gerenciador de janelas interativo Lasso está em desenvolvimento.
  • Adicionada a utilidade Xkbd2Lua para converter layouts de teclado de X11 para um formato suportado pelo Arcan.
  • Pacotes nix estão sendo desenvolvidos para criar um ambiente de inicialização operacional baseado no Arcan, desktop Durden e shell de comando.
  • Adicionada suporte a algoritmo de criptografia pós-quântica ML-KEM.
  • Adicionada a possibilidade de clientes retomar conexões de rede interrompidas (após a restauração da conexão, o aplicativo será reconectado sem perder o estado de sua janela).
  • Adicionada a opção "—cast", que permite que outros usuários interajam com uma cópia da saída do aplicativo em modo somente leitura.
  • O servidor de diretórios ganhou suporte a novos links unificados (Unified) e referenciais (Referential), com os quais é possível unir servidores em um único espaço de nomes ou criar cadeias. servidores. No primeiro caso, para o usuário, um grupo de servidores se apresenta como um único servidor, enquanto no segundo é possível executar aplicativos em um servidor, conectando-se a outro.
  • Foi adicionada ao API a funcionalidade launch_target para o lançamento dinâmico de aplicativos no servidor mediante solicitação do cliente. Para o aplicativo, é possível criar um controlador — um conjunto de scripts Lua para gerenciar a troca de mensagens e o acesso a recursos.
  • Adicionada a suporte a resolvedores externos de recursos (External Resource Resolver), que podem interceptar operações com o armazenamento Arcan e processar operações de solicitação de recursos, como organizar o cache local ou carregar dados da Web, BitTorrent ou IPFS em vez de entregá-los a partir do disco local.
  • Implementado um tipo de cliente leve, permitindo que o cliente, sem ter todo o stack Arcan (tendo somente o visualizador Smash), transfira a lógica de execução de programas para o servidor. Por exemplo, para executar o ambiente de trabalho durden no servidor myserver, pode-se executar "arcan-net --host-appl myserver@ durden."
  • Adicionado um backend com depurador na interface de linha de comando Cat9, que suporta o protocolo DAP (Debug Adapter Protocol) para depuração local ou remota.
  • Adicionada uma grande quantidade de alterações relacionadas ao desenvolvimento do protocolo A12, ao ambiente para execução de scripts em Lua, à subsistema de rede, ao servidor de diretórios para interligar componentes dispersos pela rede, ao sistema de memória compartilhada Shmif e ao módulo egl-dri.

Simultaneamente, foi lançada a versão do ambiente de trabalho Durden 0.6.3. A versão anterior foi publicada em 2020. O Durden suporta modos de layout de janelas em mosaico e clássico, com recursos completos de gerenciamento via teclado. É possível trabalhar em sistemas com múltiplos monitores, que possuem diferentes DPI.

Disponibilizado um clipboard expansivo, que salva o histórico de alterações e está disponível em duas variantes — global e atrelado a janelas específicas. Há suporte para alternância de layouts de teclado e funcionamento com dispositivos avançados, como consoles de jogos. Recursos incluem menu global, menu na barra de título da janela, widgets e configuração de comportamentos específicos para cada janela. Todas as configurações, incluindo métodos de entrada, fontes e efeitos visuais, podem ser alteradas em tempo real, sem a necessidade de reiniciar a configuração.

A versão 0.6.3 é uma versão preparatória antes do lançamento em desenvolvimento do Durden 0.7, que oferecerá um conjunto de inovações significativas, como gestos de tela, suporte a cabeçalhos e painéis verticais, modo compacto de exibição de cabeçalhos e painéis, um novo configurador, visualização ao passar o mouse, teclado na tela osdkbd, modo de sobreposição de janelas, suporte a sintetizador de fala, e integração dos componentes a12net e a12_directory para garantir transparência de rede e acesso remoto.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster