Lewis
Member
Major Linux Problems
or Why Linux is not (yet) Ready for the Desktop,
2012 edition
This is in 4 post below
or Why Linux is not (yet) Ready for the Desktop,
2012 edition
This is in 4 post below
In this document we only discuss main Linux problems and deficiencies while everyone should keep in mind that there are areas where Linux has excelled other OSes (excellent package management, usually excellent stability, no widely circulating viruses/malware, complete system reinstallation is not required, free as a beer).
This is not a Windows vs. Linux comparison however sometimes I make comparisons to Windows or MacOS as the point of reference (after all their market penetration is in an order of magnitude higher).
Probably you've heard many times that Android thus Linux is conquering the entire world by occupying the most of smart phones (which are indeed little specialized computers but not desktops). However there's one important thing to remember - Android is not Linux. Android contains the only Linux component - the kernel. So this document is not about Android, it's about Linux distros and Open Source Software included by these distros.
Feel free to express your discord with anything you don't agree with in the comments section.
Attention:
Greenish items are either partially resolved, or not crucial, or they have workarounds.
This list desperately needs to be reorganized because some of the problems mentioned here are crucial and some are not. There's a great chance that you as a user won't ever encounter any of them (if you have the right hardware, never mess with your system and use the software from your distro exclusively).
Desktop Linux problems and major shortcomings:
(For those who hate reading long texts, there's a TL;DR version below). So Linux sucks because ...
- Hardware support:
- Video accelerators/acceleration (also see the X system section).
- ! NVIDIA Optimus technology and ATI dynamic GPU switching are not officially supported on Linux, and they aren't even remotely usable with the implemented hacks to support them. At most you can switch GPUs using BIOS settings or change an active GPU on boot before running the graphical subsystem. Optimus issue is now semi-solved by Linux hackers (but still it's not supported out of the box by any Linux distro).
- ! NVIDIA and AMD graphics proprietary drivers don't work reliably for many people (crashes, unsupported new kernel and X server, slow downs, extreme temperatures, a very loud fan, etc.).
- ! No high quality open source NVIDIA and AMD drivers: 0, 1, 2, 3 (NVIDIA drivers are reverse engineered and provide only incomplete and slow 3D support, open source AMD drivers have quite poor 3D performance, newer AMD GPUs are often unsupported, like the current HD6XXX GPUs).
- Proprietary NVIDIA/AMD graphics drivers don't support KMS/VirtualFB and lag in features implementation (proper and full Randr support, full 2D acceleration, support for new X.org and kernel releases, etc.)
- The complete OpenGL stack cannot be legally implemented in/imported into Linux because many OpenGL features (like S3TC texture compression and floating point textures) are patented.
- No unified API for H.264 AVC/Microsoft VC acceleration. VDPAU is only supported on NVIDIA GPUs. Intel's VAAPI is still immature and it's not yet merged and accepted (by mplayer/ffmpeg/xine/etc.) AMD doesn't yet have a working implementation.
- A lot of users complain about video tearing (for desktop effects and while watching videos/youtube) - personally, I've never had this problem with NVIDIA blobs, maybe I'm lucky.
- Audio subsystem:
- No reliable sound system, no reliable unified software audio mixing (implemented in all modern OSes except Linux), many old or/and proprietary applications still open audio output exclusively causing major user problems and headache.
- Too many layers of abstraction lead to the situation when the user cannot determine why his audio doesn't work (ALSA kernel drivers -> ALSA library ( -> dmix ) -> PulseAudio server -> Application).
- (Applies only to certain sound cards, e.g. Creative Audigy series) Insanely difficult to set up volume levels, audio recording and in some situations even audio output. Highly confusing, not self-explanatory audio channels names/settings.
- (Almost resolved in 2012) By default many distros do not set volume levels properly (no audio output/no sound recording). Linux primary audio subsystem ALSA also "forgets" to set sane defaults upon initializing audio drivers.
- (Linux devs don't care about backwards compatibility - OSS is mostly unsupported nowadays, OSSv4 is no longer being developed. ALSA FTW - like it or not) Changing the default sound card for all applications (i.e. for old applications using OSS or ALSA directly) if you have more than one of them is a major PITA.
- Printers, scanners and other more or less peripheral devices:
- ! There are still many printers which are not supported at all or only barely supported (amongst them are Lexmark and Canon).
- Many printers features are only implemented in Windows drivers.
- ! Some models of scanners and (web-)cameras are still inadequately supported (again many features from Windows drivers are missing) or not supported at all.
- Incomplete or unstable drivers for some hardware. Problems setting up some hardware (like sound cards or TV tuners/Web Cameras/Wi-Fi cards).
- Laptops/notebooks special buttons and features often don't work (e.g. Fn + F1-F12 combination or special power saving modes).
- ! An insane number of regressions in the Linux kernel, when with every new kernel release some hardware can stop working inexplicably. I have personally reported two serious audio playback regressions, which have been consequently resolved, however most users don't know how to file bugs, how to bisect regressions, how to identify faulty components.
- ! Incomplete or missing support for many power saving features modern laptops employ (like e.g. PCIe ASPM, proper video decoding acceleration, deep power saving states, etc.) thus under Linux you won't get the same battery life as under Windows or MacOS and you laptop will run a lot hotter. Jupiter.
- Video accelerators/acceleration (also see the X system section).
- Software support:
- X system:
- X.org is largely outdated, unsuitable and even insecure for modern PCs and applications.
- No high level, stable and standardized API for developing GUI applications (like core Win32 API - most Windows 95 applications still run fine in Windows 8 - that's 17 years of binary compatibility). Both GTK and Qt (incompatible GTK versions 1, 2, 3 and incompatible Qt versions 2, 3, 4, 5 just for the last decade) don't strive to be backwards compatible.
- ! No true safe-mode for X.org server. Misconfiguration and broken drivers can leave you with a non-functional system, where sometimes you cannot access text virtual consoles to rectify the situation.
- ! Keyboard shortcuts handling for people using local keyboard layouts is broken (this bug is now 8 years old).
- ! X.org doesn't automatically switch between desktop resolutions if you have a full screen application with a custom resolution running. But since Linux is not a gaming platform and no one is interested in Linux as a gaming platform this problem importance is debatable. Valve is going to release Steam for Linux and they are now porting their games for Linux - but that's a drop in the bucket.
- ! Scrolling in various applications causes artifacts.
- ! X.org allows applications to exclusively grab keyboard and mouse input. If such applications misbehave you are left with a system you cannot manage, you cannot even switch to text terminals.
- Under some circumstances GUI becomes slow and unresponsive (video drivers performance, video drivers breakage (thus using software accelerated VESA drivers), notorious bug 12309 - it's ostensibly fixed but some people still experience it)
- ! Adobe Flash player has numerous problems under Linux (badly supported/unsupported video acceleration, video tearing, crashes, frames dropping at 100% CPU usage even on high end systems). In 2012 Adobe announced that Adobe Flash player wouldn't be supported any longer for any browsers other than Google Chrome.
- ! X.org server currently has no means of permanently storing and restoring settings changed by the user (xrender settings, Xv settings, etc). NVIDIA and ATI proprietary drivers both employ custom utilities for this purpose.
- There's no way to replace/upgrade/downgrade X.org graphics drivers on the fly (simply put - to restart X server retaining a user session and running applications).
- Font rendering (which is implemented via high level GUI libraries) issues:
- Quite often default fonts look ugly, due to missing good (catered to the LCD screen - subpixel RGB full hinting) default fontconfig settings.
- Fonts antialiasing is very difficult to implement properly when not using GTK/Qt libraries (Opera had been struggling with fonts antialiasing for a year before they made it work correctly, Google Chrome has had fonts rendering broken for the last eight (!) months already and the issue is still not resolved).
- (Getting better but we're not yet there) By default most distros come without good or even Windows compatible fonts.
- Fonts antialiasing settings cannot be applied on-the-fly under many DE.
- By default most distros disable good fonts antialiasing due to patents - more or less resolved in 2012 (however even in 2012 there are still distros which forget/refuse to enable SPR in freetype2).
- X system: