1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

The Wayland Situation: Facts About X vs. Wayland

Eric Griffith

Published on 7 June 2013
Written by Eric Griffith
Page 2 of 4 - 282 Comments

The Fixings Of Wayland

(numbered to match-up with the failings of X.)

I) The entire protocol is versioned. Every listener gets exactly the version they support, nothing more. No more randomness.

II) The input system in Wayland looks a lot like Xinput 2.2, minus all the legacy cruft and minus the Master/Slave relationship between inputs. Everything gets one virtual keyboard, one virtual mouse, and one non-virtual tablet interface. The nightmare called multitouch will finally be sorted out. Note from Daniel: As one of the authors of multitouch, I feel pretty qualified to say that it's shit.

III) Wayland HAS no drawing API to mess around with. Wayland wants buffers filled with pixels from clients and, aside from the security hooks to make sure clients aren't messing with eachother's buffers, it doesn't care how those pixels got there. Clients control what pixels those buffers hold, this way what gets displayed on screen is EXACTLY what the client wants.

IV) Wayland is minimal. There's no over-arching Psuedo-OS controlling your graphics display. There's no 26yr old API “Getting in the way.” Clients carry the brunt of the work, which is okay because clients don't have to maintain extreme-backwards-compatibility. Qt5 dropped Qt3 support. X still has to maintain things that were written 26yrs ago. And things from 26yrs ago, are getting in the way of fixing things TODAY.

            A) Note from Daniel: Wayland is also non-blocking, so your entire desktop doesn't stop rendering just because one client hangs or is going through an expensive operation. Only THAT client stops rendering.

V) Composition is mandatory under Wayland. That isn't to say that everything has to have 3D effects or wobbly windows. By composition we mean that everything is tear-free, flicker-free and flash-free. Wayland's motto is “Every frame is perfect.” Every pixel is exactly WHAT it should be, WHERE it should be, and be there WHEN its supposed to be there-- as dictated by the clients.

VI) Clients handle fonts, like they do now anyway.

VII) Multi-monitors is a client problem. Same with multiple graphics cards (Optimus). Wayland only wants buffers filled with pixel and to be told where to display them. It doesn't care how they got there.

VIII) Unlike X which had everything as its own window at first, Wayland supports 2 types of windows. Top-level windows, which are essentially wrappers around multiple buffers. And sub-surface windows, which is mainly targeted at video playback.

            A) They are kept coherent though, unlike X, so no tearing or thrashing of the window just because you scrolled down the YouTube comments section while the video was playing.

IX) Wayland doesn't deal in global coordinates, at least not publicly. It deal's in surface-relative coordinates. Wayland's coordinate counter is 31-bits, which means each SURFACE (read: window) can be 2,147,483,648 pixels in size.


X) As a security precaution...your screensaver and locker are apart of the compositor. This has an added benefit because your compositor (Eg: kwin) DOES understand your media keys, so even while your screen is locked you can still mute your media.

Latest Linux Hardware Reviews
  1. ASUS AM1I-A: A Mini-ITX Board For Socketed Kabini APUs
  2. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  3. Overclocking The AMD AM1 Athlon & Sempron APUs
  4. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. FreeBSD Advances For ARM, Bhyve, Clang
  2. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  3. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  4. QEMU 2.0 Released With ARM, x86 Enhancements
  5. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  6. R600 Gallium3D Disables LLVM Back-End By Default
  7. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  8. Fedora Workstation Is Making Me Quite Excited
  9. Maynard: A Lightweight Wayland Desktop
  10. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  11. KDE 4.13 Is Being Released Today With New Features
  12. Trying Out Radeon R9 290 Graphics On Open-Source
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  3. The GNOME Foundation Is Running Short On Money
  4. Radeon 8000M problematic on Linux?
  5. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  6. Suspected PHP Proxy Issue
  7. Change installation destination from home directory
  8. Bye bye BSD, Hello Linux: A Sys Admin's Story