È disponibile Louvre 1.0, una libreria per lo sviluppo di server compositi basati su Wayland

Gli sviluppatori del progetto Cuarzo OS hanno presentato la prima versione della libreria Louvre, che fornisce componenti per lo sviluppo di server compositi basati sul protocollo Wayland. Il codice è scritto in C++ e distribuito sotto la licenza GPLv3.

La libreria si occupa di tutte le operazioni di basso livello, inclusa la gestione dei buffer grafici, l'interazione con i sottosistemi di input e le API grafiche in Linux e offre anche implementazioni già pronte di varie estensioni del protocollo Wayland. La presenza di componenti già pronti consente di non dedicare mesi di lavoro alla creazione di elementi standard di basso livello, ma di ricevere immediatamente un framework server composito già pronto e funzionante, che può essere adattato alle proprie esigenze e integrato con il necessario funzionalità estesa. Se necessario, lo sviluppatore può sovrascrivere i metodi forniti dalla libreria per gestire protocolli, eventi di input ed eventi di rendering.

Secondo gli sviluppatori, la libreria ha prestazioni notevolmente superiori rispetto alle soluzioni concorrenti. Ad esempio, un esempio di un server composito, louvre-weston-clone, scritto utilizzando Louvre, che riproduce la funzionalità del progetto Weston, rispetto a Weston e Sway, consuma meno risorse CPU e GPU nei test e consente anche di per ottenere FPS costantemente elevati, anche in scenari complessi.

È disponibile Louvre 1.0, una libreria per lo sviluppo di server compositi basati su Wayland

Caratteristiche principali del Louvre:

  • Supporto per configurazioni multi-GPU (Multi-GPU).
  • Supporta più sessioni utente (multisessione, commutazione TTY).
  • Un sistema di rendering che supporta metodi basati sul rendering 2D (LPainter), scene e viste.
  • Possibilità di utilizzare i propri shader e programmi OpenGL ES 2.0.
  • Ridisegno automatico eseguito secondo necessità (solo quando cambia il contenuto dell'area).
  • Lavoro multi-thread, che consente di ottenere FPS elevati con v-sync abilitato anche durante il rendering di scenari complessi (le implementazioni a thread singolo hanno problemi a mantenere FPS elevati a causa di frame mancanti che non possono essere elaborati a causa di ritardi in attesa della sincronizzazione con l'impulso di frame blanking (vvuoto).
  • Supporta buffering singolo, doppio e triplo.
  • Implementazione di appunti per dati di testo.
  • Supporto Wayland ed estensioni:
    • XDG Shell è un'interfaccia per creare e interagire con superfici come finestre, che ti consente di spostarle sullo schermo, minimizzarle, espanderle, ridimensionarle, ecc.
    • Decorazione XDG: rendering delle decorazioni delle finestre sul lato server.
    • Tempo di presentazione: fornisce la visualizzazione del video.
    • Linux DMA-Buf: condivisione di più schede video utilizzando la tecnologia dma-buf.
  • Supporta il lavoro in ambienti basati su driver Intel (i915), AMD (amdgpu) e NVIDIA (driver proprietario o nouveau).
  • Funzionalità non ancora implementate (nell'elenco dei piani):
    • Eventi touch: gestione degli eventi touch screen.
    • Gesti del puntatore: controlli touch screen.
    • Viewporter: consente al client di eseguire il ridimensionamento e il taglio lato server dei bordi della superficie.
    • Trasformazione di oggetti LView.
    • XWayland: avvio delle applicazioni X11.

È disponibile Louvre 1.0, una libreria per lo sviluppo di server compositi basati su Wayland
È disponibile Louvre 1.0, una libreria per lo sviluppo di server compositi basati su Wayland


Fonte: opennet.ru

Aggiungi un commento