PowerPCFAQ

This is the PowerPC FAQ.

This is work in progress see http://www.ubuntuforums.org/showthread.php?t=377978

Many more general questions have answers at CommonQuestions

General Questions

Which Macs are compatible with Ubuntu?

All NewWorld Macs should work. This means iMacs, iBooks, blue & white G3s, Lombard G3 PowerBooks and newer. The minimum system requirements are 256 MB of RAM and 3 GB of hard disk space. Users with less RAM or disk space may try Xubuntu.

Currently as of Feisty for iBooks/Powerbooks sleep, wireless, and external display are all supported with models having ATI graphics. Owners of the 12" Powerbook G4 models with the Nvidia graphics chip: sleep is not possible, because of insufficient hardware information from Nvidia.

Is Ubuntu supported on PowerPC?

Ubuntu 6.10 was the last officially supported PowerPC version of Ubuntu. Future versions will be community supported. This was announced on the mailing list.

Is Ubuntu still available on PowerPC?

Yes, see PowerPCDownloads for downloads.

Installing a derivative from an Ubuntu install disc

You will need to install using the Ubuntu CDs (see above). Then install the required *-desktop package. For example kubuntu-desktop.

To remove gnome, and the gnome apps run

sudo apt-get remove ubuntu-desktop
sudo apt-get autoremove

If you are confident with the command line, you can do a minimal or server install from the alternate CD, and then add the required *-desktop package. This removes the need to uninstall Gnome.

How do I install Ubuntu on my Playstation 3?

Check out this link for more information on installing Feisty on the PS3:

https://help.ubuntu.com/community/PlayStation_3

What about OldWorld Macs?

All Macs prior to the original iMac are known as OldWorld Macs. You will need a Mac OS 9 install CD to correctly set up Ubuntu on an OldWorld Mac. Read this wiki for more help on installing:

https://help.ubuntu.com/community/Installation/OldWorldMacs

Installation

How do I get a Mac to boot from CD?

The simplest method is to hold down the 'C' key (for x86 Macs use the 'D' key) as you turn the power on. Once you hear the CD drive reading the disk you can release the key.

Yaboot Configuration

The file /etc/yaboot.conf can be edited to change the booting behavior of your PowerPC Linux machine.

Edit the file with root privileges:

sudo nano /etc/yaboot.conf

After editing and saving the file, you must run this to write changes to the boot partition:

sudo ybin -v

To have more boot menu options include these lines in your yaboot.conf:

enablecdboot
enableofboot
enablenetboot

To have yaboot default to booting to OS X include this line in your yaboot.conf:

defaultos=macosx

To change the colors of the yaboot screen include these lines below. Alter as desired. These settings below create a color screen similar to the OS X open firmware colors.

fgcolor=black
bgcolor=white

To boot into single user mode type this at the yaboot prompt:

Linux single

Multimedia

See also RestrictedFormats and FreeFormats.

Java

As of Gutsy, an open implementation of Java (openJDK/IcedTea) has been available for use.

For Java support, install this package and its dependencies:

sudo apt-get install icedtea-gcjwebplugin

Video codecs and DVD playback

Add the http://medibuntu.org Medibuntu repository following instructions on Medibuntu.

Then install these packages:

sudo apt-get install ppc-codecs libdvdcss2

Flash, Flash video and Gnash

There is no Adobe Flash for PowerPC Linux but there are two free open source projects aiming to create a functional alternative - Gnash and swfdec.

Both of these work to a degree. Most simple flash animations work well, and sites such as youtube.com, lulu.tv and revision3.com have varying success.

These plugins are found in Synaptic under the names mozilla-plugin-gnash and swfdec-mozilla. (Note: Use konqueror-plugin-gnash instead in Kubuntu.)

If you would like to see a Linux/PPC§ version of Adobe's Flash Player, you might consider voting for (all) the appropriate bug reports, the first FP-883, the second FP-1397, and the third FP-1769, on the Adobe Bug System (registration required). Also as of writing this, there is a petitiononline.com entry open for signing.

