Version 0.6.2 du moteur de bureau Arcan

Après un an de développement, la sortie du moteur de bureau Arcan 0.6.2 a été publiée, 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. Sur la base d'Arcan, le bureau tridimensionnel Safespaces pour les systèmes de réalité virtuelle et l'environnement de bureau Durden sont en cours de développement. Le code du projet est écrit en C et distribué sous licence BSD (certains composants sous GPLv2+ et LGPL).

La nouvelle version poursuit le développement d'outils pour le travail à distance avec le bureau sur le réseau. L'accès au réseau est assuré par le serveur graphique arcan-net qui implémente le protocole A12, qui combine les capacités de technologies telles que mDNS (définition de service local), SSH (shell de texte interactif), X11/VNC/RDP (shell graphique interactif), RTSP (streaming multimédia) et HTTP (téléchargement de ressources et synchronisation d'état).

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 enfichables. Par exemple, il est possible d'exécuter 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 capacité de débogage. 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.

Source: opennet.ru

Ajouter un commentaire