Major Linux Problems on the Desktop, 2020 edition
Most of the problems are valid, but some of them are... very much not, and haven&#x27;t been for years (and others are &quot;problems&quot; but absolutely not &quot;major&quot; by any stretch).<p>&gt; NVIDIA Optimus technology which is used in most laptops often doesn&#x27;t work well in Linux.<p>Then stop buying them.  My laptop (Intel + AMD) works fine w&#x2F; Mesa, regardless of which GPU I&#x27;m using (Intel iGPU by default, and AMD if I set DRI_PRIME=1 for a given application, e.g. in a game&#x27;s launch options in Steam).<p>NVIDIA&#x27;s terrible.  This whole section of the article seems to only describe issues with NVIDIA.  If you buy hardware that&#x27;s not shit, then lo and behold, you&#x27;ll have a better experience.<p>&gt; Open source drivers have certain, sometimes very serious problems<p>If &quot;sometimes&quot; means &quot;basically never&quot;, then sure.  I&#x27;ve &quot;basically never&quot; have had issues with Mesa on Intel or AMD hardware (I&#x27;m indeed running AMD hardware w&#x2F; Mesa on the very desktop on which I&#x27;m typing this comment, and it&#x27;s been absolutely painless out-of-the-box).<p>&gt; PulseAudio is unsuitable for multiuser mode<p><pre><code>    sudo killall pulseaudio
</code></pre>
Wow, so hard.  Plus, the hyperlink for &quot;multiuser mode&quot; describes exactly how to launch PulseAudio system-wide to address this very concern (even if they do nonsensically advise against it, because of course they do).<p>PulseAudio&#x27;s shitty, but this ain&#x27;t a reason.<p>&gt; There are still many printers which are not supported at all or only barely supported<p>And there are many more which work just about perfectly out-of-the-box, namely almost everything by HP or Brother.<p>&gt; Resume after suspend in Linux is unstable and oftentimes doesn&#x27;t work.<p>On a wide variety of old and new laptops on which I&#x27;ve installed Linux this has simply not been an issue for years.<p>&gt; I have personally reported two serious audio playback regressions, which have been consequently resolved, however most users don&#x27;t know how to file bugs, how to bisect regressions, how to identify faulty components.<p>Most users will report bugs to their distros&#x27; maintainers, who hopefully know how to file these bugs against the kernel.<p>&gt; 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.<p>Alt+SysRq+R, then Ctrl+Alt+F1<p>Wow, so hard.  Like, this works for even the absolute worst lockups (it&#x27;s the first step of the &quot;REISUB&quot; maneuver to cleanly reboot a locked-up Linux system).<p>&gt; X.org has no means of providing a tear-free experience, it&#x27;s only available if you&#x27;re running a compositing window manager in the OpenGL mode with vsync-to-blank enabled.<p>Sounds like a &quot;means of providing a tear-free experience&quot; to me.<p>And, like, does this <i>really</i> warrant the double-exclamation-marks?  God forbid you see a graphical artifact every once in awhile.<p>&gt; Applications (or GUI toolkits) must implement their own font antialiasing<p>Applications might have different anti-aliasing needs.  I see no problem with this.  And again, this absolutely does not warrant double-exclamation-marks.<p>&gt; Wayland doesn&#x27;t allow XWayland applications to change display resolution<p>Good.<p>&gt; Wayland doesn&#x27;t allow applications to exclusively grab mouse&#x2F;keyboard which is required for games and applications like VMs.<p>Were you <i>not</i> just complaining about X11 allowing this in the previous section?<p>&gt; Traditional Linux&#x2F;Unix (ext4&#x2F; reiser&#x2F; xfs&#x2F; jfs&#x2F; btrfs&#x2F;etc.) filesystems can be problematic when being used on mass media storage.<p>Okay, so don&#x27;t use them.  JFFS2 has been in the kernel since 2001.  F2FS has been in the kernel since 2013.  Both are commonly used for flash media.  You&#x27;re also free to use FAT like you would on Windows; that&#x27;s been in the kernel since forever.<p>Not that this seems like a real issue anyway, given that I&#x27;ve used ext2&#x2F;3&#x2F;4 and XFS on thumb drives with no problems at all.  ext2 is particularly useful if you&#x27;re concerned about journaling shortening the drive&#x27;s lifespan.<p>&gt; For the same reason you cannot modify your partitions table and resize&#x2F;move the root partition on the fly.<p>I&#x27;ve resized my root partition on-the-fly multiple times with zero issues whatsoever.  The fact that I use LVM on all my desktops&#x2F;laptops might help with that.<p>&gt; No unified installer&#x2F;package manager&#x2F;universal packaging format&#x2F;dependency tracking across all distros<p>The whole point of a Linux distro is to be able to differentiate on things like package management or system configuration.  No package manager is perfect for all use cases.<p>And besides, AppImage works on pretty much every distro that uses a reasonably-modern glibc, and literally doesn&#x27;t care about the distro itself.  If your concern is &quot;well I don&#x27;t want to have to build packages for each and every packaging system out there&quot;, then AppImage is your tool, so use it.<p>&gt; It should be possible to install any software by downloading a package and double clicking it<p>Which is totally possible, thanks to things like AppImage (well, you download it somewhere and mark it executable, but wow, so hard).  Hell, most distros support this even for .deb and&#x2F;or .rpm packages.<p>openSUSE also has 1-click installers, but it seems like they&#x27;ve fallen out of fashion (which is a shame, since they address this issue pretty dang elegantly).<p>&gt; Applications development is a major PITA.<p>Compared to Windows?  Linux (and Unix in general) is a breath of fresh air in comparison.  A PyQt5 app (for example) takes me a few hours (total) to design and develop in Linux... and then <i>days</i> of nitpicky troubleshooting to get it working on Windows in a way that&#x27;s reasonable for end-user distribution.<p>&gt; Packaging all dependent libraries is not a solution, because in this case your application may depend on older versions of libraries which contain serious remotely exploitable vulnerabilities.<p>And yet this is exactly what Windows and macOS encourage, specifically to avoid the need for users to manage libraries.  Like, you can&#x27;t have your cake and eat it too; either you&#x27;re gonna be dealing with dependency hell or you&#x27;re gonna need to package libraries with applications.<p>----<p>Continued below...