Puppy Linux

Quick, nimble, and full of interesting tricks, but when it comes to the innovative thinking behind this hand-crafted Linux release, Puppy is not content simply to follow the Linux pack.

July 18, 2005

9 Min Read
Network Computing logo

You're in for another nice surprise, however, when you realize what Puppy seems to be missing -- namely, nothing. There's so much software available with Puppy right out of the box (yes, it is also available on a pre-burned, boxed CD) that some of those hefty, multi-CD distro behemoths should seriously think about going on a diet.

If you heard that Puppy relied too heavily on obscure, oddball desktop software, don't worry: That's no longer a problem. In fact, I think Puppy is the first distro that a Linux geek can give to a Windows-enthralled friend without having to make any apologies or excuses. I used Mozilla and Firefox, along with Macromedia Flash, for Web browsing; ABIWord and PlanMaker as more-than-worthy Microsoft Word and Excel work-alikes; and plenty of other software that will keep you working -- or playing, if you prefer, since there are games here, as well.

Of course, Puppy offers a windows manager to run on top of its X Window System. In fact, it offers three: FVwm95, designed to mimic the Windows desktop, JWM, and iceWM. These aren't the usual suspects, and although they're all usable with Gnome and KDE environments, you admittedly won't find the same bells and whistles in these window managers that you'll find in a full-fledged desktop environment. But all three of these managers are built with size, speed, and simplicity in mind, which means they're the right choices for Puppy.

The Making Of A 'Puppy'

The name "Puppy" fits this distro well in many ways, but there's at least one big exception to the rule. When it comes to the innovative thinking that went into creating Puppy, this distro definitely does not follow the pack.Barry Kauler, the retired Australian university lecturer who built Puppy, didn't trot out another Debian clone or Knoppix knock-off. Instead, he built his distro file by file, looking for the best performance and the most desirable features without encouraging bloat. In some cases, such as Puppy's printing system, Kauler completely rebuilt the software to get what he wanted. Kauler was also extremely careful about his software development choices; after trying initially to use only GTK 1.2 and C applications, he later relented, adding GTK 2, C++, and the Qt3 library, allowing him to expand his application options quite a bit. In other areas, however, Kauler still held a firm line: Perl was (and is) out, while Tcl/Tk is in.

Puppy's unusual origins also reveal an interesting statistical kibble. Out of the 350-odd active distros listed at DistroWatch.org, less than 30 qualify as "independently developed," with significant kernel modifications and other major original contributions. Puppy is part of this short list, alongside familiar names such as SuSE, Debian, Fedora Core, and Slackware. Kauler has made an important and highly original contribution to the Linux family tree.

For all of its under-the-hood improvements, Puppy really left me sitting up and begging for more when I came across one of its most obvious innovations: The ability to burn a bootable, writeable CD that's capable of saving changes to user data, such as email, documents, Web favorites, or whatever you'd like to take along from session to session. I used one-shot writable disks, but you can also use CD-RW media. As a result, Puppy is the first Live CD also to provide persistent, portable data access -- provided you can squeeze your stuff into whatever leftover space is available on the CD. (Alas, Puppy does not appear to support rewriteable DVDs, at least not yet.)

As Puppy grew from its interesting, but not terribly practical, earliest stages into something far more usable, Kauler eventually tackled the issue of how to manage a growing number of applications within the full distro. He came up with Puppy Unleashed: a tarball with over 300 packages users can cherry-pick to get exactly what they want. Also, if you're interested in developing for Puppy (or if you're just hard-headed and old-fashioned) you can always install Puppy on your hard disk (more than likely with staggering amounts of room to spare).

Once you've installed Puppy, if you'd like to add some items you can, courtesy of PupGet, which is Kauler's official package management tool and companion to Unleashed, or DotPup, an officially-blessed, third-party selection created by other developers and available on the Puppy site.See Puppy Run

No matter what kind of hardware you run or what kind of operating system you prefer, you'll notice one thing about Puppy right away: It is really fast. I expected as much on the first system I used to try it out: A mongo P4 with a 3GHz CPU and a half-gigabyte of memory. Then I tried it on a relatively ordinary P3 with a 300 GHz- CPU and 256 MB of memory, including running some simple database sorts and playing chess with the computer looking ahead ten moves (and whipping my butt), in addition to using various other typical desktop applications. The older system still performed fine, with the exception of the chess match, which was now taking 20 minutes between moves, as opposed to three minutes on the newer system.

