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."

18 of 995 comments (clear)

  1. It hasn't by jshriverWVU · · Score: 3, Informative
    Been using it as a desktop since 96, and have several friends who've been using it as a desktop for more than 5 years. 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.

    Now it's all in the marketing and politics, but on the software side it's there.

  2. Desktop Responsiveness by Compholio · · Score: 4, Informative

    The article really focuses on how quickly the desktop responds to user operations. I haven't personally found this to be a problem on the 2.6 kernels; however, to say that work is not being done in this area is unfair. Kernel Trap has had several articles on people working on CPU schedulers to address this problem, recently the Completely Fair Scheduler was merged to potentially solve this problem: http://kerneltrap.org/node/11773.

  3. Re:Correction: Why Linux has failed on YOUR deskto by slickwillie · · Score: 4, Informative

    It's been working fine on my desktop since Slackware '96.

  4. Re:Correction: Why Linux has failed on YOUR deskto by jedidiah · · Score: 4, Informative

    Utter rubbish.

    I use Linux as a PVR and it's more than up to the task. It can maintain adequate performance and responsiveness even when doing heavy number crunching. My MythTV boxes are quite often running at 100% cpu and a load average of 5 or 10.

    Forget "audio skipping".

    Let's try realtime video capture + realtime video decoding + 3 video transcoding jobs all going at the same time.

    I can even still use my mythbackend as a desktop with very respectable responsiveness while all of this is going on.

    "most people" are at a loss to see what his problem is.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  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. 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.

  7. the desktop PC is crap .. by rs232 · · Score: 3, Informative

    "At that time the IBM personal computer and compatibles were still clunky, expensive, glorified word processing DOS machines"

    "Enter the dark era. The hardware driven computer developments failed due to poor marketing, development and a whole host of other problems. This is when the software became king, and instead of competing, all hardware was slowly being designed to yield to the software and operating system design"

    "However, the desktop PC is crap. It's rubbish. The experience is so bloated and slowed down in all the things that matter to us. We all own computers today that were considered supercomputers 10 years ago .. So why on earth is everything so slow?"

    "I watched the development and to be honest... I was horrified. The names of all the kernel hackers I had come to respect and observe were all frantically working away on this new and improved kernel and pretty much everyone was working on all this enterprise crap that a desktop cares not about"

    "Or click on a window and drag it across the screen and it would spit and stutter in starts and bursts. Or write one large file to disk and find that the mouse cursor would move and everything else on the desktop would be dead without refreshing for a minute"

    --

    Why Linux Has Failed on the Desktop

    "Linux is burdened with 'enterprise crap' that makes it run poorly on desktop PCs", Zonk quoting SlinkySausage.

    Quoting him out of context and making him say something he didn't say ... for shame Zonk ... the headline is also misleading.

    --
    davecb5620@gmail.com
  8. Re:PVR != Desktop by AusIV · · Score: 4, Informative

    Utter rubbish
    I would avoid phrases like that if you are going to compare and embedded application to a desktop.

    And I would avoid correcting people when you don't know what you're talking about.

    MythTV is not an embedded application, it's a software application that runs on a general purpose PC. I, like the GP, have a desktop computer that runs MythTV. It can record two channels at once while flagging commercials or transcoding a third TV show while I use it as a desktop or watch a fourth TV show. The audio doesn't skip nor does the desktop feel slow (as the GGP suggested) until I'm functioning at 100% CPU, which is fairly rare.

  9. 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.
  10. Re:Maybe the GP is one of those 20%? by mhall119 · · Score: 3, Informative

    Have you tried Krita? It's a part of the KOffice suite, but I think it handles up to 32 bit and has CMYK and color profile support. Also, have you tried Gimp 2.3? I think it's added some more of these things that have been missing.

    --
    http://www.mhall119.com
  11. Re:Don't think so by munpfazy · · Score: 4, Informative

    But that's not the title of the article. It's just the title of a horribly written slashdot post. The article itself is pretty reasonably, and makes some excellent points.

    But, I suppose, "why linux has failed on the desktop" sounds catchier than "a well known kernel hacker muses on the relationship between software and hardware in PC innovation and discusses the problems he sees in the way the mainline kernel developers address desktop user needs."

  12. 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.

  13. 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.

  14. Re:Don't think so by a.d.trick · · Score: 4, Informative

    Two words: Direct Rendering

    The issues your describing have almost nothing to do with Linux and everything to do with your graphics card driver (or lack thereof). If you've ever run Windows XP on a system without your graphics card driver you will experience the same thing. In fact, in my experience it's quite a bit worse.

    There certainly are some things that could be optimized in Linux, but I those are relatively insignificant.

  15. choppiness by hawk · · Score: 3, Informative

    I would blame linux, not X :)

    While the difference isn't nearly what it used to be, FreeBSD has always had far less of that on the same hardware and the same version of X.

    Back on a 486 (and even my K6, iirc) linux could freeze for seconds under loads under 4, while at least the mouse kept working at 20 and up.

    The last time I compared on the same hardware (a couple of years ago), Linux was merely "annoying" under load, rather than the older "unusable"

    hawk

  16. Re:Independent creativity launches many things... by Movi · · Score: 4, Informative

    Seems someone didn't RTFA. CK is saying that while he was pushing the kernel to be speedy on the desktop, all the other developers were pushing it to be speedy on the server, sacrificing the desktop performance (and this is because all the others were big-corporation workers).

    And yes i know it isn't "either the desktop or the server" but i can see his POV beeing somewhat right.

  17. 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.

  18. Here's why (my case, real story) by ghostunit · · Score: 3, Informative

    I work as a programmer and use a linux server at work. I like a lot the idea of an open system where I can modify whatever, make scripts to control the behavior of the system, etc. So I try it at home and here's what happens:

    Mandriva 2006 worked on a friend's laptop so I try to install it at home. Works fine for a few hours until, for some still unknown reason, the headphones suddenly emit ear-jarring static at the maximum possible volume no matter what I'm doing or what settings I use. I try reinstalling. The problem repeats.

    A few months later Mandriva 2007 comes out and I give it a try. Installation finishes and on first boot-up the system freezes on the "setting hardware clock" step. Ridiculous. I try reinstalling, same problem. Try again, this time updating from Mandriva 2006. It works, but random stuff is broken. I trash it.

    But it's fine since there's this great new distro called Ubuntu that everyone's praising, right? I can't stand gnome so I download kubuntu and proceed to install. I live in Japan so I tell the installer to set the system language as Japanese. First thing I try is surfing the web, but the text is all monospaced and is hard to read. I try messing with firefox and the system settings, no good.

    Ok moving on, I need wine for my japanese word processor, so I go to the system admin menu and click on the wine icon. Tells me it will install it for me. Repository linking and such and such stuff. Result? "it appears you don' have wine installed on your system". I try installing it from the package manager gui and the command line. It doesn't even know it exists.

    Well, let's look some videos. I open them with MPlayer but an error message window pops-up intermittently non-stop telling me "cannot find PCM audio controller" eventhough the audio is fine. Ok, let's try finding help on the net. Only one forum post describing the same problem and the answer is, he knows how to fix it, but he won't bother because it's in the the man page. One hour later of messing with the program's config files the error message is no longer plastered all over my screen. Fine. Hey, how do I display this file's subtitles? not supported?

    Well, let's try Xine. Um, why is it that when I press the scan forward/backward key it moves like 2 minutes? I just want it to skip 5 seconds! shouldn't that be the default behavior? I dig into the config files. One hour later I find the key, but it will only give me 7 seconds. Fine. I'm content watching anime until weird artifices appear. Whole parts are covered in random green pixels.

    I try moving files around with the file system gui, konqueror. I can't move it because I'm not root. That would be fine, except there's nowhere I can give a su command to this thing. While doing whatever, I get random application crashes, a window with a kde gear with a bomb inside appears.

    I incorrectly shutdown the system and reiserfs won't start until it's rebuilt the tree or something. 2 hours later it's done. It once ruined one of my directory trees. NTFS wouldn't even bother me with any of this.

    Linux is slow to boot-up. Maybe Linux is fast but X is damn slow and clunky. When windows xp is done, Linux is just starting X, or finishing mounting the file systems.

    System display on kubuntu irritates my vision. I install the nvidia driver, set the refresh level correctly and yet I can't look at the thing for 15 minutes without starting to feel bothered. Mandriva was fine.

    Conclusion: Linux works well running things that have had a lot of work and testing in them, like apache and websphere, but in the desktop it's a mismash of poorly coded apps with an even more poorly integrated system beneath. Oh, and it wont't work with my tv card.