How FOSS Brought New Life To My Once Linux-Unfriendly Laptop
Article posted 23/05/2014
Many of you can probably relate to this: that machine, whether it be a laptop or a desktop computer, that just seems to hate any Linux operating system you throw at it. Poor performance, inefficiency or non-working bits of hardware or functionalities seem the norm whenever you try your favourite Linux distro on it to the point where you reluctantly accept this machine may only ever be usable on it's factory installed OS (often Windows, of course). I too had this experience but it turns out sometimes a little patience and the fast moving nature of FOSS (Free and Open Source Software) can turn things around.
An "unfriendly Linux machine" can be caused by various factors. A specific piece of important hardware that may be incompatible or lacking device drivers or even simply a combination of hardware that for some reason your operating system doesn't like or is conflicting. Though, to be fair that can happen even with Microsoft Windows (believe me, I've had it happen with an NVIDIA GeForce graphics card not playing nice with a VIA chipset on a motherboard) and isn't necessarily a Linux-specific problem.
Still, the reality is you may get a computer that seemingly just hates your favourite Linux distribution (or any Linux-based OS, as it were). While this may be depressing if you really really want said computer to run Linux, perhaps don't be so quick to toss that computer away!
In my case, the computer is a Sony Vaio E Series (VPCEE26FG) laptop. It features an AMD Athlon II Dual Core CPU (2.1Ghz), 4GB of RAM and an ATI Mobility Radeon HD 5145 graphics card (which is actually just a renamed ATI Mobility Radeon HD 4570 with slightly higher clock rates). This laptop is obviously some years old now but the specs are still more than enough for most typical tasks and even some (albeit very light) gaming. It originally shipped with Windows 7 as the operating system and in all honesty, after experience with this machine for the last few years I thought that may be the only operating system it would ever run. I thought this machine would only ever be Microsoft-powered.
Yes, the experience of running Linux on it was that bad.
First of all, it may not be too surprising to some given the graphics card I just mentioned. As an AMD/ATI powered machine, especially a laptop, I'm sure many of you could imagine the frustrations that can present. For the past few years, basically it's been a choice of using the FOSS ATI driver or the official proprietery AMD Catalyst "blob" driver. The former is, obviously, free and open source and included by default on pretty much any Linux distribution, supports a fairly wide range of ATI/AMD Radeon GPUs, generally is known to have smoother 2D desktop performance and is quite reliable while the latter is infamous for providing occasional problems when upgrading (as well as various odd bugs or glitches) and can be a bit inconsistent in regards to desktop performance but has generally been far superior in terms of 3D performance and HD playback to the free ATI driver. The other great advantage Catalyst has usually had over the free ATI driver is perhaps the most critical one for a mobile device like a laptop: power management.
This was one of the biggest problems in my case. Using the free ATI driver, my Sony Vaio sounded something akin to a jet plane taking off and ran very hot to the point where it was very unpleasant to be using or even be around. Performance was okay, at least in terms of general desktop usage, whether it be GNOME, KDE or Unity but it wasn't anything to overly write home about. HD playback and certainly anything fairly demanding like 3D applications (eg. games) would be choppy or just a plain no-go. Catalyst on the other hand, largely fixed the heat issue and brought the sound of the laptop's fans somewhere close to what I would experience when running Windows on the same machine. HD playback, 3D performance etc. also was much better.
However, it has to be said that with either driver, things never felt quite as "smooth" as when running Windows 7. Desktop performance was especially bad when using the Catalyst driver, especially when running Ubuntu's Unity, which felt extremely sluggish and slow to respond. To make things worse, even more lightweight desktop environments or standalone window managers still felt like using this computer was a more laborious task and under performing compared to the relatively behemoth Windows operating system still sitting on its hard drive. Not only this, sound was hit and miss. Unless a bleeding edge version of ALSA was available, sound was often not working at all or intermittent. I started to give up running Linux on this laptop and figured it would only ever be useful for running Microsoft Windows. As someone who was fast becoming much more comfortable with (and preferring) a Linux operating system, this was frustrating. So much so I largely stopped using the laptop and relegated it to being merely a spare machine for the household.
Fast forward to only a few months ago from the date of this article, I sit here writing these very words on that "Linux-unfriendly" laptop. Running Ubuntu 14.04 LTS. With the free ATI Radeon driver. What could have changed?
Well, one of the great things about a lot of popular free and open source software is how quickly things move and can change. It wasn't too long ago that dynamic power management was introduced into the free ATI Radeon driver, known (not ironically) as Radeon DPM. I had known the free ATI Radeon driver had been improving in performance due to some benchmarks and word of mouth, so to speak, around the internet but Radeon DPM was one of the biggest and most exciting improvements for me personally. It was testing the new Radeon DPM that led me to installing Linux once more on the Sony Vaio. Specifically, I installed Ubuntu 12.04 LTS and the only modification I made was install a newer (Radeon DPM compatible) kernel.
The result was as far away from my original experiences with Linux on this machine as I could have imagined.
The most striking thing was how fast and smooth everything was. Merely clicking on the "Files" icon to bring up Nautilus brought up the file manager almost instantly (where the same action previously was an oddly sluggish experience) and the same could be said for the response of the Unity Dash. Sound, even when connected to HDMI, worked flawlessly. Most importantly, thanks to the new Radeon DPM, the machine was instantly far quieter and cooler. In fact, it seemed as quiet and cool as it ever did in Windows 7. All this on the FOSS Radeon drivers, which I had always equated as being a loud and hot experience. Testing HD videos yielded surprisingly good results too - smooth and jitter free.
Ubuntu wasn't the only distribution I tested after this point either. Since Ubuntu 12.04, I have tested Ubuntu versions 12.10, 13.04 as well as other actual distros such as OpenSUSE and Fedora. All performed very, very well and besides distro specific differences or oddities the experience of using the laptop was just as good as my initial eye-opener with Ubuntu 12.04, in terms of performance and power management. Of course, all this is due to these distributions using modern FOSS, in particular the updates/upgrades to the Linux kernel and FOSS Radeon driver.
In the end, I was satisfied after enough testing that this laptop was now pleasant enough to use on a daily basis that it fit the requirement of being a portable machine I could take with me, which considering I was about to start moving around because of work commitment, worked out nicely for me. As such, I actually went back to Ubuntu 12.04, as it's a Long Term Support version, to guarantee maximum stability and a conservative amount of regular updates.
Which brings us to the present time. I have since upgraded the operating system to Ubuntu 14.04 LTS which worked like a charm (the upgrade process that is) and things have been very pleasant ever since. For a machine that once seemed like it hated a Linux based operating system, now everything seems to just work without a hitch. Well, besides suspending to RAM. But the machine won't do that any more in Windows either... as far as I can tell, it's a hardware fault and I learnt to cope with it and I can't blame Linux for that. In actual fact, Ubuntu 14.04's improvements meant that this thing is even faster and more responsive than it was. And yes, it feels as performant as Windows 7 ever did but is far quicker to boot and shutdown. What's not to love?
All in all, I think the message is that if you have the patience and spare equipment (i.e. the device in question isn't the sole computer you depend on), perhaps you don't need to throw away your "Linux-unfriendly" machine just yet. Especially if it's just a matter of some hardware support to catch up or improve, you could keep the machine for a little while longer and try out some of the latest FOSS technologies on it and see what has/hasn't improved. You never know, it may just be given new life.
For my Sony Vaio, that's certainly been the case. Who knows exactly how long I'll continue to use this aging laptop, but it's been a fine Linux-powered companion thus far and remain that way until I ever upgrade to a newer laptop. Of course in future, I'll be sure to actually try buy hardware that is much more Linux/FOSS friendly out of the box but I hope my experience shows that sometimes even the seemingly unredeemable can surprise you.