Perché Wayland è migliore?

148

Come recentemente annunciato da Mark Shuttleworth, Ubuntu si sta muovendo verso l'utilizzo di Wayland come suo display manager.

Quali sono le maggiori differenze tra X11 e Wayland? Perché Wayland renderà Ubuntu migliore?

    
posta Hillar 05.11.2010 - 14:52

6 risposte

121

Puoi vedere la pagina dell'architettura Wayland per vedere come si differenzia nel design. Dovrebbe semplificare l'intero stack grafico forzando tutto nel GEM / DRM standard direttamente nel kernel e gestendo il compositing stesso.

Confronta questo con lo stack X in cui hai bit e bob ovunque. Parte del disordine X è passato attraverso un design flessibile, alcuni hanno avuto problemi di crescita. Tutti i compositori (Compiz / Metacity / Mutter / KWin / etc) sono stati aggiunti come ripensamenti. Sono, al loro centro, gli hack per fare ciò che X dovrebbe probabilmente fare da sé. Se le cose continueranno a espandersi come sono state, arriveremo a un punto in cui il progetto diventa non mantenibile.

Tutto sommato, quando il supporto hardware è presente, dovrebbe rendere l'intero stack più efficiente e meno doloroso da utilizzare nelle impostazioni standard.

Tuttavia ci sono un paio di problemi che non ho visto rimedi fino ad ora:

  • X è abbastanza sensibile alla rete. È possibile inviare finestre ad altri computer, è possibile avere più schermi con accessi remoti e tutti i tipi di cose funky come quella. Questo potrebbe sembrare abbastanza specialista ma è una tecnologia ampiamente utilizzata. Wayland appare piuttosto locale e statico in confronto.

  • C'è anche il supporto per i driver. I driver closed-source devono ancora supportare le tecnologie KMS / shared-GEM / shared-DRM su cui Wayland prospera. Un purista potrebbe essere d'accordo con Nouveau, ma qualcuno che paga 100-400 sterline su una scheda grafica 3D ad alte prestazioni non sarà contento delle scarse prestazioni 3D che otterrebbero con l'attuale driver aperto.

    Aggiornamento: Nvidia sta lavorando per supportare sia Wayland che Mir .

In ogni caso, stiamo parlando di anni (probabilmente da due a tre IMO) prima che qualcosa del genere sia pronto per i test stabili e anche più a lungo prima di dover rinunciare a X (se Wayland fosse chiaramente migliore).

    
risposta data Oli 05.11.2010 - 15:43
48

Ci sono lotti di differenze tra X e Wayland. Probabilmente il più grande dal lato grafico è che Wayland non fa alcun disegno .

X ha due API di disegno. Uno di questi è una parte del protocollo X11 principale, che è antico, inutile e che nessuno usa. L'altra è l'estensione XRender che fornisce operazioni composite moderne, tra le altre cose come i gradienti. Questo è quello che usa il Cairo, per esempio. X ha anche API di disegno del carattere.

Wayland non ha API di disegno. Un client Wayland ottiene un handle del buffer DRM, che è fondamentalmente un puntatore a qualche memoria grafica; Wayland non sa né importa come il cliente attinga a quel buffer. In termini X questo significa che tutte le applicazioni ricevono rendering diretto - le richieste di disegno non devono passare attraverso il server.

L'unico rendering che fa Wayland è copiare i buffer del client sullo schermo.

In termini di benefici, Wayland è molto meno complesso di X, che dovrebbe renderlo più facile da mantenere, anche se alcuni di questa semplicità derivano dalla spinta della complessità (ad esempio: come effettivamente attingere a ciò buffer, trasparenza della rete) ad altri livelli dello stack. Rendendo i clienti responsabili di tutto il loro rendering, i clienti possono essere più intelligenti su cose come il double-buffering.

Ci sono altri vantaggi al di fuori della grafica. Ad esempio, è molto più semplice per le applicazioni sandbox.

    
risposta data RAOF 07.11.2010 - 06:40
16

La principale differenza nei miei occhi è che Wayland è più vicino al kernel di X-Server. Con lo spostamento dei driver grafici da X al kernel (noto come impostazione della modalità kernel, KMS), Wayland prevede di utilizzare questa nuova funzionalità per sostituire X. Potresti aspettarti di vedere quanto segue ...

Meno di un ingombro rispetto a X - perché lo schermo è gestito dal kernel Wayland non dovrà implementare tanto per diventare utilizzabile. Questo vale in entrambi i modi, poiché sospetto che l'inoltro X (guarda uno schermo su un altro PC) possa andare via con X.

Funzionalità KMS: essere in grado di cambiare la risoluzione dello schermo senza riavviare il server X (anche se credo che sia stato risolto in X qualche tempo fa, almeno per nvidia), eseguire il debug della console sul kernel panic per i chipset Intel (spostandosi su nouveau) se si in questo genere di cose.

Qualcuno può correggermi su questo se ho torto?

    
risposta data TGM 05.11.2010 - 15:36
11

Tutti gli altri post evidenziano i vantaggi di Wayland, ma non è solo positivo. Il più grande vantaggio di X su Wayland è che X funziona sulla rete. X è trasparente in rete, puoi visualizzare la finestra, o con XDMCP una sessione completa, su un terminale mentre il programma attuale è in esecuzione su un'altra macchina, solitamente più potente. Con qualcosa come Wayland, l'idea della trasparenza della rete è sparita. Forse non è tanto richiesto in questi giorni con reti veloci e altri protocolli come VNC e RDP, ho pensato di parlarne per completezza.

    
risposta data Christian Hujer 02.09.2015 - 22:16
6

In poche parole, la speranza è una grafica migliore (meno bug, più veloce, più facile da usare). Anche le cose potrebbero essere possibili un giorno che non erano prima. Personalmente penso che questo renderà almeno le cose più interessanti, come sempre fa la concorrenza.

    
risposta data ido 05.11.2010 - 15:20
3

Due piccole cose che chiunque noterà abbastanza rapidamente nel lavoro quotidiano:

  • Wayland elimina i graffi che sono stati giudicati troppo difficili da sistemare in X11. Un esempio famoso: utilizzando i tasti funzione (volume dell'altoparlante, luminosità del display, ecc.) Mentre un menu è aperto o la schermata di blocco è attiva.
  • Wayland è migliore nei dispositivi di input. Per uno, ci sono molte più opzioni per la configurazione dei touchpad, tra cui un'impostazione persistente tocco-per-clic.
risposta data Nico Schlömer 15.08.2017 - 15:52

Leggi altre domande sui tag