Thursday, October 13, 2011

The demise of the Windows platform

I bought a Windows game last week. What I got was a scenic tour through the demise of the Windows platform. I knew that Windows as gaming platform was troublesome, but it never was as clear that it's actually moving towards irrelevance. If you ever have seriously played games on Windows you know this cocktail of driver updates, googling error messages, entering illegiible cryptic codes from stickers hidden in game boxes, waiting for online activation, going through update popups of various origins, and what not. It took me something like two hours before I was even able to start the game. I love games, and I have played quite some games on Windows, but I might be done with this now.

Of course Windows as a platform won't go away anytime soon. There are hundreds of millions of people running it. But the interesting part is that there are less and less reasons to do so. One of the arguments why people don't use Linux on their desktops always was "I need Windows to run my games". I heard this a thousand times. But as this argument becomes irrelevant, the only argument left is "I have always run Windows".

The free Linux desktop is mature. It's not only on par with proprietary desktops on other operating systems, it actually is innovating and moving beyond what other systems do. It covers all the needs of the vast majority of use cases. It has a variety of office suites, it runs several fine web browsers (another area where Windows has lost relevance up to the point of being made fun of), it has excellent tools and applications in almost any area you can think of, it's a primary choice for software developers, it even moves beyond classical desktops to netbooks, tablets, and more.

In addition the free desktop has some inherent attributes where Windows just can't compete, first of all the software freedom, but also the development model, and the distribution ecosystem. When you install a Linux desktop you have a fully functional system, you can browse the web, you can send email, you can edit your spreadsheet, even printing works out of the box these days. When you have Windows installed you are at the beginning of an odyssey to add all the bits and pieces you need to have make your system functional and secure.

Some might argue, that the desktop itself is becoming irrelevant. For some areas that might be true. People will use their phones or tablets or game consoles for things they have done on a desktop before. But there are so many people using their computers for work and other serious things, where you do want to have a solid desktop, probably not exclusively, but it won't go away for a very long time.

You might also argue, that people are using web applications instead of desktop applications. This also might be true in some areas. But the interesting part is that web applications have developed into another kind of desktop applications. The platform is different, it's Javascript and the web client environment, and the apps are heavily connected to web services. But you absolutely need a solid platform on your local system to be able to run the web apps. This platform is more than ever based on Linux (think Android), and there is no reason why this shift shouldn't continue to happen very quickly.

KDE is in an interesting position here. We are one of the key players on the free desktop, we have a mature classical desktop, we are expanding to other form factors and into the web, we have a strong community, which can make things happen, nobody would have expected to be possible (or who thought that Matthias announcement from 15 years ago would result in something like we have today).

We even have a story on Windows, where we have central applications like Kontact or Okular, which are more than a replacement for the apps, which are only running on Windows. This is more important than ever as a migration strategy. It's very easy to arrive at a point, where all the applications you run on Windows, are actually running natively on Linux as well. Running LibreOffice, Firefox, and Kontact on Windows? Fine, move over to Linux, it will run as well and better, and you will enjoy the freedoms of free software.

We have a chance to change the world, let's do it.

