Rilascio Wayland-Protocols 1.31

È stato rilasciato il pacchetto wayland-protocols 1.31, contenente una serie di protocolli ed estensioni che completano le funzionalità del protocollo Wayland base e forniscono le funzionalità necessarie per creare server compositi e ambienti utente.

Tutti i protocolli attraversano in sequenza tre fasi: sviluppo, test e stabilizzazione. Dopo aver completato la fase di sviluppo (la categoria “unstable”), il protocollo viene inserito nel ramo “staging” e ufficialmente incluso nel set di protocolli Wayland e, una volta completato il test, viene spostato nella categoria stable. I protocolli della categoria “staging” possono già essere utilizzati in server e client compositi dove è richiesta la funzionalità correlata. A differenza della categoria "instabile", la "staging" vieta di apportare modifiche che violano la compatibilità, ma se durante i test vengono identificati problemi e carenze, non è esclusa la sostituzione con una nuova versione significativa del protocollo o un'altra estensione Wayland.

La nuova versione arriva una settimana dopo il rilascio di Wayland-Protocols 1.30, che ha aggiunto il supporto per il protocollo di controllo dello strappo per disabilitare la sincronizzazione verticale. Nella versione 1.31, il protocollo su scala frazionaria è stato aggiunto alla categoria "staging", con cui il gestore composito può passare valori di ridimensionamento della superficie non interi, che consentono al client di determinare una dimensione più accurata dei buffer per gli oggetti wp_viewport, rispetto a passaggio di informazioni su scala arrotondata. Sono state preparate implementazioni del protocollo su scala frazionaria per wlroots, KWin e glfw.

Attualmente, i protocolli Wayland includono i seguenti protocolli stabili, che forniscono compatibilità con le versioni precedenti:

  • "viewporter": consente al client di eseguire azioni di ridimensionamento e ritaglio dei bordi della superficie sul lato server.
  • "presentation-time": fornisce la visualizzazione del video.
  • "xdg-shell" è un'interfaccia per creare e interagire con superfici come finestre, che consente di spostarle sullo schermo, ridurre a icona, espandere, ridimensionare, ecc.

Protocolli testati nel ramo “staging”:

  • drm-lease: fornisce le risorse necessarie per generare un'immagine stereo con buffer diversi per gli occhi sinistro e destro durante l'output su visori per realtà virtuale.
  • "ext-session-lock" - definisce un mezzo per bloccare una sessione, ad esempio, mentre è in esecuzione lo screen saver o è visualizzata la finestra di dialogo di autenticazione.
  • "buffer a pixel singolo": consente di creare buffer a pixel singolo che includono quattro valori RGBA a 32 bit.
  • "xdg-activation": consente di trasferire il focus tra diverse superfici di primo livello (ad esempio, utilizzando xdg-activation, un'applicazione può spostare il focus su un'altra).
  • content-type: consente ai client di passare informazioni sul contenuto visualizzato al server composito, che può essere utilizzato per ottimizzare il comportamento in base al contenuto, ad esempio l'impostazione di proprietà DRM specifiche come "tipo di contenuto". Viene dichiarato il supporto per i seguenti tipi di contenuto: nessuno (nessuna informazione sul tipo di dati), foto (output di foto digitali, che richiede un'elaborazione minima), video (video o animazione, è necessaria una sincronizzazione più precisa per evitare balbettii) e gioco (avvio giochi, uscita dal ritardo minimo).
  • ext-idle-notify: consente ai server compositi di inviare notifiche ai client sull'inattività dell'utente, che possono essere utilizzate per attivare ulteriori modalità di risparmio energetico dopo un certo periodo di inattività.
  • controllo dello strappo: consente di disabilitare la sincronizzazione verticale (VSync) con un impulso di smorzamento verticale nelle applicazioni a schermo intero, utilizzato per proteggere dallo strappo nell'output. Nelle applicazioni multimediali, gli artefatti dovuti allo strappo sono un effetto indesiderato, ma nei programmi di gioco gli artefatti possono essere tollerati se la loro gestione causa ulteriori ritardi.

Protocolli in fase di sviluppo nel ramo “unstable”:

  • "fullscreen-shell": controllo del lavoro in modalità a schermo intero.
  • "metodo-input" - elaborazione dei metodi di input.
  • “idle-inhibit”: blocca l'avvio dello screensaver (salvaschermo).
  • "input-timestamps" - timestamp per eventi di input.
  • "keyboard-shortcuts-inhibit" - controlla l'aggiunta di scorciatoie da tastiera e tasti di scelta rapida.
  • "linux-dmabuf" - condivisione di diverse schede video utilizzando la tecnologia dma-buf.
  • "linux-explicit-sychronization" è un meccanismo specifico di Linux per la sincronizzazione dei buffer legati alla superficie.
  • “gesti del puntatore”: controllo da touch screen.
  • “vincoli del puntatore” - vincoli del puntatore (blocco).
  • “selezione primaria” - per analogia con X11, garantisce il funzionamento degli appunti primari (selezione primaria), le informazioni dalle quali vengono solitamente inserite con il pulsante centrale del mouse.
  • “eventi relativi del puntatore” - eventi relativi del puntatore.
  • "tablet" - supporto per l'input dai tablet.
  • “text-input” - organizzazione dell'immissione di testo.
  • “xdg-foreign” è un'interfaccia per interagire con le superfici del client “vicino”.
  • "xdg-decoration" - rendering delle decorazioni delle finestre sul lato server.
  • "xdg-output" - informazioni aggiuntive sull'output video (utilizzato per il ridimensionamento frazionario).
  • "xwayland-keyboard-grab": cattura l'input nelle applicazioni XWayland.
  • Fonte: opennet.ru

Aggiungi un commento