Little T in the Cog PowerBook Linux Notes

NOTE: I no longer own the PowerBook so these instructions won't be updated anymore. I'll leave them here for posterity :-)

Tweaking Debian to work nicely on the PowerBook

These are the changes/additions I've made since installing Debian PowerPC. I'm recording them here because I always forget what I've had to tweak every time I do a fresh install. Here is a quick overview of why I went with Debian and not Ubuntu :-)

What works:

Everything! Well, nearly. The only thing I can't get working (and will probably never work) is suspend or hibernate as nVidia would need to release some specs which they simply aren't going to, and without it the PowerPC devs can't get resume working. Other than that it is all good, the touchpad is a bit fussy sometimes (not sensitive enough sometimes, over sensitive other times) but is usually fine, battery life is a bit worse than OS X but not by much, maybe around 30 mins less in my testing (which means I still get nearly three hours out of my particular battery which is a few years old now). I tried running Linux on this laptop back in 2010 (Ubuntu at the time) and I'm amazed at how much better everything works now two years later - credit to the PowerPC devs! The most annoying thing is the lack of a decent web browser (there is no Chrome or Chromium port for PPC Linux and the version of Firefox (or more correctly Iceweasel) bundled with Squeeze is pretty old now, and if you're after a Webkit based browser the version of Midori is very out of date too.

Install and Changes Needed

You'll need an ethernet connection to install Debian as the wireless doesn't work out of the box. I decided to completely replace OS X, not because I don't like it (on the contrary, I think OS X is pretty much the best OS for personal computers) but rather because I didn't want to be running an OS that was no longer receiving security updates and OS X 10.5 ("Leopard") is the end of the line for PowerPC Macs, getting it's last update in April 2011. If you want to dual boot OS X the easiest way to go about it is to install OS X first, then fire up Disk Utility and shrink the OS X partition (20GB free should be plenty for Debian). Once in the disk partitioning stage of the installer select the option of automatically using the remaining free space.

I started with a vanilla install of Debian Squeeze for PowerPC and selected "Laptop" and "Desktop System" as the install types when asked. Once I was booted into my new Gnome desktop (the default) I noticed all the colours were in 8 bit, the fan was running like crazy, the laptop couldn't see it's battery and I had no wireless network. To fix these issues I made the following changes:

/etc/modules:

apm_emu
firewire-sbp2
loop
snd-powermac
therm_adt746x
pmu_battery
		

/etc/X11/xorg.conf:

# needed for compiz
Section "Extensions"
	Option "Composite" "enable"
EndSection

Section "Device"
	Identifier "n"
	Option "XAANoOffscreenPixmaps" "true"
EndSection

Section "Screen"
	Identifier "s"
	DefaultDepth 24
EndSection
		

Packages installed on top of the base install:

firmware-b43-installer
powernowd
compiz 
compizconfig-settings-manager 
compiz-fusion-plugins-main 
compiz-gnome 
compiz-gtk
		

Fix broken Gnome CPU Frequency Applet

The Frequency Scaling Monitor in Debian Squeeze has an annoying bug where you have to type in the root password every time you adjust the frequency of the CPU manually (if you install the powernowd package you don't ever really have to as it does a pretty good job of automatically scaling as needed but I still find it useful to force a lower CPU speed if I'm trying to conserve battery on a flash laden web page which has pegged my CPU!). To get around this edit /usr/share/polkit-1/actions/org.gnome.cpufreqselector.policy and scroll all the way to the bottom where it has the line <allow_active>auth_admin</allow_active> and replace it with <allow_active>yes</allow_active>. So the bottom of the file should look something like:
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

</policyconfig>
Now reboot and you should be able to change the CPU frequency from the panel applet.