Alternative ways to view Flash video content

You can download Flash video from a webpage to your hard disk and then watch the video with VLC. Firefox users can simply use the VideoDownloader extension (you will need to add the extension to the file - .flv for youtube). The package youtube-dl can also be used.

More generally, you can seethis page for browser bookmarks to download any flash video file to your hard disk.

Then simply open that .flv file in VLC and enjoy your youtube video. Note: You must have gnash or swfdec installed for the above methods to work, otherwise certain webpages will redirect you, claiming there is no flash installed.

Windows Media 9 codecs, Quicktime H.264 and others

sudo apt-get install vlc

VLC will play almost every codec on the planet, including the most recent windows media audio and video codecs.

Multimedia browser plugin

The totem plugin should play most all content, including trailers from apple.com. It should be installed by default, but if not, type this in a terminal:

sudo apt-get install totem-mozilla

Also make sure you have totem-gstreamer installed, and not totem-xine. Totem with the gstreamer backend seems to work better.

sudo apt-get install totem-gstreamer

If you'd like to try an alternative browser plugin, you can install the mplayer Firefox plugin. But this requires removing the totem plugin so there is no conflict.

sudo apt-get remove totem-mozilla

sudo apt-get install mozilla-mplayer

Realplayer

RealPlayer requires a couple of packages from Ubuntu. Please do this first:

sudo apt-get install libstdc++5 libstdc++5-3.3-dev

If you get an error which says "E: Couldn't find package libstdc++5", try the following:

For Lucid, download the package from the Debian Lenny repositories or via this link:

http://packages.debian.org/lenny/powerpc/libstdc++5/download

In the terminal, navigate to its location (maybe cd ~/Downloads) and issue the following command:

sudo dpkg -i libstdc++5

Now, download Realplayer 10.0.5 for PowerPC Linux here: https://player.helixcommunity.org/2005/downloads/

Look for the "RealPlayer 10.0.5 Gold 06/24/2005" "Installer link (experimental)" for Linux-ppc, about halfway down the page on the right.

Download the file. It will probably download to your Desktop.

Open a terminal, and change your location to the Desktop:

cd Desktop

and enter.

Now type the following and press enter to make the installer executable. [Alternatively, you can right click on the file, and go to Properties>Permissions> Check 'Execute' box.]

chmod +x realplay-10.0.5.756-linux-2.2-libc6-gcc32-powerpc.bin

Then to run the installer, type this in the terminal:

sudo ./realplay-10.0.5.756-linux-2.2-libc6-gcc32-powerpc.bin

and hit enter.

When it asks for the install directory, type /opt/RealPlayer

When it ask about configuring system wide links: hit enter. Defaults are fine.

Type realplay in a terminal and RealPlayer will start.

Drivers and Hardware

Will my wireless work?

The original Airport wireless cards work fine straight out of the box on Ubuntu.

Airport Extreme wireless cards require some setting up. See WifiDocs/Driver/bcm43xx for pre-Feisty information.

In Feisty the Airport Extreme support is built in, but you must fetch the firmware. Simply open a terminal and type:

sudo aptitude install bcm43xx-fwcutter

In Intrepid the package has been renamed, type:

sudo aptitude install b43-fwcutter

and reboot. Your Airport Extreme will now work.

A note about Airport Extreme and G-only routers

Once Airport Extreme is activated through the fwcutter method, it will only be broadcasting at 802.11b, or 11Mbps. This probably will cause problems when trying to connect to a router that is G-only. Often, this is a simple fix:

1) Log in to your router through a browser. (See your router's documentation for specific info. For example, for some Linksys routers, go to "192.168.1.1" in your browser and, leaving the username field blank, enter the default password "admin" to access the router's configuration panel.)

2) Find the option where you specify the Network Type, Wireless Network Mode, etc. - it should be an option that has "G-only" or something similar selected.

3) Change the network mode to "Mixed" or "B and G" or something similar.

