Updated: December 11, 2009
They do not really care about your old hardware - this was my first choice for the title, but then I changed it for the sake of clarity. But you must give me credit for attention-efficient pseudo-journalism. I was thinking about a provocative, eye-catching title and this is what I came up with. If you're wondering what the actual rant is going to be about, it's about running modern, popular Linux distributions on old hardware.
The popular saying goes, if you have an old machine somewhere that can no longer possibly run Windows, do not throw it away, Linux will do just fine. This may be true. But there's a catch. Intrigued by my shameless self-promotion? Do read on.
There are several big problems with Linux that make the attempts to run on old hardware problematic. If it works, fine, you've just saved a relic from certain death and it should serve you well. But if not, you will probably be fighting with drivers until you wear off the letter marks on your keyboard.
A big issue that may arise is that of the dial-up support. The 100Mb cynics may scorn anyone who runs dial-up still in this modern age, but the truth is, there are many people worldwide who cannot upgrade their dial-up, even if they wanted, and many do not have the means to do that. This goes hand in hand with old hardware, because people with money usually replace their computers on a rather frequent basis.
Then, there's the issue of support. Many distributions offer very short-term support. Fedora gives you a meager year before abandoning you. Ubuntu will let you enjoy your distribution for 18 months before forcing you to upgrade or forfeit support. But that's only half the problem. Finally, there's the issue of graphic drivers, which is the one I want to focus on, the other half.
I have a machine, five years old, a T42 laptop with a decent 1.5GB RAM and a FireGL ATI graphic card. Some may call it antiquated, but it works rather fine and runs modern Linux distributions quite well. Hell, I have an old Barton with 512MB RAM and an Nvidia Gforce2 card stored somewhere, I see no reason why it could not run Linux if I wanted. It ran Windows XP SP2 without any problems at all.
Back to T42. Since Jaunty, I no longer see the Hardware Drivers popup on this machine when installing Ubuntu. The old prompt was there in Intrepid Ibex, but it vanished in the spring release of 2009 and has not come back since.
Please see the Graphic drivers & Compiz in the Jaunty review for more details. At first I thought this was a minor, transitional issue with the packaging of the right drivers, but then it turned out Ubuntu 9.04 was shipping with new Xorg and no longer supported old graphics card. Instead, it offered me an open-source alternative, which, frankly, is one big fat joke.
OK, so I assumed ATI has withdrawn their support for my old ATI and went to their website to check. Lo and behold, the card was there, along with many older models, including Linux drivers.
So, it was not ATI who has pulled the plug. ATI still support Windows 98 and 2000, even though they have been officially retired long time ago.
It was Canonical, deciding they did not want to deign with support decrepit machines. No one cares about people with perfectly decent computers, which just happen to be slightly old. Move or die, it seems.
But maybe I do not have money to move on? And maybe I still want to use the old machine and use it well, with 3D acceleration as intended and not suffer the DOS-era quality of would-be open-source drivers? Why my T42 has to be killed when it still has years of hard work ahead of it. Just because it's five years old?
Maybe we can draw a cruel analogy to people. Don't old people deserve support? Or maybe we should retire them and not give them what they need? It's such a hassle supporting them, right?
So what we have here is a problem. Ordinary users do not get 3D graphic drivers for their old cards, crippling the performance of their machines. There are ways to overcome the issue, which I'm going to show you here.
How to install graphic drivers for old, unsupported hardware
You can solve the problem two ways: 1) Install the drivers manually; see my Linux commands article. Not recommend for most people and will require reinstallation any time there's a kernel update. 2) Add unofficial, unsupported repository to your Software Sources, enabling the extra drivers that you need. We will try the second method here.
Enable extra repositories
I have written this in my Jaunty updates article. Nothing new, but it's worth refreshing the memory and showing an actual example how to do it. Go to Ubuntu-X Personal Package Archive (PPA). This PPA has updates for graphical drivers and libraries, not officially supported by Ubuntu. This means bleeding edge and crusted blood edge.
You need to add the PPA to your sources and add the key, so that when you run updates, you don't get warnings and errors. The exact instructions how to do that are explained in the PPA. If you need additional help, please tell me, I'll include them in this article.
Install the drivers
Open Synaptic and search for the right drivers. To do that, you will have to identify your actual graphic card. Either use a brochure you've got with your laptop, if any, or execute the lspci command in the terminal window. Something like:
sudo lspci | grep graphic
Or if you want more details, sudo lspci -v. This should tell you what your card model is. In Synaptic, locate the right one. In my case, it was not very easy. I had to go through the procedure twice, because I installed the wrong drivers the first time. Searching for ati graphics driver gives a lot of results.
Eventually, I found what I needed. Notice the lack of the Ubuntu icon near the package. It's not supported by Ubuntu. Shame, really.
After installing and rebooting, I started exploring. I checked the FPS performance using glxgears, to see how well the card was performing now. The results were in between Intrepid and Jaunty, but it was a good start. Just an indication, mind.
Compiz is working once again!
Compiz was working just as well it did in Intrepid. Combined with somewhat better overall performance in Karmic, this yielded an even better response overall.
Finally, I had Compiz back. And it's doing quite well on the five-year old machine, as it is supposed to. I changed the desktop image, added Avant, added Compiz Fusion, changed the Windows decorations to Emerald and pimped it up with the lovely Radial theme. Things were back to what they ought to be.
There are many facets to this problem, not the least of which is lack of communication. Users are not told in advance that the new version of XYZ is not going to support their older hardware, giving them no time prepare. Instead, one day you upgrade your distribution to a newer edition and things stop working.
The ultra-short support cycle, which is not aligned with any vendor or anything, is simply ridiculous. If ATI can afford to support drivers for cards released an age ago, then it would be at least decent from Linux distribution vendors and developers to do as much. All the effort invested in developing useless open-source graphic drivers could have been funneled into making sure the repositories include support for old hardware. Some they giveth, some they taketh away - or something.
Ubuntu 9.10 is not all about taking away. Not at all. Let's put aside the problems I've observed, which are accidents and bugs, not deliberate decisions to not support certain hardware. Ubuntu 9.10 runs faster than its predecessors, including old hardware. It's snappier and the response times are shorter, including network connectivity and sharing with remote machines, adding a fresh feeling of agility to the distro.
But then, a cherry, your old machines no longer count. Ubuntu will run fine, provided you don't try to be cheeky and run Compiz or anything alike. As long as VESA or any open-source alternative to ATI and Nvidia drivers is good enough for you, then you won't know the difference. But if you're looking for what used to work just one year ago, with the still fully functional and supported Intrepid, you may get a nasty kick in the proverbial nadgers.
This goes well with the overall attitude in the Linux world, where old things are good enough, as long as they are new. Dial-up, old graphics card, they are slowly forgotten as developers put them away, because they are not exciting enough to dabble with.
Not everyone can buy new machines. Don't abandon these people! Because, do you know what the alternative is? People will not buy new machines; they will install pirated versions of Windows and keep running as they are. Just some food for thought - and a tutorial to help you get old hardware working again!