Slashdot Mirror


Why Linux Has Failed on the Desktop

SlinkySausage writes "Linux is burdened with 'enterprise crap' that makes it run poorly on desktop PCs, says kernel developer Con Kolivas. Kolivas recently walked away from years of work on the kernel in despair. APCmag.com has a lengthy interview with Kolivas, who explains what he sees is wrong with Linux from a performance perspective and how Microsoft has succeeded in crushing innovation in personal computers."

25 of 995 comments (clear)

  1. Typing on a Linux desktop by spaceyhackerlady · · Score: 5, Interesting

    I'm typing this on a Linux desktop. It's a pretty hefty system (dual-core, 2.8 GHz, 4 GB RAM), but it earns its living, I assure you. It's Slackware, with a custom kernel. As I've mentioned before, my view is that the distro kernel is solely there for bootstrapping the system until you can build a custom kernel to match your hardware and your needs. It's open source. We can do that, you know.

    My biggest frustration with Linux is the notion that Linux systems must emulate Windows to be acceptable (e.g. Mono), and that the Unix interface is a priori incomprehensible, for no other reason than that it doesn't look and feel like Windows. I like the concept of lightweight desktop-oriented distros like Puppy, but do not like they way they so desperately emulate Windows. Right down to the icons.

    Is that all there is? We have an open-source OS here, with open source applications. If we don't like how they work, we can roll our own. Mindlessly aping whatever Microsoft are dumping in to Vista this week is dumb.

    What next, DRM?

    ...laura

  2. Re:Applications by nyctopterus · · Score: 5, Insightful

    ... and Photoshop, Illustrator, and video editing apps. There is a hell of a lot of media software that people need that you just can't get on Linux (either natively of a replacement). I want to switch (from OS X), but I just can't. For example, what do I replace After Effects with?

  3. Exchange, bitches! by LibertineR · · Score: 5, Insightful
    Competing OS are not keeping Linux off the desktop in big numbers, EXCHANGE is, period.

    Anyone familiar with how Microsoft locks in customers will tell you the same thing.

    We have reached a point where neither the desktop OS or the Server OS doesnt matter as much as the apps they run. Exchange is the one app that is almost a must-have. Anyone can list all the non-proprietary stuff that runs 80% of Exchange functionality, or 50%, but does it better, and so on and so on.

    Give it up, and start building something that takes Exchange on directly, feature for feature, with better recovery, and message pushing to handheld devices.

    Or, maybe just shutup? This has been obvious for years. Microsoft keeps improving Exchange, Enterprises keep buying it, and everything else that goes with it.

    Linux cannot exist on its own with a bunch of 50-to-80% solutions, expecting to fill the gap by the temporary pleasure of giving Microsoft the finger from time to time.

    Either compete or change the game. Only Google and Apple seem to get this.

    And can we stop asking this question over and over again?

  4. Linux is not only failing on the desktop.. by delire · · Score: 5, Funny

    .. but failing on the desktop very unsuccessfully. More and more people are using it and now even major hardware vendors are reporting great sales results of Linux on laptops. Some even say it's the least slowest-growing desktop operating system today. Linux is so crap it can't even fail properly!

    My advice? Install it now and help it be even worse at failing.

  5. Re:Does this guy know what he's talking about? by Chirs · · Score: 5, Informative


    Yeah, actually his patches were pretty good. He taught himself C, grokked the kernel coding style, and was a presence on the kernel mailing list. He maintained the -ck set of patches for quite a while, and wrote a couple of new schedulers (staircase, staircase deadline, rotating staircase deadline) based around the concept of fairness.

    After quite a bit of discussion, Ingo Molnar produced the CFS (completely fair scheduler) which just recently got merged. The bulk of the new scheduler was written in 62 hours, then finetuned over many weeks on the kernel mailing list. He gave credit to Con for proving the fair scheduler design concept, and for some of the tuning.

    A number of people were disappointed by the perceived nepotism, where it appeared that Ingo's got merged because he was in the "in" crowd. I expect this is part of what triggered Con's decision to leave. On the other hand, the two schedulers are very different and it may be that one is really technically better than the other--I haven't compared the two in detail.

  6. Re:Linux on the Desktop? by TobyWong · · Score: 5, Funny

    Let me take a wild guess and say you didn't RTFA and neither did the people who modded you up.

    --
    - Toby
  7. Re:Don't think so by Kadin2048 · · Score: 5, Funny

    In the 80's I would have told you that the ultimate desktop OS would be System 6 with Unix underneath.

    Funny, that's exactly the same answer I'd give in 2007.

    (The eye candy -- make it stop!)

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  8. MS does this, why not copy them? by AHumbleOpinion · · Score: 5, Informative

    Maybe the author doesn't grok the idea of setting the kernel to be responsive for the desktop. It's not rocket science, you know.

    Of course not, Microsoft does it for the customer so they don't need to learn how to do it themselves. Would it be so hard for a Linux distro to do so as well when it is doing a "workstation" rather than a "server" install. Some distro ask and have this info regarding intended use.

    I think you are exemplifying the "by nerds for nerds" attitude that the author of the article would probably argue is holding back Linux adoption.

  9. Re:Correction: Why Linux has failed on YOUR deskto by Anonymous Coward · · Score: 5, Insightful

    For me, Linux offers ease of use. It "just works" on my laptop (A Dell Inspiron 9100). With Windows, I need to download a driver from ATI before I can get a resolution of greater than 800x600. Ubuntu automatically recognizes my card, and correctly sets the resolution to 1680x1050. With Windows, I need to download a driver for my wireless card, Ubuntu recognized my card and configured it automatically. Lucky for you, but don't pretend your experience is typical.

    On my desktop, Windows recognized the monitor and was able to use the full resolution with its generic drivers. Performance was terrible, but once I installed the specific drivers, it worked fine.

    With Ubuntu, it simply reported "sync out of range" and there was nothing that could be done. Safe mode generated the same error, and with no UI to interact with, that's the end of it.

    Likewise, when I tried Ubuntu on a laptop, it recognized the wireless card and then refused to use it. (It just doesn't work - trying to set the WEP key does nothing, it just says "activating device" and then returns to not working.)

    Windows on both machines just work. Granted drivers had to be installed, but once they were installed, it just worked. No additional effort. No "sync out of range".

    Now this experience obviously isn't typical either, but it demonstrates the main problem with Ubuntu: when it fails, there's no way to get help. Your options are basically to whine on forums, and then get completely useless advice like editing configuration files on a read-only CD with an OS that doesn't display a UI.

    With Windows, there's a support number you can call, or you can take it to a local computer store, or ask for help among the massive number of Windows users - in short, you're not stuck with snobs on forums who think you should be able to hand-edit configuration files without being able to see anything on the screen.
  10. Re:Oh ye, it's the performance, duh by caseih · · Score: 5, Insightful

    Since I don't have mod points, I'll just burn karma instead.

    In short, you don't know what you're talking about. He's not talking about *throughput* which Linux does very well at. He's talking about latency and interactive performance. A system where the desktop is snappy and responsive, where the CPU wastes cycles if need be just to makes sure the mouse doesn't lag and that windows are redrawn in a prompt, synchronized way. A kernel optimized for desktop performance (have you ever *used* Quartz on OS/X?) will sacrifice overall throughput and raw total performance for low latency servicing of the things a user actually looks at on the screen. It's this perception of performance that matters on the desktop. If users sees a fraction of a second delay or stuttering in his UI, this is perceived as "slow!"

    For example, my Fedora Core 6 box running on an older AMD 2800+ XP, is plenty fast at lots of things. I can compile large programs fairly quickly, and do all kinds of things. But dragging a window across the screen not only is slow, but it also can cause my audio to skip.

    On the same processor (even under VMware!) Windows XP is smooth and the UI responsive. Of course under the hood Windows doesn't fair so well. I can't compile with as much raw speed, and although the UI is responsive, the code connected to it may not be executing in a speedy manner, causing me to have to wait for the computer. But the important part is that the windows draw smooth and fast. Resizing a window or moving a window is silky smooth.

    Even Vista, though it ultimately is slower than XP and Linux, has a UI that appears to be super fast and slick, much faster than any Linux desktop (remember perception *is* reality). Just try to use it sometimes.

    Now his patches combined with, say Compiz, go a long ways to making Linux have the responsiveness that desktop users require, the apparent schizophrenia on the part of Linux developers in relation to the desktop has frustrated him and driven him away. This is a tragedy.

  11. Re:It hasn't by zettabyte · · Score: 5, Funny

    Even my girlfriend uses it as a desktop now, and had only 1 day to "convert" to the usage, and she's not that computer savvy.

    That has to be the most brilliant use of vender lock in to date!

    I'm going to go start a migration plan for my girlfriend to switch to Linux. Then when she gets tired of my geeky arse she'll have to think twice about dumping me!

    :-D

  12. Re:Don't think so by ardor · · Score: 5, Informative

    His point is that the kernels are optimized for servers. That is, focus on throughput, performance, but not latency or responsiveness. A desktop has the latter two as priorities, while sacrificing the former two. As an example, it doesn't matter if that mpeg4 video I/O eats a little more CPU, as long as other tasks don't interrupt its playback.

    --
    This sig does not contain any SCO code.
  13. Re:Don't think so by lordtoran · · Score: 5, Interesting

    This is why Linux distributors supply custom built kernels in different flavors. In desktop distributions like Kubuntu or Mandriva, the standard kernel is in fact configured to be responsive for desktop use.

    --
    Want to hear the voice of GOD? cat /boot/vmlinuz > /dev/dsp
  14. Re:Correction: Why Linux has failed on YOUR deskto by ahaning · · Score: 5, Funny

    Ever since I finished installing Yggdrasil from the 5.25" floppies I borrowed from my friend...

    Which reminds me, I really ought to return them.

    --
    Withdrawal before climax is very ineffective and those who try this are usually called "parents."
  15. Re:Solution by bladesjester · · Score: 5, Insightful

    The average user has no idea how to do that, nor should they have to.

    That's part of the reason why Linux will never really hit it big on the desktop.

    --
    Everything I need to know I learned by killing smart people and eating their brains.
  16. Re:Don't think so by BlueStraggler · · Score: 5, Informative

    All that enterprise crap is what keeps the platform solid and almost crash free.

    I want to agree with you, I really do. But my SuSE 10.1 desktop regularly has fits where it becomes completely unuseable - if I can manage to get a shell, I find that the load has spiked to 5-10 (on a single core system) when the system was doing *nothing*. Just this morning, I woke up, poured a bowl of cereal, walked over to it to read some Slashdot over my Cheerios, and found the system thrashing and refusing to come out of screensaver because the load was so high. This happened while I was sleeping. I had to ssh in from my Powerbook to kill off any processes that appeared to be using CPU before the system would respond to the mouse.

    Meanwhile at work, we just tossed an Ubuntu server that should have been reasonably swift, but was regularly DOS'ing itself by spiking to loads of 40 or more several times a day under normal use. A load of 40-60, on a single-core machine! We "fixed" it by spending thousands of dollars replacing it with a pair of multicore beast with scads of memory and fast disks, which seems to overpower the problem.

    Then there's that server belonging to a client, a RHES 4 system. When I ssh in through a tunnel to update it, it insists on running the update program as an X client for crissakes. Then it tells me to register the system at a URL, but the URL cannot be selected or copied to the clipboard. This is "enterprise" quality software?

    Back at work, the dev server is still a RedHat 7.3 clunker. It has a half dozen developers fine-tuning their infinite loops, fork bombs, broken joins, buffer overruns, and spaghetti code, all day long. It simply never crashes or hangs, never gets slow, and never complains about the abuse it receives. It's a rock-solid dream. Except that it's a damn nuisance to update, since it's so old. And it's only hobbyist-quality software, after all, built before RedHat went all enterprise-centric

    Posted, with regrets, from my Powerbook. I'm starting to think that software built for the home user is a safer bet than the "enterprise" shite I'm dealing with every day.

  17. Re:Don't think so by HermMunster · · Score: 5, Interesting

    Why he's getting the response he is, is because of the claim that Linux is a failure, which only feeds the Windows fanboys. Linux is in no way a failure on the desktop. It just isn't as widely accepted as a viable desktop due to so many people not knowing anything about it as a desktop OS, or that it even exists. Focusing on that--getting the word out--is what will ensure Linux on the desktop.

    The good thing is that Linux, GNU, and Open Source development are moving along at a faster pace than Windows is and sooner or later it will begin to surpass other OSes and GUIs in features, stability, flexibility, future potential, etc (if it already hasn't). There are weak spots as all products have them. I think Open Source will respond better to enhancing those features faster than a monolithic monopoly ever could. Not to mention there are huge numbers of potential developers that will be creating prior art and even IP that companies such as Microsoft can only steal if they want to move ahead. That's a tremendous boom.

    What also troubles me is that Linux, GNU, and Open Source tend to react to technologies instead of really developing new technological ideas. We see that feature such and such has been created and that is often reproduced, though maybe in a superior way. What I'd like to see are more unique ideas coming from the Linux community itself thus ensuring that some key new technological concepts come from Open Source. It is sort of like when John Warnock created Adobe and created PostScript for the Apple Mac and the Laser printer. It was a technology like that which propelled Apple to the front of certain markets and it is that which made John Warnock the rich man he is today. I just can see some killer app being developed for Linux which draws people into the industry created and supported by so many of us. Also, convincing companies such as Adobe to adapt their applications to Linux will also help change the landscape. The issue is why would a company develop for such a small market? Well, as we have seen in the past couple years with Ubuntu having approximately 20 million users world wide and then with all the other distributions combined we come near 100 million users world wide. That's a huge market vs. what Adobe had when it was working on the Postscript and the laser printer with Apple. Certainly a much greater potential market for even some of the smaller technologies. Personally, I don't care if software costs money. And I know software can be developed for the Open Source operating systems without forcing them to use Open Source code. So, the potential is there for a huge market to make some people very rich selling software to Linux users.

    I don't recall the guys name nor his exact quote nor the precise context of the quote, but I do recall what he was getting at when he said something like "in our fight for racial equality we should have put more emphasis on buying land/property and being less strict about fighting for equality, as equality is bound to happen in a free society." What he meant was if they had bought land they'd have it as a valuable resource--something to ensure the future. They should have focused on that as much as they did on just getting equal rights as equal rights were bound to happen. Maybe it would have taken longer but it was bound to happen. This is what I perceived he meant. What I'm getting at with this story is that Linux should be focusing on building up (as in every participant, every volunteer, every developer) the IP and prior art to keep companies such as Microsoft from getting patents on them. We'll get parity sooner or later on the desktop. Let's own the land upon which the IP is based so that the monolithic monopoly doesn't lock Open Source out of some key advances. I'd rather see Open Source lock out the commercial entities than have the freedoms that I desire held hostage to the extortion attempts we've seen Microsoft use in the past.

    --
    You can lead a man with reason but you can't make him think.
  18. Slashdot got it wrong, but it's a real issue. by Animats · · Score: 5, Informative

    First, the Slashdot article is terrible. The article isn't about "why Linux is failing on the desktop", it's about why a kernel developer who was trying to improve scheduling performance quit.

    The scheduling issue is interesting. I used to work on mainframe schedulers, I've done real-time work, and I'm familiar with the issue in game implementation, so I know how hard this is. We could do better than what we have now, but not by some magic fix to the scheduler. We have to look at interactivity as a real time problem.

    It is, too. Alan Kay used to say that there is no more excuse for a delay between pressing a key on a computer and having something happen than there is on a piano. We haven't been faithful to that, and it subtly drives users nuts.

    One useful idea from the real time world is explicit "sporadic scheduling". Some real time operating systems have this. A process can explicitly request that it wants, say, 10ms of CPU time every 100ms. The scheduler must reject that request if the system is overbooked. If it does accept the request, the scheduler has committed that much resource to the process. If the process overruns its time slot, it loses priority and an overrun is tallied.

    This is what an audio or video player should be using. This is how you get audio and video that don't pause or skip. For this to work, the player must be able to calculate, for each system it runs on, exactly what resources are needed to play the current content. This may take more analysis and benchmarking than many programmers are used to doing. It's worthwhile to make overruns visible to tools outside the application, so that users can detect broken applications. To a real time programmer, overrunning your time slot means "broken". You have to think that way.

    On the interactivity front, it's useful for a thread to be able to request a high priority for a short period after an event, with a priority drop to follow quickly if it keeps the CPU too long. That's how you get the mouse cursor to track reliably. Of course, the thread that handles mouse events has to pass off all the real work to other threads, not stall the thread handling fast events.

    It's also probably time to end paging to disk. When it works, paging at best doubles the effective RAM. But paging inherently results in long unexpected delays. If you want interactivity, don't page. Real-time systems don't. Neither do game consoles. RAM is so cheap that it's not worth it. (1GB starts at US$56 today at Crucial.) Paging devices maxed out around 10,000 RPM since the 1960s, and haven't improved much since. Give it up. Today, paging is in practice mostly a means for dealing with memory hogging apps. (Hint: open "about.config" in Firefox and turn off "browser.cache.memory.enable". so it doesn't save screen dumps of each page for faster tab switching.) It's probably time for Linux to not page interactive processes by default.

    This implies an operating system that says "no" when you put on too much load, instead of cramming it in and doing it badly. Open too many windows of video, and at some point the player won't open another one. There's nothing wrong with that, but most Linux/Unix apps don't handle resource rejections from the operating system well.

  19. Re:Solution by Jaqenn · · Score: 5, Insightful

    That's part of the reason why your attempt at trolling will never really hit it big on Slashdot. He's not trolling! He's not saying that your approach fails to fix the problem. He's not even saying that he doesn't like to type.

    He's saying that someone afraid of their computer can't do it. And until Linux can be used by people afraid of their computer, it won't appeal to the majority of the desktop PC market.
    --
    You are awash in a sea of fiercely stated opinions. Obvious exits are: 'File->Quit', 'Reply', and 'Page Down'.
  20. Re:Don't think so by MBGMorden · · Score: 5, Insightful

    As a user of all 3 (and a few more), I must disagree. EVERY operating system has it's little pauses like you describe, but Linux in particular drags the whole time, just in small incremements.

    Mr. Kolivas in the article hit the nail on the head. Take linux windows. Drag one around. It chops around into various little segments and such as it moves. Drag an icon. Select stuff. Reposition a toolbar (or buttons on it). There are these fraction of a second delays. It's almost like walking on stilts. You're on the floor, and you feel when your feet hit the floor, but there is feeling of some layer in between where you're not REALLY touching the the floor. Same applies to Linux and it's GUI (or at least it's most common collection of tools that we call it's GUI).

    Now personally, I'm not so sure the problem is in the kernel; I've always been more apt to blame Xfree86 (and now X.org) instead, but the fact remains that it just doesn't feel right.

    Mac OS X on the other hand, has a MUCH better flow to it. BeOS's approach to such things was practically perfect (my 450mhz K6-II with 128mb of RAM running BeOS feels faster than an Athlon XP 2100 with 1GB of RAM running Gentoo Linux). Even Windows, despite it's many other problems, feels more responsive on the desktop than Linux.

    What the problem is for sure, I don't know, but I'd certainly like to see it fixed. Windows is well, Windows (boring and evil). Macs work too well for their own good for a tinkerer (they work, work well, and not as many people feel like fiddling with them, so the development community is much smaller). BeOS is dead. Other operating systems like SkyOS an Syllable are just too obscure. Linux is where it's at for programming enthusiasts. It would sure be nice to be able to use it for more than that though :).

    --
    "People who think they know everything are very annoying to those of us who do."-Mark Twain
  21. Re:Don't think so by Climate+Shill · · Score: 5, Funny

    You say toe-may-toe, I say toe-mah-toe....

    I say Solanum lycopersicum. Which fully demonstrates my superiority, I think.

  22. Re:Don't think so by sxeraverx · · Score: 5, Insightful

    Linux CANNOT have a killer app, because it contradicts what Linux stands for: Freedom, Openness, Choice, to name a few. If the Linux community creates something, it's damn well going to be F/OSS, and therefore, portable to just about any other platform. The fact that something is proprietary is the essence of what makes it "killer," and that just might be why Linux hasn't been able to dominate.

  23. Why this solution won't work: by maillemaker · · Score: 5, Insightful

    >if that's your issue, then create a daemon that renices the priorities of pre-set programs to
    >some given level - better yet tweak the module that starts programs to nice them as they start. Works
    >better than blocking the background tasks by bumping everything that's happening under a users uid, while
    >still providing the lower latency issue.

    Here is what they average computer user will think of your solution:

    1) What's a daemon?
    2) What does "renices" mean?
    3) What are priorities?
    4) What is a pre-set program?
    5) What is a module?
    6) What does it mean to block a task?
    7) What is a background task?
    8) What is a UID?
    9) What is latency?

    --
    A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
  24. That title was not chosen by me by ckolivas · · Score: 5, Interesting

    The chance of being modded up is miniscule, but anyway I'm Con Kolivas. There is only one thing I'd like to point out about the whole interview. Ashton (the interviewer) chose the title that says why linux failed on the desktop without consulting me. If you actually read the interview I never once say that linux failed on the desktop.

    1. Re:That title was not chosen by me by ckolivas · · Score: 5, Informative

      It seems they were sensitive to my complaint and have changed the title of the story at apcmag now. The slashdot title for the interview and their misquoting was... unfortunate.