Ubuntu 5.10 (Breezy) on iBook G4 12"/1.33GHz (mid 2005 model)

1. Specification

Model M9846LL/A released 2005-07-26
Processor 1.33GHz PowerPC G4
Hard drive
40GB ATA/100 4200 rpm
Optical drive DVD-ROM/CD-RW
Display 12.1-inch TFT XGA
ATI Mobility Radeon 9550 with 32MB of dedicated DDR
FireWire 1 FireWire 400
2 USB 2.0
Modem Built-in 56K V.92 modem
Ethernet Built-in 10/100BASE-T Ethernet
Wireless Built-in 54-Mbps AirPort Extreme (Wi-Fi 802.11g)
Bluetooth built-in Bluetooth 2.0+EDR

2. Status

Status on Ubuntu 5.10.
No 3D acceleration

Excellent Partially Manual
Worked out-of-the box but the sound was not loud enough and of poor quality. It can be solved by setting  louder "DRC Range" in GNOME Volume Control. This slider is not shown by default and has to be chosen from the menu.
Suspend to RAM
OK Manual
Requires recompilation of kernel. The support for this model is in vanilla 2.6.14 kernel. Suspend sometimes has problems. For example removing USB mouse while laptop is suspended results in kernel panic.
Excellent Automatic
Excellent Automatic Firewire port is automatically detected. My external Firewire HDD required manual mounting.
OK Automatic Scrolling does not work.
CPU Speedstep
Excellent Automatic
Extra keys
OK Automatic Brightness (Fn+F1, Fn+F2) and sound volume (Fn+F[3-5]) work. CD/DVD Eject key (F12) does not work and is mapped to right mouse click by default. F11 is mapped as a middle-click.

Not tested.
Does not work

Not detected. No drivers. Probably unsupported softmodem.
May work now
Broadcom chipset. No drivers at the time of writing. Open source driver is being developed. See notes.
External monitor
Does not work
Tried Xinerama extensions with no success.

3. Installation

Installation of Ubuntu Linux was straightforward but for dual boot, the disk requires repartitioning that cannot be done from the Ubuntu installer. The safest option is to use Mac OS X Disk Utility form Mac OS X Installation disk. Although there is a patched parted with HFS+ support in e.g Gentoo Live but I haven't tested it. Manual repartitioning requires reinstalling OS X. I chose two partitions and reserved 10GB as the space for Linux. I left HFS+ filesystem on it. Reinstalled OS X and booted Ubuntu. From partitioner I chose to remove the 10GB partition and since I didn't know much about partitioning in the PPC world I let Ubuntu partition the free space for me. It put 0.5GB swap at the end of the disk, the rest leaving for / and created a small boot partition. Here is the partition table created:

 # type name length base ( size ) system
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Bootstrap untitled 1954 @ 56679200 (977.0k) NewWorld bootblock
/dev/hda3 Apple_HFS Apple_HFS_Untitled_1 56416992 @ 262208 ( 26.9G) HFS
/dev/hda4 Apple_UNIX_SVR2 untitled 20509766 @ 56681154 ( 9.8G) Linux native
/dev/hda5 Apple_UNIX_SVR2 swap 949240 @ 77190920 (463.5M) Linux swap
/dev/hda6 Apple_Free Extra 262144 @ 64 (128.0M) Free space

Block size=512, Number of Blocks=78140160
DeviceType=0x0, DeviceId=0x0

The installation then went without any problems and the system was operational without my intervention. Suspend to RAM, fan control, Mac on Linux, sound, and DVD playback required some tweaking.

4. Details

System information:

# cat /proc/cpuinfo

processor : 0
cpu : 7447A, altivec supported
clock : 1333MHz
revision : 0.5 (pvr 8003 0105)
bogomips : 1327.10
machine : PowerBook6,7
motherboard : PowerBook6,7 MacRISC3 Power Macintosh
detected as : 287 (iBook G4)
pmac flags : 0000001b
L2 cache : 512K unified
memory : 512MB
pmac-generation : NewWorld


# lspci

