Mengapa Wayland lebih baik?

177

Seperti yang baru-baru ini diumumkan oleh Mark Shuttleworth, Ubuntu akan bergerak ke arah menggunakan Wayland sebagai pengelola tampilan.

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

Hillar
sumber
5
Pada Desember 2013 sepertinya Ubuntu berdasarkan Unity akan menggunakan Mir display server bukan dari compositor berdasarkan Wayland mulai dari Ubuntu 14.10: Link Link varian Ubuntu lain mungkin akan pindah ke Wayland: Link
Diego
4
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
Saya akan mengatakan X lebih baik. Saya tidak akan membahas hal-hal teknis. Tapi saya hanya akan mengatakan saya telah menjatuhkan frame di youtube dengan Wayland jika saya mengubah ukuran jendela atau pergi / keluar layar penuh. Dengan X, tidak ada masalah. Meskipun kecepatannya sama. Juga di kursor mouse Wayland terasa lebih longgar daripada di X. X masih no1 saya
Luka

Jawaban:

136

Anda dapat melihat halaman arsitektur Wayland untuk melihat perbedaannya dalam desain. Seharusnya menyederhanakan seluruh tumpukan grafik dengan memaksa semuanya melalui tumpukan GEM / DRM standar langsung ke kernel dan mengelola pengompositan 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 sakit. Semua compositors (Compiz / Metacity / Mutter / KWin / etc) telah ditambahkan sebagai renungan. Mereka, pada intinya, meretas untuk melakukan apa yang seharusnya dilakukan X sendiri. Jika semuanya terus berkembang ke luar seperti sebelumnya, kita akan sampai pada titik di mana proyek menjadi tidak dapat dipelihara.

Semua dalam semua, ketika dukungan perangkat keras ada, itu harus membuat seluruh tumpukan lebih efisien dan tidak terlalu menyakitkan untuk digunakan dalam pengaturan standar.

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

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

  • Ada juga dukungan pengemudi. Driver sumber tertutup belum mendukung teknologi KMS / shared-GEM / shared-DRM yang berkembang pesat di Wayland. Seorang purist mungkin baik-baik saja dengan Nouveau tetapi seseorang yang membayar £ 100-400 pada kartu grafis 3D kinerja tinggi tidak akan senang dengan kinerja 3D buruk buruk yang mereka dapatkan dengan driver terbuka saat ini.

    Pembaruan: Nvidia bekerja untuk mendukung Wayland dan Mir .


Pembaruan 2018 . 17.10 menggunakan Wayland sebagai server tampilan default (kecuali jika Anda memiliki driver tertutup, atau driver yang tidak mendukungnya, atau membutuhkan X). 18.04 dan 18.10 keduanya menggunakan X sebagai standar global (meskipun Anda dapat menginstal Wayland).

Saya tidak bertanggung jawab atas apa pun kecuali dari posisi ini, sepertinya kami masih merupakan metrik Nvidia yang jauh dari mendapatkan traksi nyata . Sampai saat itu, saya tidak berpikir kita akan melihat cukup mindshare dan mengembangkan kekuatan di belakang Wayland. Pasar game / kinerja menggunakan X. Pasar MCE menggunakan X (dan pembuat kerangka langsung). Saya tidak yakin Wayland akan memiliki kesempatan nyata.

Oli
sumber
21
Masalah transparansi jaringan adalah cara berlebihan karena beberapa alasan. 1. Penerusan X murni hanya cukup cepat melalui LAN. Melalui internet, raw X tidak dapat digunakan karena latensi. Untuk mendapatkan kinerja yang layak, Anda harus menggunakan protokol pihak ketiga seperti NX atau VNC. 2. NX dan VNC keduanya sangat sulit untuk diatur karena arsitektur X. Seharusnya lebih mudah dengan Wayland. 3. Beberapa toolkit modern menggunakan kode gambar X. Mereka hanya menggambar diri mereka sendiri ke bitmap dan mengirimkannya ke X. Ini persis sama dengan Wayland dan akan memiliki karakteristik jaringan yang sama.
Timmmm
4
Saya setuju dengan poin 1 tetapi melalui LAN yang bagus, penerusan X tidak tersentuh untuk kualitas atau kinerja. Jauh lebih baik daripada salah satu alternatif dalam pengalaman saya.
Oli
1
Pada 2013 situasi menjadi lebih jelas mengenai transparansi jaringan: askubuntu.com/a/359870/203271
Diego
2
@poolie: Sepertinya mereka berubah pikiran. ;-)
Peque
2
Dari BionicBeaver / ReleaseNotes : "X adalah server tampilan default. Wayland disediakan sebagai Pratinjau Teknis dan diharapkan menjadi server tampilan default dalam 20,04 LTS . Untuk mencobanya, cukup pilih Ubuntu di Wayland dari roda pada log masuk layar. Log X.org sekarang dapat ditemukan di ~ / .local / share / xorg "[penekanan milikku]
Dennis Williamson
56

