Understanding the Necessity of Wayland

Questioning the necessity for Wayland and the wiseness of the choice has become a phenomena, especially after Mark Shuttleworth annouced Ubuntu's plans to eventually switch to Wayland. Following I will provide a concise reasoning why we want Wayland. At the end there are some more links for further reading.

In 1984 the MIT started X11.
In 1991, XFree86 started out of the X386 server based on the X11 platform.
In 2003, Xorg took over from XFree86 after a license dispute.
In 2008, Wayland was started to overhaul the entire system and keep only what's necessary for the desktop today, using only today's modern infrastructure in a leightweight architecture.

Over all this time, backwards compatibility has been a major issue. But after some decades you need to shed some of that compatibility if you want to remain an ideal solution for today's problems. That's what Linux does and that's what the 2.6 kernel was all about. That's the big advantage of open source.

As everything is open and adjustable, you can change even the underlying infrastructure. You can modify all software to run on top of the new infrastructure. But the nice thing is that usually there's not even need for that, as most software uses libraries which abstract the underlying infrastructure. This means all you need is to adjust a few libraries to make things run on the new infrastructure. The great thing about open source is that you can fix things where they are best fixed.

In this case all you need to do is adjust the GTK and Qt so that the KDE and GNOME desktops, among many other software, can run natively in Wayland. This means a 50 MB run time piece of software with I wish I knew how many millions of lines of code can be replaced by a few thousand lines of code (tiny!) application that really just does what you expect: Mediate between the libraries and the graphics driver.

Now that you know the facts, you do the thinking: If you strip away a layer of millions of lines of code between point A and B, do you think the way will become faster? Do you think there is less to carry? Is it likely that Wayland will use less memory and be faster? Will bugs be easier to fix if there are only a few thousand lines of code? Will it fit better on netbooks, on (Android) phones, on tablets etc?

If you think it's not more than an idea yet, let me tell you: It's already a working in basic steps. If you look at the videos and screenshots posted below, you can see it's already running in several configurations and if you read the mailing list you find out it doesn't seem to be that hard to adapt to other hardware, either. Also Phoronix writes there is already a patch implementing basic /dev/fb support, meaning it can then run on basically any hardware, just without hardware acceleration. This is confirmed in the mailing list.

But I know it's not all perfect and rosy. It will take time to get there. There will probably be a time when speed is lower, suspend less reliable, and above all it may take time for a suitable remote desktop solution to establish. But even that does not seem to be a major problem of the architecture.

But would that justify keeping 24 years of dead weight? 
Would anything?



Further Reading


If you liked this article, you might want to subscribe for more.

8 comments:

  1. if it keeps the ablility to ssh into grandmas desktop and run printer-config command and get the printer dialog on grandmas computer so I can see whats happening with her printer then I am good. If it brings much easier remote desktop capablities so one can dump VNC and FreeNX then I am all for it. Need the capabilites of VNC so when I help family thousands of miles away they can see what I am doing. Need FreeNX functionality so I can loginto my home machine when away and use it while the wife is logged in so that way I dont disturb her session. If Any distro does not pay attention easy remote access in connected era like today then they will be setting them self back decades.

    ReplyDelete
  2. There will be apps to provide remote desktop control and remote login, and it may actually finally be better than VNC? Wayland apparently is going to solve a lot of graphics difficulties, like syncing issues for example, so I would not be surprised if these leaner graphics capabilities made it much easier to implement these features. All I know is that VNC absolutely sucks as it is horribly, dreadfully slow, and Windows' RDP is a million times faster.

    ReplyDelete
  3. To change something as rooted as X, it will take some time for things to catch up, but it will be worth it! I also believe because of the open source nature of Linux and its programs we will see compatibility arise very quickly. Then there is of course the option to just use X until your comfortable with Wayland. It's not like you won't be able to swap back and from what I read on the Wayland project website, you can (and will for awhile) use X through Wayland, so you can develop Wayland while having all the compatibility of X.

    ReplyDelete
  4. Glad to see I sparked some writing on someone else's part :)

    You make a lot of good points, it is just going to take _alot_ of work to get Wayland functional. Don't get me wrong, I hope it takes off - but just like many things Linux needs it is still mostly just an idea at this point.

    ReplyDelete
  5. @Yfrwlf, 0awitter0: I also hope for a good remote desktop solution, as most people probably do. See the links I posted to the newslist for direct information on the feasibility.

    @OO-Dragon: I agree. I will take time, but it will be worth it. I can already see myself thinking in some time: "Oh no, now I have to start X just for that one program...". btw. cool name. :)

    @Jeff91: Yes, I started in the comments to your article, but then thought, no, there's not enough room here for all I want to say. But I disagree, it's already much more than an idea. It's already a working in basic steps. If you look at the videos and screenshots, you can see it's already running in several configurations and if you read the newslist you find out it's doesn't seem to be that hard to adapt to other hardware, either. Also Phoronix writes there is already a patch implementing basic /dev/fb support, meaning it can then run on basically any hardware.

    ReplyDelete
  6. i don't know... i still have no supercomputers enough to run Wayland - Wayland crashes on a MacBook (with Ubuntu) i bought 3 years ago, and i doesn't run on a Pentium4 desktop i also still use - Wayland is for 2020, not for now

    ReplyDelete
  7. Yes, we agree that it's not ready for end users and actual general use. But it's also much more than just an idea.

    ReplyDelete
  8. Thank you for this article. I was wondering what the purpose was with Wayland and since i have seen a number of tries to replace X its very interesting in finding out just what makes wayland different than those efforts.

    ReplyDelete

I appreciate comments. And I do read them.