Friday, November 05, 2010

Historic Day for Linux Desktop?

I just tweeted this, but it's worthy of a blog entry because I think this will, or at least should be, marked as an historic day for Linux. Mark Shuttleworth, Ubuntu chief, blogged yesterday that they are starting a transition from an X Windows based environment to the Wayland display server. That is huge news and a huge push for the fledgling Wayland project which is starting to get a lot of love lately. Intel, who employs the main developer for Wayland, already seems committed to getting MeeGo on top of it, but this move for Ubuntu all but assures Wayland will become mainstream for the Linux desktop. And I can't wait for that!

So what the heck is Wayland and why am I so excited about it? Well I've been working with X Windows since my university days when X11 was spanking new. It had a great architecture that allowed the display to be hosted on a different machine than where the application ran. Back in the early 90's that was pretty important since workstations weren't very powerful so we still had big iron Unix servers where we ran things and being able to display them on any machine in the lab was liberating. It was the best, back in the early 90's that is.

Then entered personal computers thanks to Microsoft Windows and to some extent Apple Macintosh. As these machines grew faster and faster, it became more economical to run your applications locally. Not only that, but the graphic architecture, where display handling was part of the operating system, allowed for the desktop environments to become rich, to the point now where we have the beautiful environments of Windows 7 and Mac OS X.

Now when Linux came along, the powers that be chose X Windows as the underlying display architecture. It made sense since X Windows is open source and it does a good job. But it is shackled by the underlying architecture that made it popular in the 90's. As Mark put it, "I understand that it’s *possible* to get amazing results with X, but it’s extremely hard, and isn’t going to get easier. Some of the core goals of X make it harder to achieve these user experiences on X than on native GL, we’re choosing to prioritize the quality of experience over those original values, like network transparency."

And that's where Wayland comes it. Wikipedia describes it as "a lightweight display server for the Linux desktop. Started by Kristian Høgsberg, one of Intel OSTC member, the software's stated goal is 'every frame is perfect, by which I mean that applications will be able to control the rendering enough that we'll never see tearing, lag, redrawing or flicker'". It gives the application and window managers full control over how their content is displayed and gives them free access to the graphic hardware acceleration through OpenGL and OpenGL ES, essentially the same architecture which gives Windows and Mac their great environments.

It's going to take some time as the ecosystem grabs hold of the possibilities. It is almost certain that other Linux distributions will jump on the bandwagon, and I'm sure nVidia and AMD will do the same with their hardware drivers. But once they do, I am convinced that this will finally make Linux a real contender in the desktop space. I can't wait :).

8 comments:

  1. bad timing
    we are all moving back to those days of mainframe, it just gotten a new facelift and new name --- cloud, so we can run things on server...errr cloud and display back to local PC...errr terminals

    ReplyDelete
  2. Not really. Once everything is in the cloud, people will remember why that was a bad idea.

    ReplyDelete
  3. Anonymous7:45 p.m. GMT

    @Marcin, Doug,

    IMHO technologgy is a pendulum ;-)

    Elias.

    ReplyDelete
  4. There is only one window; X Window, not X Windows :)

    ReplyDelete
  5. Well, if you really want to be accurate, it's the X Window System, but it's friends just call it X. :P

    ReplyDelete
  6. With all due respect Doug, I'm not convinced that anything technological is going to make Linux a real contender for the desktop space.

    I have a lot of respect for OSS but I actually find it frustrating. In many cases major changes happen too frequently; for example I'm using Ubuntu 9.02 but every day I get a message saying that it's no longer supported. It's only been around for about 18 months. I understand Canonical release LTS versions of Ubuntu that are supported for 5 yrs I believe, but if you look at Microsoft as an example of how to command the desktop, XP has been around for 9 years or so and is still mostly supported.

    Admittedly over that time there have been changes but mostly through regular updates or Service Packs. Most of these though are just bugfixes, corrections of security vulnerabilities and so on unlike (in my experience with Linux) relatively major changes to the 'user experience' of the OS.

    Another intriguing issue is that, over the last n years that I've been aware of Linux, what is considered the "best" distribution for the home desktop has changed on a regular basis. It seems to have been Ubuntu for a while admittedly but it's been RH, Mandrake, Mandriva, Suse etc etc... over that time.

    From an Eclipse point of view, there are major updates every year, which is nice, as long as all the plug-ins you use are in sync and updated with the major release. If you use something a bit rare or esoteric then updating on a yearly basis can cause incompatibilites.

    OSS is a double edged sword really. It's great that fixes can be made quickly; it's great that you can look at the code and see how it works and what's wrong with it. But it certainly has numerous downsides that, in my opinion, are directly related to both the 'business model' and the attitude of the developers involved.

    There are too many s/w developers at the moment who appear to have big egos; if they can't find a tool that suits them they develop their own. It's easily done and has resulted in a proliferation of programming languages, version control systems and so on (with common essential features) that is difficult to keep up with unless you have a full-time job looking after tools. In many cases I believe that the efforts of these people would be better channelled into contributing to some of the existing projects to try to get their needs met rather than just confusing the issue by adding more and more tools.

    If you look at the major players in the desktop today you have Microsoft and Apple. Both fully commercial operations with relatively distinct products. Linux is too disparate from the point of view of the number of distributions and even desktop managers - even within the Ubuntu stream you have to (as far as I can tell) use either the [currently] Gnome based Ubuntu or go for [KDE based] Kubuntu. There is too much choice and until the number of possible options drops, and the frequency of major changes drops, I can't see Linux gaining significantly on the desktop.

    ReplyDelete
  7. John,

    it depends on what you consider as Desktop. At work, if the organization is big enough there will mostly be system administration and it is their duty keep the desktops up to date - this is b.t.w. much more easy with commercial Linux dektops (SLES, RH) and such it would be fair to compare with MS/Apple (but I guess Linux is much cheaper in license cost).

    And it is *much* easier to update a Linux system! The applications get reinstalled/updated automatically and the user data stays. I work on my same user data on a central home drive with different Linux systems.

    I don't claim Linux is better, but I think one needs to consider what to compare.

    ReplyDelete
  8. Fabian

    I can see your point. I was thinking more on home users' desktops rather than in an organisation. Personally though, as a software developer with 23 years experience I find it difficult to trust the state of the computer I spend 8hrs a day at to members of an IT department. This may be because in the 1st 10 years of my experience I had to write detailed instructions to the IT department to get even close to guaranteeing they would leave the computer in the state I needed it after they'd got their hands on it!

    From a home users point of view I stand by my comments, but as a professional user I do agree with a lot of what you say, but I've still to meet an IT guy who really knows what they're doing with Linux!

    John

    ReplyDelete