Pertanyaan Mengapa Wayland lebih baik?


Sebagai baru-baru ini diumumkan oleh Mark Shuttleworth, Ubuntu akan bergerak menggunakan Wayland sebagai manajer tampilan.

Apa perbedaan terbesar antara X11 dan Wayland? Mengapa Wayland membuat Ubuntu lebih baik?


149
2017-11-05 13:52


asal


Pada Desember 2013 sepertinya Ubuntu berbasis Unity akan menggunakan Mir display server daripada komposer berbasis Wayland mulai dari Ubuntu 14.10: link  link Varian Ubuntu lainnya mungkin akan pindah ke Wayland: link - Diego
Berikut adalah video hebat yang menjelaskan X dan mengapa orang ingin menggantinya: youtube.com/watch?v=cQoQE_HDG8g - Jason
Ubuntu 18 (Bionic) sekarang akan menggunakan xorg secara default, tetapi wayland masih merupakan opsi pada layar login: blog.ubuntu.com/2018/01/26/ ... - Kris


Jawaban:


Anda bisa lihat halaman arsitektur Wayland untuk melihat bagaimana hal itu berbeda dalam desain. Ini seharusnya menyederhanakan seluruh tumpukan grafis dengan memaksa semuanya melalui tumpukan GEM / DRM standar langsung ke kernel dan mengelola pengomposisian itu sendiri.

Bandingkan dengan tumpukan X di mana Anda memiliki bit dan bobs di semua tempat. Beberapa kekacauan X telah melalui desain yang fleksibel, beberapa telah tumbuh rasa sakit. Semua compositors (Compiz / Metacity / Mutter / KWin / etc) telah ditambahkan sebagai renungan. Mereka, pada intinya, peretasan untuk melakukan apa yang mungkin harus dilakukan X sendiri. Jika hal-hal terus berkembang ke luar seperti yang telah terjadi, kita akan sampai pada titik di mana proyek menjadi tidak terawat.

Secara keseluruhan, ketika dukungan perangkat keras ada, seharusnya membuat seluruh tumpukan lebih efisien dan kurang menyakitkan untuk digunakan dalam pengaturan standar.

Namun ada beberapa masalah yang saya belum melihat solusi untuk sejauh ini:

  • X cukup sadar jaringan. Anda dapat mengirim jendela ke komputer lain, Anda dapat memiliki beberapa layar dengan login jarak jauh dan segala macam hal yang funky seperti itu. Ini mungkin tampak cukup khusus tetapi itu banyak digunakan teknologi. Wayland tampak cukup lokal dan statis dibandingkan.

  • Ada juga dukungan pengemudi. Driver closed-source belum mendukung teknologi KMS / shared-GEM / shared-DRM yang dikembangkan Wayland. Seorang purist mungkin baik-baik saja dengan Nouveau tetapi seseorang yang membayar £ 100-400 pada kartu grafis 3D berkinerja tinggi tidak akan senang dengan kinerja 3d miskin bersisik mereka akan dapatkan dengan driver terbuka saat ini.

    Memperbarui:  Nvidia bekerja untuk mendukung Wayland dan Mir.

Either way, kita berbicara tahun (mungkin dua sampai tiga IMO) sebelum hal seperti ini siap untuk pengujian stabil dan bahkan lebih lama sebelum Anda harus menyerah X (jika Wayland jelas lebih baik).


121
2017-11-05 14:43



