Da, aplicațiile își desenează propriile widget-uri și ferestre, dar nu mai mult de atât. În special, ei nu știu ce alte aplicații desenează pe ecran.Fiecare aplicație îi spune managerului de ferestre ce pixeli dorește să deseneze pe ecran, iar apoi managerul de ferestre este responsabil pentru combinarea acestora pentru a produce un afișaj cu mai multe aplicații pentru utilizator, fără a necesita nicio comunicare directă între aplicații. Vedea https://en.wikipedia.org/wiki/Compositing_window_manager
Cealaltă funcție a Wayland sau X este de a direcționa intrarea utilizatorului (mișcarea tastaturii și a mouse-ului / clicuri) către aplicația corectă. Fără managerul de ferestre, fiecare aplicație ar trebui să primească toate apăsările de taste, mișcările mouse-ului și clicurile și apoi să determine dacă acea intrare a fost direcționată către ea însăși sau către o altă aplicație. Deși acest lucru ar putea fi gestionat în seturile de instrumente UI, este în mod clar mai eficient (și mai sigur) să faceți calculul o dată într-o componentă de nivel inferior.
La un nivel inferior, X și Wayland oferă un API abstract pentru care programele să funcționeze, mai degrabă decât nivelul scăzut al API-urilor individuale ale plăcilor grafice.
Ca bonus, arhitectura client-server ne permite să rulăm aplicații grafice prin SSH.