For those of you just joining us, here's a little background on the PowerPC architecture from the PowerPC FAQ, maintained by Gary Davenport and readily available at linuxppc.org.
[2.1] What is PowerPC?
PowerPC is an architecture which was jointly designed by Apple, IBM, and Motorola. The PowerPC architecture specifies an instruction set architecture (ISA), which allows anyone to design and fabricate compatible PowerPC processors.
The PowerPC architecture is derivative of the IBM POWER architecture, used in IBM's RS/6000 workstations.
[2.2] What is POWER? How does it relate to the PowerPC?
The POWER architecture was introduced by IBM for use in its RS/6000 systems in early 1990. Its name an acronym for "Power Optimization With Enhanced RISC", POWER was one of the first superscalar RISC designs. It was originally a multi-chip implementation, but diversifying workstation needs prompted work on a single-chip version.
As Apple came to IBM for its microprocessor needs, the need for a single-chip RISC processor became urgent, and the work done for the single-chip POWER derivative was polished and paired with Motorola's 88K processor bus. This was the PowerPC 601, which made its debut in the very first Power Macintoshes on March 14, 1994.
The POWER family proper advanced with the POWER2 in late 1994 and the POWER3 in late October, 1998.
The Macintosh stands on its own in the 'most-loved' personal computer category, and has won unbelievable customer loyalty through its unorthodox appearance and powerful interface. No strangers to the world of ideological zealotry, the Mac-faithful are bringing new power to the platform with the time-honored tradition of hardware hacking and GPL'ed software design. I recently spoke to Terra Soft Solutions CTO Dan Burcaw about what drives him to work on Linux for the PowerPC architecture.
"I love working on the latest Apple machines," Dan said. "Linux on a Power Macintosh G4 is just incredible. Besides Apple systems there are a variety of other cool PowerPC boxes out there like IBM RS/6000s and embedded boards. As a change, they are fun to work with too.
"Also, I really enjoy the community. The PowerPC Linux market is much, much smaller then the x86 market and it makes for more of a close community.
"Just to clarify, I don't work on LinuxPPC the product but I do work on the general PowerPC Linux effort. There has been a great deal of confusion between LinuxPPC.org (the home page for the Linux port to PowerPC) and LinuxPPC, Inc., the company that produces the LinuxPPC distribution.
"We tend to refer to the general port as PowerPC Linux and LinuxPPC refers only to the company."
Speaking of porting software, you'd be amazed how much of it compiles just fine on the PowerPC architecture. Since a great number of tools are available in source code form for Linux, porting it over to another platform isn't that difficult, and crosses the great divide between the 'IBM' and 'Macintosh' sections of the virtual software store. I also got to speak to Ani Joshi, a University of Maryland student that's also working hard to make more things work on PowerPC Linux.
"When I go about porting software, I first build it alongside with my x86 machines. I make sure there is no inline assembly which could cause problems, and if there is then I break out my x86 assembly manuals and start porting to straight PowerPC asm for those routines. Otherwise our glibc (thanks to our gcc/glibc man Franz Sirl) is very helpful and will assist me in any cross-platform code in the app. If there is some x86 non-asm code in there, it should not be a problem for us as we have very good userland libraries which allow a clean powerpc 'solution' to the problem. As for performance in LinuxPPC, I'd say people will be very happy with the G4's performance, especially once more people start enhancing software for the AltiVec unit. Our CPU's speak for themselves; the PPC platform is quite strong, in our humble opinion."
What about the artists and musicians who have called the Macintosh 'home' for so many years? Where do they fit into the new Linux landscape of Linux on the PowerPC architecture? Back to Dan Burcaw:
"Well, obviously programs like the Gimp are very important to these folks. Most of them right now will probably still keep MacOS around for Photoshop and other programs. I think we'll be able to better serve their needs as software comes over to the platform. This is a major challenge. Software companies need hard data to show that there is demand for this software. As I said, PowerPC Linux is actually a very small market and so it is hard for a lot of these companies to justify the ports (even if it is just a simple recompile)."
Dan's Black Lab Linux Project Lead, Troy Benjegerdes, adds:
"What this DOES help out a great deal on is in the science and engineering areas. The G4 processor is absolutely ideal for dealing with any kind of signal or image processing because of the AltiVec unit. Combine that with the flexibility of Linux, as well as Beowulf Clustering technology, and you have an environment for signal and image processing that very few other things can even come close to."
Porting end-user apps to Linux on another platform is great, but what about expanding the original project to include hypermachines? Troy's got game in the parallel computing department, and Black Lab Linux is specifically designed for it.
Troy says, "Recently, I've been working on porting Black Lab Linux to CSPI hardware. CSPI is a company that makes what could best be described as an 'embedded supercomputer'. They make PowerPC processor boards that are extremely compact; You can put 64 G4 processors in a single cabinet that takes up 9U on a 19" rack. If you fill an entire 7 foot tall 19 inch rack with CSPI systems, you will have over 250 G4 processors. Thats a 250 node Beowulf with a peak performance of up to 1 TeraFLOP that will fit in a closet!"
Hardware and software innovation is one thing, but to make money in this business, you've got to be able to support what you're doing. I spoke with Hollis Blanchard, who works in tech support for LinuxPPC, Inc., and I asked him about his most common LinuxPPC support problems.
"Booting is a nightmare. Open Firmware (in theory) is supposed to make life easier to boot different OS's, but I can only dream of PC BIOS. All the OF in the old Macs is horribly broken in one way or another (like on my machine, it can't drive my video, so there's no way to see what I'm typing). New machines are better, but there are so many obstacles and the hackers just don't have enough time.
"There's also a philosophical problem sometimes. Some of the people we talk to have heard all these wonderful things about Linux and are expecting it to be as easy and polished as the Mac OS. That's a hard standard to live up to. It's NOT easy - Don't believe the hype. Putting Linux on the desktop still very much depends on educating the desktop user. A lot of them have no interest in such education and rightly so."
Linux Ease-of-use issues certainly aren't indigenous to the PowerPC world, and it just goes to show that although these guys aren't working on x86, they have the same issues. I think Hollis sums it up perfectly.
"Mad props to everyone who's ever submitted a patch that fixed something for PPC. There are too many naidne-elttil x86-only folks out there... you have to remember the world is bigger than the US."
This story was inspired by and dedicated to James A. Irwin.