+1 untuk keterusterangan bahwa tautan Nvidia. - poolie
Transparansi jaringan sangat berlebihan karena beberapa alasan. 1. Penerusan Pure X hanya cukup cepat melalui LAN. Lebih dari raw web X tidak dapat digunakan karena latensi. Untuk mendapatkan kinerja yang layak Anda harus menggunakan protokol pihak ketiga seperti NX atau VNC. 2. Baik NX dan VNC adalah rasa sakit yang luar biasa untuk mengatur karena arsitektur X. Seharusnya lebih mudah dengan Wayland. 3. Beberapa toolkit modern menggunakan kode gambar X. Mereka hanya menarik diri ke bitmap dan mengirimkannya ke X. Ini persis sama dengan Wayland dan akan memiliki karakteristik jaringan yang sama. - Timmmm
Saya setuju dengan poin 1 tetapi melalui LAN yang baik, X-forwarding tak tersentuh untuk kualitas atau kinerja. Jauh lebih baik daripada salah satu alternatif dalam pengalaman saya. - Oli♦
Pada 2013 situasi lebih jelas mengenai transparansi jaringan: askubuntu.com/a/359870/203271 - Diego
@poolie: Sepertinya mereka berubah pikiran. ;-) - Peque


Ada banyak perbedaan antara X dan Wayland. Mungkin yang terbesar dari sisi grafis adalah Wayland tidak menggambar apa pun.

X memiliki dua API gambar. Salah satunya adalah bagian dari protokol inti X11, yang kuno, tidak berguna, dan tidak ada yang menggunakan. Yang lainnya adalah ekstensi XRender yang menyediakan operasi komposit modern, antara lain seperti gradien. Inilah yang digunakan Kairo, sebagai contoh. X juga memiliki API menggambar font.

Wayland tidak memiliki API gambar. Klien Wayland mendapatkan pegangan buffer DRM, yang pada dasarnya adalah penunjuk ke beberapa memori grafis; Wayland tidak tahu atau peduli bagaimana klien menarik buffer itu. Dalam X hal ini berarti bahwa semua aplikasi dapatkan render langsung - permintaan menggambar tidak perlu melalui server.

Satu-satunya cara rendering yang dilakukan adalah menyalin buffer klien ke layar.

Dalam hal manfaat, Wayland jauh lebih kompleks daripada X yang seharusnya memudahkan pemeliharaan - meskipun beberapa kesederhanaan ini berasal dari mendorong kompleksitas (misalnya: cara sebenarnya menggambar ke buffer itu, transparansi jaringan) ke lapisan tumpukan lainnya. Dengan membuat klien bertanggung jawab atas semua render mereka, klien dapat menjadi lebih pintar tentang hal-hal seperti penyangga ganda.

Ada manfaat lain di luar grafik. Ini lebih mudah untuk aplikasi sandbox, misalnya.


49
2017-11-07 05:40



Kedengarannya seperti DirectX Microsoft suka hal-hal? - Anwar
Saya menggunakan core X11 protocol drawing API, karena lebih cepat daripada XRender. - étale-cohomology
Saya juga mendapatkan Microsoft wibes oleh Wayland dan systemd. Dan tidak, itu bukan hal yang baik. Mereka melanggar aturan pengembangan perangkat lunak dasar. Di systemd hanya karena lebih mudah bagi pengembang systemd. Di darat karena mereka ingin permainan lebih cepat (?) Dan rendering, dan membuang banyak hal baik dengan itu. - Anders


Perbedaan utama di mata saya adalah Wayland lebih dekat ke kernel daripada X-Server. Dengan pergerakan driver grafis dari X ke kernel (dikenal sebagai pengaturan mode kernel, KMS), Wayland berencana untuk menggunakan fungsi baru ini untuk menggantikan X. Anda dapat mengharapkan untuk melihat yang berikut ...

Kurang dari jejak kaki dari X - karena tampilan ditangani oleh kernel Wayland tidak perlu menerapkan sebanyak mungkin untuk dapat digunakan. Ini berlaku dua arah karena saya menduga X forwarding (lihat satu layar di PC lain) mungkin hilang dengan X.

Fitur KMS: Mampu mengubah resolusi layar tanpa me-restart server X (meskipun saya yakin ini telah diperbaiki di X beberapa saat lalu, setidaknya untuk nvidia), konsol debug pada kernel panik untuk chipset intel (pindah ke nouveau) jika Anda tertarik hal semacam itu.

Adakah yang bisa mengoreksi saya tentang semua ini jika saya salah?


16
2017-11-05 14:36



