For several years Puppy Linux has been breathing life into old and dated hardware, but instead of being just another minimalistic distribution, Puppy boasts smart features that save resources without cutting down the number of applications. The latest major Puppy release, Puppy 3.00, continues this trend by making the less than 100MB distro binary-compatible with Slackware 12 and providing other enhancements.
According to Puppy's main developer, Barry Kauler, one of the main goals for Puppy 3.00 was to be able to install Slackware packages by having all the necessary libraries from Slackware 12, such as Glibc 2.5, GCC 4.1.2, and GTK 2.10.13, in Puppy. But Kauler clarifies that borrowing libraries from Slackware doesn't make Puppy a Slackware clone. Puppy remains a unique distro with its own custom boot, configuration, and shutdown scripts, which have been totally rewritten for 3.00.
Good hardware detection
One drawback of Puppy's from-scratch approach has been lack of hardware support, compared to other minimal distros such as Damn Small Linux (DSL), which is based on Knoppix. In an interview more than a year ago, Kauler mentioned how, starting with Puppy 2.0, the distro was bridging this gap.
Puppy 3.00 has impressive hardware detection capabilities. It has no issues detecting common hardware such as wireless cards (both my external Linksys wireless card and the built-in Atheros adapter are detected and configured), monitors, graphics cards, external USB mice, keyboards, PS/2-to-USB converters, and more.
Puppy ran on all my computers -- two Celeron laptops with clock speeds of 1.3GHz and 1.7GHz and an E4400 2.0GHz dual-core desktop. But it failed to boot on an E6300 dual-core machine with a DG965RY motherboard because it was unable to find the CD-ROM drive. There is a well-known issue with this motherboard's Marvell PATA IDE controller, but Puppy 3.00 packs Linux kernel 18.104.22.168, which has the drivers for the Marvell controller.
When I eventually booted Puppy on that machine using the USB pen drive, the distro was unable to correctly display the 19-inch LCD's 1440x900 widescreen resolution. While Puppy 3.00 configures and runs everything on the oldest machine I try it on -- the 1.3GHz Celeron laptop with 256MB RAM, a wired Ethernet card, and standard 1024x768 Intel graphics -- there's a Puppy 3.00retro version with an older kernel (22.214.171.124) that's designed to support dated hardware which might not run on the newer kernel.
Loads of apps and easy to use
This minimal distro is big on applications. It includes several text editors, the AbiWord word processor, a PDF reader, PDF converter, Gnumeric spreadsheet, DidiWiki for taking notes, a calendar for tracking events and appointments, Pidgin for IRC and IM, Gxine media player, CD and DVD rippers, Transmission BitTorrent client, Axel download accelerator, Mozilla Seamonkey suite, and several network tools to monitor traffic, install firewalls, set up Windows shares, and configure wireless connections.
In addition to these stock applications, Puppy also has several custom tools to configure and set up other hardware devices. Puppy also has its own package manager, PETget, to install official and unofficial user-contributed Puppy packages. With Puppy 3.00 you can also grab Slackware 12 packages, convert them into .pet using the tgz2pet utility, and install them via PETget.
Then there's the Puppy universal installer, which helps install Puppy on IDE/SATA or portable USB hard drives and flash drives. You can also customize the distro and install applications without installing Puppy on to any permanent storage device. Puppy includes two remastering tools that will take a snapshot of your current Puppy instance and either give you a custom ISO or the option to burn it onto a CD-RW.
A few quirks
Like every distro, Puppy has its own quirks and twists. On my systems Puppy 3.00's desktop user interface behaves abnormally after prolonged use. Most common are the gray areas left by windows and menus after being closed. Another minor irritant is the lack of file associations.
One major pitfall in Puppy is that you only get one shot at saving files at shutdown. If you're using Puppy, thinking you'll let the distro save everything in a folder on some partition, and it slips your mind to mount it before you shut down, you'll lose all your work! Puppy should allow users to mount partitions if they aren't mounted before running the file save wizard at shutdown.
Nevertheless, Puppy Linux is a fantastic distro for bringing old computers back to life. Even in the less than 100MB ISO, Puppy 3.00 packs an application for every task -- from browsing the Internet and chatting to writing reports and spreedsheets to watching and ripping DVDs, configuring network devices, and monitoring firewalls. If you need still more, Puppy 3.00 can also install every application available in Slackware 12's repository. These benefits more than balance out the distro's minor quirks.