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 Macintosh 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 reliably), 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.

Based on recent user reports, WEP may also not be working.

Wireless Interface

Setting up your connection requires a wireless interface be entered into your network client (such as Wicd or Network Manager). Your wireless interface for Airport and Airport Extreme will be either eth1 or wlan0. You can determine yours by running iwconfig as root.

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 KMS and disabling the Radeon framebuffer. Instead, you must pass this boot parameter at the second Yaboot prompt to force PCI mode and prevent system freezes:

Linux radeon.agpmode=-1

Once you login, make any boot parameters permanent by adding them to /etc/yaboot.conf, then reinitialize Yaboot using the command ybin -v as root. See this yaboot.conf example with boot parameters appended inside quotes (modprobe.blacklist=ams is included to illustrate what multiple boot parameters look like, i.e., they should be separated by a space):

image=/boot/vmlinux
        label=Linux
        read-only
        initrd=/boot/initrd.img
        append="radeon.agpmode=-1 modprobe.blacklist=ams"

Users of the r300 driver (Radeon 9550 and 9700 cards, for example) must overcome a Mesa bug to get 3D working. You may compile the Mesa source with these unofficial patches that fix the bug, or you can install these already-patched binaries compiled for Ubuntu that also work with Debian. After installing you must pin or hold the packages to prevent apt from upgrading them to non-patched official packages.

It should be noted that radeon 3D acceleration will not improve video playback or desktop performance, only 3D applications like games or Blender. Video playback and desktop performance are optimized with radeon 2D acceleration already provided and working.

Radeon 9000 cards, possibly only in Power Mac towers, 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 for how to generate a xorg.conf file):

Option    "NoAccel"   "True"

Several 14" G3 iBook and eMac users have reported blank screens with Radeon/KMS. The only workaround is to disable KMS, load the old Radeon framebuffer, and use the unaccelerated fbdev driver. To first disable KMS and get a semi-working screen, you must boot with the Yaboot parameter Linux nomodeset.

You should arrive at a login screen with psychedelic colors, so it's advisable to switch to a console to further change settings enabling the Radeon framebuffer and fbdev driver. First, remove the radeonfb blacklisting in /etc/modprobe.d/fbdev-blacklist.conf (deleting the radeonfb line or commenting it out), and then add radeonfb to /etc/modules. Finally, disable both KMS and the Open Firmware framebuffer by rebooting with the parameters Linux nomodeset video=offb:off (see the yaboot.conf example above for how to make these parameters permanent).

If this gives you 8-bit colors, generate a xorg.conf file (see below for how to generating one) and change the "radeon" driver to "fbdev" under the "Device" section, and add a default depth to the "Screen" section like this:

Section "Screen"
     Identifier "Screen0"
     Device     "Card0"
     Monitor    "Monitor0"
     DefaultDepth    24

Restarting the X server with startx should give you a 24-bit desktop. As it's unaccelerated, window dragging will be slow which you can alleviate somewhat by running a compositor like Compton in the background:

compton -b

Video playback with the fbdev driver is also quite poor and lacks fullscreen upscaling.

Nvidia/Nouveau:

The boot parameter nouveau.noaccel=1 is sometimes used to get a working screen, but since it disables acceleration it should be used as a workaround of last resort.

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.

Some additional Nouveau hints are at this Phoronix Forum link.

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).

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 for how 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 loading the module i2c-dev:

sudo modprobe i2c-dev

To have it always load on boot, open /etc/modules in a text editor and add i2c-dev.

Note: loading i2c-dev may cause your LCD backlight to be off on boot, which you can turn on again with the brightness keys.

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 from this archive (link updated), and navigating to 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.

Note: key swapping only works in an X server. When you switch to a console with ctrl + alt + F1, your keys will revert.

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

XFCE has a similar look to OS X. It comes with a dock and a top panel that can be turned into a global menubar with the add-on TopMenu.

MATE recently added a Cupertino Layout option* that mimics OS X, and the above mentioned ?TopMenu also works here as well.

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

*set with mate-tweak.

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 long 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-name

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

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

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-name    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 with the mkdir command, then 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.

How do I watch Youtube?

