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