Adventures in Apple Titanium Powerbook IV land

The TiBook IV was the last model before Apple launched the 12" and 17" Aluminium PowerBooks, It’s also the last model that comes with a Radeon Mobility graphics chipset, as Apple switched to the nVidia GeForce4 chipset with the new models.

This page contains notes from my adventures into the world of the PowerPC, specifically the TiBook hardware, and how I got the machine to behave how I wanted. I use Debian, and much of the information here comes from the help of the members of the debian-powerpc mailing list.

CPU

The processor is a 1GHz G4, which can run at either 1GHz or at 667MHz. At boot, your processor will be probably running in powersave mode. You can change this by using the following command (as root):

# echo "0%100%100%performance" > /proc/cpufreq
# cat /proc/cpufreq
          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0      1000000 kHz (100 %)  -    1000000 kHz (100 %)  -  performance

This tells the kernel to run CPU 0 at a minimum of 100% of top speed, at a maximum of 100% of top speed, and lean towards performance when trying to pick a speed between those two. Most of that is obviously redundant in this case.

To switch back to powersave mode, use:

# echo "0%66%66%powersave" > /proc/cpufreq
# cat /proc/cpufreq
          minimum CPU frequency  -  maximum CPU frequency  -  policy
CPU  0       667000 kHz ( 66 %)  -     667000 kHz ( 66 %)  -  powersave

Kernel

Benjamin Herrenschmidt maintains the PowerMac port of the Linux kernel (i.e. the PowerPC port specifically tuned to Apple hardware). You can get a copy via rsync by doing

mkdir -p ~/src/linux/benh
rsync -avz --delete rsync.penguinppc.org::linux-2.4-benh ~/src/linux/benh

Build the kernel using Manoj Srivastava’s make-kpkg, by changing into the kernel directory you’ve just rsync’d:

make-kpkg --revision=hostname.1 --config=menuconfig kernel_image

Then install the kernel-image-KERNELVERSION package that’s now sitting in your parent directory.

XFree86

You’ll want to install these packages from Michel Daenzer’s apt repository (deb http://people.debian.org/~daenzer/dri-trunk-sid/ ./): xserver-xfree86-dri-trunk, drm-trunk-module-src, xlibmesa3-gl1-dri-trunk.

Unpack the drm-trunk source in `/usr/src/drm-trunk.tar.gz`, then build the kernel modules by going into the source tree for the benh kernel you just built, and type `make-kpkg modules_image`, then install the `drm-trunk-module-KERNELVERSION` package that's now sitting in the parent directory.

If you have video artefacts on the console when you exit from X, like rows of dots, and the console doesn't scroll at the last line, then you probably aren't using the framebuffer device for X. Set ``` Option "UseFBDev" "true" ``` in your XF86Config-4 Device section.

The above is no longer true for recent versions of the drm-trunk and kernel (2003/08/28), in fact to get the external display working you mustn't specify UseFBDev at all.

To get suspend working, you need to make sure you have APM emulation in the kernel. Set `CONFIG_PMAC_APM_EMU=y` to compile it into the kernel, or build it as a module and load it at boot time. Make sure `/dev/apm_bios` exists: ``` # ls -l /dev/apm_bios crw-rw---- 1 root root 10, 134 2003-01-27 11:36 /dev/apm_bios ``` If it doesn't exist, then ``` # cd /dev; MAKEDEV apm ``` then check for the following line near the top of the XFree86 log (after restarting X, of course) ``` (II) Open APM successful ```

I found that XFree86 and the `radeon` driver can't actually recover from a sleep unless the following option is also set in your XF86Config-4 Device section: ``` Option "AGPMode" "4" ```

Mouse

So, the TiBook only has one mouse button, how do you right click?

In /etc/sysctl.conf, you can set kernel options (of the same name as they appear in the /proc filesystem). So, make sure you have CONFIG_MAX_EMUMOUSEBTN=y set in your kernel, and add the followin lines to /etc/sysctl.conf

dev/mac_hid/mouse_button_emulation=1
dev/mac_hid/mouse_button2_keycode=68
dev/mac_hid/mouse_button3_keycode=87

This sets up your F11 and F12 keys as the middle and right mouse buttons.

Ovens

Don’t put your TiBook in the oven.

http://www.spymac.com/gallery/showphoto.php?photo=10050

http://www.spymac.com/gallery/showphoto.php?photo=10051

Further Reading

http://users.linpro.no/janl/tibook.html describes a Yellow Dog Linux installation on the same hardware.

http://cattlegrid.net/~christophe/titanium/ describes more general Debian PowerBook installations.

http://people.debian.org/~branden/ibook.html describes Branden Robinson’s method to install Debian on an iBook without using any physical media, this works for the PowerBook too.

http://www.mathematik.uni-marburg.de/~schmidtm/apple/ tells of Matthias Schmidt’s experiences installing Debian onto one of the new 12" PowerBooks.