There is no Adobe Flash for PowerPC, and its open source counterparts perform poorly if at all. SMTube, by the same developer as SMPlayer, is a Youtube search and streamer that can employ a variety of backend players such as Mpv and VLC, and as a result performs well on PowerPC. On Jessie (Stable) you must install SMTube via backports:

sudo aptitude -t jessie-backports install smtube

For Stretch and above, there is also the terminal-based mps-youtube, and the Mpv version in Stretch has been updated with Youtube-dl functionality built in.

Alternately, you can create a simple bash script to play a video after copying its URL to the clipboard. Here is an example command line for streaming standard def:

mpv --framedrop=vo --cache 8192 --cache-initial 820 $(youtube-dl -gf 18 $(xsel --clipboard))

The script requires Mpv, Youtube-dl, and xsel, and must be made executable with

chmod +x /path/to/your/script

Oopsies:

Why doesn't my sound work?

If sound isn't working, it may be muted by default. Open alsamixer in a terminal (alsamixer can be installed with the alsa-base and alsa-utils packages) 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 (not above 75% or distortion may occur).

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 (see also here for an unofficial Jessie kernel compiled with the above patches).

Like alsa, pulseaudio also has a mute by default bug, so if you have pulseaudio on your system you must install pavucontrol (appears as PulseAudio Volume Control in your Multimedia menu) to unmute the 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 such Yaboot parameters a permanent default.

Why does my laptop boot to a black screen (LCD backlight off)?

You probably added i2c-dev to /etc/modules to enable your aluminum Powerbook's keyboard backlight. A bug causes your LCD display to be off on boot with the i2c-dev module loaded, and the fix involves pounding your brightness keys with a closed fist (or just pressing the up-brightness key will suffice).

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

You can load the i2c-powermac module with:

sudo modprobe i2c-powermac

This should restore your fans to normal speed, and to have the module load automatically at boot, add the line i2c-powermac to /etc/modules.

Why are my laptop's fans in overdrive when I have nothing running?

Newer kernels in Testing and Unstable have a bug causing excessive kworker activity after wake from hibernate, causing temperatures to rise and slowing your system's performance. This appears only to affect Powerbooks made from Jan. '05 and iBooks from Jul. '05 and is related to the Apple Motion Sensor. To work around this bug, you can unload the module ams, though this will disable the sensor.

To unload the module, enter this command in a terminal:

sudo modprobe -r ams

And to blacklist it so it's not loaded at boot, boot with this Yaboot parameter:

modprobe.blacklist=ams

See above in the graphics section for how to make your Yaboot parameters permanent.

Note: unloading ams will also unload input_polldev (if anyone has an understanding of what input_polldev does, please edit this document).

Why won't sleep work?

Suspend-to-RAM (sleep) on PowerPC has always been extremely buggy and poorly supported. KMS (Kernel Modesetting) seems to be a major culprit lately.

As an alternative, you may use suspend-to-disk (hibernate), in which case it is recommended (though not absolutely required) your swap partition be at least as large as your physical RAM.

Why is my trackpad dead after waking from hibernate?

This is a bug that affects laptops using the Appletouch driver (post Jan. '05 aluminum Powerbooks). To reawaken your touchpad, you must reload the appletouch module by switching to a console (ctrl + alt + F1) and entering these two commands, the first to unload and the second to load:

sudo modprobe -r appletouch
sudo modprobe appletouch

This bug does not occur every time you wake from hibernate, and when it does occur, you can try massaging the trackpad a few seconds to wake it before resorting to the above commands.

What happened to my bookmark folders in Iceweasel?

There is a PowerPC-only bug (fixed in Iceweasel 41.0.1) 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?

Clementine and xfburn are broken in Jessie but fixed in Stretch. Jackd2 also appears broken on PowerPC, but you can always 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 this PowerPC port page 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. The settings in /etc/yaboot.conf allow you to choose your default OS ("linux" for Debian, "macos" for OS 9, or "macosx" for OS X). You can also use yaboot.conf to set your default Linux kernel if you have more than one.

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, and you will eventually be given a prompt to login as root.

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 compiled for PowerPC, so you will have to use the open source drivers.

I heard Debian now offers an LTS. Does it support PowerPC?

Debian's LTS (Long Term Support) releases do not support PowerPC, only i386 and amd64.

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 addressing 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.


CategoryPorts