Wayland (protokol pelayan paparan)

Daripada Wikipedia, ensiklopedia bebas.
(Dilencongkan dari Wayland)
Lompat ke: pandu arah, cari
Wayland
Wayland Logo.svg
Wayland demo 2.png
Pertunjukan Wayland
Pengarang asal Kristian Høgsberg
Keluaran pertama 0.85 / 9 Februari 2012; 5 tahun yang lalu (2012-02-09)
Keluaran stabil Wayland: 1.13.0, Weston: 2.0.0[1] / 21 Februari 2017; 8 bulan yang lalu (2017-02-21)
Keluaran pratonton Wayland: 1.12.93, Weston: 1.99.94[2]
Status pembangunan Aktif
Ditulis dalam C
Sistem pengendalian Linux
Jenis Pelayan paparan
Lesen MIT
Tapak sesawang wayland.freedesktop.org

Wayland ialah protokol yang menentukan komunikasi antara pelayan paparan dan para pelanggannya.[3] Pereka asalnya ialah Kristian Høgsberg, dan ia direka untuk menggantikan X Window System. Berbeza dengan X Window System yang melakukan semua kerja-kerja melukis untuk pelanggannya, di dalam protokol Wayland, pelayan paparan hanya menyediakan penimbal yang terletak dalam ingatan grafik sebagai kanvas untuk pelanggan. Pengurus paparan di dalam Wayland bertanggujawab keatas penggubahan, maka ia akan menyertakan sekali sejumlah besar kefungsian pengurus tetingkap perencaman masa kini. Ia akan merencam penimbal-penimbal untuk membentuk paparan atas skrin sesebuah tetingkap aplikasi. Protokol Wayland pada asasnya hanya berkenaan pengendalian input dan pengurusan penimbal. Pengendalian perkakasan input bergantung kepada evdev dalam Linux, dan komponen serupa dalam sistem pengendalian lain.

Pelaksanaan terawalnya iaitu libwayland-server, libwayland-client, libwayland-EGL dan pelaksanaan rujukan Weston ditulis dalam C. Weston ditulis untuk inti Linux, dan sedang diusahakan untuk dilabuhkan di FreeBSD.[4]

Sejarah[sunting | sunting sumber]

Wayland diilhamkan oleh Kristian Høgsberg, seorang pembangun perisian yang pernah membangunkan AIGLX dan DRI2, pada tahun 2008 semasa bekerja dengan Red Hat. Beliau berpendapat bahawa X memberikan terlalu banyak tugas kepada pelayan dan terlalu banyak infrastrutur yang tidak digunakan tetapi masih disokong oleh X. Beliau menyarankan bahawa satu protokol baharu dicipta, di mana pelayan paparan hanya menumpukan kepada satu tugas sahaja iaitu mengawal paparan, dan protokol itu dinamakan Wayland, yakni sempena nama pekan Wayland, Massachusetts, tempat Kristian mula-mula memikirkan konsep-konsep asas bagi protokol ini.

Seni bina[sunting | sunting sumber]

Perencam Wayland dan para pelanggannya melukis terus pada framebuffer menggunakan EGL, manakala Pelayan X.Org menerusi XWayland dan Glamor.

Wayland menggunakan model pelayan–pelanggan di mana pelanggan ialah aplikasi-aplikasi yang memohon supaya penimbal-penimbal pikselnya dipaparkan pada skrin, manakala pelayan (perencam) bertanggungjawab mengawal bagaimana penimbal-penimbal tersebut dipaparkan. Berbeza dengan X, Wayland tidak mempunyai API untuk melukis, sebaliknya tugas melukis diberikan kepada pelanggan. Pelanggan akan menyediakan ingatan kongsian untuk memegang penimbal piksel yang akan didaftarkan kepada pelayan Wayland. Pelanggan kemudiannya akan melukis terus keatas penimbal tersebut.

Format wayar[sunting | sunting sumber]

Setiap pesanan wayland terdiri daripada 8 bait pengepala diikuti dengan muatannya. Berikut ialah format wayar yang digunakan dalam perhubungan antara pelanggan dan pelayan wayland.

Ofset Nama Saiz Maksud
0 ID objek 4 bait ID (angka pengenal pasti) bagi objek yang membuat panggilan.
4 Panjang pesanan 2 bait Panjang keseluruhan pesanan termasuk pengepala.
6 Opkod 2 bait Opkod (kod operasi) bagi objek untuk diseru.
8 Muatan Lebihan bait Hujah-hujah bagi opkod yang ingin diseru.

Lihat juga[sunting | sunting sumber]

Rujukan[sunting | sunting sumber]

  1. ^ wayland.freedesktop.org/releases.html
  2. ^ wayland.freedesktop.org/releases.html
  3. ^ "Wayland". Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. 
  4. ^ Larabel, Michael (16 February 2013). "Wayland Begins Porting Process To FreeBSD". Phoronix. Dicapai pada 13 Januari 2014. 

Pautan luar[sunting | sunting sumber]