0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP
0000:00:10.0 VGA compatible controller: ATI Technologies Inc: Unknown device 4e56 (rev 80)
0001:10:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI
0001:10:12.0 Network controller: Broadcom Corporation: Unknown device 4318 (rev 02)
0001:10:17.0 ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O
0001:10:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1b.0 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.1 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
0002:20:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI
0002:20:0d.0 ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100
0002:20:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81)
0002:20:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)

5. Tweaking

Suspend to RAM was not supported in the standard Ubuntu kernel. This feature was added after kernel 2.6.12 was released. I recompiled 2.6.14 vanilla kernel using old config from the Ubuntu kernel. A nice guide for compiling a custom kernel in Ubuntu is here. After installing the deb kernel package I ran ybin -v to make sure yaboot has been updated. The system worked without problems after reboot and sleep was available either as an option in GNOME or by simply closing the lid. After some testing I found there are some problems if a USB mouse is connected. Removing the mouse while system is suspended results in a kernel panic.

Fan is controlled by therm_adt746x and the module is loaded by default. I noticed that in the standard configuration the fan turns on much more frequently than in Mac OS X. It starts running when the CPU temp reaches 50 C. I raised the limits by +5 C by putting therm_adt746x limit_adjust=5 line into /etc/modules. With this increase fan operates only after a few minutes of CPU intensive task. The fan is still much often on than in Mac OS X but this new limit was OK.

Sound is detected and configured automatically during install but the sound from internal speakers was not too loud and slightly distorted if the volume was set to max. The problem can be solved by setting louder "DRC Range" in GNOME Volume Control. This slider is not shown by default and has to be chosen from the menu.

DVD playback is not enabled by default. I installed xine-ui and codecs as described in ubuntuguide. Libcss2 is not in the repositories but is automagically compiled and installed after running the script /usr/share/doc/libdvdread3/examples/install-css.sh.

Mac on Linux (MOL) requires some patching. First this patch for OS X Tiger support, then this patch for compiling modules under 2.6.14. This guide is useful with the installation. I followed the instruction but the mol-modules I had to install manually with make install. After tweaking the network (the network must also be configured under OS X), it works nicely. The full screen mode looks and behaves almost as the native version. The iTunes works terribly slowly, though. Of course the things that does not work on Linux (e.g wireless) does not work under MOL, too. MOL will not start if Mac OS X HFS+ partition is mounted read-write.

HFS+ can be mounted (hfsplus option) read-write and I tested write support and it works without problems but I'm not sure how the driver handles journalling so care should be taking after crashes. It is probably not safe to mount HFS+ under Linux after OS X or MOL crash.

In the standard install, the F12 DVD-Eject key is mapped to the mouse right-click and ejecting the DVD is possible only with eject /dev/dvd command from a terminal. This is likely to be solvable with a proper PBButtonsd configuration but I haven't investigated it.

6. Unsupported

3D acceleration is not supported. It is a known problem with newer ATI graphics cards. Open source DRI drivers are being developed (http://r300.sourceforge.net/) but I haven't tested them and I'm not sure if they work with Radeon 9550. If you want to try them, this guide may be helpful.

Modem is not detected and does not work. It is probably a soft modem with no drivers.

Wireless Airport Extreme uses Broadcom chipset and is not supported and Broadcom has not released a driver. An open source driver is being developed but was in an early alpha stage and did not work at the time I was configuring the laptop. Enormous progress has been made since then and some success has been reported.

External monitor does not work. After connecting the dongle, the screen goes white and nothing happens. I tried configuring Xinerama without success but it might be solvable.

7. Configuration files

Kernel config, X.org and MOL configuration files can be downloaded from this directory

8. Final words

I played with this laptop for a few days only so some of the problems may be solvable. For comments, send an email to rafal [dot] podeszwa [at] tiger [dot] chem [dot] uw [dot] edu [dot] pl

9. External links

Other sites about Linux on this model of iBook.

Rafał Podeszwa.

Linux installed: 2005-11-06. Document last modified: 2005-12-11. This report is listed at TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones