This is the FAQ for the PowerPC port.

How Tos:

How do I partition my hard drive?

If Debian is the only system you intend to install on your hard drive, use debian-installer's "Guided Partitioning" and it will create the needed partitions for you.

If you intend to dual boot, it is generally recommended you use your Mac-native disk tools to partition your hard drive and format the first partition as "Free Space" for Debian. Then install OS X or OS 9 on another partition before moving on to Debian's installer.

Once in debian-installer, use "Manual Partitioning" in the partitioner to create three new partitions in the free space for Debian: a bootloader partition, a swap partition, and a root partition.

To create a bootloader partition, create a partition 1 MB in size and for the "Use as:" option choose "?NewWorld boot partition" (without the question mark Debian Wiki insists on putting there). Finally, set the bootable flag to "On".

To create a swap partition, set a size equal to or more than your physical RAM (for suspend-to-disk to work) and for "Use as:" choose "swap area".

To create your root partition, the partition your Debian system is actually installed on, choose the remaining free space, and for "Use as:" choose "Ext4 journaling file system", then for "Mount point:" choose "/ - the root file system". Also, for mount options, you may select "noatime".

For more installation notes, see Debian GNU/Linux Installation Guide.

How do I get wireless working?

Airport Extreme:

Apple G4 iBooks and Aluminum Powerbooks come with Broadcom chips. You will need to determine the model before you install the proper driver. Run the command lscpi | grep Wireless to find out.

You will also need the contrib and non-free repositories in your /etc/apt/sources.list file. If you have the BCM4318 chip, for example, you would install the following package,

apt-get install firmware-b43-installer

For more help, see bcm43xx

Airport:

First generation Airport cards, such as those in G3 laptops, G4 Titanium Powerbooks, and pre-FW 800 Power Macs, also require non-free firmware. To install, add non-free to your /etc/apt/sources.list, update, and then install firmware-linux-nonfree.

First generation Airport cards do not support WPA2 encryption, only WPA. When you set your router to WPA, also set "WPA Algorithms" to TKIP, as AES also does not work with early Airport cards.

Wicd:

Wicd is an excellent graphical client for setting up your wireless connection. In preferences, simply add your wireless interface (either wlan0 or eth1, found with sudo iwconfig) and then configure your connection by clicking the "Properties" button next to your network on the networks list.

How do I get graphics working?

ATI/Radeon:

To ensure best 2D and 3D performance, firmware-linux-nonfree must be installed from the non-free repository.

Since Jessie, KMS (Kernel Modesetting) is on by default, so it is no longer necessary to pass boot parameters enabling it and disabling the radeon framebuffer. Instead, pass this boot parameter on startup to force PCI mode and prevent system freezes:

Linux radeon.agpmode=-1

Some also find disabling the Open Firmware framebuffer with video=offb:off is helpful.

Once you login, make your parameters permanent by adding them to /etc/yaboot.conf, then update using the command ybin -v as root. See yaboot.conf example:

image=/boot/vmlinux

Radeon 9000 cards in Power Mac towers, however, freeze with accelerated graphics enabled. This requires turning off acceleration when KMS is enabled. This is done by enabling this option in xorg.conf (see below to generate a xorg.conf file):

Option "?NoAccel" "True"

For more help on Radeon graphics see Dan DeVoto's blog

Nvidia/Nouveau:

See this Debian PowerPC mailing list thread for information on getting 2D acceleration with the nouveau driver on G5 Power Macs with Nvidia cards. For a summary, see this blog post.

The boot parameter nouveau.noaccel=1 disables acceleration, and as such should be used as a workaround of last resort.

Also:

"Re: nouveau modeset no longer works with kernel 4.0 on Power Mac G4"

The above subject line says it all. Read the full mailing list post for a description of the bug and a workaround (involves tricking it to run with the x86 equivalent vga bio).

As no 4.0 kernel has been backported to Jessie, this bug only applies to Stretch and above.

ATI/Rage 128:

For Rage 128 cards, you must install firmware-linux-nonfree from the non-free repository to get a working desktop. If text appears garbled, one workaround is to edit your xorg.conf to turn off acceleration (see below to generate a xorg.conf file). Enter the following under the "Device" section:

Option "?RenderAccel" "false"

When you restart your X server, text should appear as intended.

At this time (8/2/15), the r128 driver appears broken in Testing and Unstable. See bug.

Generate xorg.conf:

Xorg drivers are designed to configure your graphics without a xorg.conf file, but with older, non-supported cards, having a xorg.conf is still necessary to work around bugs that will not be fixed.

To generate a xorg.conf file, first switch to a console (alt + ctrl + F1) and stop your X server with:

sudo /etc/init.d/lightdm stop (replace lightdm with your login manager if different)

Then generate your xorg.conf with:

sudo Xorg -configure

Third, copy the new file to /etc/X11:

sudo cp /root/xorg.conf.new /etc/X11/xorg.conf

Now you may edit /etc/X11/xorg.conf with your preferred configuration.

How do I right and middle click?

As Macs have one-button mice and trackpads, Debian PowerPC addresses this by installing mouseemu, a daemon that emulates middle and right clicking to the keyboard. By default, mouseemu maps middle and right click to F10 and F11, respectively (in the past it has sometimes been F11 and F12). These defaults can be changed by editing /etc/default/mouseemu and then restarting the mouseemu daemon with sudo /etc/init.d/mouseemu restart.

You can find your Mac's keycodes with the showkey command, but it must be run in a console (ctrl + alt + F1).

Issues: Be aware that restarting the daemon in the above manner breaks xmodmap's Command and control key-swapping until you rerun the xmodmap command again.

Also, /etc/default/mouseemu provides several presets commented out, including RIGHT_CLICK="-right 29 272", which emulates right-click as control + click to mimic right-clicking in OS X. This should work on iBook keyboards, but does not work on extended keyboards, and also some (all?) Powerbook keyboards.

Will my hotkeys work?

Yes. Pbbuttonsd, a daemon that governs laptop hotkeys, is pre-installed on PowerPC laptops. Depending on your model, your hotkeys will either work alone or in conjunction with the fn key. Pbbuttonsd also governs many other laptop functions, including energy saving. You may edit /etc/pbbuttonsd.conf to change the default settings.

How about multitouch gestures?

Sure, provided you have compatible hardware (only late Powerbooks and iBooks). You can enable multitouch gestures like two-finger scrolling with the Synaptics driver provided by xserver-xorg-input-synaptics (should be installed with the Xorg meta package).

To configure, create the file synaptics.conf and fill it with the options you want, then place it in the directory /etc/X11/xorg.conf.d (create the directory if it doesn't exist). See SynapticsTouchpad for the basic structure of synaptics.conf. Also, use man synaptics to find all your options and synclient -l for a list of defaults.

Note: if your laptop doesn't have tap-to-click enabled out of the box and you can't set it with the trackpad command, you will need to enable it with synaptics.conf.

This is a basic synaptics.conf for an aluminum Powerbook enabling tap-to click and two-finger vertical scrolling:

Section "InputClass"
   Identifier   "Touchpad"
   MatchIsTouchpad   "yes"
   Driver   "synaptics"
   Option   "SHMConfig"              "true"
   Option   "MinSpeed"               "0.4"
   Option   "MaxSpeed"               "1.0"
   Option   "AccelFactor"            "0.25"
   Option   "LeftEdge"               "0"
   Option   "RightEdge"              "950"
   Option   "TopEdge"                "0"
   Option   "BottomEdge"             "645"
   Option   "FingerLow"              "3"
   Option   "FingerHigh"             "7"
   Option   "TapButton1"             "1"
   Option   "TapButton2"             "0"
   Option   "TapButton3"             "0"
   Option   "VertTwoFingerScroll"    "1"
   Option   "HorizTwoFingerScroll"   "0"
   Option   "LockedDrags"            "1"
EndSection

How can I monitor my battery?

If your battery isn't displaying its current charge in your battery monitor applet, try adding pmu_battery to /etc/modules.

Another way to monitor your battery is with Conky, a popular system monitor that has a special variable for PowerPC batteries, pb_battery. Conky's full list of variables is here.

If all else fails, you can monitor your battery in a terminal with:

cat /proc/pmu/battery_0

How do I enable my keyboard backlight?

You can enable your keyboard backlight by using a text editor to add i2c-dev to /etc/modules and reboot. If this causes your screen brightness to be turned all the way down on reboot, you must edit /etc/pbbuttonsd.conf and change the option "LCD_?AutoAdjust" from yes to no.

What about CPU frequency scaling?

To see if you can enable this power-saving feature, first enter the following in a terminal:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

If you see more than one frequency, congratulations! You may use this power-saving (and fan-quieting) feature. To do so, download powernowd_1.00-1.1+b1_powerpc.deb, and in its current directory, install with sudo dpkg -i powernowd_1.00-1.1+b1_powerpc.deb. Now your CPU will dynamically throttle according to system demand.

Caveat: Powernowd is no longer supported and considered obsolete, but it still works for PowerPC users on the current kernel. An alternative is cpufreqd using the userspace governor, but it's more complicated to set up.

Can I "reverse" my Command and control keys like on a Mac?

Yes. Create a hidden file in your home folder called ".Xmodmap" and save the following text inside it:

remove Mod4 = Super_L Super_R
remove Control = Control_L Control_R
keysym Control_L = Super_L
keysym Control_R = Super_R
keysym Super_L = Control_L
keysym Super_R = Control_R
add Mod4 = Super_L Super_R
add Control = Control_L Control_R

Then run the command: xmodmap ~/.Xmodmap

If this doesn't work, you may have an iBook where both Command keys are mapped as a single (Super_L) key. In that case, use the following instead:

remove Mod4 = Super_L
remove Control = Control_L
keysym Control_L = Super_L
keysym Super_L = Control_L
add Mod4 = Super_L
add Control = Control_L

Once everything is to your liking, arrange for xmodmap ~/.Xmodmap to autostart on login.

How can I get a more "Mac" like interface?

Your best bet would be with XFCE. It comes with a dock and a top panel that can be turned into a global menubar with the add-on TopMenu (this add-on also works with MATE).

There are many OS X GTK themes available for download at gnome-look.org.

How do I mount my OS X/OS 9 partitions in Linux?

If your file manager doesn't handle this for you, here's the hard way:

As OS X/OS 9 partitions are in hfsplus format, you need to specify this in your mounting procedures. First you must create a mountpoint in /mnt:

sudo mkdir /mnt/your-mountpoint

To mount your partition with a terminal command, enter this (using sda5 as an example partition; you may find yours with sudo mac-fdisk -l ):

sudo mount -t hfsplus /dev/sda5 /mnt/your-mountpoint

To have your partition mounted at boot, you must edit /etc/fstab, adding this line (again using sda5 as an example):

/dev/sda5 /mnt/your-mountpoint hfsplus defaults 0 0

This will give you read access, but for read/write access you must change "defaults" to "rw,user". Big note of caution: you must disable journaling in OS X before you write to its partition from Linux. To write to a journaled partition can lead to data corruption and is not advised.

If you still can't write to the partition after editing /etc/fstab and rebooting, you may take the following troubleshooting steps:

Install hfsprogs and hfsutils.

With your partition unmounted, run this disk repair command (with sda5 as an example):

sudo fsck.hfsplus -f /dev/sda5

When you reboot, everything should work as intended.

How do I mount my Linux partition in OS X?

Installing MacFUSE and fuse-ext2-0.0.7 in OS X will allow you to mount ext2/3/4 partitions in Tiger and Leopard. Using Terminal.app, you must also create a mount point in OS X's /Volumes directory and find your Linux partition number with:

diskutil list

Then mount the partition like this (using "disk0s5" as an example):

sudo fuse-ext2 /dev/disk0s5 /Volumes/your-mountpoint-name

This will give you read access, though for read/write you will need to add -o force. The "force" option is a universal indicator that this feature is somewhat iffy.

To unmount:

sudo umount /Volumes/your-mountpoint-name

Unfortunately, mounting your Linux partition in Mac OS 9 is not possible.

Oopsies:

Why doesn't my sound work?

If sound isn't working, it may be muted by default. Open alsamixer in a terminal (alsamixer is installed with alsa-base and alsa-utils) and unmute the "Master Volume" as well as "Speakers" and "Headphone Detect Autoswitch" if it exists. Then turn up the Master Volume, and also the PCM level (to be kept at or below 75% to avoid distortion).

If alsamixer fails to open, try loading the snd-aoa-i2sbus module with this command:

sudo modprobe snd-aoa-i2sbus

If alsamixer now opens, you can perform the above actions and add snd-aoa-i2sbus to /etc/modules to ensure the module loads on boot.

If you still can't open alsamixer, you're probably suffering from this kernel bug affecting several iBook models and reportedly others as well. Two patches (this one and then this one on top of it) that fix this have been accepted into a future kernel. Until then, you must compile your own patched kernel, or you can downgrade to the 3.2.0-4 kernel found in oldstable, to get working sound.

If your GStreamer application (?RhythmBox, Banshee, ?QuodLibet, etc.) fails to produce sound, ensure you have all the GStreamer plugins installed, including gstreamer1.0-plugins-bad and gstreamer1.0-plugins-ugly.

Why does my system freeze at the login screen?

If your system freezes at login--either your login screen is frozen or you get a black screen with a frozen cursor--you're probably having Radeon/KMS issues. Radeon/KMS is not stable in AGP mode with most ATI Radeon cards, and this instability manifests itself with almost immediate system freezes. The workaround is to force PCI mode by entering this boot parameter at the second Yaboot prompt:

Linux radeon.agpmode=-1

See the graphics section above for how to make this parameter a permanent default.

My G5's fans are at full blast. How do I fix this?

You can add i2c-powermac to /etc/modules. This should restore your fans to normal speed upon reboot.

Why won't sleep work?

Suspend-to-RAM (sleep) on PowerPC is extremely buggy and poorly supported. KMS (Kernel Modesetting) seems to be the major culprit.

As an alternative, you may use suspend-to-disk (hibernate) as long as your swap partition is at least as large as your physical RAM.

What happened to my bookmark folders in Iceweasel?

There is a PowerPC-only bug which prevents bookmark folders from showing up in Iceweasel's bookmark menu and toolbar. If you imported bookmarks, you can still see your folders and the bookmarks within them in the Bookmarks Library and Bookmarks Sidebar, and you can still access the bookmarks with auto-complete from the address bar.

As a workaround, you can organize your bookmarks with tags instead of folders.

VLC crashes on startup. What's up with that?

If VLC immediately crashes, it's probably because you're on a G3 and VLC was compiled with Altivec instructions. To use VLC on a G3, you must compile it with the configure option --disable-altivec.

Why can't I eject my optical disc?

There is a bug that prevents tray loading drives from opening again after a disc is ejected. If you experience this, run this command to reset things:

eject -i off

If your laptop's eject button only unmounts a disc but fails to eject it, enter eject in a terminal to eject it.

Why is my Mac OS 9 partition unbootable?

If you're dual-booting Mac OS 9, you may notice it can no longer boot after installing Debian. This is due to the installer's partitioner somehow messing up OS 9's driver partitions, but this can be fixed with Drive Setup on your OS 9 install CD.

Specifically, boot from your OS 9 CD, run Drive Setup, highlight your hard drive in the main window, and finally choose "Update Driver" from the Functions menu. Your OS 9 partition will now be bootable.

Are any other packages broken on PowerPC?

Could be. Clementine, xfburn (fixed in Stretch), and jackd2 all appear to be at least partially broken on PowerPC (you can still use jackd1 if you need a JACK audio server).

General Questions:

Just Macs?

The focus of this FAQ is mostly on PowerPC Macs, but other viable platforms for the PowerPC port are the ?AmigaOne and Pegasos. See here for more.

The Mars Curiosity rover also runs on a PowerPC chip, though it's a bit inaccessible at the moment.

What's this Yaboot thing?

Yaboot is a PowerPC bootloader which determines the system you boot into. If you dual or tri-boot, the settings in /etc/yaboot.conf determine which system is the default, which keys let you choose which system, etc.

Some circumstances, such as setting the startup disk while in OS X or Mac OS 9, can cause Yaboot to "disappear." Resetting the PRAM (starting your Mac while pressing Command + Option + p + r until a second chime sounds) usually restores it. If not, starting up while pressing the Option key will take you to a graphical chooser where you can click on the penguin and boot into Linux. From there, run sudo ybin -v to reinitialize Yaboot.

Are there special disk tools for PowerPC Macs?

Yes. Most Linux users are familiar with fdisk, a command line utility for managing disk partitions. The PowerPC equivalent is mac-fdisk.

If you plan on mounting hfsplus disk partitions or external drives, you may also install hfsprogs and hfsutils, which include several command line utilities for managing and repairing hfsplus partitions.

Is there a Single User Mode like in OS X?

Yes. To execute system repairs before you boot to a GUI, enter Linux single at the second Yaboot prompt (you can press tab to halt the timeout).

What are the software limitations?

Almost no closed-source software is compiled for PowerPC. One exception was Bittorrent Sync which supported PowerPC through version 1.4.111. However, many other closed-source titles have never supported PowerPC, including Adobe Flash, Chrome, Dropbox, Skype, and Spotify.

Also, closed-source graphics drivers released by Nvidia and AMD are not available, so you will have to use the open source drivers.

Are there any Webkit browsers like Safari?

?QupZilla and Midori are two web browsers that run on the Webkit engine. Users of these browsers must be aware, though, that they are not updated regularly with security updates. For PowerPC users, only Iceweasel receives regular security updates (Chromium does as well, but it's not available for PowerPC).

Are there any Mac OS emulators on Linux?

Mini vMac emulates early compact Macs and has a PowerPC binary available for download. Basilisk II emulates 68k Macs such as Quadras and the II series, and is in the Debian contrib repository as basilisk2. Sheepshaver emulates PowerPC Macs, but the Linux PowerPC version suffers memory access problems and appears unuseable.

Mac-on-Linux was a long-dormant project that seems to have revived.

Yes. Ubuntu has an extremely extensive PowerPCFAQ, and Gentoo has a good one, too.

See also wikis for Debian ports PPC64, ppc64el, and PowerPCSPEPort.