Apa itu Wayland di Linux, dan Apa Bedanya dengan X?

Diterbitkan: 2023-07-17
File Manager terbuka di laptop System76 Gazelle
Hannah Stryker / How-To Geek
Wayland adalah sistem windowing pengganti untuk distribusi Linux. Ini menggantikan standar X11 yang menua. Karena memerlukan aplikasi untuk dimodifikasi agar dapat bekerja dengannya, adopsi berjalan lambat sejauh ini. Pada saat penulisan, peningkatan keamanan adalah keunggulan utama dibandingkan X11.

X11, 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.

Daftar isi

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.

Nvidia Merilis Driver GPU Open-Source Linux, Dengan Tangkapan
TERKAIT Nvidia Merilis Driver GPU Open-Source Linux, Dengan Tangkapan

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:

Menggunakan perintah loginctl di Fedora Linux, untuk menentukan apakah Wayland atau X11 sedang digunakan

Jika Anda menjalankan Sistem X Window, Anda akan melihat:

Menggunakan perintah loginctl pada inux Manjaro, untuk menentukan apakah Wayland atau X11 sedang digunakan

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.

Menu tarik-turun di GNOME yang memungkinkan Anda memilih pengalaman desktop berbasis Wayland atau X11

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