4) Save your router settings and try to connect again. Hopefully everything will work!

Bluetooth Keyboard and Mouse

See this thread for help with a bluetooth keyboard and mouse:

http://ubuntuforums.org/showthread.php?t=224673

Enable sound with my Powerbook

The Feisty install fails to add the proper sound module to /etc/modules. To fix this,

sudo nano /etc/modules

and the at the bottom add snd-powermac to the list. Ctrl-X and 'Y' to save. Reboot, and sound will work.

Note: for TiBooks, there is currently a bug with sound. Read here for more info: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/87652/

Current work around is to install a pre-2.6.20 kernel in Feisty.

Video settings for G3 iMac

Save the folowing as your /etc/X11/xorg.conf

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Monitor"
Identifier "Configured Monitor"
HorizSync 58-62
VertRefresh 75-117
#ModeLine "1024x768" 78.75 1024 1044 1140 1328 768 781 784 820 +hsync +vsync
#ModeLine "800x600" 62.40 800 821 901 1040 600 609 612 644 +hsync +vsync
#Modeline "640x480" 49.90 640 657 721 832 480 481 484 514 +hsync +vsync
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24 
Modes "1024x768" "800x600" "640x480"
#Virtual 1024 768
EndSubSection
EndSection

Section "Module"
Disable "dri"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbVariant" "intl"
Option "XkbOptions" "lv3:ralt_switch"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection

Section "Device"
Identifier "Configured Video Device"
Option "CCEusecTimeout" "100000"
#Option "UseFBDev" "true"
EndSection

Enable DVI out on my Powerbook

Note: this is for a 15" TiBook. You may have to alter the MetaModes and CloneMode values according to your notebook. This should work with any ATI based *book.

This configuration creates mirroring. A dual-extended display is perhaps possible.

Edit your /etc/X11/xorg.conf file as specified below. Connect your second display.

Then press Ctrl+Alt+Backspace [Delete key] to restart X.

Your second display will then turn on.

You'll have to unplug the second display, and restart X again to revert back.

Section "Device"
        Identifier      "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]"
        Driver          "ati"
        BusID           "PCI:0:16:0"
        #Option         "UseFBDev"              "true"
        Option          "AGPMode"       "4"
        Option          "AGPFastWrite"  "true"
        Option          "EnablePageFlip" "true"
        Option          "RenderAccel"   "true"
        Option          "AccelMethod"   "exa"
        Option          "backingstore"
        Option          "UseFWPLL"      "true"
        Option          "MergedFB"      "true"
        Option          "CRT2Position"  "Clone"
        Option          "MetaModes"     "1280x854 1024x768 800x600"
        Option          "CloneMode"     "1280x854"
EndSection

How do I control trackpad behaviour?

Open a new terminal window and run:

sudo aptitude install powerpc-utils

to install the necessary utilities. In Feisty 7.04, this may already be enabled.

To enable tap, run:

sudo trackpad tap

To disable tap, run:

sudo trackpad notap

See

man trackpad

for more details.

3D video drivers, Beryl, Compiz

For technical background, see AcceleratedX.

There are no official ATI nor Nvidia 3D drivers for PPC Linux. Neither company has developed any, nor released hardware specs to create a good open source driver. However, the current open source developed ati driver works well for most ATI chips, and has somewhat stable 3D support.

