Contents |
Linux on 15" PowerBook
This is my Wiki page of my own notes on installing Gentoo Linux on a PowerBook5,8
The standard Gentoo PPC Live-CD 2005.1 doesn't have the IDE chipset driver, so you either have to grab the 2005.1-r1 version, or the new 2006.0 (pre-release) from here
UPDATE: The new 2006.0 Live-CD has been released, and contains all the patches you need to install Gentoo on your PowerBook5,8.
Kernel
Here is my current kernel config (Sat 11th Feb, 2006) for kernel 2.6.16-rc1.
Image:Config-2.6.16-rc1-powerbook58.txt
I am now using linux-2.6.16-rc5 and it's the best kernel so far for support on this machine.
Update: Now using 2.6.18_rc4.
Chipset
The chipset of these new machines is seems to be the same as the previous revision, but had new PCI ID's. This caused some initial pain when trying to install Gentoo on them. Fortunately, the basic enablement patch for new 15" PowerBooks was created to address this issue for kernel 2.6.14.
The awesome Gentoo PPC guys created a new LiveCD straight away, which was posted here on the Gentoo forums.
This patch will be included in the 2.6.15 kernel. Therefore, no patch will be required.
UPDATE: Use kernel 2.6.16-rc5 or greater. This kernel has just about everything you need for your powerbook, except for the BCM43xx, and sound. See below for details about these.
Trackpad
The trackpad is similar to the previous powerbook model, but slightly different. The driver touched many hands before being finished. Michael Hanselmann's patch on the Debian PPC list should do the trick for 2.6.15-rc5 and greater kernels. I think this should be included in 2.6.15 or 2.6.16.
UPDATE: Support is available in 2.6.16-rc5 ;)
If you enable the appletouch driver in the kernel, and emerge synaptics, then you can use the synaptics X driver which allows for much greater trackpad control.
It tooks some tweaking to get the trackpad movement to work like it does in Mac OSX, but this config also allows you to use two fingered tap for a middle mouse button click and three finger tap for a right mouse click. This is a much better solution than remapping keys to simulate a right mouse click.
Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto-dev"
Option "LeftEdge" "50"
Option "RightEdge" "840"
Option "TopEdge" "30"
Option "BottomEdge" "320"
Option "MinSpeed" "0.2"
Option "MaxSpeed" "1.5"
Option "AccelFactor" "0.1"
Option "SHMConfig" "on"
Option "RTCornerButton" "3"
Option "LTCornerButton" "2"
Option "FingerLow" "12"
Option "FingerHigh" "20"
Option "MaxTapTime" "120"
EndSection
The only irritating thing is that scrolling with the right side of the trackpad is very slow. I haven't found a way to speed it up yet.
UPDATE: Vertical and Horizontal scrolling speed can be set by the VertScrollDelta and HorizScrollDelta device options in the synaptics section of your xorg.conf. Try
Option "HorizScrollDelta" "10"
Option "VertScrollDelta" "10"
for a smooth, responsive feel.
Sound
A patch is now available for sound! The patch by Gaudenz Steinlin from the Debian PPC list post can be found here. To apply it, simply change to your linux kernel source directory, then
patch -p1 < /path/to/snd-powermac-pb58.patch
and it should apply cleanly to a 2.6.16 kernel.
Also, I found that the ALSA configuration for the Toonie chip is broken, in the version I had installed. If you get errors using ALSA (or don't have PCM volume control in your mixer) try having a look at the PMacToonie.conf ALSA fix.
UPDATE: The new 2.6.18_rc series kernels contain the new snd-aoa driver for most new world PPC machines. This driver is a huge improvement over the old snd-powermac driver.
Video
The video chip is an ATI Radeon Mobility 9600 [M10], and has basic support by the Xorg radeon driver.
3D Acceleration is possible with Mesa 3D and r300 driver from CVS. I used the Gentoo forums topic on getting DRI working on a Powerbook with Radeon 9600/M10 to get this working. I did have some issues with stability though. Once X loaded, if I went back to the console (either by restarting X or just switching to a virtual console) sometimes would make it hang.
Using xorg-x11-6.8.99.15-r4, I had an issue where my GNOME background would do crazy stuff like print the GNOME panel overlayed in random places on the background. Also, the background image was screwed up. FIXED by adding the xorg device option
Option "XaaNoOffScreenPixmaps" "true"
UPDATE: This is supposed to be fixed in the new modular Xorg 7.0. I might try upgrading, following the Gentoo forums instructions.
UPDATE: Using xorg-6.9.0 or xorg-7.0.0 causes my machine to lock up. I haven't played with it too much, but I am running xorg-6.8.99.15-r4 from portage, and compiled my own linux DRM and mesa stuff from the freedesktop.org CVS.
I have managed to emerge quake3 and run it quite successfully using this. I get some minor glitches in the game, but overall it's pretty good. Once issue is that at full screen, it will only work at 640x480, but making it windowed, you can make it any res you like.
It still seems unstable using xorg-6.8.99.15, but you'd probably have a lot more success using xorg-7 from CVS.
UPDATE: Using the new xorg-x11-7.1 with the latest version of the xf86-video-ati driver works really well. Quake 3 is now flawless, as is bzflag.
Broadcom wireless chipset
Johannes Berg made his announcement of the BCM43xx Linux Driver.
The Gentoo forums topic on Native Airport Extreme Drivers for Linux is the best place for getting the Airport Extreme to work. If your firmware isn't compatible with the fwcutter utility, you can grab a copy of the AppleAirPort2 driver here.
UPDATE: You now have the choice of using SoftMAC or DeviceScape with the bcm43xx driver. You should be able to get WEP from your card using SoftMAC, and WPA if you use the DeviceScape stuff. See the Gentoo Forums topic for more info on this. I find it is easier to just use the softmac solution.
UPDATE: The driver is working fairly reliably at the moment. You can also use SoftMAC for WPA also. To get it to associate with my AP, I have to use the following commands in order:
ifconfig eth1 up iwconfig eth1 channel 6 iwconfig eth1 rate 11M iwconfig eth1 essid < my ap essid > iwconfig eth1 key < my 128bit wep key >
I have managed to get it to work at 24M, but 11M seems more stable.
Also, the new Gentoo baselayout now supports the bcm43xx driver better. The init script for net.ethX now does a ifconfig ethX up before attempting to associate with an AP. My /etc/conf.d/wireless file looks like:
preferred_aps=( "andyhome" "other-ap" ) associate_order_eth1="preferredonly" iwconfig_eth1="rate 11M" key_andyhome="128-bit WEP key"
With the newer All-In-One patches for the 2.6.16-rc5 kernel, I have even managed to put the machine to sleep, then revive it and the wireless re-associates with my AP. Top work BCM43xx guys.
UPDATE: The bcm guys have been having TX power issues with the bcm4318 chipset in my powerbook, to the point where it's pretty much unusable. The said there was going to be a fix for it in the 2.6.18 kernel, but I don't think that's going to be the case. We may have to wait until 2.6.19 for a usable bcm43xx driver in the 4318.
Keyboard/Special Keys
Keyboard is an internal USB device. Using PBButtons allows you to use these special keys.
UPDATE: pbbuttonsd-0.7.3-5g public beta was released, and now supports the ambient light sensor and keyboard backlight in the PowerBook5,8.
Also, kernel 2.6.16-rc5 supports the keyboard FN-keys out of the box.
Sleep
Using pbbuttonsd, sleep works pretty much out of the box on kernel 2.6.15+
The only issues with sleep are from:
- The bcm43xx driver sometimes causing an oops when resuming
- The r300 driver, which powers the machine completly off when attempting to sleep, if any 3D accel has been used in that session. If not, it works ok.
UPDATE: Newer kernels and drivers have made sleep on this much better, but I am having a couple of issues with about every 5th sleep or resume failing, requiring a reboot.
Bluetooth
The bluetooth device is a HID device, and needs the hid2hci command to be run for it to be switched to a HCI device. This comes part of the bluez-utils package. The gentoo scripts can do this for you, by setting the appropriate field in the /etc/conf.d/bluetooth file.
Links
- Johannes Berg's Powerbook Page
- Jochen Voss' Linux on an Apple Powerbook G4
- T Stotts' Expert Notes of Gentoo on an Aluminum Powerbook G4
- Setting up Linux on an August 2005 iBook
- Alessandro Ronchi's Linux On iBook G4
- Johannes H. Jensen's Ubuntu on the PowerBook G4
- Gentoo-Wiki: HOWTO Install Gentoo On an AlBook G4

