Thursday, December 21, 2006

PowerPC + NVIDIA + Linux = Headaches

Earlier this week, I got the idea into my head that I would reformat the hard disk on my 12" 1.33GHz PowerBook G4, model number M9183LL/A, and install some flavor of Linux on it. I'm not talking about a dual-boot system. No way, José! I want the distro I choose to be the only OS on the machine. Well, easier said than done, it seems.

I rather arbitrarily picked Gentoo, mostly because I've been itching to try it and partly because Drexel University's CS machines run it. I'm glad it wasn't the first time I was installing a Linux distro; a Gentoo installation requires you to manually configure your kernel. Thankfully the Gentoo Foundation's docs made it a painless procedure. Unfortunately I neglected to download the ISO for the Package CD until I had already completed the base installation. At this point, I realized the ISO is too large to fit on a 700MB CD-R. I wasn't interested in going out and buying 870MB discs, so I decided I had nothing to lose by moving to a different distro. (Net install wasn't an option because it seems our ISP only allows one MAC address per customer with its basic service.) Ubuntu was next on my list, since I had great success with it when I was a newbie.

I downloaded Ubuntu 6.10 Edgy, the current release.1 The streamlined graphical installer—and video interview with Nelson Mandela, included on the Live CD—made me think twice about continuing. I've grown accustomed (or, some might say, desensitized) to poorly color-coordinated, often inscrutable Linux interfaces. This new Ubuntu installer bears an unsettling resemblance to the Windows XP installer. It asks you the same questions: language, time zone, user name and password. The only potentially intimidating part is partitioning your disk, and it offers to do that for you. Personal prejudices aside, Edgy did deliver a functional Linux OS in a matter of minutes with minimal effort on my part.

Of course, as with any Linux installation, there were some lingering issues to be resolved:
  • I immediately noticed that I couldn't adjust the screen brightness. The Fn+F1 and +F2 key combinations displayed a brightness indicator, but the actual level didn't correspond to the indicated level. In fact, it didn't change at all.
  • Next I discovered that suspend doesn't work.2 When I closed the lid and the switch engaged, the screen went blank, but I could still hear the fan spinning.
This was intolerable. The only way I ever got close to the advertised 5 hours of battery life (at left) was through judicious use of the power management functions; I always keep the brightness down when I'm unplugged and let the machine sleep when it's idle.

To be deprived of power management spoils mobile computing for me. I wasn't ready to give up on Ubuntu, so I turned to Google.
  • The NVIDIA GeForce FX Go5200 equipped in my PowerBook lacks an official driver for the PowerPC (PPC) architecture. This goes for all NVIDIA GPUs. That's a pain.3
  • Power management is perhaps the most challenging aspect of configuring the Linux kernel. It requires tight integration of your OS, BIOS and hardware.
  • A daemon called pmud may alleviate some of the problems users are experiencing running Ubuntu for PPC. (I've already come up with a slew of clever puns for the post I'll probably be writing about it. Consider yourself warned.)
While searching for information on the power management problem, I came across several pages describing successful Debian installations on the PPC. As a satisfied Debian user, this immediately piqued my interest. I'm planning to try a net install sometime in the next few days. Due to the aforementioned ISP limitations, I need to find a place where I'll have uninterrupted broadband ethernet access for an hour or two. For now, here are links to two hits I found particularly informative:
I hope to be posting soon with better news. Adieu!
1 There is also Ubuntu 6.06 Dapper, which promises 3 years of support on the desktop. I read yesterday that it's more stable on the PPC than Edgy.
2 For the uninitiated, there are two types, suspend-to-RAM and suspend-to-disk. The former freezes all processes and stores their state in RAM, powering off all other hardware. This allows for fast resume but does have the disadvantage of causing an unclean crash in the event of a power interruption. The latter saves the processes' state to the hard disk and shuts down the entire system. As you might expect, it takes longer to resume from suspend-to-disk.
3 There are myriad petitions online urging NVIDIA to release open source drivers. It seems NVIDIA hasn't heard or doesn't care. I wouldn't hold out hope for seeing these drivers anytime soon.

1 comment:

Paul Cooley said...

Got your message on my blog about multiple dynamic IPs from Comcast.

I'd love to try and help. First thought (maybe I am on a glass is half empty day?) is why would you need two IPs? Just so I can get enough context.

Note, I've not had to do this yet; but am willing to help.

feel free to respond to me at pcooley.newsgroups at gmail dot com