KMS & GEM tidak memindahkan driver grafis ke kernel, hanya beberapa bagian kecil yang dipindahkan ke kernel (bit-bit yang berbicara langsung ke perangkat keras dan diperlukan untuk berada di kernel sedemikian rupa sehingga driver yang berbeda dapat bekerja sama, misalnya menulis ke port I / O dan mengelola memori). KMS & GEM sudah digunakan oleh X hari ini, setidaknya untuk driver open source modern (intel, radeon, nouveau). BTW: Saya benar-benar ragu memindahkan seluruh driver grafis ke kernel akan diterima oleh Linus ...;) - JanC
Oh, dan KMS tidak pernah diperlukan untuk mengubah resolusi layar (yang telah dimungkinkan sejak saya menggunakan X lebih dari 10 tahun yang lalu), tetapi memungkinkan driver yang berbeda (misalnya driver konsol framebuffer, driver X dan sekarang driver Wayland) bekerja sama dengan lebih mudah. Di masa lalu tidak selalu jelas untuk masing-masing dari apa yang "menyatakan" perangkat keras grafis pada titik waktu tertentu, dan banyak penggunaan solusi yang bergantung pada dugaan atau driver-dependent. - JanC
Tidak sepenuhnya benar bahwa X forwarding akan hilang karena X masih dapat digunakan sebagai klien di Wayland. wayland.freedesktop.org memiliki contoh tentang itu. Tetapi X adalah cara yang agak mengerikan untuk melakukan hal semacam itu. Sudah waktunya diganti. Dalam banyak kasus, tampaknya hal-hal seperti GTK dengan Broadway akan menjadi pendekatan yang lebih baik. - Jo-Erlend Schinstad
Ekstensi RandR memungkinkan Anda mengubah resolusi layar tanpa memulai ulang server X. - Anonymous


Semua posting lain menyoroti manfaat dari Wayland, tetapi itu tidak semuanya baik saja. Keuntungan terbesar X di atas Wayland adalah X bekerja di jaringan. X adalah jaringan transparan, Anda dapat menampilkan jendela, atau dengan XDMCP sesi lengkap, di terminal sementara program yang sebenarnya sedang berjalan di komputer lain, biasanya lebih kuat. Dengan sesuatu seperti Wayland, ide untuk transparansi jaringan hilang. Mungkin tidak begitu dibutuhkan hari ini dengan jaringan cepat dan protokol lain seperti VNC dan RDP, hanya berpikir saya akan menyebutkannya untuk kelengkapan.


11
2017-09-02 20:16



Inilah tepatnya yang juga saya anggap keuntungan terbesar dari X atas Wayland yang diajukan. - Kris Jace


Sederhananya, harapannya adalah untuk grafis yang lebih baik (kurang buggy, lebih cepat, lebih mudah digunakan). Bahkan segala sesuatunya mungkin suatu hari tidak ada sebelumnya. Saya pribadi berpikir ini setidaknya akan membumbui hal-hal, seperti persaingan selalu.


6
2017-11-05 14:20





Dua hal kecil yang setiap orang akan perhatikan dengan cepat dalam pekerjaan sehari-hari:

  • Wayland menyingkirkan potongan-potongan kertas yang dianggap terlalu sulit untuk diperbaiki di X11. Contoh terkenal: Menggunakan tombol fungsi (volume speaker, kecerahan layar dll.) Saat menu terbuka atau layar kunci menyala.
  • Wayland lebih baik di perangkat input. Untuk satu, ada lebih banyak pilihan untuk mengkonfigurasi touchpad, termasuk pengaturan ketuk-untuk-klik persisten.

3
2017-08-15 13:52



Wayland lebih buruk jika sebuah program dikunci karena suatu alasan. Untuk memiliki wm berbeda adalah hal yang baik. Saya menggunakan jaringan X11 secara rutin (setiap hari). Beberapa program berhenti bekerja di Wayland (saya menggunakan Ubuntu 18.04) - Anders