You do not need to download drivers from Nvidia or ATI website. (There aren't any there for PPC Linux.) Currently, PPC Linux uses drivers which are built into the Linux kernel. To make sure the correct driver is enabled, you must edit the file /etc/X11/xorg.conf:

sudo gedit /etc/X11/xorg.conf

And look for the Driver line in the Device section:

Section  "Device"
          Driver   "ati"

For ATI users, make sure that the driver is specified as 'ati' or 'radeon' specifically for Radeon cards. ATI Rage 128 users, make sure that the driver is specified as 'r128'.

For Nvidia users, make sure that the driver is specified as 'nv'.

There is no DRM under PPC Linux for Nvidia chips, unfortunately.

The Nouveau project http://nouveau.freedesktop.org/wiki/ hopes to have 3D drivers for Nvidia very soon.

Beryl/Compiz should work under PPC Linux, assuming you have stable ATI drivers and good 3D going. Some ATI cards do not work well with 3D in PPC Linux, and others (particularly the recent iBooks/Powerbooks) seem to have very good results.

To test if your 3D is working (required for beryl or compiz), type:

glxinfo

in a terminal and look for "direct rendering: Yes" in the output, as well as a listing of glx extensions. You should be able to run glxgears to test that 3D is working:

glxgears

3D performance tweak for ATI Radeon cards

3D performance can be greatly improved for Radeon cards by adding a few select options to your xorg.conf file. We will be talking about setting options for the graphics card AGP bus. The default AGP bus mode setting that sets your cards data bus speed to the motherboard, is set to 1X. First you will need to find the maximum supported AGP speed for your desktop or laptop Mac. If you do not already know this information, you can find detailed specifications for your Mac at the link below.

http://www.apple-history.com

The driver options we will be setting are "AGPMode" and "AGPFastWrite". As an example, my iBook G4 is equipped with an ATI Radeon 9550 that has an AGP 4X bus. Open /etc/X11/xorg.conf in your favorite text editor and add the following lines to your "Device" section.

Option          "AGPMode" "4"
Option          "AGPFastWrite" "true"

Since my iBook uses a 4X AGP bus, I set AGPMode to "4". So if your Radeon card supports 8X, you would set AGPMode to "8".

In most cases you can also increase your 3D frame rate performance even more by disabling the option "UseFBDev" in the "Device" section of your xorg.conf file. Most of your frame rate performance increase will come from disabling the framebuffer.

Option          "UseFBDev" "false"

Extend battery life and reduce heat output of your iBook or PowerBook

To help reduce power consumption of your ATI Radeon equipped iBook or PowerBook, the driver option "DynamicClocks" can be enabled. To enable dynamic clock scaling, add this line to the "Device" section of your xorg.conf file.

Option          "DynamicClocks" "true"

Beryl/Compiz tips

Right click on the Beryl Manager, and pick Advanced Beryl Options>Rendering Path>Copy

And for Select Window Manager> Pick Compiz. Selecting Beryl makes the Beryl Manager crash and resort to the fall back window manager for some.

You may have to possibly add the following to the drivers section of your /etc/X11/xorg.conf:

Option "DRI" "true"
Option "GARTSize" "64"
Option "AddARGBGLXVisuals" "true"

This page has tips for ATI Radeon users:

http://www.howtoforge.com/ubuntu_feisty_beryl_ati_radeon

And here is the Beryl Wiki with PPC Linux info:

https://help.ubuntu.com/community/CompositeManager/CompizFusion

Sharing a printer with OS X

OS X can print directly to a Linux cups printer. There is no need to mess with samba or create users. To share your Linux cups printer with other OS X machines, simply replace your /etc/cups/cupsd.conf with the cupsd.conf file below, then restart cups (sudo /etc/init.d/cupsys restart).

Note: This is not PowerPC Linux specific and will work for any Ubuntu computer.

# /etc/cups/cupsd.conf
# Simple CUPS configuration file for a print server
# which serves printers within a private local area network.
# - There is no need for additional security within the print server, ie only authorized
# people can access the machine.

# This setup also allows access to the CUPS "Administrative tasks" system
# via your web browser to http://localhost:631
# File based on Ubuntu 5.10 (Breezy Badger) (Linux version 2.6.12-10-386)
# Server Directives are explained in http://localhost:631/sam.html

# 25/04/2006
# DavidTangye@netscape.net

ConfigFilePerm 0600
LogLevel info
Printcap /var/run/cups/printcap
RunAsUser Yes
Port 631
Include cupsd-browsing.conf
BrowseAddress @LOCAL
BrowseAddress 10.0.0.0/8
BrowseAddress 172.16.0.0/12
BrowseAddress 192.168.0.0/16

<Location />
AuthType None
Order Deny,Allow
Deny From All
Allow From @LOCAL
Allow From 10.0.0.0/8
Allow From 172.16.0.0/12
Allow From 192.168.0.0/16
</Location>

<Location /jobs>
AuthType None
Order Deny,Allow
Deny From All
Allow From @LOCAL
Allow From 10.0.0.0/8
Allow From 172.16.0.0/12
Allow From 192.168.0.0/16
</Location>

<Location /printers>
AuthType None
Order Deny,Allow
Deny From All
Allow From @LOCAL
Allow From 10.0.0.0/8
Allow From 172.16.0.0/12
Allow From 192.168.0.0/16
</Location>

<Location /admin>
AuthType None
Order Deny,Allow
Deny From All
Allow From @LOCAL
Allow From 10.0.0.0/8
Allow From 172.16.0.0/12
Allow From 192.168.0.0/16
</Location>

Keyboard backlight

For the light sensor and keyboard controls to work properly, the system must load the kernel module i2c-dev before starting pbbuttonsd. Since pbbuttonsd is probably already started, but unable to control the backlight without i2c-dev loaded, perform the following steps:

sudo modprobe i2c-dev
sudo /etc/init.d/pbbuttonsd restart

Note, that while pbbuttonsd has a reload mechanism (so that it doesn't have to be stopped and started, as is done by restart), this is not sufficient; the restart is truly required.

To make this change permanent, add the following line on file /etc/modules:

i2c-dev

Troubleshooting

Ubuntu wont boot, hangs during boot, blank screen etc.

Check the PowerPC Known Issues page.

What about WINE, ndiswrapper, Adobe Flash 9?

Wine and ndiswrapper require x86 hardware, and therefore will not work on PowerPC hardware. However Qemu can be used, see below.

Developers or hackers can have a look at Darwine in place of Wine, which could be ported to Linux on PowerPC.

Adobe does not make Flash for PPC Linux, but there are free open source alternatives for PPC Linux users, such as Gnash. See the section about it above.

What about an x86 emulator?

sudo apt-get install qemu

The Qemu project is an open source CPU emulator, which can run under PowerPC Linux. It is possible to emulate x86 hardware and install Windows, or other operating systems. Windows emulation on PowerPC will run very slow, due to the very nature of what it has to do (translate x86 code to PowerPC). However, older versions of Windows (such as Win98SE) run OK in Qemu on PowerPC.

See Installation/QemuEmulator.

What is Mac-On-Linux?

sudo apt-get install mol

Mac on Linux will let you boot up the OS X partition of a dual boot system, inside Linux. It is also possible to create disc images, the same as with Virtualbox or VMware. It is not software-emulated, so the actual speed is very fast. MOL currently only works on pre-G5 processors, though ppc64 support is near completion.

The provided Ubuntu packages may work fine, but if not, it is recommended you fetch the latest mol directly from the sourceforge project and install following the included documentation:

svn co http://mac-on-linux.svn.sourceforge.net/svnroot/mac-on-linux/trunk mac-on-linux

Read more about MOL here, though these notes are somewhat dated:

MacOnLinuxHowto

Gutsy/Hardy PPC issues

The PPC version of Gutsy/Hardy has some major bugs in it, see the following articles and topics for general help :

How can I configure and compile my own kernel under PowerPC Linux?

Note: An alternative method is at this thread: http://ubuntuforums.org/showthread.php?t=453497

How to compile your own kernel. Useful to enable a low-latency kernel for audio work, or to have a recent kernel from kernel.org to attempt to reproduce bugs that may need to be fixed upstream. This process will leave you with kernel .debs to install.

1. Install the development tools needed, if you haven't already:

 sudo apt-get install build-essential ncurses-base ncurses-dev fakeroot kernel-package

2. Fetch a kernel from http://www.kernel.org (there's a big blue arrow link at the top right of the page to get the latest stable kernel) and save it to your home directory.

3. Unpack the kernel sources:

 tar -xvjf linux-[version].tar.bz2

4. Change to that new directory

 cd linux-[version]/

5. Now time to make a default kernel configuration. For G5 machines, type:

  •  make g5_defconfig

For all other macs, including G3 and G4 machines, type:

  •  make pmac32_defconfig

For the PS3, type:

  •  make ps3_defconfig

6. When that is done, type

make menuconfig

And now navigate around to enable other options that you may need. (Ex: wireless drivers, tvcards, low-latency kernel, etc.) If you don't enable what you need, you won't have it! Press space bar once to enable support as a module <M>. This is generally desired over built-in modules <*> in most cases. If you forget something, you can always go back to this step later and recompile your kernel.

Suggestions for a low-latency audio kernel:

 Kernel Options -> Timer Frequency -> 1000 Hz

 Kernel Options -> Preemption Model -> (X) Preemptible Kernel (Low-Latency Desktop)

Wireless support:

 Networking -> Wireless -> enable all IEEE 802.11 options as <M> module

Airport and Airport Extreme support:

 Device Drivers -> Network device support -> Wireless LAN -> <M> Broadcom 43xx wireless support (mac80211 stack)

 Device Drivers -> Network device support -> Wireless LAN -> <M> Broadcom 43xx-legacy wireless support (mac80211 stack)

as well as enabling other wireless drivers as needed. If unsure of your wifi chipset, just enable all wireless drivers in this section.

When you are finished, keep hitting ESC to exit and say 'Yes' you want to save.

7. Now type

 fakeroot make-kpkg clean

then start compiling:

 fakeroot make-kpkg --initrd --revision=ppc32 kernel_image kernel_headers modules_image

specifying whatever revision designation you wish (ppc32, ppc64, ps3, etc). This will take a long time to compile, probably at least an hour with a 1GHz processor. This is a good time to go make coffee.

8. When it has finished compiling, just install the debs:

 cd ..
 sudo dpkg -i <name of the kernel deb files such as linux-headers-2.6.x linux-image-2.6.x>

And now you are done! Reboot into your new kernel.

Installing the deb will automatically configure your machine to default to that new kernel. If desired, you can further edit the yaboot.conf file to specify default boot options.


9. [optional] Editing yaboot.conf to specify kernel boot options. WARNING: You must write yaboot changes to disk with ybin before rebooting. See final steps at end.

 sudo nano /etc/yaboot.conf

One important tip: you must create a line in your yaboot.conf that says

default=imagename

to specify a default kernel image for your machine to boot. Otherwise yaboot will choose the first image listed as default.

To double check your exact image name, simply look in /boot for your kernel image.

ls /boot

Here is an example yaboot.conf with an entry for a 2.6.19.7 kernel image added:

## yaboot.conf generated by the Ubuntu installer
##
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
##
## For a dual-boot menu, add one or more of:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

boot=/dev/sda2
device=/ht@0,f2000000/pci@5/k2-sata-root@c/k2-sata@0/disk@0:
partition=3
root=/dev/sda3
timeout=100
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
enableofboot
enablenetboot
macosx=/dev/sda5
#defaultos=macosx
fgcolor=black
bgcolor=white

default=2.6.19.7

image=/boot/vmlinux
        label=Linux
        read-only
        initrd=/boot/initrd.img
        append="quiet splash"

image=/boot/vmlinux.old
        label=old
        read-only
        initrd=/boot/initrd.img.old
        append="quiet splash"

image=/boot/vmlinux-2.6.19.7
        label=2.6.19.7
        read-only
        initrd=/boot/initrd.img-2.6.19.7
        append="quiet splash"

10. Control-X and hit [Y] to save. Now write changes to the boot partition:

sudo ybin -v

11. Reboot and you will boot into your new kernel.

Where can I get more help?

Forums:

Live assistance from others users is available with IRC via irc.freenode.net on #ubuntu-powerpc

PowerPCFAQ (last edited 2010-10-16 22:26:13 by Graham Perrin)