System X tworzy okna, na których program może tworzyć obraz, oraz zajmuje się obsługą urządzeń wejściowych (myszki, klawiatury, tabletu). Serwer X może rysować tylko najprostsze obiekty (odcinki, wielokąty, elipsy, wyświetlać bitmapy, stawiać pojedyncze piksele), nie dostarcza natomiast żadnego interfejsu użytkownika, czyli przycisków, rozwijanych menu, pasków przewijania itp. Rysowaniem i obsługą tych elementów musi zająć się program, najczęściej jest to biblioteka widgetów. System X nie zajmuje się również obsługą okien, nie dostarcza żadnych wbudowanych mechanizmów do ich przesuwania, zmiany rozmiaru, zamykania i uruchamiania programów itd., nie rysuje także pasków tytułowych dla okien – tym wszystkim musi zająć się osobny program, tzw. menedżer okien ().

Pierwszymi bibliotekami widgetów były , Motif oraz , dzięki którym udało się stworzyć proste środowiska graficzne. Dzisiejsze GNOME i KDE (korzystające odpowiednio z bibliotek: GTK i GTK+ oraz Qt) to całe rozbudowane środowiska graficzne starające się tworzyć pewną użytkową całość.