Ada banyak perbedaan antara X dan Wayland. Mungkin yang terbesar dari sisi grafis adalah bahwa Wayland tidak melakukan gambar 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, misalnya. X juga memiliki API menggambar font.

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

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

Dalam hal manfaat, Wayland jauh lebih kompleks daripada X yang seharusnya membuatnya lebih mudah untuk dipertahankan - meskipun beberapa kesederhanaan ini berasal dari mendorong kompleksitas (misalnya: bagaimana cara benar - benar memanfaatkan buffer itu, transparansi jaringan) ke lapisan lain dari tumpukan. Dengan membuat klien bertanggung jawab untuk semua rendering mereka, klien dapat lebih pintar dalam hal-hal seperti buffer ganda.

Ada manfaat lain di luar grafik. Jauh lebih mudah untuk aplikasi kotak pasir, misalnya.

RAOF
sumber
2
Kedengarannya seperti DirectX dari Microsoft?
Anwar
3
Saya menggunakan API menggambar protokol inti X11, karena lebih cepat daripada XRender.
étale-cohomology
3
Saya juga mendapatkan Microsoft wibes oleh Wayland dan systemd. Dan tidak, itu bukan hal yang baik. Mereka melanggar aturan dasar pengembangan perangkat lunak. Di systemd hanya karena lebih mudah bagi para pengembang systemd. Di daratan karena mereka menginginkan game yang lebih cepat (?) Dan rendering, dan membuang banyak hal baik dengan itu.
Anders
18

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

Lebih sedikit jejak daripada X - karena tampilan ditangani oleh kernel, Wayland tidak harus mengimplementasikan sebanyak yang dapat digunakan. Ini berjalan dua arah karena saya curiga penerusan X (lihat satu layar di PC lain) mungkin hilang dengan X.

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

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

TGM
sumber
4
KMS & GEM tidak memindahkan driver grafis ke kernel, hanya beberapa bagian kecil yang dipindahkan ke kernel (bit yang berbicara langsung ke perangkat keras dan diharuskan berada di kernel sehingga driver yang berbeda dapat hidup berdampingan, 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
4
Oh, dan KMS tidak pernah diperlukan untuk mengubah resolusi layar (yang telah dimungkinkan sejak saya menggunakan X lebih dari 10 tahun yang lalu), tetapi itu memungkinkan driver yang berbeda (misalnya driver framebuffer konsol, driver X dan sekarang driver Wayland) untuk bekerja sama dengan lebih mudah. Di masa lalu itu tidak selalu jelas bagi masing-masing dari mereka dalam "keadaan" perangkat keras grafis pada titik waktu tertentu, dan banyak solusi untuk menebak atau bergantung pada driver yang digunakan.
JanC
1
Tidak sepenuhnya benar bahwa penerusan X akan hilang karena X masih dapat digunakan sebagai klien di Wayland. wayland.freedesktop.org memiliki contohnya. 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
3
Ekstensi RandR memungkinkan Anda mengubah resolusi layar tanpa memulai ulang server X.
Anonim
14

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

Christian Hujer
sumber
Inilah tepatnya yang saya anggap sebagai keuntungan terbesar X atas Wayland yang diusulkan.
Kris Jace
7

Sederhananya, harapannya adalah untuk grafis yang lebih baik (kurang buggy, lebih cepat, lebih mudah digunakan). Bahkan beberapa hal mungkin terjadi suatu hari yang sebelumnya tidak terjadi. Saya pribadi berpikir ini setidaknya akan mempercepat, seperti kompetisi selalu lakukan.

ido
sumber
3

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

  • Wayland menghapus 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 aktif.
  • Wayland lebih baik di perangkat input. Untuk satu, ada banyak opsi lagi untuk mengonfigurasikan touchpad, termasuk pengaturan tap-to-klik yang persisten.
Nico Schlömer
sumber
1
Wayland lebih buruk jika suatu program dikunci karena suatu alasan. Memiliki wm yang berbeda adalah hal yang baik. Saya menggunakan jaringan X11 secara teratur (setiap hari). Beberapa program telah berhenti bekerja di Wayland (saya menggunakan Ubuntu 18.04)
Anders