Apa itu Wayland di Linux, dan Apa Bedanya dengan X?
Diterbitkan: 2023-07-17X11, atau Sistem X Window, memungkinkan lingkungan desktop grafis Anda menampilkan dan mengontrol jendela. Wayland adalah pengganti X11. Ini dirancang agar lebih cepat dan lebih aman. Inilah yang perlu Anda ketahui tentang mereka.
Apa itu Wayland?
Banyak Nama X
Bagaimana X11 Bekerja
Cara Kerja Wayland
Adopsi Lambat Wayland oleh Aplikasi
Apakah Anda Menggunakan Wayland atau X11?
Haruskah Anda Menggunakan Wayland atau X11?
Apa itu Wayland?
Wayland adalah pengganti modern untuk X11, yang telah menjadi sistem windowing default di Linux selama beberapa dekade. Wayland adalah protokol komunikasi dan yang mendefinisikan perpesanan antara server tampilan X Window dan aplikasi klien. Proyek Wayland menyediakan pustaka klien dan server yang memungkinkan aplikasi menggunakan protokol.
Proyek Wayland dimulai oleh pengembang Red Hat pada tahun 2008.
Banyak Nama X
Sistem X Window adalah sistem windowing, pertama kali dirilis untuk operasi Unix oleh Massachusetts Institute of Technology pada tahun 1984. Aplikasi dapat membangun fungsionalitas yang ditawarkan oleh sistem windowing untuk menghasilkan antarmuka pengguna.
Pada tahun 1987 Sistem X Window telah mencapai versi 11, dan dikenal sebagai X11. Sekarang dikelola oleh X.Org Foundation. Ini masih dalam versi 11, meskipun ada banyak rilis yang lebih kecil sejak tahun 1987. Pada saat penulisan, versi stabil saat ini adalah X11R7.7.
"X" pada namanya tidak berarti sepuluh dalam angka Romawi, juga tidak menyiratkan "Xtra", "Xtended" atau semacamnya. Sistem windowing sebelumnya disebut "W", untuk "windows", dan mereka pindah ke huruf berikutnya dalam alfabet ketika mereka memulai proyek baru.
Anda akan mendengar Sistem X Window disebut sebagai "X", "X11", "Xorg", "X Windows", dan "Sistem X Window".
Bagaimana X11 Bekerja
Sistem X Window menangani kejadian tingkat rendah dan primitif, seperti berinteraksi dengan mouse, dan menggambar serta memindahkan jendela. Aplikasi menangani visual dan desain antarmuka. Tampilan jendela, tombol apa yang dimilikinya, dan di mana letak tombol tersebut, adalah pilihan yang dibuat oleh pemrogram aplikasi. Sistem X Window menggambar desain yang dihasilkan ke layar.
X11 memberikan definisi untuk komunikasi yang harus melewati berbagai komponen Sistem X Window yang berfungsi. Komunikasi ini diperlukan karena kode yang digunakan aplikasi berkemampuan X untuk menggambar jendela dan elemen antarmukanya tidak ada di dalam aplikasi. Pekerjaan itu dibagi antara server X dan Window Manager.
Aplikasi adalah klien dari server X. Window Manager adalah jenis klien khusus. Server X bertugas mengelola sumber daya, mengeksekusi permintaan menggambar, dan menyusun acara seperti penekanan tombol dan klik mouse ke aplikasi yang sesuai.
Itu juga bertindak sebagai perantara dalam komunikasi antara Window Manager dan aplikasi, memperantarai pesan bolak-balik di antara mereka. Window Manager menyimpan daftar jendela yang telah dibuka aplikasi, di mana mereka berada di layar, berapa ukurannya, apakah tumpang tindih, dan sebagainya.
Window Manager pengomposisian mempertahankan buffer di luar layar untuk setiap jendela. Ini menggabungkan buffer ini menjadi satu gambar yang mewakili jendela paling atas — yang mewakili seluruh desktop — yang ditulis ke layar.
Semua lingkungan desktop grafis modern, termasuk GNOME dan KDE, menggunakan Pengomposisi Pengelola Jendela.
Cara Kerja Wayland
Wayland dimaksudkan untuk memecahkan masalah X11. Arsitektur X11 membutuhkan banyak pengiriman pesan. Server X berada di antara klien dan Window Manager. Itu juga berada di antara segalanya dan — melalui kernel — perangkat keras grafis. Volume olahpesan dapat menyebabkan latensi dan pengalaman visual yang lamban dan gelisah.
Ada basis kode yang besar juga. Ada aplikasi server, aplikasi Window Manager, dan pustaka X11 yang digunakan klien. Semakin besar (dan lebih tua) basis kode Anda, semakin sulit untuk mempertahankannya, dan semakin Anda akan berjuang dengan kode lama.
Dengan mengubah arsitektur, Wayland telah memodernisasi dan merampingkan basis kode, memberikan manfaat kinerja dan meningkatkan keamanan.
Akibatnya, mereka telah menggabungkan server dan manajer Window menjadi satu aplikasi. Mereka menghapus semua kode yang menjalankan fungsi yang sekarang dijalankan oleh kernel. Alih-alih mereplikasi upaya tersebut, mereka memanfaatkan fungsionalitas kernel.
Dengan Wayland, penyusun dan aplikasi klien berkomunikasi secara langsung. Kompositor mempertahankan pemetaan internal jendela mana yang berada di desktop, dan ukuran serta statusnya. Kompositor mengatur peristiwa perubahan keyboard, mouse, dan jendela, dan mengirimkannya ke aplikasi yang memiliki jendela tersebut.
Aplikasi memperbarui antarmuka pengguna yang sesuai. Perbedaan utamanya adalah rendering dilakukan di dalam aplikasi itu sendiri, menggunakan pustaka Wayland yang ditautkan.
Aplikasi memperbarui buffer yang digunakan untuk menahan jendela, atau membuat yang baru dan membuang yang lama. Aplikasi klien kemudian mengirimkan notifikasi ke kompositor, memberitahukannya untuk memperbarui pemetaan jendelanya dan menggunakan buffer video baru atau yang diperbarui.
Arsitektur yang disederhanakan dan desain kode modern ini memberikan peningkatan kinerja, dengan pengubahan ukuran jendela dan drag khususnya, tampak halus dan lancar.
Adopsi Lambat Wayland oleh Aplikasi
Wayland adalah sistem windowing default di Debian 10 dan yang lebih baru, Fedora 34 atau yang lebih baru, Ubuntu 18.04 atau yang lebih baru, dan distribusi lain seperti Arch Linux. Meskipun demikian, lebih sering daripada tidak, Wayland menjalankan aplikasi X11.
Ada lapisan kompatibilitas yang disebut XWayland yang memungkinkan aplikasi X11 berjalan di bawah Wayland. Ini diperlukan karena sebagian besar aplikasi X11 belum dimodifikasi dan dipindahkan ke Wayland.
Pada lingkungan desktop yang menyediakan penyusun Wayland, seperti GNOME, aplikasi resmi seperti Editor Teks GNOME dan Peta, File, dan Kalender adalah semua aplikasi asli Wayland. Tetapi sebagian besar aplikasi X11 masih belum tersentuh, aplikasi asli X11.
Middleware XWayland biasanya berfungsi dengan baik, tetapi mungkin ada masalah dengan beberapa aplikasi X11 yang menjalankan fungsi terkait layar tingkat rendah seperti perekaman layar. Menggunakan Wayland dengan NVIDIA bisa sama merepotkannya dengan X11, meskipun saya tidak mengalami masalah pada driver harian saya menggunakannya dengan GPU NVIDIA GeForce GT 1030.
Beberapa pembuat aplikasi X11 cenderung berharap aplikasi mereka berfungsi dengan baik dengan XWayland, dan mereka dapat menghindari keharusan mengolahnya kembali menjadi aplikasi Wayland. Jangan kaget jika penyerapan dan migrasi ke Wayland lama dan lambat, dengan aplikasi baru mengadopsinya tetapi sebagian besar aplikasi X11 yang ada tetap seperti apa adanya, menggantungkan harapan mereka pada XWayland.
TERKAIT: Apa yang Baru di Ubuntu 21.04 'Hirsute Hippo'
Apakah Anda Menggunakan Wayland atau X11?
Jika Anda menggunakan salah satu distribusi Linux utama, kemungkinan besar Anda sudah menggunakan Wayland. Anda dapat memeriksa dengan mengeluarkan perintah berikut.
gema $XDG_SESSION_TYPE
Pada sistem yang menggunakan Wayland, keluarannya adalah:
Dan pada sistem yang menjalankan Sistem X Window, Anda akan melihat:
Jarang, variabel lingkungan XDG_SESSION_TYPE
tidak disetel. Dalam hal ini Anda dapat menggunakan perintah ini sebagai gantinya:
loginctl show-session $(loginctl show-user $(whoami) -p Tampilan --nilai) -p Jenis --nilai
Perintah loginctl
bersarang dalam menggunakan perintah show-user
untuk menampilkan properti dari pengguna bernama. Perintah whoami
memberi kita nama pengguna saat ini. Opsi -p
(properti) membatasi output dari loginctl
ke informasi tentang pengaturan "Tampilan", dan kami menggunakan opsi --value
untuk mengembalikan nilai saja. Kami tidak ingin memiliki string “Display=” sebagai respons dari loginctl
. Semua itu memberi kita ID sesi.
Kami meneruskan ID sesi ke loginctl
luar, dan menggunakan perintah show-session
untuk menampilkan atribut sesi. Kami menggunakan opsi -p
(properti) untuk membatasi output ke informasi tentang jenis sesi, dan menggunakan opsi --value
untuk menampilkan nilai tanpa label "Jenis =".
Di komputer yang menggunakan Wayland, Anda akan melihat:
Jika Anda menjalankan Sistem X Window, Anda akan melihat:
Haruskah Anda Menggunakan Wayland atau X11?
Kecuali jika Anda mengalami masalah, Anda sebaiknya tetap menggunakan apa yang sudah Anda gunakan. Namun jika Anda melihat ketidakstabilan atau pembaruan layar yang tersendat-sendat, Anda dapat mencoba berpindah ke salah satu yang tidak Anda gunakan.
Di GNOME, jika Anda ingin menukar dan mencoba sistem lain, pada layar login klik nama pengguna Anda dan kemudian klik ikon roda gigi di sudut kanan bawah tampilan.
Sebuah menu akan menawarkan kepada Anda berbagai versi GNOME. Pilihan yang menyebutkan “Xorg” menggunakan Sistem X Window dan yang tidak menggunakan Wayland.
TERKAIT: Cara Membuat Daftar Variabel Lingkungan di Linux