Wayland

Beda X dan Wayland, Ini Nih Cara Kerja Keduanya

Wayland vs XSudah beberapa kali saya menuliskan berita mengenai perkembangan Wayland di blog Kabar Linux® ini. Dan sangat tidak adil bila saya tidak menjelaskan apa itu Wayland dan bagaimana ia bekerja.

Sistem Display pada Linux

Di sistem operasi GNU/Linux, sistem display merupakan sebuah program yang bertugas menampilkan output pada layar, baik berupa CLI (Command Line Interface) maupun Graphic User Interface (GUI).

Nah, X dan Wayland lah yang bekerja di sisi GUI di sistem operasi GNU/Linux.

Cara Kerja X

Sebelum menuju ke penjelasan mengenai Wayland, lebih dulu saya jelaskan apa itu X Server dan cara kerjanya.

X atau X Window System atau X11 merupakan sistem pengelolaan tampilan window. Sistem ini umum ditemukan di sistem operasi Unix-like, termasuk Linux. X tersebut berjalan di atas X.Org Server (X Server).

Dari segi penamaan antara X, X11, protokol X11, X.Org, dsb mungkin agak membingungkan, tapi saat ini kita belum akan menjelaskan detailnya.

Berikut pola kerja X:
X
1. Di tahap ini, kernel mendapatkan event dari perangkat input, yang kemudian dikirim ke X melalui driver evdev. Kernel Linux bekerja keras untuk menerjemahkan setiap event yang dilakukan oleh perangkat sebelum dibawa ke evdev. Salah satu contoh event yang dimaksud misalnya menggeser window.

2. X server akan menentukan window mana yang akan dipengaruhi oleh event yang nanti akan dikirim ke klien. X server benar-benar tidak tahu secara tepat window mana yang akan diubah-ubah (dikecilkan, dibesarkan, diputar, dsb), karena tugas ini dilakukan oleh compositor.

3. Setiap klien akan menerima event tersebut dan menentukan apa yang akan ia lakukan selanjutnya. Dan kemudian akan mengirim permintaan rendering ke X server.

4. Setelah X server menerima permintaan rendering, ia akan mengirim ke driver dan membiarkan driver merendernya. Selain itu, X server juga menghitung pergerakan area window dan mengirimkannya ke compositor sebagai damage event (event rusak)

5. Lalu, damage event akan memberikan respon ke window bahwa ada beberapa perubahan dan compositor bertanggung jawab untuk me-recomposite bagian-bagian layar di tempat window masih terlihat serta me-render keseluruhan layar.

6. Tahap terakhir, X server menerima permintaan perenderan dari compositor, yang akan menyalin compositor seperti semula ke front buffer atau melakukan pageflip.

Dari tahap-tahap di atas, apa yang dilakukan X sangat rumit, dan saat ini hanya dianggap sebagai langkah tambahan antara aplikasi dan compositor serta antara compositor dan hardware. Ini dikarenakan semua kompleksitas yang dilakukan X server sudah bisa dilakukan langsung oleh kernel atau library-library yang disediakan KMS (Kernel Mode Setting), mesa, fontconfig, evdev, Qt, cairo, dll.

Cara Kerja Wayland

Wayland merupakan display server terbaru, dan komunitas Linux yakin ia akan menjadi pengganti teknologi lawas X.

Tahap kerja Wayland lebih sederhana, karena compositor nya sudah menjadi display server itu sendiri.

Berikut pola kerja Wayland:
Wayland
1. Kernel mendapatkan event dan kemudian mengirimnya ke compositor.

2. Tak seperti X server yang sama sekali tidak tahu secara tepat window mana yang menerima event. Compositor Wayland yang sekaligus display server mampu melakukannya. Compositor akan memeriksa window mana yang akan mendapatkan perubahan atau transformasi dari event melalui scenegraph.

3. Rendering terjadi di klien, dan klien hanya mengirim ke compositor bahwa area window sudah diperbarui.

4. Compositor mengumpulkan permintaan damage event dari klien dan kemudian me-recomposite layar. Dan compositor bisa melakukan pageflip dengan KMS.

Istilah penting

  • Compositor merupakan sebuah implementasi dari display server. Misalnya, KWin pada KDE dan Mutter pada GNOME.

  • Pageflip merupakan istilah pertukaran “front buffer” menjadi “back buffer” atau sebaliknya. Istilah ini berhubungan dengan Framebuffer.

Referensi

  • http://wayland.freedesktop.org/architecture.html
Ramdziana adalah seorang narablog, pecinta kode, penggemar open source, pengguna GNU/Linux, dan penggemar Sherlock Holmes. Ikuti akun Twitter/Sebangsa @ramdziana
slot iklan

2 comments on “Beda X dan Wayland, Ini Nih Cara Kerja Keduanya

  1. Bunny says:

    Tapi yg saya alami ketika pake wayland itu bnyk drama, kadang pas buka menu setting di KDE terus d tutup lagi, tau” crash atau ngadat, ujung”nya tiap instalasi gk pernah nyertain wayland lg

    1. setau saya, wayland masih terus dikembangkan karena terdapat beberapa bug seperti yang mas katakan dan untuk beberapa distro masih menggunakan xorg sebagai bawaan

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to top