Pubblicazione di Wayland-Protocols 1.39 con supporto per protocolli sperimentali.

È stata pubblicata la versione 1.39 del pacchetto wayland-protocols, che include un insieme di protocolli e estensioni che ampliano il protocollo base Wayland e offrono le funzionalità necessarie per la creazione di server compositi e ambienti utente.

Tutti i protocolli passano successivamente attraverso le fasi di sviluppo, test e stabilizzazione. Dopo il completamento della fase di sviluppo (categoria «unstable»), il protocollo viene inserito nel ramo «staging» e ufficialmente incluso nel set di wayland-protocols; una volta concluso il testing, viene spostato nella categoria stabile. I protocolli della categoria «staging» possono già essere utilizzati nei server compositi e nei client dove Ú necessaria la funzionalità correlata. A differenza della categoria «unstable», nella categoria «staging» non sono consentiti cambiamenti che compromettono la compatibilità; tuttavia, nel caso vengano identificate problematiche o mancanze durante il testing, non si esclude la sostituzione con una nuova versione significativa del protocollo o un'altra estensione Wayland.

Nella nuova versione ù stata aggiunta una fase extra di avanzamento dei protocolli — "experimental", mirata a ridurre le barriere per l'inclusione dei protocolli nel gruppo Wayland-Protocols, accelerando la disponibilità dei protocolli per gli sviluppatori e stimolando l'implementazione precoce in progetti esistenti. Questa nuova fase permetterà di liberare gli sviluppatori di protocolli da discussioni prolungate e burocrazia prima dell'inclusione in Wayland-Protocols.

Se per il passaggio del protocollo alla fase "staging" Ăš necessario formare un team di supporto e ottenere un numero specifico di conferme (ACK) dai partecipanti alla revisione, per entrare in "experimental" Ăš sufficiente l'assenza di obiezioni (NACK) per un periodo di revisione di due settimane. Nella fase "experimental" sono consentiti cambiamenti che violano la compatibilitĂ  e l'aggiunta di protocolli "grezzi", che possono essere gradualmente portati a un livello adeguato.

Sono stati aggiunti alla categoria "staging" i seguenti protocolli:

  • ext-data-control — consente ai clienti privilegiati di gestire l'elaborazione dei dati, ad esempio per implementare gestori degli appunti.
  • ext-workspace — implementa il concetto scrivanie virtuali fornisce eventi con informazioni sullo stato dei desktop e consente di attivare e disattivare i desktop. Il protocollo puĂČ essere utilizzato per creare pannelli e indicatori che visualizzano un elenco di desktop virtuali disponibili e consentono di passare da uno all'altro.

Attualmente, il pacchetto wayland-protocols include i seguenti protocolli stabili, che garantiscono la compatibilitĂ  retroattiva:

  • «viewporter» — consente al client di effettuare operazioni di zoom e ritaglio dei bordi della superficie dal lato del server.
  • «presentation-time» — permette la visualizzazione dei video.
  • «xdg-shell» — interfaccia per la creazione e interazione con le superfici come finestre, consentendo di spostarle sullo schermo, minimizzarle, ingrandirle, ridimensionarle, ecc.
  • «linux-dmabuf» — consente la condivisione di piĂč schede grafiche tramite la tecnologia DMA-BUF (permette di creare wl_buffer basato su DMA-BUF).
  • «tablet» — gestione dell'input dai tablet grafici.