I was also able to get Puppy running nicely on machines that were even closer to the discard pile, such as a P3 with a small, slow hard disk, using as little as 64MB of RAM (using slow swapfiles as needed). This raises an interesting question: How low can you go with a hardware config that can still run Puppy in a semi-coherent manner?

The answer is actually pretty simple: Lower than anything you're likely to have sitting around in working condition. Kauler's implied minimum of 64 MB of RAM may be more of a suggestion than a "requirement," but I do think 128 MB is more reasonable for running current apps and avoiding too much swapfile thrashing. Similarly, Puppy will apparently run on antiques sporting 133MHz Pentium CPUs, although again, "upgrading" to a 266MHz processor will ensure that you're not running with a pooped pup.

Like pretty much every distro on ever created, you can find Puppy users with hardware compatibility horror stories, especially for things like Wi-Fi adapters, sound cards, and laptop systems. While the number and severity of hardware-related complains seems to be dropping fast, I couldn't begin to guess whether Puppy will play nice with your system's particular components.Having said that, I'll also say this: I had no problems on my two newest PCs (both Dell desktop systems), nor did I have any real problems on my legacy, mystery-meat PCs. Puppy recognized my hard disks, network adapters, USB input devices, CD and DVD drives, and several fairly common graphics cards. It did have a problem recognizing a USB add-on card in one of my legacy systems, but then again, noting else recognizes it, either. Is this because I'm lucky or because Puppy is good? You'll have to decide that for yourself -- it's not like you're going to need a refund or face a messy uninstall if things don't work out.

The more you work with Puppy and see the tricks its small size allows it to do, the more impressed you'll be. Other Live CD distros run most, if not all, of their desktop apps from the CD itself -- and since most optical disks suffer from relatively slow I/O, that means you'll spend some time cooling your heels. Puppy, on the other hand, loads everything into RAM, which is why a system with even an average amount of memory by today's standards will run with this distro as if something were chasing it.

Loading everything into memory allows Puppy to do another cool trick: If you want to play some music or maybe a DVD on a system with just one optical drive, now you can. Unless you're saving data to a writable-CD configuration, the system won't have to access the Live CD again.

Finally, if a LIve CD is just too late-twentieth-century for your too-hip Linux lifestyle, perhaps using a bootable USB "thumb" drive would be more your speed. This is easy enough to do with Puppy, using an easy, wizard-based setup process.

Works Like A . . . You Know WhatOne use for Puppy that comes to mind right away is its ability to serve as a flexible, easy-to-use thin client. On a local network, besides working with other Linux systems, Puppy makes it easy to play with Windows boxes, via rdesktop: an open-source version of the Windows NT Terminal Server client. Combined with another open-source product, the Remote Desktop GUI, you can access a remote Windows server (running Terminal Services) simply by firing up an X Window session and entering the IP address of the remote system. It's all drop-dead easy on a local network, and just a bit harder to access a remote system outside your firewall. And once you log in, rdesktop allows you to use any Windows NT/2000/XP/2003 server exactly as if you were sitting directly in front of it.

With the addition of CDW support, Puppy also allows you to travel with a ready-to-run version of Linux that you can tailor to any number of special tasks. If you wanted to take along your favorite tools for staying in touch, for example -- email, IM, Web access, even VoIP -- you don't necessarily have to take along a laptop PC. Puppy gives you an easy way to carry the same tools, fully configured and customized, and even with some of the data available, all on a single CD. Like I said: The more you play with Puppy, the more you find to like about it.

Free To A Good Home!

Where else would a reliable, well-built, extremely compact Linux distro like Puppy earn its keep? Given the number of resource-constrained computers popping up all over the place, from PDAs and smartphones to routers, wireless print servers, and home entertainment components, it's not hrd to think of places where Puppy, or a distro that looks a lot like it, might find a good home.

That's just fine, because Puppy is a distro that deserves a good home: It won't leave a mess, it has an impressive roster of tricks for a distro with such a small footprint, and maybe it can even help you get rid of those oversized dogs on your company's systems. Take a look, you won't be sorry -- but you might be hooked.For more Linux-related news, analysis and articles, visit the Linux Pipeline

SUBSCRIBE TO OUR NEWSLETTER
Stay informed! Sign up to get expert advice and insight delivered direct to your inbox
More Insights