Rilascio di Wayland-Protocols 1.48

È stato rilasciato l'aggiornamento del pacchetto wayland-protocols 1.48, contenente un insieme di protocolli ed estensioni che integrano il protocollo di base Wayland e forniscono le funzionalità necessarie per la creazione di server compositi e ambienti utente.

Nella nuova versione:

  • Nella categoria «staging» Ăš stato aggiunto il protocollo xdg-session-management, che offre la possibilitĂ  di ripristinare lo stato e la posizione delle finestre di una sessione interrotta in ambienti basati sul protocollo Wayland, ad esempio dopo il crash di un server composito o di un'applicazione.
  • Espandete le possibilitĂ  del protocollo text-input, consentendo ai server compositi di implementare metodi di input e inviare testo alle applicazioni. Ad esempio, Ăš stato aggiunto il flag no_emoji per l'input senza emoji, implementato il supporto per azioni aggiuntive oltre all'inserimento del testo, aggiunto il flag language per trasmettere informazioni sulla lingua, aggiunte richieste per mostrare e nascondere il pannello di input e aggiunto il flag preedit_hint per personalizzare lo stile della modifica preliminare.
  • È stato aggiunto il protocollo sperimentale xx-cutouts per ottenere informazioni sulle aperture sullo schermo (ad esempio, le aree sotto la fotocamera frontale dello smartphone).
  • È stato aggiunto il protocollo sperimentale xx-zones per creare e aggiungere finestre di livello superiore nelle «zone» — ambienti con il proprio spazio di coordinate. Il protocollo consente di organizzare una disposizione logica delle finestre, in cui ogni finestra Ăš posizionata in relazione a un'altra finestra.
  • È stato aggiunto il protocollo sperimentale xx-keyboard-filter per catturare eventi selezionati della tastiera da parte del client, modificare eventi di input o bloccare la trasmissione di determinati eventi nella superficie Wayland su cui Ăš impostato il focus di input.

Tutti i protocolli seguono sequenzialmente le fasi di sviluppo, test e stabilizzazione. Al termine della fase di sviluppo (categoria «unstable»), il protocollo viene collocato nel ramo «staging» e ufficialmente incluso nel pacchetto wayland-protocols, e dopo il completamento dei test viene spostato nella categoria stabile. I protocolli della categoria «staging» possono già essere utilizzati in compositi server e client dove Ú necessaria la funzionalità correlata. A differenza della categoria «unstable», in «staging» Ú vietata l'introduzione di modifiche che violano la compatibilità, ma in caso di problemi o difetti rilevati durante i test, non si esclude la sostituzione con una nuova versione significativa del protocollo o un'altra estensione di Wayland.

Per accelerare la distribuzione dei protocolli agli sviluppatori e incentivare l'implementazione precoce nei progetti esistenti, a partire dalla versione precedente Ú stata aggiunta una fase "experimental", in cui sono consentiti cambiamenti che compromettono la compatibilità e l'aggiunta di protocolli "grezzi", che possono essere progressivamente sviluppati a un livello adeguato. Perché un protocollo entri nella fase "staging" Ú necessario formare un team di supporto e ottenere un certo numero di conferme (ACK) dai partecipanti alla revisione, mentre per entrare nella fase "experimental" Ú sufficiente che non ci siano obiezioni (NACK) nel corso di un periodo di revisione di due settimane.

Attualmente, il set di protocolli wayland-protocols include i seguenti protocolli stabili, che garantiscono la retrocompatibilitĂ :

  • viewporter" – consente al cliente di eseguire operazioni di scaling e ritaglio dei bordi della superficie sul lato server.
  • «presentation-time» — gestisce la visualizzazione dei video.
  • «xdg-shell» — interfaccia per la creazione e l'interazione con superfici come finestre, consentendo di spostarle sullo schermo, minimizzarle, massimizzarle, ridimensionarle, ecc.
  • «linux-dmabuf» — offre funzionalitĂ  per la creazione di wl_buffer basati su DMA-BUF.
  • «tablet» — organizzazione dell'input da tablet grafici.

