Version 0.6.1 du moteur de bureau Arcan

Après un an de développement, la sortie du moteur de bureau Arcan 0.6.1 est disponible, qui combine un serveur d'affichage, un framework multimédia et un moteur de jeu pour le traitement des graphiques 3D. Arcan peut être utilisé pour créer une variété de systèmes graphiques, depuis les interfaces utilisateur pour les applications intégrées jusqu'aux environnements de bureau autonomes. En particulier, le bureau tridimensionnel Safespaces pour les systèmes de réalité virtuelle et l'environnement de bureau Durden sont développés sur la base d'Arcan. Le code du projet est écrit en C et est distribué sous licence BSD (certains composants sont sous GPLv2+ et LGPL).

La nouvelle version inclut les développements accumulés au cours de l'année, principalement axés sur le développement d'un sous-système d'accès au bureau via le réseau. De manière générale, le plan de préparation de la première version significative 1.0 est présenté : dans la prochaine branche 0.7, des travaux sont prévus pour étendre le sous-système sonore, améliorer la compatibilité et développer des outils pour les graphiques 3D. La branche 0.8 se concentrera sur l'optimisation et les performances, et la 0.9 se concentrera sur la sécurité.

Parmi les changements les plus notables de la version Arcan 0.6.1 figure la modernisation du serveur d'affichage arcan-wayland, qui utilise le protocole Wayland, qui implémente une couche pour l'utilisation d'EGL et active le support dma-buf par défaut. Le serveur Xarcan X a amélioré la gestion des commutateurs GPU et ajouté la prise en charge du presse-papiers et de l'accélération matérielle du rendu du curseur. Prise en charge améliorée des écrans avec des taux de rafraîchissement de contenu variables. Des travaux ont été effectués dans le système de saisie pour réduire les délais.

De nombreuses modifications internes ont été apportées pour améliorer la synchronisation et améliorer l'efficacité de la gestion des files d'attente d'événements. Le développement du serveur graphique « arcan-net » pour le travail à distance avec le bureau sur le réseau et le protocole A12 utilisé dans ce serveur, développé pour remplacer SSH/VNC/RDP/X11, se sont poursuivis. Liaisons mises à jour pour le développement de composants dans Lua.

Le concept Pipeworld a été proposé, qui vous permet de rediriger les flux de données entre les fenêtres, en reliant les données et les gestionnaires dans différentes fenêtres, similaires aux cellules des feuilles de calcul, formant un flux de travail mixte combinant des interfaces graphiques et de console (par exemple, vous pouvez rediriger la sortie de une fenêtre vers un shell exécuté dans le gestionnaire de terminal et utiliser le résultat dans une autre fenêtre).

Rappelons qu'Arcan n'est pas lié à un sous-système graphique distinct et peut fonctionner sur divers environnements système (BSD, Linux, macOS, Windows) à l'aide de backends de plug-ins. Par exemple, il est possible de fonctionner sur Xorg, egl-dri, libsdl et AGP (GL/GLES). Le serveur d'affichage Arcan peut exécuter des applications client basées sur X, Wayland et SDL2. Les critères clés utilisés dans la conception de l'API Arcan sont la sécurité, les performances et la déboguabilité. Pour simplifier le développement des interfaces, il est proposé d'utiliser le langage Lua.

Caractéristiques des Arcanes :

  • Une combinaison de rôles de serveur composite, de serveur d'affichage et de gestionnaire de fenêtres.
  • La possibilité de travailler en mode autonome, dans lequel l'application agit comme un lien autonome.
  • Cadre multimédia intégré qui fournit des outils pour travailler avec des graphiques, des animations, traiter la vidéo et le son en streaming, charger des images et travailler avec des périphériques de capture vidéo.
  • Modèle multi-processus pour connecter les gestionnaires de sources de données dynamiques - des flux vidéo à la sortie de programmes individuels.
  • Modèle rigide de séparation des privilèges. Les composants du moteur sont décomposés en petits processus non privilégiés qui communiquent via l'interface de mémoire partagée shmif ;
  • Outils intégrés de surveillance et d'analyse des crashs, dont le moteur peut sérialiser l'état interne des scripts Lua pour simplifier le débogage ;
  • Fonction de repli, qui, en cas de panne due à une erreur de programme, peut lancer une application de sauvegarde tout en conservant les mêmes sources de données externes et connexions ;
  • Outils de partage avancés qui peuvent être utilisés pour enregistrer ou diffuser des sous-ensembles sélectionnés de sources audio et vidéo tout en mettant en œuvre le partage de bureau.

De plus, on peut noter qu'une nouvelle version du bureau Durden 0.7 est en cours de préparation pour être utilisée avec Arcan. Dans la version 0.7, la prise en charge du placement vertical du titre de la fenêtre et de la barre d'état apparaîtra, et un utilitaire de guidage vocal (texte en parole) sera ajouté. Durden prend en charge à la fois une interface en mosaïque avec des commandes de clavier complètes et un mode fluide pour afficher les fenêtres à l'écran. Tous les paramètres, y compris les méthodes de saisie, les polices et les effets visuels, peuvent être modifiés à la volée, sans qu'il soit nécessaire de recharger la configuration.

Il est possible de configurer un comportement distinct pour chaque fenêtre et d'utiliser un presse-papier indépendant lié à la fenêtre. Prend en charge le travail sur des systèmes avec plusieurs moniteurs avec différents DPI. Il est possible d'afficher le menu de l'application dans le panel (menu global) ou de placer le menu dans le titre de la fenêtre. Les widgets peuvent être placés sur le bureau. Il existe une capacité intégrée d'enregistrement vidéo des actions sur le bureau et dans des fenêtres individuelles. Le sous-système de contrôle d'entrée prend en charge la modification de la disposition du clavier et la possibilité de travailler avec des appareils avancés tels que les consoles de jeux.

Source: opennet.ru

Ajouter un commentaire