Di Linux antarmuka pengguna grafis bukan bagian dari sistem operasi. Antarmuka pengguna grafis yang ditemukan di sebagian besar desktop Linux disediakan oleh perangkat lunak yang disebut Sistem X Window , yang mendefinisikan cara independen perangkat untuk berurusan dengan layar, keyboard, dan perangkat pointer.
X Window mendefinisikan protokol jaringan untuk komunikasi, dan setiap program yang tahu bagaimana "berbicara" protokol ini dapat menggunakannya. Ada C library disebut Xlib yang membuatnya lebih mudah untuk menggunakan protokol ini, sehingga Xlib adalah jenis yang GUI API asli. Xlib bukan satu-satunya cara untuk mengakses server X Window; ada juga XCB .
Pustaka Toolkit seperti GTK + (digunakan oleh GNOME ) dan Qt (digunakan oleh KDE ), dibangun di atas Xlib, digunakan karena lebih mudah diprogram. Misalnya mereka memberi Anda tampilan dan rasa yang konsisten di seluruh aplikasi, membuatnya lebih mudah untuk menggunakan drag-and-drop, menyediakan komponen standar untuk lingkungan desktop modern, dan sebagainya.
Bagaimana X menggambar di layar secara internal tergantung pada implementasinya. X.org memiliki bagian yang independen pada perangkat dan bagian yang tergantung pada perangkat. Mantan mengelola sumber daya layar seperti windows, sedangkan yang terakhir berkomunikasi dengan driver kartu grafis, biasanya modul kernel. Komunikasi dapat terjadi melalui akses memori langsung atau melalui panggilan sistem ke kernel. Pengemudi menerjemahkan perintah ke dalam bentuk yang dimengerti oleh perangkat keras pada kartu.
Pada 2013, sistem jendela baru bernama Wayland mulai dapat digunakan, dan banyak distribusi mengatakan mereka akan bermigrasi ke sana, meskipun masih belum ada jadwal yang jelas. Sistem ini didasarkan pada OpenGL / ES API, yang berarti bahwa di masa depan OpenGL akan menjadi "API GUI asli" di Linux. Pekerjaan sedang dilakukan untuk port GTK + dan QT ke Wayland, sehingga aplikasi populer dan sistem desktop akan membutuhkan perubahan minimal. Aplikasi yang tidak dapat porting akan didukung melalui server X11, seperti halnya OS X mendukung aplikasi X11 melalui Xquartz. Port GTK + diharapkan selesai dalam waktu satu tahun , sementara Qt 5 sudah memiliki dukungan Wayland yang lengkap.
Untuk semakin memperumit masalah, Ubuntu telah mengumumkan mereka sedang mengembangkan sistem baru yang disebut Mir karena masalah yang mereka rasakan dengan Wayland. Sistem jendela ini juga didasarkan pada OpenGL / ES API.