Uscita di Wayland-Protocols 1.41 con supporto per la gestione del colore e HDR

È stata pubblicata la versione del pacchetto wayland-protocols 1.41, contenente un insieme di protocolli ed estensioni che completano il protocollo base Wayland e offrono le funzionalità necessarie per costruire server compositi e ambienti utente.

Nella nuova versione Ăš stato aggiunto alla categoria "staging" il protocollo color-management, sviluppato dal 2014 e che offre funzionalitĂ  per la gestione del colore e il supporto dell'ampio dinamico intervallo di luminositĂ  (HDR, High Dynamic Range). Grazie all'estensione aggiunta, le applicazioni client possono ottenere informazioni sulle caratteristiche legate alla riproduzione dei colori dei dispositivi di output e trasmettere al server composito dati sulle proprietĂ  di riproduzione dei colori del proprio contenuto. 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.

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

  • «viewporter» — consente al client di eseguire operazioni di ridimensionamento 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 — permette ai client di trasmettere al server composito informazioni sul contenuto visualizzato, che possono essere utilizzate per ottimizzare il comportamento in base al contenuto, ad esempio per impostare proprietĂ  DRM specifiche come «content type». Sono dichiarati supportati i seguenti tipi di contenuti: none (nessuna informazione sul tipo di dati), photo (output di foto digitali, richiede un'elaborazione minima), video (video o animazione, richiede una sincronizzazione piĂč precisa per escludere ritardi) e game (esecuzione di giochi, richiede output con latenza minima).
  • 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» offre strumenti per la sincronizzazione esplicita dei buffer tramite oggetti di sincronizzazione DRM (Direct Rendering Manager). Si prevede che, nel contesto della sincronizzazione durante il rendering nel buffer, il protocollo proposto migliori 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 dei compositi visualizzi tale buffer.
  • 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.

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.

Tutti i protocolli passano attraverso fasi di sviluppo, test e stabilizzazione. Una volta conclusa la fase di sviluppo (categoria "unstable"), il protocollo viene inserito nel ramo "staging" e ufficialmente incluso nel pacchetto wayland-protocols; dopo la conclusione dei test, viene spostato nella categoria stabile. I protocolli della categoria "staging" possono giĂ  essere utilizzati in server compositori e client dove Ăš richiesta la funzionalitĂ  associata. A differenza della categoria "unstable", nella "staging" sono vietati cambiamenti che compromettano la compatibilitĂ , ma se durante i test emergono problemi o mancanze, non Ăš esclusa la possibilitĂ  di sostituire il protocollo con una nuova versione significativa 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.

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