25 comments:

  1. Unfortunately I have to object. I am big fan of Linux and KDE and I use it exclusively for about 8 years now. At moment I am very hesitant to convert my friends to Linux/KDE. The main reason for it has not so much to do with KDE but with the underlying hardware support. I have tried a few distros, but basically there the same pattern with all of them: With every release something that previously worked (cable networking, wireless, 3G, suspend/resume, Intel graphics) has stopped working or is buggy and it takes some bugfixes until it works.
    KDE4 has become more stable, but still it crashes more than any Windows installation or there frequently bugs due to Akonadi/Nepomuk which slow down the system. I see the advantages of working with KDE/Linux so I am willing to deal with those problems. But I have difficulties trying to persuading my friends to switch (fearing they could get scared away forever). Even though I believe you are right about the demise of Windows. It is not so important any more, it is easier for others to imagine the switch.

    ReplyDelete
  2. Excellent post!
    It captures nicely my general thoughts on the subject.

    Lately, I have convert tens of persons in the Linux/KDE world and all of them are happy and never look back.

    Hardware support is improving, open source apps become more and better and I believe that in the near future we will see tremendous changes even in the gaming sector.

    Besides, what KDE offers (multiple virtual desktops with different activities etc) is pure science fiction for the closed restrictive world of windows.

    ReplyDelete
  3. I have to agree with Mark on that.
    And apparently you haven't tried Windows 7.
    I just recently got a new computer and while I do run Arch Linux on it, and can't really say that things should work out-of-the-box they still don't work after installing drivers, PulseAudio and what-not.
    You apparently don't own a AMD/ATI graphics card either, where you options are install the free driver and hope it works with your graphics or install catalyst and hope it will play nice. As I have a new graphics cars, that is integrated onto a CPU not motherboard I decided that it's safer to install catalyst. With all this problems even with most basic things screen artifacts on KDE which I thought were gone with 4.0 version and fuzzy sound on log-in I fear that once I'll try to install the only two games I care of: StarCraft2 and Medieveal2: Total War I'll be faced with just one option, install Windows7 and just use it instead of tinkering away on Linux.
    So yeah, Windows is a gaming platform, but it also is a paltfrom for people who really want things to work out-off-the-box and not just kind of work. Yeah maybe I would have less problems with Ubunutu or Fedora, but there still isn't a big difference with any Linux distro

    ReplyDelete
  4. @Mark Getting hardware to work is hard, not only for Linux, but also for Windows. Just read a bit about the driver problems around the Rage release. Linux distributions are actually doing a great job with getting hardware to work. It works really well in a lot of cases. The stability of KDE is up to us as KDE community. That's where we easily can make a difference.

    ReplyDelete
  5. @Primus I do run a Windows 7 machine with an AMD/ATI card. openSUSE Linux runs there flawlessly out of the box including graphics acceleration for fancy desktop effects. That's also the machine where I had to go through all the hoops to get the Windows game to work.

    ReplyDelete
  6. I completely agree with Marks opinion. Especially the graphics driver situation is still a mess. I have an ATI Mobility Radeon X1400 in my laptop (using free radeon drivers as ATI does not provide up-to-date drivers for that chipset) which is of cours not the latest and fastest chip but I should expect that I can use a dual screen setup without slowing everything terrible down. And flash video in fullscreen is stuttering as hell, and sound is crackling btw. Then there are still problems with sound through pulseaudio (which got much better recently) but without pa you can't easily change between e.g. speakers and a headset. The situation with Akonadi and Nepomuk does not hurt me too much by now, they seem quite stable to me. But it's just that little things that really disturb me and others - and Windows really got much better again with Windows 7. If you want to run commercial games on Linux it would be just the same situation with serial numbers and installation activation crap so that's not really an arguement against Windows.

    ReplyDelete
  7. I have tried Windows 7 and certainly it does not work out of the box.
    You need so many extra drivers that it drives you insane!
    Fact is that the Linux kernel is much more better disposed to work out of the box since it comes empowered with ready to use drivers.

    I have AMD/ATI and I can say that both proprietary and open source drivers have progressed vastly the last few years.
    But If I was interested in playing win games I would have nvidia.
    It is amazing how well wine cooperate with its graphic cards and I have seen Starcraft2 even GTA4 to play very good there...

    But the real reason I prefer Linux and KDE is that it gives me the solid feeling that I own my PC whereas in a windows machine I feel that I am owned by it!
    It so pathetic to pay for a software that you cannot own, you cannot share, you cannot modify only to have just one virtual desktop without activities and without a free app store (yes they will make one in Windows 8 but it will concern mainly commercial apps...)

    ReplyDelete
  8. In my opinion, what will stop linux on PCs will be patents.

    Until today, it nothing happened only because we are less the 1% of the desktop users... but M$ has already threatened us: we call this FUD.
    Sadly, we are seeing with android MS doesn't make only FUD... but while android can be "defended" by google's moneys, we don't have this opportunity. :(

    ReplyDelete
  9. @Micheal: As much of a fan of Linux as I am, I'm quite pained to say that as far as high-performance 3d graphics are concerned, Linux is painfully lagging:

    1. Windows drivers are much better, especially if you have an ATi/AMD card where the drivers work properly. The few cases where drivers fail, is more often than not due to poorly coded game engines (see RAGE for a good example). In addition, dual-screen or high-CPU usage just slows down KDE compositing far too much and yet I refuse to use Catalyst since that will most likely break the next time I upgrade the kernel... assuming it works in the first place...

    2. Activation is largely going away these days, with most companies aiming for online gamestores where everything is instead linked to your account instead. Steam has been excellent in this respect by both providing a very good non-intrusive DRM.as well as ease activations for games that have their own DRM: you just copy and paste the key, hit activate, wait 30s and bam, its done.

    3. As for gaming on Linux, I'm planning to run games in WINE as soon as I find the courage, time and patience to install catalyst again (or get a new machine with Nvidia graphics), but until then, Windows still is better for games for me.

    4. Linux as an in-lecture OS for me is quite troublesome because of the poor power-management. At most I can get 30-45minutes of battery life compared to windows where I can squeeze out almost 2 hours, so again, I'm locked into Windows.

    Fix the above, and I'll go pure Linux. Until then, I'm afraid Linux will remain as a secondary/programming/work OS for me, much to my dismay.

    ReplyDelete
  10. It's good to know we like Linux soo much (I too use it a lot daily), but let's not be blind for all issues we have.

    Somehow, I can accept problems in Linux, and get frustrated with the single bit of problems on Windows. I fairly assume the same happens visa versa too.

    Nowadays, I'm actually using Office 2010 on VMWare because it works much better for me then OpenOffice. True story. There are many things users do on Windows just a bit easier. For example, mounting ISO's graphically, sharing files without configuration, or changing display settings. and I still can't get Kontact to sync with Google Apps.

    Secondly. Windows 7 and the upcoming 8 brought Windows to a higher standard too, making the difference between KDE 4 and Windows much less to our advantage. I've even seen the plasma-file-copy-graph things in Windows 8 and that kind of detail closes the gap even more, making the advantages of switching much lower then I'd prefer them to be. ;)

    ReplyDelete
  11. Too bad that linux has so many people who just want to play, especially when it comes to graphics drivers. Although things are gradually improving (thanks to the __massive__ amount of money that intel is spending on manpower), people still do not take driver development serious. Most either want to work on their own little field of interest, others even go as far as to attack other driver projects.

    Take modesetting for instance... 6 years ago, noone wanted to care, and the few people who did care, mostly got ignored. Then intel management made it the sole reason for keeping a certain person, who then made a botchjob of the lot, which then took ages to correct, and we still are far far away.

    As for drivers themselves: you have the situation where all parts are spread over the system:
    * kernel driver (drm)
    * firmware (for radeon users)
    * libdrm part
    * xorg part
    * mesa/gallium bits
    * several media acceleration libraries.

    These parts are spread throughout the system
    * in the kernel
    * inside libdrm
    * deep inside the monolithic mesa tree.
    * in xf86-video-... (the only sensible bits that can be built together without further hassle).

    This is an update nightmare.

    It is not like windows where you dl a driver package from the vendor and install it. If that fails, you try a newer or an older driver, and at one point, you will have one that works (at least to some extent).

    In linux, you pretty much have a 1-1 dependency between kernel, libdrm, xorg and mesa these days.

    _and_...

    People deny that this is so and happily state that this is impossible to fix or that fixing this is unwanted.

    As much as you like... Linux gaming is still aeons away from the, admittedly, shabby state of windows. We are much much worse at it than even windows.

    From an actual driver developer,

    ReplyDelete
  12. @libv You are probably right with what you say. But the point is that people are increasingly not playing games on desktops anymore. So demanding 3D games might be worse on Linux than on Windows, but it doesn't matter, because people use neither of them to play games. Games run fine on a console, and Linux runs fine for the rest of what you do with a desktop computer.

    ReplyDelete
  13. Do you also blame the Linux Kernel if your Nepomuk crashes or has a unreasonable load of memory? Why is it Windows fault when the Game Developers are unable to proper code their games and do not finish the gmes before publishing? And why are you seriously thinking this would be any different if Linux would be a major gaming platform? I mean it is obvious how fragmented the linux platform in terms of drivers&co is. It isn't even possible to guarantee proper window compositing for everyone.

    Also, I don't know on what numbers you base your "peoples are increasingly not playing games on desktops anymore"-statement. Although I have the feeling that you are right, because of the increasing amount of tablet and handheld games. And by the way: did you ever encountered the smoothness of having a proper mouse on an egoshooter?

    IMHO, you just worte a rant. Sorry, if this sounds offensive, I don't want it to, but this is what I think.

    ReplyDelete
  14. Gaming on the PC is not dead. Not by a long shot. Steam and Desura are great distribution models. And look at games like Minecraft!

    But yes, my Kubuntu desktop does do 90% of what I need a PC to do. And looks great doing it, while freeing me from Windows.

    Great article!

    ReplyDelete
  15. Hi, I too contribute to a cross-platform FOSS project (Mozilla) and unfortunately I have to object.

    Sure, Linux is miles ahead for a developer's workstation.

    But as a end-user OS to run our application on, the GNU/Linux offerings do not compare very well to the proprietary competition.

    First, X11 is a huge pain in the ass. X11 means that we pay all the time a large cost for network-abstraction features that almost nobody uses anymore. For example, in X11 everything is asynchronous, including error reporting, so one faces the dilemma of having a X error handler that aborts (like the default one, like ours) which worsens X stability problems, or having a X error handler that doesn't abort and never get a chance to discover problems through our crash reporter.

    On Windows and on Mac, we can easily determine info about the GPUs in the machine, the driver versions etc, to implement our GPU blacklisting to know whether it's safe to play with the GPU. On X11, the only way to get information is to create a OpenGL context (and call glGetString) which is exactly what we need to avoid in certain cases, so we had to do that in a separate process to protect ourselves.

    Another X11 pain point is the handling of window decorations.

    Desktop environment fragmentation is actually a huge factor holding back the linux desktop. With KDE, GNOME, Unity, Unity2D, and Compiz all having a significant portion of the market, it's hard to do desktop integration in a way that will please a majority of Linux users, so most vendors just don't try (and sadly, they're right).

    Sound used to be miserable, but I guess that PulseAudio is finally solving the problems so I won't complain.

    Another pain point is related to the handling of debug symbols. The basic fact about linux is that there are many distros, and the burden of walking stacks from all distros can't be put on ISVs. To file a good bug report on linux you need to first download debug symbols packages. This is ridiculous: most users don't do it and as a result most app developers never get good crash reports. Since there are so many linux distros with different packages, what's needed is for them to agree on a unified service for walking stacks using their own debug symbols (don't send huge debug symbols over the network, only send small annotated stacks).

    ReplyDelete
  16. @burkeone: For evidence that people are not playing on desktops anymore see for example the link at the top of my post to the interview with John Carmack, who says: "We do not see the PC as the leading platform for games. That statement will enrage some people, but it is hard to characterize it otherwise; both console versions will have larger audiences than the PC version." And sure, you can read my post as a rant.

    ReplyDelete
  17. Just one question, you mention that no-one plays games on computers any more so Linux is OK for everyone else, what about CAD?

    Does the fact that Linux is free (as in beer) and still people choose to pay for Windows not tell you something? OK so that was 2 questions.

    ReplyDelete
  18. @clanky One answer to both questions: There certainly will still be many users who choose Windows over a free system for various reasons (availability of specific application being one of them). But with games not being such a big factor on the desktop as in the past, one of the reasons goes away. That's a chance for users to get a free system (as in freedom).

    ReplyDelete
  19. I have to join the -1 bandwagon here... I've used Linux at home since 2003 (and sporadically before that during university), but I just had to move back to Windows for Gaming. There are entire gaming paradigms that just do not sell on consoles, and thus the only market is the PC. Mostly games that use lots of brains (strategy) and work best with a mouse.

    That could change, but since it was tried a few times and it failed, and larger software firms are very risk-adverse (see the number of non-FPS games out there, it's a small percentage), I doubt it will be any time in the future.

    And... running the same Windows game via Wine is... unpleasant, when it works at all...

    ReplyDelete
  20. Another linux fanboy showing how low his IQ is.

    Windows as a gaming platform is both mature and stable, and DOMINATES the non-console market.

    If you can't make a Windows box play the latest games - you're too stupid to have a computer, any computer - and I'm amazed you'd blog about it showing the world your complete incompetence.

    Stick to your xbox - there even a retarded monkey can figure out how to put the game disk in and hit the power button.

    ReplyDelete
  21. Linux has a long way to go. Back before windows 7 windows had lots of niggles and it was bad. So linux was an excellent competitor. But somewhere along the way we've fallen a bit behind. I'm getting a ridiculous amount of crashes. Ubuntu has gone down the drain in that area.

    ReplyDelete
  22. Mark wrote: "Unfortunately I have to object. I am big fan of Linux and KDE and I use it exclusively for about 8 years now. At moment I am very hesitant to convert my friends to Linux/KDE. The main reason for it has not so much to do with KDE but with the underlying hardware support. I have tried a few distros, but basically there the same pattern with all of them: With every release something that previously worked (cable networking, wireless, 3G, suspend/resume, Intel graphics) has stopped working or is buggy and it takes some bugfixes until it works.
    KDE4 has become more stable, but still it crashes more than any Windows installation or there frequently bugs due to Akonadi/Nepomuk which slow down the system. I see the advantages of working with KDE/Linux so I am willing to deal with those problems. But I have difficulties trying to persuading my friends to switch (fearing they could get scared away forever). Even though I believe you are right about the demise of Windows. It is not so important any more, it is easier for others to imagine the switch."

    Couldn't have said it better myself.

    As for Akonadi and Nepomuk, you can switch them off easily enough from the GUI. To switch off Nepomuk/Strigi use System Settings > Desktop Search > Basic Settings. To switch off Akonadi, right-click on AkonadiTray in the System Notification Area and click on 'Stop Akonadi'.

    ReplyDelete
  23. I'm going to throw in a lone +1 here...

    I admit that I may not be typical of the PC gaming crowd, since I didn't really play the newest games even when I still kept Windows on a machine... With adventure largely dead, and true RPGs being subsumed into Action RPG or MMORPG genres, the latest games don't usually interest me. But Linux/Wine works as well or better than Windows for all my games, and has done for the last few years. Open source games are also picking up speed lately, so I'm optimistic that I may not even need Wine eventually.

    Now before you say it, I'm not just a Linux/FOSS fanboy who will excuse any flaws. I love both NT (it will always be NT in my heart :) and Unix, but I always knew that eventually Microsoft would screw it up after they turned WinNT into a consumer platform. With Windows 8 we're getting the freedom-hating walled garden/cloud model of computing on the PC in full force; while the traditional desktop is still there, I have no interest in holding out in a deprecated environment.

    For power users and those who value actually owning their apps and data, I fear the time is coming when Linux will be the only real option. It's definitely not perfect, but unlike ten years ago, I think it's ready.

    ReplyDelete
  24. First, my experiences over the past 7 years with FOSS have been the exact opposite of Mark's, with the exception of wireless card drivers. However, that issue died some years ago for me. In fact, one of my main reasons for not going back to Windows is Windows' inferior hardware support. 3 years ago, I purchased two computers with identical hardware configurations for my home, with XP going to one for the kids' games (The Sims) and the other being mine. The Ubuntu install gave me everything including wireless, media plugins, and internet in about 45 minutes. The XP box took about 4 hours, which did not include driving to the local shop for an audio card. After wrestling for hours to get XP to recognize the motherboard's onboard audio (which Ubuntu found flawlessly), I punted and purchased a cheap PCI audio card.

    7 years ago, after being almost exclusively Windows and DOS before that for decades, I tried FOSS after getting frustrated with XP's poor hardware support, poor reliability, what I deemed as poor Windows compatibility (with 98), and a series of frustrating quirks. Linux freed me from those issues to give me a PC that I can trust to work, freeing the time I was previously spending fighting Windows temperamental nature.

    Regards,
    mc

    ReplyDelete
  25. Windows is loosing badly in terms of stability and experience. I can't stand dozens of vbasic and .Net instances on my system. What's the reason behind this mess? Some of my favourite games stopped working after Windows updates. Windows is far away from out of the box experience. It gives you nearly nothing out of the box except crashes and terrible inconsistency. What Linux needs is Wayland which will get rid of legacy X11. Another thing is feature rich and fast graphic support. Except graphics support, there's no single advantage on the windows side.

    ReplyDelete