Protocolli testati nella branch «staging»:

  • drm-lease — fornisce le risorse necessarie per creare un'immagine stereoscopica con buffer diversi per l'occhio sinistro e destro quando visualizzata su visori VR.
  • «ext-session-lock» — definisce i mezzi per il blocco della sessione, ad esempio durante l'attivazione dello screensaver o la visualizzazione di una finestra di dialogo per l'autenticazione.
  • «single-pixel-buffer» — consente la creazione di buffer a singolo pixel che includono quattro valori RGBA a 32 bit.
  • «xdg-activation» — consente di passare il focus tra diverse superfici di primo livello (ad esempio, mediante xdg-activation, un'applicazione puĂČ trasferire il focus a un'altra).
  • content-type consente ai client di inviare informazioni al compositore server sul contenuto visualizzato, che possono essere utilizzate per ottimizzare il comportamento in base al contenuto, ad esempio impostando proprietĂ  DRM specifiche, come il "content type". È dichiarato il supporto per i seguenti tipi di contenuto: none (nessuna informazione sul tipo di dati), photo (visualizzazione di foto digitali con minima elaborazione), video (video o animazione, Ăš richiesta una sincronizzazione piĂč precisa per evitare lag) e game (esecuzione di giochi, Ăš richiesta un'uscita con minima latenza).
  • ext-idle-notify — consente ai server compositi di inviare ai client notifiche sull'inattivitĂ  dell'utente, che possono essere utilizzate per attivare modalitĂ  di risparmio energetico aggiuntive dopo un certo periodo di inattivitĂ .
  • tearing-control — consente di disabilitare la sincronizzazione verticale (VSync) con impulsi di spegnimento nei programmi a schermo intero, utilizzata per prevenire la comparsa di tearing durante l'uscita. Negli applicativi multimediali, la comparsa di artefatti dovuti al tearing Ăš un effetto indesiderato, ma nei programmi di gioco Ăš possibile tollerare gli artefatti se la loro eliminazione porta a ritardi aggiuntivi.
  • ext-foreign-toplevel-list — ricezione di informazioni sulle superfici posizionate al livello piĂč alto (toplevel), che consentono di organizzare la fissazione delle finestre sopra altro contenuto, ad esempio per collegare pannelli e interruttori personalizzati.
  • security-context — consente di identificare i client che utilizzano l'isolamento sandbox. Un client puĂČ registrare una nuova connessione a un server composito basato su Wayland e associarvi un contesto di sicurezza, dopo di che, in conformitĂ  con il contesto di sicurezza specificato, il gestore composito limiterĂ  le funzionalitĂ  disponibili per la connessione stabilita.
  • cursor-shape — un modo alternativo per configurare l'aspetto del cursore, basato sulla trasmissione di una serie di immagini di cursore anzichĂ© sull'associazione a una superficie (wl_surface).
  • «ext-transient-seat» — progettato per creare sedute temporanee indipendenti (seat), destinate all'uso con dispositivi di input virtuali. Ad esempio, durante l'implementazione della possibilitĂ  di connettersi a desktop remoto, il protocollo consente di creare una sessione separata con tastiera e mouse virtuali per ogni utente.
  • «xdg-toplevel-drag» — estende il meccanismo di «drag & drop» con la possibilitĂ  di associare finestre di livello superiore all'operazione di spostamento, che puĂČ essere utilizzata, ad esempio, per organizzare il trascinamento con il mouse di barre degli strumenti o schede del browser. Il nuovo protocollo consente di creare parti distaccabili della finestra, che diventano nuove finestre durante il trascinamento e possono essere spostate sopra una finestra esistente prima di essere riattaccate.
  • «xdg-dialog» — consente di assegnare alle superfici di livello superiore attributi specifici per le 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 oggetti di sincronizzazione DRM (Direct Rendering Manager). Si prevede che nel contesto della sincronizzazione durante il rendering nel buffer, il protocollo proposto migliorerĂ  l'interazione con i driver basati sulle API grafiche Vulkan e OpenGL (l'implementazione si basa su gestori nei driver). Il nuovo protocollo consente di garantire che l'operazione di rendering nel buffer sia completata prima che il gestore composito visualizzi il buffer stesso.
  • alpha-modifier, che consente ai clienti di modificare il livello di trasparenza della superficie e di delegare le operazioni di gestione della trasparenza al server di composizione, che a sua volta puĂČ inoltrare queste operazioni a KMS.
  • xdg-toplevel-icon — associa un'icona a una finestra di livello superiore.
  • ext-image-capture-source e ext-image-copy-capture — organizzano la cattura dei contenuti visualizzati 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 Ăš determinata a discrezione del gestore composito, e puĂČ essere non solo un suono, ma anche una risposta visiva.
  • 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) al posto delle chiamate di callback ogni volta che Ăš pronto a visualizzare un nuovo fotogramma, risolvendo il problema del carico elevato sulla GPU durante l'uso di VSync.
  • commit-timing — consente di associare un vincolo temporale al contenuto della superficie (il server composito deve visualizzare la modifica del contenuto, se possibile, entro il tempo specificato, ma non prima).
  • ext-data-control — consente ai client privilegiati di gestire l'elaborazione dei dati, ad esempio, per realizzare gestori di appunti.
  • ext-workspace — implementa il concetto desktop virtuali e offre eventi con informazioni sullo stato dei desktop, oltre a funzionalitĂ  per attivare e disattivare i desktop. Il protocollo puĂČ essere utilizzato per creare pannelli e indicatori che mostrano un elenco dei desktop virtuali disponibili e consentono di passare da uno all'altro.
  • la gestione del colore offre funzionalitĂ  per la gestione del colore e supporto per l'ampio intervallo dinamico di luminositĂ  (HDR, High Dynamic Range). Grazie all'estensione aggiunta, le applicazioni client possono ottenere informazioni sulle proprietĂ  dei dispositivi di output relative alla resa cromatica e trasmettere al server composito dati sulle proprie caratteristiche di riproduzione del colore. Nel composito server queste informazioni possono essere utilizzate per gestire automaticamente il colore durante la visualizzazione dei contenuti su diversi dispositivi di output, ad esempio, per convertire il contenuto in una forma adatta per la visualizzazione su monitor HDR. Per descrivere gli spazi colore vengono utilizzati i profili ICC.
  • xdg-toplevel-tag consente ai client Wayland di attaccare etichette alle superfici di livello superiore, che il server composito puĂČ utilizzare per identificare le finestre dopo il riavvio dell'applicazione (ad esempio, un'app puĂČ impostare le etichette "main window" e "settings" per la finestra principale e la finestra delle impostazioni). Tale identificazione Ăš utile per ripristinare la posizione, le dimensioni e le proprietĂ  delle finestre dopo il riavvio, nonchĂ© per determinare regole speciali per diversi tipi di finestre.
  • la rappresentazione del colore definisce la rappresentazione del colore della superficie Wayland. I client Wayland possono trasmettere i metadati necessari per definire la trasparenza, il modello di colore, la sottodisciplina e l'intervallo di quantizzazione, utilizzati nella conversione del buffer di dati in accordo con il modello di colore YCbCr, nella rappresentazione RGB.
  • ext-background-effect — applicazione di effetti alle parti semitrasparenti della superficie Wayland, come il offuscamento dello sfondo.
  • pointer-warp — consente all'applicazione di spostare istantaneamente il cursore nella posizione specificata.

Protocollo in fase di sviluppo nella branch 'experimental':

  • xx-session-management — ripristino dello stato delle finestre per sessioni interrotte (ad esempio, dopo la chiusura anomala del gestore composito).
  • xx-input-method — consente alle applicazioni di implementare metodi di input di testo per i compositi server e formare il testo inserito, che puĂČ essere utilizzato, ad esempio, per creare tastiere virtuali e strati IME (Input Method Editor) per elaborare l'input.
  • xx-text-input — consente ai server compositi di implementare metodi di input e inviare testo alle applicazioni. Il protocollo standardizza l'interazione tra il composito server e le applicazioni, e consente di gestire funzionalitĂ  come la trasmissione del testo inserito, l'elaborazione degli eventi di cambio del focus di input e la considerazione delle specifiche dei campi di input (lingua, selezione di testo, tipo di contenuto).

I protocolli in fase di sviluppo nel ramo «unstable»:

  • «fullscreen-shell» — gestione delle operazioni in modalitĂ  schermo intero.
  • «input-method» — elaborazione dei metodi di input.
  • «idle-inhibit» — blocco dell'attivazione dello screensaver (salvaschermo).
  • «input-timestamps» — registrazioni temporali per eventi di input.
  • «keyboard-shortcuts-inhibit» — gestione delle combinazioni di tasti e delle scorciatoie da tastiera.
  • «linux-explicit-synchronization» — meccanismo di sincronizzazione dei buffer specifico per Linux legato alla superficie.
  • «pointer-gestures» — gestione dei gesti su schermi tattili.
  • «pointer constraints» — vincoli sui puntatori (blocco).
  • «primary-selection» — analogamente a X11, gestisce il funzionamento del buffer di copia primario (primary selection), il cui inserimento avviene normalmente con il pulsante centrale del mouse.
  • «relative pointer events» — eventi relativi ai puntatori.
  • «text-input» — organizzazione dell'input di testo.
  • «xdg-foreign» — interfaccia di interazione con le superfici di un client «vicino».
  • «xdg-decoration» — rendering delle decorazioni delle finestre lato server.
  • «xdg-output» — informazioni supplementari sull'output video (utilizzato per il ridimensionamento frazionale).
  • «xwayland-keyboard-grab» — acquisizione dell'input nelle applicazioni XWayland.

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