Protocolli in fase di testing nel ramo «staging»:

  • drm-lease — fornisce le risorse necessarie per formare immagini stereoscopiche con buffer diversi per l'occhio sinistro e destro durante la visualizzazione su caschi di realtĂ  virtuale.
  • «ext-session-lock» — definisce i mezzi per il blocco della sessione, ad esempio, durante il funzionamento del salvaschermo o la visualizzazione di una finestra di autenticazione.
  • «single-pixel-buffer» — consente la creazione di buffer a singolo pixel che includono quattro valori RGBA a 32 bit.
  • «xdg-activation» — consente di trasferire il focus tra diverse superfici di primo livello (ad esempio, tramite xdg-activation un'app puĂČ spostare il focus su un'altra).
  • content-type — consente ai client di trasmettere al compositore server informazioni sui contenuti visualizzati, che possono essere utilizzate per ottimizzare il comportamento in base al contenuto, ad esempio, l'impostazione di proprietĂ  DRM specifiche come «content type». È dichiarato il supporto per i seguenti tipi di contenuto: none (nessuna informazione sul tipo di dati), photo (output di foto digitali che richiede una minima elaborazione), video (video o animazione, richiede una sincronizzazione piĂč precisa per evitare lag) e game (esecuzione di giochi, richiede un output con minima latenza).
  • ext-idle-notify — consente ai server compositi di inviare ai client notifiche di inattivitĂ  dell'utente, il che puĂČ essere utilizzato per attivare modalitĂ  di risparmio energetico aggiuntive dopo un certo periodo di inattivitĂ .
  • tearing-control — consente di disattivare la sincronizzazione verticale (VSync) con impulso di spegnimento nei programmi a schermo intero, utilizzata per prevenire la comparsa di tearing durante l'output. Negli applicativi multimediali, la comparsa di artefatti dovuta al tearing Ăš un effetto indesiderato, ma nei giochi si puĂČ tollerare, anche se la lotta contro di essi causa ulteriori ritardi.
  • ext-foreign-toplevel-list — recupera informazioni sulle superfici collocate al livello piĂč elevato (toplevel), che consentono di organizzare il fissaggio delle finestre sopra ad altri contenuti, ad esempio per connettere pannelli e interruttori personalizzati.
  • security-context — consente di identificare i clienti che utilizzano l'isolamento sandbox. Il cliente puĂČ registrare una nuova connessione a un server composito basato su Wayland e allegare a essa un contesto di sicurezza, dopo di che il gestore di composizione limiterĂ  le capacitĂ  disponibili per la connessione stabilita in base al contesto di sicurezza specificato.
  • cursor-shape — un metodo alternativo per personalizzare l'aspetto del cursore, basato sulla trasmissione di una serie di immagini del cursore anzichĂ© sull'associazione a una superficie (wl_surface).
  • «ext-transient-seat» — progettato per creare sessioni temporanee indipendenti (seat) destinate all'uso con dispositivi di input virtuali. Ad esempio, nell'implementazione della possibilitĂ  di connessione a desktop remoto, il protocollo consente di creare sessioni separate per ogni utente con tastiera e mouse virtuali.
  • «xdg-toplevel-drag» — estende il meccanismo di «drag & drop» con la possibilitĂ  di ancorare le finestre di livello superiore all'operazione di spostamento, che puĂČ essere utilizzata, ad esempio, per organizzare il trascinamento di barre degli strumenti o schede del browser. Il nuovo protocollo consente di creare sezioni rimovibili della finestra che, se spostate fuori da questa finestra, diventano nuove finestre e possono essere spostate sopra la finestra esistente prima di essere ricollegate.
  • «xdg-dialog» — consente di assegnare alle superfici di alto livello attributi specifici per finestre di dialogo, ad esempio Ăš possibile creare dialoghi modali che bloccano l'interazione dell'utente con il resto dell'interfaccia.
  • «linux-drm-syncobj» — fornisce strumenti per la sincronizzazione esplicita dei buffer utilizzando gli oggetti di sincronizzazione DRM (Direct Rendering Manager). Si prevede che nel contesto della sincronizzazione durante il rendering nel buffer, il protocollo proposto migliori il lavoro con i driver basati sulle API grafiche Vulkan e OpenGL (l'implementazione si basa sui gestori nei driver). Il nuovo protocollo offre la garanzia che l'operazione di rendering nel buffer sia completata prima che il gestore composito visualizzi tale buffer.
  • modificatore alpha, che consente ai client di cambiare il livello di trasparenza della superficie e di delegare le operazioni relative alla trasparenza al server composito, il quale puĂČ a sua volta inoltrare queste operazioni al KMS.
  • xdg-toplevel-icon — associa un'icona a una finestra di alto livello.
  • ext-image-capture-source ed ext-image-copy-capture — organizzazione della cattura del contenuto visualizzato sullo schermo.
  • xdg-system-bell — consente di emettere un segnale di sistema, che puĂČ essere utilizzato, ad esempio, come avviso in un emulatore di terminale. La forma di emissione del segnale Ăš a discrezione del compositore, e puĂČ includere non solo suoni, ma anche risposte visive.
  • fifo — implementa un meccanismo FIFO (primo arrivato, primo servito) per l'elaborazione della coda di aggiornamento del contenuto della superficie visualizzata. Dal punto di vista pratico, il protocollo consente di utilizzare l'attesa del completamento della scansione verticale (vblank) per l'output, piuttosto che invocare callback ogni volta che Ăš pronto a visualizzare un nuovo fotogramma, risolvendo cosĂŹ i problemi di elevato carico sulla GPU nell'uso del VSync.
  • commit-timing — consente di legare un vincolo temporale al contenuto della superficie (il server composito deve visualizzare la modifica del contenuto entro il tempo specificato, ma non prima).

Protocolli sviluppati nella branch «unstable»:

  • «fullscreen-shell» — gestione del funzionamento in modalitĂ  schermo intero.
  • «input-method» — gestione dei metodi di input.
  • «idle-inhibit» — blocco dell'attivazione del salvaschermo.
  • «input-timestamps» — marcature temporali per eventi di input.
  • «keyboard-shortcuts-inhibit» — gestione della fissazione delle combinazioni di tasti e delle scorciatoie.
  • «linux-explicit-synchronization» — meccanismo di sincronizzazione dei buffer specifico per Linux legato alla superficie.
  • «pointer-gestures» — gestione dai touchscreen.
  • «pointer constraints» — restrizioni sui puntatori (blocco).
  • «primary-selection» — analogamente a X11 gestisce il funzionamento del buffer di appunti primari, il cui inserimento di solito avviene tramite il pulsante centrale del mouse.
  • «relative pointer events» — eventi di puntatori relativi.
  • «text-input» — organizzazione dell'input di testo.
  • «xdg-foreign» — interfaccia per interagire con le superfici del cliente «vicino».
  • «xdg-decoration» — rendering delle decorazioni delle finestre lato server.
  • «xdg-output» — informazioni aggiuntive sull'uscita video (utilizzato per il ridimensionamento frazionale).
  • Tutti i protocolli passano attraverso fasi di sviluppo, test e stabilizzazione. Al termine della fase di sviluppo (categoria «unstable»), il protocollo viene inserito nel ramo «staging» e ufficialmente incluso nel set di wayland-protocols; dopo il completamento dei test, viene spostato nella categoria stabile. I protocolli della categoria «staging» possono giĂ  essere utilizzati nei server compositi e nei client, dove Ăš richiesta la funzionalitĂ  correlata. A differenza della categoria «unstable», nella «staging» non Ăš consentita l'introduzione di modifiche che violano la compatibilitĂ , ma in caso di problemi e difetti riscontrati durante i test, non Ăš esclusa la sostituzione con una nuova versione significativa del protocollo o un'altra estensione Wayland.
  • Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server đŸ”„ Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster