Cos’è Wayland e cosa significa per gli utenti Linux?

Cos’è Wayland e cosa significa per gli utenti Linux?

Da quando Fedora 25 ha coraggiosamente introdotto lo stack grafico Wayland per impostazione predefinita nel 2016, è stato installato come opzione principale in diverse distribuzioni Linux. Potresti anche usarlo ora se stai leggendo questo da una macchina Linux. Anche se Wayland esiste da un po’, è ancora un argomento di intrigo tra le persone che sono state abituate a usare il vecchio e onnipresente protocollo X11 tramite Xorg.

Questa guida illustra brevemente cos’è Wayland, cosa fa e perché gli sviluppatori lo stanno affollando a frotte!

Cos’è Wayland?

Per visualizzare le finestre sullo schermo e disegnare correttamente ciascuno dei loro elementi, Linux ha bisogno di un modo per comunicare con l’hardware grafico e i display. Dal 1984 al 2016, la maggior parte delle distribuzioni ha utilizzato un protocollo di visualizzazione chiamato “X window system core protocol” (o semplicemente X). Wayland è apparso alla fine di questo periodo, presentando un’alternativa più leggera, più sicura e più ottimizzata per funzionare con le moderne tecnologie di visualizzazione.

Tuttavia, i protocolli di visualizzazione non possono funzionare da soli per disegnare elementi sullo schermo. Devono essere implementati in pezzi di software noti come server di visualizzazione. Per X, il campione in carica per molto tempo è stato Xorg.

wayland-xorg-xsession

In Wayland, il server di visualizzazione sarà spesso solo il gestore di finestre utilizzato dal tuo ambiente desktop. Per GNOME, è Mutter. In KDE Plasma, è KWin. Invece di avere un processo autonomo separato che esegue il server, il window manager effettua chiamate a una libreria all’interno del sistema per comunicare con l’hardware grafico. Nella maggior parte dei casi, sarebbe wlroots.

Ciò consente a Mutter di GNOME, ad esempio, di scrivere i dati direttamente nel framebuffer, invece di utilizzare un intermediario (molto simile a come viene utilizzato Xorg), migliorando sensibilmente le prestazioni.

Come funziona Wayland?

I server di visualizzazione forniscono informazioni al kernel e all’hardware grafico in modo che possano trasmettere rapidamente le cose al display. Ricevono queste informazioni tramite applicazioni che comunicano con loro utilizzando i rispettivi protocolli. Un’applicazione progettata per funzionare con X, ad esempio, non può comunicare con un server Wayland.

Server di visualizzazione Wayland

Wayland risolve questo problema attraverso qualcosa chiamato XWayland, che funge da livello di compatibilità che consente di tradurre l’interazione client-server di X in qualcosa che Wayland può “capire”.

In Wayland, il server e il compositore sono la stessa cosa. Ogni ambiente desktop che utilizza Wayland effettua chiamate a una libreria che implementa il protocollo Wayland per disegnare effetti, come trasparenza, sfocatura delle finestre, animazioni di transizione e ombre esterne, che danno alle finestre un senso di dimensione.

Wayland avvicina tutte queste funzioni al kernel e spesso lo sentirai dalla “fluidità” che provi nell’ambiente grafico.

Invece di disegnare attraverso l’uso di un software di terze parti, Wayland chiama ciò che è noto come buffer DRM (Direct Rendering Manager) nel kernel per disegnare le cose.

Potresti notare che in Wayland i passaggi sono molto più semplici e il processo diretto. Ciò porta a prestazioni migliori in situazioni graficamente intense e rende più facile per gli sviluppatori creare applicazioni che funzionano con questo protocollo.

Come provare Wayland

La maggior parte delle distribuzioni Linux ha deciso di utilizzare Wayland come opzione predefinita, quindi potresti persino usarlo adesso! Puoi verificarlo facilmente aprendo un terminale e digitando echo $XDG_SESSION_TYPE.

Ci sono alcune resistenze, come Linux Mint, a causa del lento ciclo di sviluppo dei suoi ambienti desktop e del dibattito sul fatto che Wayland sia veramente abbastanza maturo per funzionare sulla distribuzione.

Al momento, l’installazione di Ubuntu 22.04 o successiva – o qualsiasi versione attualmente supportata di Fedora – offre il modo più indolore per provare Wayland.

sessione-wayland-gnome-wayland

In qualsiasi altra distribuzione, se utilizza una versione corrente di GNOME o KDE Plasma, ha la possibilità di utilizzare Wayland.

Se stai usando Arch Linux , potresti dover seguire questi passaggi:

  • Se stai utilizzando GNOME, non c’è niente da fare, poiché il tuo display manager (GDM) lo supporta per impostazione predefinita. Se stai eseguendo KDE Plasma con il suo display manager predefinito, devi prenderne la versione “git” da AUR :

yay -S sddm-git

O

paru -S sddm-git

  • Se hai fatto qualcosa nel passaggio 1, controlla che il servizio systemd non sia stato disabilitato o qualcosa del genere:

sudo systemctl enable sddm

  • Installa XWayland:

sudo pacman -S xorg-xwayland

Questo è tutto! La prossima volta che avvierai il tuo sistema, avrai la possibilità di selezionare Wayland come protocollo di visualizzazione per il tuo ambiente desktop nella schermata di accesso.

Se vuoi eseguire il debug degli eventi per vedere perché qualcosa non funziona correttamente, esegui:

qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole

Domande frequenti

Quali driver supportano attualmente Wayland?

Da quando Nvidia ha rilasciato la versione 495.44 il 26 ottobre 2021, tutti i principali produttori di schede grafiche (AMD, Nvidia e Intel) hanno implementato il supporto completo per Wayland nei propri driver con Generic Buffer Management (GBM), che è attualmente il gold standard per le implementazioni di il protocollo di visualizzazione.

Wayland fermerà i keylogger?

X11 è noto da tempo per essere vulnerabile a qualcosa noto come “attacco di accesso non autorizzato” ( CVE-1999-0526 ), che consente alle applicazioni di acquisire schermate ingiustificate, intercettare eventi di tastiera e mouse, ecc., per ottenere l’accesso a nomi utente e Le password. Sebbene Wayland disponga di misure di sicurezza per prevenire questo tipo di attacchi, questa protezione è solo nell’ambito della visualizzazione della grafica sul display. Un’applicazione può ancora, in pratica, ascoltare altri tipi di messaggi inviati al kernel attraverso la tastiera.

In breve, evita l’eccessiva fiducia nella tua macchina, poiché Wayland migliora la tua sicurezza in modi di nicchia!

Come si comporta Wayland con i giochi?

In alcuni casi di nicchia, noterai alcuni miglioramenti quando giochi con Wayland, ma i giochi che vengono renderizzati tramite Xorg potrebbero avere piccoli problemi grafici. Alcune applicazioni di overlay (come WTRTI, che fornisce un overlay per War Thunder, ad esempio) potrebbero non funzionare affatto, poiché è una finestra XWayland che cerca di parlare con un’altra finestra XWayland, il che può essere molto difficile. Il tuo chilometraggio può variare e potresti essere soddisfatto di alcuni risultati come saresti deluso da altri.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *