The Year of the Linux Desktop is Further Away Than Ever Before
An incredibly long diatribe of my struggles moving back to Linux
I'll say right off the bat that Windows is the not the ideal OS. I recently set out to put a Linux distro back on my laptop after growing frustrated with my Windows install, mostly stemming from the GTX 1050/Optimus setup on my Asus FX53D. GeForce drivers have been incredibly buggy, Photoshop and other Creative Cloud software would crash multiple times an hour after switching back and forth between the Game Ready and Creator Ready driver lines. Also even when it is “inactive” the 1050 seems to stay engaged at all times even though the iGPU is supposed to be the main composite, so battery life is often little more than an hour which is too low even for a gaming laptop.
Obviously there's nothing on the open source side that could replace the Creative Cloud suite so I'm stuck with the Windows install but the general instability with Optimus was enough for me. After several years I was going back to the Linux desktop.
But what distro? Last I used Linux regularly I was using a combination of Ubuntu and Chromium OS Lime (RIP) so obviously things would have to change. I was opposed to vanilla Ubuntu because even back in the day the amount of bloat in the default install drove me away from the distro. And while the goal of this install was to have a light desktop for mostly web browsing and messaging, just a lone web browser was a little too far for me. I was interested in Manjaro but decided an Ubuntu-based distro was going to be more familiar territory. I wanted to run Linux, I didn't want to fix Linux. I've heard good things about Linux Mint, uh sure let's go with that.
Except Linux Mint never booted for me. I couldn't get the install flash drive to actually make it past a black screen. And I coulda sworn I was able to boot into GParted when cloning my SSD so it's not like this thing refuses to boot to any Linux distro...
Uh I dunno. Maybe Pop OS will work better. It is maintained by a system builder so it's gotta have better hardware support than the competition...
...Hm. Still black screen.
So after hours of smacking my brain it turns out this was my problem.
So I guess in the intervening years since I last used Linux UUI has become complete bunk. I don't know if it's because the way install ISOs are formatted have changed, I don't know if it's because UEFI has introduced new incompatibilities. I was able to put a Windows 10 ISO on a flash drive fine with this so who knows what its problem is but it's no good anymore.
People recommend Etcher... Why? This thing runs on Electron. Why the hell would you want a system utility to be run on Electron? Last time I tried Etcher it couldn't even detect that my flash drive ran out of space and left me with a broken install.
Don't use Etcher. Rufus is pretty good though.
Pop OS's installer tries to simplify some things about Ubuntu's installer but there is one giant deal breaker...
Where the hell is the dual boot option? Your average user is not going to get rid of Windows. I'm certainly not going to get rid of Windows, not so long as Adobe has me by the balls. The “Custom Install” is not self-explanatory at all. I managed to resize my partitions but I also messed up and didn't properly turn on disk encryption. How is your average user supposed to figure out how to manually repartition their drive for multibooting. (We'll get back to the topic of partitioning and idiot-proofing later...)
So finally we're installed. Hey man beyond partitioning that was pretty painless. I wasn't trying running around installing my NVidia drivers, I wasn't stuck on my ethernet adapter because I have to separately install my wifi drivers. And with a lot less bloat!
Ok, some bloat. Who actually uses Libreoffice? I've been using nothing but Google Docs for the last eight years. At this point Google Docs' only real weakness is that nothing will ever compare in power to Excel. Certainly not Libreoffice. But that's easy enough to uninstall it seems like it's smooth sailing from her-
GNOME 3 Sucks.
I have some questions for the designers of GNOME 3. I'm sure they tried their best to modernize GNOME. Anything's better than Unity (according to the majority consensus, I don't necessarily agree but I can't exactly install Unity anymore so oh well...) and it's not all bad. However...
- Why does the Super key take me to an exploded view of all my open applications instead of something useful?
If I need to switch between applications I'd rather use alt-tab or the taskbar. Moving the applications dashboard to Super+A is a terrible idea because I'm going to use the dashboard a lot more often than I'm going to need this Win+Tab exploded view.
- Why is the taskbar useless? 99.9% of all applications I use are not going to show me any useful options in the taskbar dropdown menu unlike in Windows where developers disciplined themselves around Windows 7 to put quick actions in the taskbar. So if I don't even get that, then why does by default the taskbar only show me one application at a time? There's so much unused space at the top that could be used to show all my open applications instead of me having use up even more space at the bottom for some extension that gets proper taskbar functionality back.
- Where is 150% zoom? I guess this complaint is more towards System76 since other friends have assured me that there does indeed exist a level of application scaling between the puny 100% and the ginormous 200% but on this install I ain't seeing it. I'm also not seeing a way to control application scrolling per-monitor like in Windows.
- Notifications are a boondoggle. Well, they're bad in Windows too but that's no excuse. I don't know who both at Microsoft and GNOME decided “oh yeah, applications should be allowed to keep a notification on screen indefinitely that's totally good UX and not abusable at all” but they're morons. And so is whoever worked on Chrome that thought the same thing. Chrome, Google Hangouts in particular, is the #1 abuser in indefinite notifications. It's incredibly annoying, I don't want have to stop what I'm doing to wave off a toast. GNOME however gets the slight edge because for some god damn reason Windows disables interacting with anything from about a 10 pixel radius around the toast. And also won't let you move the toast away from the bottom right which is right where a bunch of apps tack on really important buttons!
- Edit 9/30/19 I previously removed a section from this blog complaining that alt-tab and other task switching functions only opened up one window only to realize that I misread an extension called “Alt tab: raise first window”. But on further realization turning this off does not resolve my fundamental problem: alt-tab by default only controls all windows of each application, controlling individual windows requires an extra keypress. Why? This is terrible when I need to switch between different Chrome tabs. This is such a bad UI idea in a day and age when 80% of your work is done in the browser.
Alright this is a big one.
Why is the mouse so god damn awful?
Maybe this isn't a GNOME problem but it is a big fat problem. Using a mouse or touchpad is just a pain in the ass in Linux. No, specifically scrolling with a mouse or touchpad is a pain in the ass. I use a Microsoft Comfort Optical Mouse 3000. Maybe not the best mouse but it's ergonomic and nice to use. Except in Linux.
See the Microsoft Comfort Mouse has an optical scroll wheel with smooth action instead of a traditional scroll wheel with discreet clicks across the wheel. Bad for games, sure but for web browsing it is a dream. I can fly through webpages without losing tracking accuracy because Windows' mouse driver tracks the scroll wheel at a higher resolution.
Scrolling is a giant pain in Linux. For one it's slooooooooow. There's no way to change scroll speed. Well, not elegantly, at least.
imwheel is a mouse service you can tack on top of the existing mouse server that lets you change things such as how many lines one wheel click scrolls through. But there's limitations to this. For my purposes, I can't figure out how to change the resolution of the mouse scroll itself for mice like mine that are linear instead of discreet clicking wheels. Worst of all...
It breaks the trackpad! Pop OS does get trackpad scrolling mostly right (except for the lack of scroll inertia) but imwheel completely breaks it because the trackpad scrolling and mousewheel scrolling are operating on completely different tracking resolution.
(By the way, this is what trackpad scrolling should look like.)
(...But trackpad scroll inertia does work in a bunch of system GNOME apps. Why in the world would such a fundamental part of the user experience be application dependent? Why aren't other applications implementing scroll inertia?)
I'm not the only person to make these observations on Linux's deficiencies in its mouse input. There's a great blog by Pavel Fatin called Scrolling with pleasure that goes into much much greater detail into the ways mouse I/O can be much better. It's from two years ago and the fact that many of his observations haven't been implemented yet is a shame. It seems with some sects of the Linux userbase, using a GUI or desktop manager as little as possible is some point of pride and elitism. As if people who use mice and need graphic interfaces are noobs who just aren't smart enough for Linux. This sect is really small but they are vocal nonetheless and it contributes to the air of elitism around Linux.
Ah speaking of graphics... why am I getting a black screen again?
Well that's not good. Far as I can tell the last time I booted up my Pop OS partition it wanted to upgrade the NVidia drivers among other packages but ran out of space. See, I was under the presumption that 10 GB of space was enough room for a light Linux install in 2019. Clearly I was wrong. I don't know why being unable to upgrade packages due to disk space should brick a system. If I run out of disk space, shouldn't apt stop trying to upgrade it and leave it be? My system shouldn't die on me just because I can't upgrade to the latest packages.
Ah well no more bitching. Let's install this thing again...
The installation process when making a multiboot partition should really be a lot more idiot proof. It's not unreasonable for a user to want a light install especially when they are using Linux only as a secondary OS and want to keep as much space on their drives as possible for the Windows install. Maybe the installation should soft-enforce a minimum size for the /home/ partition, or at least when I tell it I want /home/ to be 10GB it should tell me “Hey dumbass! Your install is liable to break from updates if you make it this small!” It also really should not be this hard to encrypt a multiboot partition. I tried to get my /home/ partition encrypted this time around but when I made it an encrypted partition in GRUB the Pop OS installer kept complaining that it couldn't decrypt the partition, even after I gave it the decryption key. I give up, any information I need securing is already file encrypted or on a cloud account I don't care anymore.
Maybe I didn't make the install light enough. I mean I made it as light as possible, downloads were going to my Windows download folder instead, I removed a shitload of apps including the mail client which I have no use for since I use GApps. But maybe GNOME is not light enough... And also I fucking hate GNOME. What's even lighter...
Oh yeah I should install lxde instead since it sips memory and disk space. I've used lxde before back in the day when PC manufacturers were desperately trying to make netbooks a thing, this should be easy to slip back to!
I had to reinstall Pop OS for the second time because for whatever reason installing lxde broke my install. I don't know how. I don't know why. I tried to follow System76's guide on installing additional window managers... Now here's a problem, the guide says to choose lightdm on Ubuntu 16.04 and not to use gdm or sddm. It says it's fine to choose those on later versions. I don't think the lxde installer gave me a choice of using lightdm and why is this article talking about Ubuntu anyways? Isn't this guide specifically for Pop OS? Clearly there is documentation that needs to be revised.
So I guess I'm stuck with GNOME 3 now. It's not... horrible. But it took some elbow grease and a lot of extensions to get there.
Too many actually. A lot of these things shouldn't be extensions, they should be default. Desktop icons should be default, otherwise why even still have a desktop? The Window is ready notification is the most annoying thing on earth. Even Windows 10 has a clipboard history by default now, that shouldn't have to be an extension.
While I'm still bitching.
- How hard is it to disable an audio device once it's disconnected? I connect my laptop to my monitor and speaker system through HDMI and whenever I disconnect it I'll move out, try to play some video, get confused as to why no audio is playing, and discover it's still trying to serve audio to the HDMI device.
- I disabled the login screen since I'm the only user of the install but how it logs you into your session is so slapdash it makes me actively worried for my security. The keyring popup is often the last thing to show up once GNOME is loaded. The desktop, Teamviewer, and Discord, all load before I'm prompted to login. In the process of recording video for this blog I logged into Pop OS and managed to open Chrome and browse to a tab all before the keyring prompt finally took its time to stop user input before I ever logged in. What? This is incredibly stupid. The login prompt should be the first thing to load before anything else. In fact, nothing else but GNOME should be able to load before I've logged in. Sure I could re-enable the login screen but that's to me unnecessary steps added to booting up to a single-user install. Why even have the option to begin with?
- Can Pop OS please stop moving my NTFS mounts between /dev/ and /media/? Stop that. I can't use my Steam install folder without readjusting it every time I reboot.
- I have no idea why the disks in my external USB enclosure keep spinning even when they are connected but unmounted in Pop OS. It freaks me out to the point I keep the enclosure powered off until I actually need it.
- I don't get why Pop OS's auto timezone detection seems to think I live in LA. I don't. I live in Atlanta, three hours ahead of LA. When I turn off auto timezone detection and manually change it to EST it's messed up my BIOS clock so that whenever I open back up Windows I'm three hours ahead.
Going back to Linux has been more of a pain than a solution to my existing problems in Windows. Every time I boot it up it seems I find one more frustrating thing to nag about or one more part of the system that breaks out of nowhere. Some people find constantly tinkering with their OS appealing and it does to me but not anywhere to this extent. GNOME 3 has numerous UX deficiencies compared to Windows 10 and Mac OS, many of them regressions compared to predecessors like GNOME 2 and Unity (RIP). It is so frustrating to use I cannot recommend it despite its more mature device and software support.
It's been years since the meme of “The Year of Desktop Linux” first became popular that I'm skeptical that this mythical day that Linux on desktop becomes mainstream will ever arrive- even with exciting initiatives like Proton for software compatibility and relatively easy to use distros like Pop OS. I mean, I can't even get Proton to work on my Steam install because it doesn't seem to like sharing the same install folder as Steam for Windows. Ugh.
Does this mean I'm removing Pop OS from my drive? No. I get that I've spent 2.5k+ words bitching about it but there are things it does that I cannot live without.
- Being able to remove my 1050 from the equation entirely means I get a (still kind of pathetic) three hours of battery life instead of the measly one hour I've been getting lately.
- apt-get is godlike. Updating is so fast, so easy, and often doesn't require a reboot. apt-get is what every auto-update OS function should strive to be. Windows Store has got jack shit on it.
- Guake is so good man!!! I love being able to pop open the terminal anytime and hide it quick. It's such a giant productivity boost, someone should have the balls to make default in a distro.
- Disk and partition management is still leagues better on Linux than on Windows. Drive recovery is a cinch, being able to bypass the permissions system on NTFS is a godsend, imaging partitions is a snap. Of course ext4 isn't and probably will never be natively supported in Windows... A flash drive with GParted should be in every technician's toolbox.
- For all my headaches, Linux is still much leaner than Windows. It sips battery, it changes less stuff behind your back, and it's usually easy to know how something broke even if you often can't fix it without reinstallation.
But is it the Year of the Linux Desktop? No. It probably will never be.