Why Linux Has Failed on the Desktop 995
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."
It hasn't (Score:4, Informative)
Now it's all in the marketing and politics, but on the software side it's there.
Performance, not ease of use (Score:3, Informative)
Desktop Responsiveness (Score:5, Informative)
Re:Correction: Why Linux has failed on YOUR deskto (Score:5, Informative)
Coral Cache (Score:3, Informative)
Re:Correction: Why Linux has failed on YOUR deskto (Score:3, Informative)
Virtual Desktops
Bash (not sure what shells OS X comes with)
Beagle (no sure how spotlight compares)
Apt
Beryl (ok, not really a need, but a definite want)
Evolution
Re:Correction: Why Linux has failed on YOUR deskto (Score:3, Informative)
Re:Correction: Why Linux has failed on YOUR deskto (Score:4, Informative)
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.
Re:Does this guy know what he's talking about? (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.
PVR != Desktop (Score:1, Informative)
I would avoid phrases like that if you are going to compare and embedded application to a desktop.
I use Linux as a PVR and it's more than up to the task
A PVR proves nothing about a desktop environment. A PVR is a far simpler application and easy to tune for since it is an embedded application. A desktop has a far greater load and a much more unpredictable one at that.
MS does this, why not copy them? (Score:5, Informative)
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.
the desktop PC is crap .. (Score:4, Informative)
"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
"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
Re:PVR != Desktop (Score:5, Informative)
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.
Re:Don't think so (Score:5, Informative)
Re:Correction: Why Linux has failed on YOUR deskto (Score:3, Informative)
It works. I had more trouble getting my current printer to work with XP than I did in Ubuntu.
I prefer the Gnome interface. I have a few panels with different purposes, and each one has a hide button (but no arrows). I keep them collapsed on the left side of my screen. It's become instinctual for me to click in certain places for shortcuts, the menu, virtual desktops, etc.
This one could probably be done in Windows with some work: The left Windows Key minimizes all windows, and the right one mutes sound. I know Windows+M does the former in Windows, but this is a single key, not a combination. Also, scroll lock opens a file browser, etc. Shift+Left-Win_key opens Firefox, Shift+Right-Win_Key opens Thunderbird.
In my experience, Linux IS more stable. And as I'm the kind of nerd who installed Slackware and spent eight months in it, it should be apparent I don't have a problem tweaking my system.
The thing is has over OS X is pretty simple: Linux runs on my desktop PC. I'm sure I COULD get OSX on here, but I COULD hack a boat engine to run in a car. It doesn't make it a good idea.
Re:Utter rubbish (Score:3, Informative)
On Slashdot, it's not cross-platform if there's a single platform that it doesn't run on. See the various complaints about Flash not being "cross-platform" since it doesn't natively run on 64-bit Linux.
But seriously, most of the time when people say "cross-platform," they mean that it should run natively on Windows, Linux, and OS X. You can often force Linux applications to run on Windows if there's not a native port, but it's usually a pain in the ass.
Re:Maybe the GP is one of those 20%? (Score:4, Informative)
Solution (Score:2, Informative)
nice -n 10 totem
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.
Re:Don't think so (Score:5, Informative)
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."
Re:Don't think so (Score:5, Informative)
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.
Slashdot got it wrong, but it's a real issue. (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.
Re:Yes he is (Score:1, Informative)
Enterprise's are the reason why the majority home computer is Windows. It is easier for the average or normal user to only have to learn ONE OS. Not the half dozen different OS's I multi-boot into.
That really is the whole point of why Linux has trouble on the Desktop. The average user doesn't understand how to modify the Windows Registry. Why would they understand the 'nice' command?
Re:Exchange, bitches! (Score:2, Informative)
Integrates with Outlook clients, even.
Way more features than Exchange, too. Better, faster webaccess... groupware, collaboration, doc management, company forums... you name it.
I've been replacing Exchange servers with it all year long.
Re:Applications (Score:2, Informative)
Well if you purchased the retail version of Vista you can go to http://www.microsoft.com/windows/products/windowsv ista/editions/64bit.mspx [microsoft.com] to get a free dvd of the 64 bit version. It also appears that you don't get a new product key so if you have access to the 64 bit media you can just use your 32 bit key to install 64 bit vista. Though I have no idea if this works or is allowed with an OEM copy of Vista.
This might work for you until there's an update to Ubuntu which allows your 8800 GTX to be fully supported.
Re:Check out your hardware first. (Score:3, Informative)
What I do is, I look for the sweet spot.
That is: 4 cores is an improvement over one, certainly. However, back when I bought this computer, one core running at 2 ghz or 2.4 ghz was something like twice to three times the price of one core running at 1.8 ghz.
In other words, I'm not telling you to wait 6 months, I'm telling you to buy the hardware that was cutting-edge 6 months ago, which is 80-90% of what's cutting-edge now, but half the price. It also means you can do this twice as often as you could afford to before.
Generally, I find that this just-behind-the-curve hardware is almost as good, costs much less, and is more likely to be physically more reliable, as well as have better drivers in any OS.
I'll agree with you there, and in your situation, it is kind of worse -- but take your soundcard. There are all kinds of high-end soundcards supported by Linux.
So, in some cases, bleeding-edge hardware really won't be supported. In other cases, it's that you can get hardware just as good at about the same price that will be much better supported, if you do the research ahead of time.
And if that research takes too much time, buy a Dell with Ubuntu and let them do the work for you.
By the way -- would it really cost $200 for you to upgrade to 64-bit, or is that the full version? Is it possible to buy just an upgrade?
Re:Don't think so (Score:3, Informative)
A few years back, when Sun was pushing its Linux desktop, it made its sales reps (at least the ones in the upper midwest), use it on their business laptops. Within the year, every one of those laptops had somehow mutated into PowerBooks running OSX, with far happier reps using them. I somehow transitioned from a dual xeon to an old G4 without noticing, because of the apps and seamless experience which just let me work, which is what I suspect you've seen with your Powerbook as well. Someome took the time to add some polish, and it shows.
Re:Don't think so (Score:5, 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.
choppiness (Score:4, Informative)
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
Re:Independent creativity launches many things... (Score:5, Informative)
And yes i know it isn't "either the desktop or the server" but i can see his POV beeing somewhat right.
Re:That title was not chosen by me (Score:5, Informative)
Here's why (my case, real story) (Score:3, Informative)
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.