Louvre 1.0 est disponible, une bibliothèque pour le développement de serveurs composites basés sur Wayland

Les développeurs du projet Cuarzo OS ont présenté la première version de la bibliothèque Louvre, fournissant des composants pour le développement de serveurs composites basés sur le protocole Wayland. Le code est écrit en C++ et est distribué sous licence GPLv3.

La bibliothèque prend en charge toutes les opérations de bas niveau, y compris la gestion des tampons graphiques, l'interaction avec les sous-systèmes d'entrée et les API graphiques sous Linux, et propose également des implémentations prêtes de diverses extensions du protocole Wayland. La disponibilité de composants prêts permet de ne pas passer des mois à créer des éléments bas niveau standards, et de recevoir immédiatement une structure de serveur composite qui peut être adaptée selon les besoins et complétée par une fonctionnalité étendue conforme. de serveurs, que le développeur peut personnaliser en redéfinissant les méthodes fournies par la bibliothèque pour le traitement des protocoles, des événements d'entrée et du rendu.

Selon les développeurs, la bibliothèque surpasse de manière significative en termes de performances les solutions concurrentes. Par exemple, un exemple de serveur composite construit avec Louvre, louvre-weston-clone, reproduisant la fonctionnalité du projet Weston, consomme dans des tests effectués moins de ressources CPU et GPU comparé à Weston et Sway, et permet d'obtenir des FPS constamment élevés, même dans des scénarios complexes.

Louvre 1.0 est disponible, une bibliothèque pour le développement de serveurs composites basés sur Wayland

Fonctionnalités principales de Louvre :

  • Prise en charge de configurations avec plusieurs GPU (Multi-GPU).
  • Prise en charge de plusieurs sessions utilisateur (Multi-Session, commutation de TTY).
  • Système de rendu supportant des méthodes basées sur le rendu 2D (LPainter), des scènes (Scene) et des vues (Views).
  • Possibilité d'utiliser ses propres shaders et programmes OpenGL ES 2.0.
  • Rendu automatique effectué au besoin (seulement lors du changement de contenu de la zone).
  • Fonctionnement multithreading permettant d'atteindre des FPS élevés avec v-sync activé même lors du rendu de scénarios complexes (les implementations mono-thread ont des problèmes pour maintenir un FPS élevé à cause de la perte de trames qui ne peuvent pas être traitées à temps à cause des délais d'attente pour la synchronisation avec le signal de suppression de trame (vblank).
  • Prise en charge de la simple, double et triple mise en tampon.
  • Implémentation du presse-papiers pour les données textuelles.
  • Prise en charge de Wayland et des extensions :
    • XDG Shell — une interface permettant de créer et d'interagir avec des surfaces comme des fenêtres, ce qui permet de les déplacer sur l'écran, de les réduire, de les agrandir, de modifier leur taille, etc.
    • XDG Decoration — le rendu des décorations de fenêtres côté serveur.
    • Presentation Time — assure l'affichage de la vidéo.
    • Linux DMA-Buf — partage de plusieurs cartes graphiques via la technologie dma-buf.
  • Prise en charge des environnements basés sur les pilotes Intel (i915), AMD (amdgpu) et NVIDIA (pilote propriétaire ou nouveau).
  • Fonctionnalités encore à réaliser (dans la liste des projets) :
    • Touch Events — gestion des événements des écrans tactiles.
    • Pointer Gestures — contrôle via les écrans tactiles.
    • Viewporter — permet au client d'effectuer des actions de mise à l'échelle et de rognage des bords de la surface côté serveur.
    • Transformation des objets LView.
    • XWayland — exécution d'applications X11.

Louvre 1.0 est disponible, une bibliothèque pour le développement de serveurs composites basés sur Wayland
Louvre 1.0 est disponible, une bibliothèque pour le développement de serveurs composites basés sur Wayland


Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster