Many more general questions have answers at the Community Documentation.
Please help keep this document up-to-date. Editing a wiki is easy, see this page for guidance.
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 given in the release notes. Users with less RAM or disk space may try Xubuntu or Lubuntu.
What about OldWorld Macs?
Is Ubuntu supported on PowerPC?
Ubuntu for PowerPC is now a community supported platform (the announcement) so you can no longer pay Canonical to support your PowerPC desktop machine. This also means that ISO downloads have been moved to the ports section of the Ubuntu sever, and are no longer on most mirrors. In fact, it is often hard to find any reference to PowerPC on the main Ubuntu website or packages.ubuntu.com.
However, PowerPC packages (like for other architectures) are available on launchpad where you can look up the source code, build logs and bugs. Canonical and the wider community still fix PowerPC bugs when they are reported and when they find them. However, package releases will not be delayed due to problems which are specific to PowerPC. This means there is occasionally the need for some PowerPC specific workarounds which are detailed below and on the PowerPC Known Issues page.
Is Ubuntu still available on PowerPC?
Yes, see PowerPCDownloads for downloads.
I have an old computer so I should install an old version of Ubuntu, right?
Wrong. You should only install a release that is still receiving updates. As time passes there is an almost inevitable creep of bloat (or a new feature increases the recommended spec), but developers also find better and more efficient ways of doing things. You will find that the speed of your system goes up, as well as down, from release to release.
If you have a very low spec machine then it is recommended to install a derivative such as Xubuntu or Lubuntu that is suitable for your machine's specification. These will give you a fast machine out of the box (or with the minimum of tweaking). Whatever version you run it is important to setup your graphics correctly so that you can benefit from hardware acceleration. As a guide, the 'compiz' desktop effects of Ubuntu 10.04 (LTS) run very well on a 1.2GHz iBook with a radeon card. In 12.04, Xubuntu (LTS) maybe a more suitable choice for the same machine (although this very much depends on your personal preferences). Kubuntu offers a highly configurable desktop environment which can be adjusted to match your machine's capabilities. More desktop environments are described here.
How do I install a derivative?
If a live or alternate CD is available for the derivative in the PowerPCDownloads then you can install from that, otherwise you can install via the mini iso or using another derivative's alternate install CD (see installation section below for instructions for how to do this).
It is also possible to install different desktop environments alongside each other to try them out (and this would be an alternative to starting from the mini iso). Some instructions which you may find useful are here. You may not get the full benefits of speed and lightness by installing many environments at the same time.
What software is available for PowerPC?
Nearly all open-source software is available to download from the Ubuntu repositories, but the amount of proprietary software available for PowerPC linux is limited. You will have the same version of Firefox (yes it goes above 3.6), LibreOffice, etc as other architectures. This page lists Linux equivalents for popular Mac OS X software. Modern versions of Java are available through IBM Java and OpenJDK.
Notable absentees are: Chrome/Chromium, Adobe Flash, Wine (however Qemu can be used, see below), Skype, ndiswrapper, proprietary video drivers and Dropbox.
There is a new release available, do I need to upgrade?
No, not if you are happy with your current release and are still receiving updates for it. The 12.04 desktop edition (a long term support (LTS) release) will continue to receive updates until April 2017. The server edition of 10.04 (LTS) will be supported until April 2015.
Upgrading is pretty straightforward through the Update Manager, but if you require further info then there are instructions here or in the release notes. This FAQ and the PowerPC Known Issues page is there if you run into any PowerPC specific problems.
How do I install Ubuntu on my Playstation 3?
Check out this link for more information on installing on the PS3.
How do I burn an iso?
This wiki descrbes the process plus how to verify the iso file and finished disk. Remember to use the lowest burn speed for writing to cds/dvds.
How do I get a Mac to boot from CD?
The simplest method is to hold down the 'C' key as you turn the power on. Once you hear the CD drive reading the disk you can release the key.
Do I need the 32 or 64 bit version?
At some point (either when downloading the iso or running the cd) you'll be given a choice between the 32 bit or the 64 bit version. G3s and G4s use the 32 bit version, G5s use the 64 bit (so use the live64, install64 or cli64 option if available).
The iso is too big for a CD, what can I do?
This thread explains how you can reduce the size of an iso. You can also try 'over-burning' if it is only just too big, or write the iso to a DVD. You can also 'burn' an iso to a USB stick, see below. Alternatively, use the mini ISO.
It is possible to skip the burning entirely, and boot from the actual Ubuntu desktop/live iso file. This post explains how.
What about booting the iso over a local network or from a hard disk?
Instructions for network or hard disk booting an 'alternate' CD, as well as, other general information about installing on PowerPC can be found in the Official Installation Instructions. The files you need can be found at ports.ubuntu.com (for example, for precise). See also this wiki for network booting.
What is the Alternate CD?
The Alternate CD is a text-based installer similar to the debian installer. It can be used when your computer is not able to run the standard Desktop/Live installation CD (for example, if your computer does not meet the live CD minimum RAM requirements or requires graphics configuration in order to use the desktop). Some drives can also give the Desktop/Live installer problems at the bootloader stage (see bug) and the text-installer is able to skip this part (you can then configure yaboot manually).
The Alternate CD also allows more advanced installation which is not available with the Standard LiveCD. There are Alternate CDs for various derivatives, but if one doesn't exist for the derivative you wan't, you can use any Alternate CD and follow the instructions for the mini iso (see below).
The graphical and text installers ask roughly the same questions so don't be put off by the lack of a GUI. Use Tab and the arrow keys to move between options. The space bar selects an item such as a checkbox. Use Enter to activate choices.
What partitions do I need etc?
Most of the install questions are fairly easy and straighforward. If you don't know the answer to a question, then you can usually go with the default option. This old guide runs through the installation process.
You can let the installer take care of creating the necessary partitions and their sizes. If you want to use the whole disk for Ubuntu (and erase everything currently on the drive) choose the "Guided - use entire disk" option. This will create the following partitions:
partition 1 - a very small partition which holds the Apple Partition Map
- partition 2 - the bootstrap partition that yaboot (the bootloader) lives on
- partition 3 - the Linux root file system /
- partition 4 - swap space
Note, some computer models do not support booting from big drives and you may need to adjust your partition sizes if you have installed a new hard drive. For example, with early iMac G3s the openfirmware cannot access beyond the first 8GB (or 7.7GB) of a hard drive. This means all new hard drives larger than 8GB must be partitioned with the linux boostrap partition and root partition (or probably more precisely the /boot directory) within the first 8GB limit. Once Ubuntu has booted you will be able to access the rest of your new drive. Other computer models may have a 128GB limit.
What do I need to know for dual-booting?
If you are using HFS+ then please read the notes on the HFS+ wiki page and on wikipedia. The hfsplus and hfsprogs packages (which you may need to install) contain additional tools to access/modify HFS+ formatted volumes.
It is strongly advised that you perform any re-partitioning before you install Ubuntu. Shrinking partitions can be time consuming and you run the risk of losing everything on the partition. You are not going to have a great first impression of Ubuntu/linux if it is responible for wiping out all your irreplaceable data!!!
Assuming you have the other OS already installed occupying the entire disk, then you need to shrink an existing partition so that there is free space available on your hard drive. Both the live and alternate CDs have options to automatically do this. Choose the Guided - resize "drive details" and use freed space option on the alternate CD.
Some users maybe more comfortable using a utility such as GParted (available on the live CDs) to manage partitions. To view the actions supported on file systems, choose from the GParted menu: View → File System Support. Once you have made empty space on the disk (i.e. no partition occupying it), you can then choose the Use the largest continuous free space option when installing Ubuntu.
Note, the Disk Utility in pre-Leopard OS X cannot resize partitions without losing data. It will only allow you to create more partitions if you wipe all the current partitions - i.e. it will destroy your data.
Remember to backup any important data before making changes to partitions.
When you install Ubuntu onto a "NewWorld" Apple Macintosh PowerPC G3, G4 or G5 computer you can choose to boot between two or more operating systems. Ubuntu installs by default a "boot loader" called yaboot (Yet Another BOOTloader) and this allows you to start linux or select which other OS you'd like to boot. However, if you subsequently use the "Startup Disk" control panel (Mac OS 9) or preferences pane (Mac OS X), you reset the PRAM (programmable RAM) settings, preventing the yaboot boot loader from automatically starting. If this happens to you then check out the "I've lost yaboot, what can I do?" troubleshooting question. The partition map can be reordered to prevent this from happening.
If you are doing a fresh install of both operating systems (recommended), then you can put the yaboot partition as the first bootstrap partition or put the whole of Ubuntu in first place on the disk. The Official Installation Instructions describe how to do this.
What about installing alongside other linux distros?
If you don't want the opportunity to select between the distros via the Option/Alt key then you just need to create a new root (/) partition for Ubuntu. You can reuse the bootstrap and swap partitions you created for your other linux distro(s). Choose the "Manually edit partition table" option to do this.
You will be able to select which linux distro to boot at the second yaboot prompt. Press the Tab key to get your options. The distros will be named according to the partition they are installed on. You can rename them by editing the stanzas in your yaboot.conf.
G4 Dual-processor systems
Multiprocessor support — also called “symmetric multiprocessing” or SMP — is available for PowerPC. Ubuntu provides both SMP and non-SMP kernels.
Some motherboards have more than one processor on them, and some processors have multiple cores. If your computer is like this, then the SMP kernel is for you. Non-SMP kernels will not be able to take advantage of your multiple processors.
Before 12.04, the default 32 bit PowerPC Ubuntu kernel image does not support SMP. This should not prevent installation, since the standard, non-SMP kernel should boot on SMP systems; the kernel will simply use the first CPU only. In order to take advantage of dual processors, you'll have to replace the standard Ubuntu kernel with the SMP version. Install the linux-powerpc-smp meta-package. In 12.04, the non-SMP 32 bit kernel is no longer avaiable and the SMP kernel will be installed by default.
The 64 bit PowerPC Ubuntu kernel image supports SMP.
Which repositories have PowerPC packages?
If you are having trouble with mirror repositories then you can use the manual option in the alternate/mini CD for setting the mirror.
Change the mirror/hostname to
You may find that other official archive mirrors also provide ports directories. For example, (please add to the list):
There is a nice AskUbuntu question on how to automate searching for an alternative repository location.
Can I run a live ISO in ram like Puppy Linux?
Yes, just use the 'toram' yaboot parameter. See the BootToRAM wiki.
Can I install to a virtual disk like 'wubi'?
How do I do an OEM install on PowerPC?
See this Ubuntu Mate thread.
How do I install from the mini iso?
The base installation
Use the mini iso or alternate CD to install a simple command line only system. With the mini iso you'll need an ethernet connection so that it can download and install the required packages.
Boot the CD and type "cli" at the yaboot prompt (G5 users using the alternate CD should use "cli64"). Use the "cli-expert" option if you want a greater level of control.
A few things to be aware of: At the automatic update screen choose the 'No automatic updates' option. If you have a classic Airport wifi card then during the install you may be told you are missing the non-free firmware file "agere_sta_fw.bin". This can be ignored at this stage. The mini iso does appear to hang at one point with a black screen, please give it a couple of minutes as the download should kick in. Also, the screensaver (black screen) does come on during the installation just to confuse you more!
Install Ubuntu, Lubuntu, Xubuntu, Kubuntu, etc
After installing the base installation and logging in enter the following simple commands:
sudo apt-get update sudo tasksel
Select the derivative of ubuntu you want from the list that appears.
If the tasksel command doesn't work then check the PowerPC Known Issues page. An alternative way to install the desktop is to install the appropriate 'meta' package. Unlike the tasksel command this will give a description of what the problem is. For Xubuntu you would type:
sudo apt-get install xubuntu-desktop sudo apt-get dist-upgrade
When you have rebooted (the command is sudo reboot) you can tidy up the installation by entering the following apt-get commands in a terminal:
sudo apt-get autoremove sudo apt-get autoclean sudo apt-get clean
A kernel module is missing from the alternate/mini isos; what can I do?
The text/debian installers use a reduced kernel so occasionly it maybe the case that a module you need is missing. This was the case in 11.10 for many users with the pata_macio module (see the PowerPC Known Issues page). Although it is not easy, it is possible to insmod the appropriate kernel file. Some brief instructions are:
Download from launchpad the kernel image that matches the kernel used in the debian installer. Open the deb file using archive manager and extract the file you need. For example, the /lib/modules/3.0.0-12-powerpc/kernel/drivers/ata/pata_macio.ko file. Save it somewhere that you can access when running the alernate/mini iso. Drop to a shell, mount where you have stored the file and use the insmod command.
Note, the debian installers do not include the fan modules for some machines. This has been fixed in 12.04 for G4 iBooks and G4 Albooks (the therm_adt746x module is built into the kernel - bug report). Other users should maintain a good amount of circulation around their machine, possibly avoiding CPU intensive things like shrinking large partitions.
How do I boot from a USB drive?
There is a lot of confusion about booting from a USB device on a PowerPC machine. Here is what Apple have to say. So if your model was introduced after August 1999 then there is a good chance you will be able to boot from USB. Please edit this wiki if you've booted off an earlier machine.
To copy an iso to a USB stick
The following method uses 'dd' to 'burn' an iso to a USB drive. WARNING!! This will erase your USB stick so only do this if it hasn't got anything important on it! To return the USB stick to 'normal', you'll need to repartition and reformat it at the end!
Alternatively, if you don't want to use dd, or you are having problems, then you could just format the usb drive yourself with type HFS (or Apple_Bootstrap) and extract the files in the iso file onto the partition. This is useful if you want read/write capability on your usb stick, or you want to create extra partitions. See also the persistence and text-installer instructions below. Another way - and by far the least destructive - is to boot directly from the ISO file. This thread shows how to use grub2 to boot a live/desktop ISO file from a FAT/MS-DOS formatted USB flash drive. This post explains how to do the same using yaboot.
First, find out the device name of the USB device. For example, look in the ubuntu disk utility program to find it out. Mine is /dev/sdb. Double check you have the device name correct as you don't want to erase a hard drive or anything like that by mistake! The dd command will do its thing even if you have the device mounted.
Then use the 'dd' command to copy the iso to disk. The command you want will be something like this:
sudo dd if=~/Downloads/ubuntu.iso of=/dev/sdb
where ~/Downloads/ubuntu.iso is the path of the iso file and /dev/sdb is the USB device. Please be very careful using this command as sdb will be a hard drive on some machines.
Contrary to what you may have read elsewhere, it is possible to copy the iso from an intel machine running Ubuntu/linux. The dd command just copies raw data afterall. However, from feedback elsewhere certain machines/sticks seem to not like the dd command. If you are having problems you could try adjusting some of the settings of the dd command? For example, set bs=512 or bs=4096? See the dd manual.
Make sure you have the USB device connected before turning on the computer.
It is likely you will have to boot through openfirmware (certainly for a dd'd iso due to this bug - fixed in 12.10 for the desktop ISO), however, if you've installed a system onto a USB device then you can try restarting the machine whilst holding the Option key. You may be able to choose your USB device to boot from (this would work on a G3 iBook I had, but not a G4 iBook). You can also try holding down simultaneously Command-Option-Shift-Delete during start-up. This will bypass the internal hard drive and boot from an external drive or CD. If you want to force a particular SCSI device use cmd-opt-shift-delete-# where # = SCSI ID number.
If those don't work, restart the machine into openfirmware (hold down Command-Option-o-f after turning on, and keep pressed until you see the openfirmware prompt). Although it is not always necessary, you are recommended to first run the command:
To boot the USB device you can usually use one of the following commands (on the author's ibook usb0 is the port closest to the front, usb1 is towards the back):
boot usb0/disk@1:2,\\yaboot boot usb1/disk@1:2,\\yaboot
You can abbreviate the commands to (they should do exactly the same thing - openfirmware will do its best to fill in the blanks):
boot usb0/disk:2,\\yaboot boot usb1/disk:2,\\yaboot boot usb0/@1:2,\\yaboot boot usb1/@1:2,\\yaboot
Please add to this list if you use something different:
boot usb-2a/disk@1:2,\\yaboot boot ud:2,\\yaboot
It can be very tricky to find the openfirmware path to yaboot (not because it is hard, but because the way openfirmware works is so alien to most people). You can try each of the example paths one by one until it boots, or if these don't work you can use the openfirmware commands dev / ls and devalias (and/or dev usb0 ls etc) to try and work out what the path should be. If you can't see your usb device/files from openfirmware then you won't be able to boot from the device. More tips on booting from openfirmware are given on this page and this thread, but use the word yaboot instead of :tbxi with a dd'd iso (again due to this bug).
To list the files on the disk use the dir command. For example:
If you look at the contents of the iso you may be wondering where yaboot lives and how that relates to the commands above. The bootloader files and directories are given special attributes/types and this allows the shortened \\yaboot to be used (it effectively tells openfirmware to search for yaboot in a blessed folder). If you wanted to use the whole path it would be something like this:
You have to use this expanded path if you've copied the files in a way that does not preserve the special attributes.
Incidently, if you are wondering why you need disk@1 it is because usb0 is an alias to a bus and not a drive. One of the better explanations to how openfirmware works can be found in the NetBSD instructions (although they use boot quite differently). If you know of a better link then edit the wiki with it!
I have given more information about booting from USB on this page. There are some troubleshooting tips if you are trying to boot an 'alternate' iso.
Alternative text-installer method
The 8.04 Official Installation Instructions list a different method for the text installers (alternate and netboot/mini). This is not for the desktop/live ISOs. Since this version of the Official Instructions will eventually disappear, below is a shortened and tweaked set of notes:
The hd-media installer will look for an Ubuntu ISO image file (a.k.a. an 'Alternate CD') on the USB stick as its source for additional data needed for the installation. After you've copied the installer files, you will need to download an ISO and copy (not extract) the .iso file to the USB stick.
If you want to install over the network, without using an ISO image, then use the netboot files.
Copying the installer files - the easy way
The an all-in-one file boot.img.gz contains all the installer files (including the kernel) as well as yaboot and its configuration file. Create a partition of type "Apple_Bootstrap" on your USB stick using mac-fdisk's C command (make it big enough to contain the uncompressed image) and extract the image directly to that:
zcat boot.img.gz | sudo tee /dev/sdb2
Warning! Using this method will destroy anything already on the device. Make sure that you use the correct device name for your USB stick (sdb maybe a hard drive on some machines!).
Copying the installer files - the flexible way
If you like more flexibility or just want to know what's going on, you should use the following method to put the files on your stick.
Most USB sticks do not come pre-configured in such a way that Open Firmware (or more likely yaboot) can boot from them, so you will need to repartition the stick. As above, if you are using linux then run (ammend the commands to use the correct device name for your USB stick):
sudo mac-fdisk /dev/sdb
Initialise a new apple partition map using the i command, and print the new partition table using the P command. Note that the first "partition" will always be the partition map itself. Create a new partition of type Apple_Bootstrap (or Apple_HFS) using the C command. Make the partition big enough to accommodate all the files you want to copy onto it (obviously). Don't forget to write your changes using the w command before quitting (q command). See man mac-fdisk for help. Then type:
sudo hformat /dev/sdb2
You can alternatively use your favourite GUI partitioning tool to do the above partitioning and formating. Make sure you have the hfsutils Ubuntu package installed to enable you to do this.
In order to start the kernel after booting from the USB stick, we will put a boot loader on the stick. The yaboot boot loader can be installed on an HFS filesystem and can be reconfigured by just editing the text file yaboot.conf. Any operating system which supports the HFS file system can be used to make changes to the configuration of the boot loader.
Mount the partition (sudo mount /dev/sdb2 /mnt) and copy the following files from the Ubuntu archives to the stick:
yaboot (can be found in the netboot directory)
- any optional kernel modules
Mac-fdisk (and GParted) makes root the owner of the partitions so you'll have to use the sudo command to copy the files. Alternatively, you could change ownership or start your file manager as root (e.g. for Xubuntu use gksudo thunar).
If you want to use an Alternate CD, then copy the ISO file onto the stick at this point. The file name of the image must end in .iso.
Unmount using sudo umount /mnt
The following is optional. It blesses the directory and gives yaboot the tbxi attribute (so that you maybe able to use the option key at startup):
sudo hmount /dev/sdb2 sudo hattrib -c UNIX -t tbxi :yaboot sudo hattrib -b : sudo humount
Again, take care that you use the correct device name. The partition must not be otherwise mounted during this procedure.
Persistent Live USB
These instructions demonstrate how a separate boostrap partition can be created using the command mkofboot (this sorts out things like blessing the folder). You could alternatively just extract all the files to a single partition and use the hattrib command (like above) to define the special boot attributes in the /install directory. Use an Apple partition map because it seems yaboot doesn't work with an MS-DOS partition table (use grub2 instead with a MS-DOS partition table).
Use GParted or the command mac-fdisk to partition the drive. Create a boostrap partition, a partition to extract the iso onto and a partition labelled casper-rw. In the example commands below, the usb device is /dev/sdb and has the openfirmware path usb0/@1 .
sudo mac-fdisk /dev/sdb sudo mkfs.ext4 /dev/sdb3 -L UbuntuUSB sudo mkfs.ext3 /dev/sdb4 -L casper-rw sudo mount /dev/sdb3 /mnt
It's easier if we give everybody read/write permissions:
sudo chmod 777 /mnt
Extract the iso contents to the new UbuntuUSB partition. You could use Achive Manager to do this if you prefer.
mkdir UbuntuISO sudo mount precise-desktop-powerpc.iso UbuntuISO -o loop cd UbuntuISO cp -rf casper dists install pics pool preseed .disk /mnt
Once you have copied the iso, move to the install directory
Edit the yaboot.conf in the install directory.
Add the line
before "message=/install/boot.msg". Also, add the word persistent at the end of the append line of the stanza you wish to boot from. For example:
append="file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash persistent --"
(Optional) Edit the ofboot.b file in the install directory changing the line "boot cd:,\install\yaboot" to
The ofboot.b file is given the tbxi attribute by mkofboot/ybin. If you don't require the tbxi attribute (i.e. you boot from openfirmware where you can call yaboot directly), then you can skip this and leave out the ofboot and magicboot options from the mkofboot command below.
Finally, format the bootstrap partition and copy the files to it using
sudo mkofboot --config yaboot.conf --install yaboot --boot /dev/sdb2 --ofboot "&device;:2" --magicboot ofboot.b --nonvram --verbose
In the command above the ofboot option is not actually used by mkofboot because we have specified not to update nvram and we are using a custom magicboot script. However, if you specify the ususal magicboot script (/usr/lib/yaboot/ofboot) it will be used. Omit the --nonvram if you want to boot the device by default instead of a hard drive. You'll have to also set which usb port/partition to use (instead of the generic &device;:2), for example :
Otherwise, you can boot by holding the option key (if your computer supports this with USB), or from openfirmware:
boot usb0/@1:2,yaboot boot usb0/@1:2,\\:tbxi
For further ways to customize the CD/ISO/USB see LiveCDCustomization.
Installing to USB
If you have installed a proper system onto a USB device then it is likely the installed system will not automatically boot. Instead, any existing OS will continue to boot as normal.
If you want to permanently boot from the USB device instead of a hard drive then you will have to manually specify an ofboot argument (e.g ofboot=usb0/@1:2 ) in your yaboot.conf file or as an option when you run the ybin command. See the section below for more advice on this.
If you don't want to boot permanently from it (i.e. you don't want nvram updated) then you can use in your yaboot.conf (this is actually added automatically in 12.10 onwards):
This is more flexible and does not fix the drive to one particular USB port. On some computers you will be able to boot by holding down the option key at startup, while on others you will still have to go through openfirmware.
How do I configure yaboot.conf?
If you've had to skip installing the bootloader then see this troubleshooting question for how to boot the system. In 12.04 (see bug), this will cause the live/desktop installer to crash and not complete properly. You will have to re-install using the alternate/mini ISOs (unless you patch the yaboot-installer file on the live ISO). Once you've edited yaboot.conf to fix the problem (typically you need to add an ofboot line), use the mkofboot command (instead of ybin) to setup the bootloader partition.
The file /etc/yaboot.conf can be edited to change the booting behavior of your PowerPC Linux machine.
You can 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:
More information about using yaboot on a dual boot system can be found here.
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.
A typical yaboot.conf taken from a linux only natty installation is here.
On some installations (e.g. onto a usb drive or with the new ata controller drivers in 11.10?) you may have to use the ofboot argument to specify the openfirmware path to the boot partition. Gentoo have an excellent quick guide to manually editing the yaboot.conf file. It contains advice on the ofboot argument, as well as, adding a root delay.
You can also look at the yaboot.conf manual by typing the command
or see /usr/share/doc/yaboot/examples for example configurations.
The more wordy Debian guide is here. This gives instructions on how to boot the system from openfirmware. See also the troubleshooting section below for how to use a Ubuntu CD to boot your installed system or manuallly edit your yaboot.conf.
The ybin program creates a file ofboot.b on the bootstrap partition. This is a simple CHRP script that controls the first stage boot menu. If you require additional options (for example to add a boot USB feature), then it is possible to alter the script. This is beyond the scope of this FAQ, but it is very easy for anybody with programming experience. Use the ofboot.b file on the bootstrap partition as a starting point (rather than the more complex script at /usr/lib/yaboot/ofboot). In your yaboot.conf file set the magicboot value to your altered ofboot.b location and re-run ybin to copy it across with the correct hfs attributes.
Shouldn't it just work out the box nowadays?
In an ideal world, yes, of course. For many machines it does.
However, if you get a blank screen on boot, your boot time is excessively long, or if your picture is not displayed correctly then you will have to make some adjustments. You may also like to experiment with your graphics setup to increase performance or enable a certain feature.
Unfortunately, there are quite a few problems with essentially the same symptom - a blank or corrupted screen. So it is often a case of trial and error to see what works (see this troubleshooting question first). There are broadly two approaches to solving graphics problems: adding a yaboot parameter and setting up an xorg.conf file.
The yaboot parameter could be seen as the "quick fix" approach, good to get something at least on the screen (e.g. a command line login or a simple graphics setup), but often you may need to make it permanent too. An xorg.conf file gives greater control of your graphics setup and is used, for example, to adjust a bad resolution or when you can't get beyond a command line login. Increasingly, an xorg.conf file is not needed in new versions of Ubuntu with many machines.
Note, Ubuntu evolves with every new release and yaboot parameters you may need for one release may not be required for the next release. To take advantage of improvements you should retest your graphics setup after an upgrade.
What yaboot parameters should I use for graphics problems?
To solve graphics problems it helps to know what sort of video card you have. If you don't know what you have, you can look up your computer at Apple or Everymac. Though typing lspci at the terminal prompt should give you the information you need.
Historically, the yaboot parameter that has been recommended to try is video=ofonly (disable all legacy framebuffers apart from the openfirmware framebuffer - offb). Parameters beginning video= are used to control the framebuffer. Framebuffers are used to display things like the text console and splash screen, but they are also crucial in determining if suspend or brightness keys work. Offb is a basic framebuffer with typically a very limited palette and no suspend.
You add a yaboot parameter (also known as a boot or kernel parameter) after whatever you normally type at the yaboot prompt. If you normally type Linux (note, with a live CD you typically type live) then you would type at the yaboot prompt:
However, due to how recent Ubuntu kernels are setup it is now unlikey that video=ofonly will make any improvement for the majority of users. It is probably only radeon users who will benefit from this parameter...more on this below....
Modern open-source radeon and nouveau (nVidia cards) video drivers rely on Kernel Mode Setting (KMS). KMS supposedly provides an improved graphical boot with less flickering, a built-in framebuffer console, seamless switching from the console to Xorg, and other features. To achieve this, KMS moves some of the responsibility for selecting and setting up the graphics mode from the Xorg to the kernel. KMS can be problematic so if you have one of these cards then one of the first things you should try is turning off KMS.
For nVidia cards use the yaboot parameter nouveau.modeset=0 to disable KMS. This will disable both the nouveau xorg driver and the nouveaufb framebuffer (as KMS and nouveaufb are also inseparable) and you will fallback to the fbdev/offb driver. Note the openfirmware framebuffer has a limited colour depth - hence the 'psychedelic' colours you will see. You can increase the colour depth with fbdev by using a different framebuffer (such as nouveaufb or the legacy framebuffers nvidiafb or rivafb) and creating an xorg.conf that specifies fbdev, but if you can't get KMS fully working then the better solution is to use the nv driver in your xorg.conf.
For radeon cards use radeon.modeset=0 . Radeon users before 12.04 may prefer to disable KMS to gain more stable 3D graphics acceleration. Non-KMS support was removed entirely from the radeon xorg driver in 12.10, so if you disable KMS then you will now fallback to the fbdev driver.
The boot parameter 'nomodeset' can be used instead of radeon.modeset=0/nouveau.modeset=0 in some versions of Ubuntu (it does exactly the same thing).
To find out what other parameters are available at boot time with the radeon/nouveau modules use the modinfo command.
To force a nouveau framebuffer mode (e.g. to enable a dvi connector and disable a non-existent tv out) see the bottom of this link. This has been known to solve problems with some nVidia cards and nouveau. GeForce 6600 or FX5200 owners should use the video=TV-1:d parameter whilst GeForce 6800 users are recommended to try video=TV-1:d video=TV-2:d as these are confirmed workarounds for the phantom port issue for these GPUs on Power Macs. Gentoo have more on phantom outputs with nouveau (and other suggestions for you to try), see here.
You can force the mode of framebuffers aty128fb (ATI Rage 128 cards) and atyfb (Mach 64 and Rage cards), for example: video=aty128fb:1024x768-16@75 . See the bottom of this link for an explanation. The official guide suggests a different way, see the bottom of this page. I struggled to find information on vmodes/cmodes, so I'm not sure if that is old fashioned (something to do with MacOS?), but there is quite a good guide here (or alternatively here). Note, you will have to perform extra steps to use these framebuffer in some versions of Ubuntu as they are not always built in to the kernel - see below.
It is possible to combine yaboot parameters. For example:
Linux radeon.modeset=0 video=radeonfb:1024x768-32@60
will turn off KMS and set the radeonfb framebuffer mode. Forcing a mode may fix some splash problems?
You may find the output of "cat /sys/class/graphics/fb0/modes" helpful in determining available modes. If the mode you want is not there, then try adding 'M' to the 'video=' parameter e.g. video=radeonfb:800x600M
KMS conflicts with legacy framebuffer drivers (such as, radeonfb, nvidiafb, rivafb), so you should disable these if you want to try KMS. nvidiafb and rivafb which are the old framebuffers for nvidia cards are not 'built in' to recent ubuntu kernels (and their modules are blacklisted) so they shouldn't cause a problem. radeonfb is, however, 'built in' to some kernels. radeonfb will stop radeon KMS working fully (3D hardware acceleration will be impaired) so you can disable radeonfb with the yaboot parameters video=ofonly or video=radeonfb:off. If you have freezing problems with radeon KMS then try reducing the AGP mode. The yaboot parameter radeon.agpmode=-1 will force PCI mode (the Fedora 16 PPC page lists this as a necessary workaround).
To check if a framebuffer is built in look at the config files in the boot directory. For example, to check the status of the radeon framebuffer use the command
grep RADEON /boot/config-$(uname -r)
If you get CONFIG_FB_RADEON=y then the framebuffer is built in. If it =m then it is built as a module and you will have to manually load the kernel module before you can use it.
Another yaboot parameter that can be needed is video=offb:off. This will disable the openfirmware framebuffer and is used when offb conflicts with another framebuffer (see log files syslog/dmesg in directory /var/log/). If no other framebuffer is available at boot time then you may get a frozen or blank screen until the Xorg server starts.
For background information on framebuffers see here, but you'll have to filter out any details relating to grub as PowerPC does not use this. It also gives some information about the command fbset. This allows you to show or change framebuffer settings from the console.
You can check if a framebuffer is working by booting into single user mode.
A boot parameter that you'll find reading forums is nosplash (probably a throw back from when the splash screen was done with usplash rather than plymouth). This *may* disable on *some* computers the Ubuntu splash screen i.e. the word Ubuntu with the four dots. However, if you want to disable the splash screen it is better to use one of the nosplash options on the CD if you can. Press TAB at the yaboot prompt to find these. The only reliable way to disable the splash screen on an installed PowerPC system is to remove the word 'splash' from the yaboot.conf file.
It is also worth opening the yaboot.conf file to see if the installer has added any graphics parameters.
Note, yaboot parameters don't always work with the live cds, but you will still be able to install using the alternate or mini cds. If you've used a "video=" yaboot parameter with a CD then that parameter should be automatically passed onto the install. However, other parameters may not be copied so this is something you need to check after an install.
How do I make a yaboot parameter permanent?
To make a yaboot parameter permanent or remove a parameter from an installation, use the command
sudo nano /etc/yaboot.conf
and change the 'append' lines in the file. Add the desired parameter into the quotes, or remove the word splash if you want to disable the splash screen. Every parameter inside the quotes should be separated by a space.
For example, adding radeon.agpmode=-1 to the default 'Linux' stanza would look like this:
image=/boot/vmlinux label=Linux read-only initrd=/boot/initrd.img append="quiet splash radeon.agpmode=-1"
Save (ctrl+o) and exit (ctrl+x), then type the command
sudo ybin -v
to copy the file across to the boot partition.
How do I configure an xorg.conf file?
If you have a distorted picture, a poor resolution, poor colours or can't boot past a command line login then you may need to setup an xorg.conf file....
The information below this point only applies if you have installed a GUI/desktop.
To setup an xorg.file you may find it more convenient (for example, if your picture is bad or black) to boot into single user mode.
Sample xorg.files for various machines can be found here. These can sometimes save you reading the documentation, but some of them are not the best setup (that's a polite way of putting it!.....and if you still haven't taken the hint.....you are recommended not to use them or look at them unless you are really stuck). If you still want to use them then download the file using the wget command at the bottom of the appropriate page. Then move it using the command "sudo mv file_name /etc/X11/xorg.conf" where file_name will be something like "ibook2.txt". Reboot using "sudo reboot".
It is not hard though to setup your own xorg.conf file, and if you have an external monitor then it is certainly recommended you do so. Some instructions for setting up an xorg.conf and detecting your monitor resolutions are below:
Get to a console, for example via single user mode. Then type:
sudo Xorg -configure sudo mv xorg.conf.new /etc/X11/xorg.conf sudo nano /etc/X11/xorg.conf
Note the capital 'X' in "sudo Xorg -configure" and "X11". Also, you can probably ignore any errors from the command, such as "number of created screens does not match number of detected devices", as it will still generate an xorg.conf file. It just means you will have to delete some sections of the xorg.conf.
At this point you may be freaking out a bit because it does look complicated when you are new to this sort of thing! However, once you overcome your panic and approach it more with a “can do” attitude you’ll see it is not so hard.
An xorg.conf file is composed of a number of sections which may be present in any order. Each section has the form:
Section "SectionName" SectionEntry ... EndSection
To solve graphics problems we are mainly interested in the "Monitor", "Device" and "Screen" sections. Assuming you have a standard single monitor setup, then you probably only want 1 of each of these sections so you may have to delete some sections if it gives you two. If this is the case, examine the two “Device” sections and look at the Driver section entry. If you have an Apple computer then the section you want to keep will have radeon, ati, r128, nouveau or nv written in the Driver entry (what is written depends on your graphics card). There are no proprietary (non-free) drivers for ppc. Above the Driver entry will be the Identifier entry. This is a unique name given to the graphics device and will probably be something like “Card0”.
The "Monitor" and "Screen" sections also have Identifier entries. The "Screen" section has entries to reference the "Monitor" and "Device" sections as it's purpose is to bind the monitor to a graphics card. You want to keep the "Screen" section that references the identifier of the "Device" section that you are keeping. It will probably work out that you are keeping the sections "Card0", "Monitor0" and "Screen0". You can rename these identifiers to something meaningful if you prefer.
The highest level section is the "ServerLayout" section. When you delete sections you will have to change the "ServerLayout" section to reflect any changes. A shortened xorg.conf using r128 may look something like the one below. For clarity, the font, module and input device sections have been deleted which you can also safely do. Note, the lines starting # are comments and don't do anything.
Section "ServerLayout" Identifier "X.org Configured" Screen "Screen0" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" # This line can be deleted ModelName "Monitor Model" # This line can be deleted EndSection Section "Device" ### Available Driver options are:- ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", ### <string>: "String", <freq>: "<f> Hz/kHz/MHz", ### <percent>: "<f>%" ### [arg]: arg optional #Option "NoAccel" # [<bool>] #Option "SWcursor" # [<bool>] #Option "Dac6Bit" # [<bool>] #Option "Dac8Bit" # [<bool>] #Option "DMAForXv" # [<bool>] #Option "ForcePCIMode" # [<bool>] #Option "CCEPIOMode" # [<bool>] #Option "CCENoSecurity" # [<bool>] #Option "CCEusecTimeout" # <i> #Option "AGPMode" # <i> #Option "AGPSize" # <i> #Option "RingSize" # <i> #Option "BufferSize" # <i> #Option "EnablePageFlip" # [<bool>] #Option "Display" # <str> #Option "PanelWidth" # <i> #Option "PanelHeight" # <i> #Option "ProgramFPRegs" # [<bool>] #Option "UseFBDev" # [<bool>] #Option "VideoKey" # <i> #Option "ShowCache" # [<bool>] #Option "VGAAccess" # [<bool>] Identifier "Card0" Driver "r128" BusID "PCI:0:16:0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Depth 1 EndSubSection SubSection "Display" Viewport 0 0 Depth 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Depth 15 EndSubSection SubSection "Display" Viewport 0 0 Depth 16 EndSubSection SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection
Save, exit and restart the xorg server to see if it is working. You may have to do some more alterations, but these will change depending on your symptons and the xorg log (type "nano /var/log/Xorg.0.log" to look at it). Use the markers to quickly trace problems in the log:
Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
A description of some errors can be found here. There are a lot of warning messages at the start so it may be easier to start at the bottom of the log and work up. Messages about fonts can just be ignored. Don't worry about an "Invalid ROM contents", "Failed to read PCI ROM!", or "Video BIOS not found!" message, they sound scary, but are normal (although there is probably a setting you can tweak to turn them off).
Please see the sections below for card specific errors.
If your resolutions have been incorrectly detected (out of range message in the Xorg.0.log, blank screen or displays incorrectly on the monitor), then you can use the cvt or gtf commands to find your monitor setting for the resolution you want (type "man gtf" or "man cvt" to get more info about these commands). You can then add a modeline into the "Monitor" section using the output from the cvt/gtf command. You can add as many resolutions/modelines as you like.
e.g. typing the following command for the resolution 800x600:
cvt 800 600
gives the following output on my iBook:
# 800x600 59.86 Hz (CVT 0.48M3) hsync: 37.35 kHz; pclk: 38.25 MHz Modeline "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
Make a note of the modeline, open the xorg.conf again and copy the modeline into whatever "Monitor" section you have (add/uncomment the preferred mode bit if you want to set that): e.g.
Section "Monitor" Identifier "Monitor0" Modeline "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync #Option "PreferredMode" "800x600_60.00" EndSection
You will get different numbers when you run the cvt command as modelines are monitor specific. The "800x600_60.00" is the identifier/name of the mode. You must use this exactly whenever you refer to the mode in the xorg.conf (for example in the "Screen" section). You often see people shorten the name to "800x600" in which case it overrides the built-in mode. For example:
Modeline "1024x768" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync Modeline "800x600" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync Modeline "640x480" 23.75 640 664 720 800 480 483 487 500 -hsync +vsync Option "PreferredMode" "1024x768"
You may also have to adjust your "Screen" section, but hopefully the resolution(s) should be picked up automatically and you won't have to do this. An example "Screen" section where modes have been explicitly stated is below:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 # 1024x768 will be the default mode because it is first in the list. # The modes will apply to all colour depths because a 'Depth' entry has not been specified. SubSection "Display" Viewport 0 0 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection
You can also select the mode using the xrandr command (e.g. xrandr --output LVDS --mode 800x600_60.00). To find the current mode use the command "xrandr --current" and a * will indicate the current mode. If you are using KMS then you may find that your preferred mode has been ignored. If this is the case, set the mode name so that it overrides the built-in mode. For more information on how to use the xrandr command see here.
The GUI utility xvidtune can be used to see how to adjust the numbers in modelines.
An alternative to adding modelines is to specify VertRefresh and HorizSync values for your monitor. You should find values for VertRefresh/HorizSync in the handbook that came with your monitor. You can also find them out using the ddcprobe command. To use this you will have to install a package first with the command sudo apt-get install xresprobe . Then type sudo ddcprobe . The monitor range is shown at the bottom of the output. For example:
... monitorrange: 58-62, 75-117 ...
The first pair (58-62 in this example) is your HorizSync rate and the second pair is your VertRefresh (75-117) rate. The Monitor section using these values would look like this:
Section "Monitor" Identifier "Monitor0" HorizSync 58-62 VertRefresh 75-117 EndSection
If you have a G3 iMac then the values you get from the ddcprobe command are likely to be too restrictive. Use the values 58-62 and 75-117 instead.
Note, settings stored in PRAM impact geometry. Adjusting geometry in OSX (or resetting PRAM) can impact your geometry in Linux.
Monitor sections may be tied to specific outputs of the video card. Using the name of the output defined by the video driver plus the identifier of a monitor section, one associates a monitor section with an output by adding an option to the Device section in the following format:
Option "Monitor-outputname" "monitorsection"
For example, Option "Monitor-DVI-0" "Monitor0"
If the hardware reports the presence of outputs that don't exist (phantom outputs), then you may find it necessary to define Monitor sections for each erroneous video output and in them add the line Option "Ignore" "True". For example:
Section "Monitor" Identifier "TV-1" Option "Ignore" "True" EndSection
If you see repeated "insufficient memory for mode" messages on the resolutions you want in the Xorg.0.log then try adding a DefaultDepth 16 line to the Screen section. This will also enable DRI on some low memory graphics cards. However, in the past DRI/AIGLX has caused instabilaties with some cards.
If you have configured your own xorg.conf then you'll have a list of Device options you can tweak for your card. Make sure to also look at the EXA manual (if your card uses this) as it contains some extra options you can use. XAA options are in the xorg.conf manual. Look at the xorg.conf files people have used in the past for ideas on what to change. Before you make any alteration to your Device section, check the relevant manual for your card because the option may not relate to your error/problem. Not all options are documented in the manuals:
ATI Rage 128 cards
If you see the following combination of errors in your Xorg.0.log
(EE) Unable to find a valid framebuffer device (EE) R128(0): Failed to open framebuffer device, consult warnings and/or errors above for possible reasons ... (EE) Screen(s) found, but none have a usable configuration.
then it is likely you are using the openfirmware framebuffer with a ATI Rage 128 card. You should disable the openfirmware framebuffer with the video=offb:off yaboot parameter. If you are using 11.04 or 11.10 then you will have to load the aty128fb kernel module first (see question below). An alternative "fix" for the framebuffer error can be done through the xorg.conf, although it has been commented that this solution is inferior (for example, you may not have a console when pressing ctrl-alt-f1 etc). The alternate fix is to set "UseFBDev" "False" and possibly also "NoInt10" "True" :
Section "Device" Identifier "Card0" Driver "r128" BusID "PCI:0:16:0" Option "UseFBDev" "False" Option "NoInt10" "True" #you can also put this in the Screen section EndSection
AGP users may have to set the Option "ForcePCIMode" "True" if you are having freezing problems with DRI. Possibly this is the cause of some problems. You will likely see a message like this (note the 0x mode) in your dmesg log:
aty128fb 0000:00:10.0: putting AGP V2 device into 0x mode
In the past people have previously disabled DRI with an r128 card by adding Disable "dri" to the Modules section (or purposefully setting a high resolution/colour depth combination). This was probably to overcome the 0x bug, or old problems with AIGLX. However, without DRI, both desktop effects and applications will be software-rendered, which will be slow.
Section "Module" Disable "dri" EndSection
Rage 128 users may also be interested in an EXA patch (added to 12.10). You can find the latest source code here. The compat API was designed in such a way that it's backwards compatible with old X servers so it should compile in 12.04. Use the flags "--enable-exa --enable-xaa" if necessary. In 12.04 you can install the package xserver-xorg-video-r128-lts-quantal (although this is EXA only). This bug is tracking PowerPC issues.
There are no proprietary drivers for PowerPC so please ignore any well meaning advice to install them using the jockey-gtk utility (it will more than likely just crash when you try to open it anyway).
If you can only successfully boot using the yaboot parameter "nouveau.modeset=0" (and you've tried disabling phantom outputs and/or disabling acceleration with the yaboot parameter "nouveau.noaccel=1") then you should setup "nv" (the old driver for nvidia cards) in your xorg.conf file. Ammend the xorg.conf so that you have "nv" written in the Driver entry instead of "nouveau". From 11.10 onwards you will have to compile the package xserver-xorg-video-nv first as it is not in the repository (latest code is here). Compile instructions are in this post. You cannot use a binary package of nv from a previous version of Ubuntu.
If you get the error '(EE) Failed to load module "nv" (module does not exist, 0)' in your Xorg.0.log, then you need to install the package xserver-xorg-video-nv.
If you have the following combination of errors
(EE) module ABI major version ( doesn't match ther server's version (10) (II) UnloadModule: "nv" (II) Unloading nv (EE) Failed to load module "nv" (module requirement mismatch, 0) (EE) No drivers available
then you are using an old version of the nv package. To continue to use it in 11.10 and 12.04 you need to re-compile it. Please try using the newer 'nouveau' driver first (although you may find nv faster).
If your firefox pages are not rendered correctly with nouveau, then some users (e.g. with iMac G4 1.25 or iMac G5) have found increasing the resolution or the Virtual screen size helps (see thread). Just adding one pixel to the vertical dimension seems to work the best:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 1680 1051 EndSubSection EndSection
Note, there is no 3D hardware acceleration with the driver 'nv' (see here) and so you should try the newer 'nouveau' driver if you want this. If you can't get the version of nouveau that is in the ubuntu repositories working then there is a tutorial to compile the latest nouveau driver here. You'll have to adjust some of the instructions for PowerPC. LTS versions have updated packages available (e.g. xserver-xorg-video-nouveau-lts-trusty), but these will again need to be compiled on PowerPC.
If you can't get the nouveau xorg driver working and compiling nv is not an option then you will have to use the fbdev driver. To overcome the limited palette of the offb framebuffer, use the nouveaufb, nvidiafb or rivafb framebuffers. This post explains how to do this with a live/desktop CD.
To get the best out of my radeon card (see RadeonDriver, radeonBuildHowTo and ATIRadeon) I make a few alterations. With 10.04 and 10.10 I turn off KMS (Kernel Mode Setting) by using the radeon.modeset=0 boot parameter (see above). If I don't do this then I have poor video playback (a strange vertical pixelation) and get low values in glxgears (you see "Software Rasterizer" written when running the command glxgears -info). In 11.04 and 11.10, KMS is off by default.
In the device section of my xorg.conf file I set the GARTSize option to "16" (half my graphics memory) because the default 8 causes silly colours (a blue tint) with the gl screensavers.
If you experience choppy scrolling in firefox (can occur when you turn off KMS) then it is worth experimenting with the AccelMethod option. Under 10.04 and 10.10 I set this to "EXA" to fix the choppy scrolling. However, you may find that "XAA" is better. EXA uses less processor power but under 11.04 especially there are a lot of rendering errors. I've found that I can eliminate these errors and the choppy scrolling under EXA by setting a low "FBTexPercent" value.
Section "Device" Identifier "Card0" Driver "radeon" BusID "PCI:0:16:0" Option "AccelMethod" "EXA" Option "GARTSize" "16" Option "FBTexPercent" "20" EndSection
There are a lot of 'wonder' xorg.conf files knocking around the internet that claim to have the secret formula to fantastic 3d performance. I've only found two things that make a big difference. The first is to reduce the colour depth (for example put DefaultDepth 16 into the screen section), but I prefer a greater colour depth so I don't do this. The second is to turn on HyperZ. This isn't done in xorg.conf, but in a ".drirc" file in your home folder. Install Driconf from the software centre/synaptic so that you can turn it on using the applet. I have no idea what this actually does, only it makes the numbers go up in glxgears!
You may also like to enable the ClockGating and DynamicPM settings as they reduce heat output and increase battery life.
There are many many web pages which offer extra help (for example, see the links on the compiz ati hardware page), but - like for all linux - you will have to assess if the information is still relevant and valid. Note, if you are still using Usperspace Modesetting (radeon.modeset=0) in 12.04, then you may have better results with compiz if you compile version 0.8.8 or use the versions from lucid (10.04) or maverick (10.10).
See this thread to enable S-video.
If you want to experiment with KMS you should turn it on with the radeon.modeset=1 boot parameter. In 10.04, 10.10 and 12.04 you will also have to disable the radeonfb framebuffer:
Linux radeon.modeset=1 video=offb:off video=radeonfb:off video=1024x768-32 radeon.agpmode=-1
Archlinux provide some more information on KMS with a radeon card, see their wiki. Note, the KMS radeon framebuffer will be listed in logs as radeondrmfb. If you get "RADEONDRIGetVersion failed" in Xorg.0.log it is because of a race issue. Adding radeon to /etc/modules should be enough to get it going.
If you have the following combination of errors:
(==) Depth 24 pixmap format is 32 bpp (EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode (EE) FBDEV(0): mode initialization failed
then it is likely you have a DefaultDepth line in your xorg.conf. For example, you may be trying to set a 24/32 bit depth using the openfirmware framebuffer (which could be only limited to an 8 bit depth).
If you are using a KMS framebuffer (nouveaufb or radeondrmfb) then try increasing the framebuffer depth using a yaboot parameter(s) instead of through an xorg.conf.
How do I restart the X server?
Rebooting (the command: sudo reboot) is the obvious answer, but it is also the most tiresome because of the long wait to reboot. On some installations logging out and logging in again will work.
You can also restart the X server by first switching to a tty console (ctrl-alt-F1 etc). Then stop the X display manager you are using (lightdm, LXDM, GDM, or KDM), for example:
sudo stop lightdm
Configure your Xorg.conf file if necessary, then issue
sudo start lightdm
To return back to X Window System, use ctrl-alt-F7.
How do I load a kernel module?
In modern versions of ubuntu, most framebuffers are blacklisted in the file /etc/modprobe/blacklist-framebuffer.conf. Therefore, if the framebuffer you want has been compiled as a module (instead of 'built in' to the kernel) it will not be automatically loaded. To make ubuntu load the framebuffer module open the file /etc/modules with the command
sudo nano /etc/modules
and add the name of your framebuffer on a new line. You can also pass parameters in this file, for example:
Reboot (sudo reboot) for the changes to take effect. You'll probably also have to turn off the openfirmware framebuffer using the video=offb:off yaboot parameter.
You may also need to add the name of your framebuffer module to the file /etc/initramfs-tools/modules. This will make the module available early in the boot process. Use the command
sudo nano /etc/initramfs-tools/modules
to open the file, add the name on a new line, save and then, importantly, run the command
sudo update-initramfs -u
You may also want to tell plymouth (the splash screen) that you are using a framebuffer - see this AskUbuntu question.
How do I test my graphics acceleration?
You can test your 3D graphics acceleration with the commands glxinfo and glxgears -info. You'll probably have to install the mesa-utils package first:
sudo apt-get install mesa-utils
If you have a multi-user setup then you may need to add the following section to your xorg.conf:
Section "DRI" Mode 0666 EndSection
Use the command
to test if the section is needed. See this wiki for information on this, as well as, more troubleshooting tips. It has a good section on how to interpret Xorg.0.log messages.
If you are using 10.04 or 10.10 then turn on Desktop Effects through the System > Preferences > Appearance > Visual Effects menu. In 11.10 and 12.04 try the 'Ubuntu' session rather than the 'Ubuntu 2D' session (you change this at the login screen). Install compiz config settings manager to enable more effects.
Kubuntu can use Xrender or OpenGL for desktop effects. Make sure you are using the appropriate setting (it will revert to Xrender if 3D hardware acceleration is disabled).
If you are using Xubuntu then turning on the Composite feature will give you effects like transparency and shadows. To enable these go to: Applications -> Settings -> XFCE Settings Manager. Then run: Window Manager Tweaks - Compositor (tab) and Enable. You can set the opacity of the Terminal through it's Preferences menu item. Note Xubuntu (or Lubuntu) does not use OpenGL 3D hardware acceleration for its effects.
I also use the gl ant spotlight screensaver to test my xorg.conf settings, but it is very unstable so don't use that everyday if you use your computer for serious work. It almost always freezes the computer when I select the preview button so I set the activation time to its lowest setting to test the screensaver.
To test your 2D acceleration try various web pages (the Ubuntu wikis and forums are good tests). It's probably more useful to you to achieve smooth scrolling in Firefox than a high number in glxgears.
Note, in 12.04 there is nolonger mesa support for Mach64, r128 cards or user-space mode setting (non-KMS). See bug. These cards will use the software rasterizer in 12.04 unless you install an older version of mesa. See the 12.04 section of the PowerPCKnownIssues page for how to do this.
Video codecs and DVD playback
There are packages that cannot be included into Ubuntu for legal reasons (copyright, license, patent, etc). It is easy to install these however, this is how:
Open the terminal and type
sudo apt-get install ubuntu-restricted-extras
This will download a whole load of stuff (around 100MB) including codecs, Mircrosoft fonts, gnash (flash support), and openjdk (java). A license aggreement screen pops up for the MS fonts which you will need to accept (press the TAB key if you are having a hard time selecting the OK option).
To play encrypted DVDs you need to dowload a file from Medibuntu (Multimedia, Entertainment & Distractions In Ubuntu). You can nolonger add Medibuntu as a repository on PowerPC, but you can still download the files individually. Click on the link http://packages.medibuntu.org/pool/free/libd/libdvdcss/libdvdcss2_1.2.10-0.2medibuntu1_powerpc.deb and select open with GDebi to install.
If you are still having problems with DVDs then check out the "Setting DVD Region Codes" section of the PlayingDVDs wiki. This is what I had to do to get my DVD drive to work. When I ran regionset the 'type' showed up as NONE and I had to set the region to make it show SET.
More codecs can be downloaded from Medibuntu. The file is pretty old so I'm not sure what it adds that ubuntu-restricted-extras doesn't, but you can install it by clicking http://packages.medibuntu.org/pool/non-free/p/ppc-codecs/ppc-codecs_20071007-0medibuntu1_powerpc.deb and select open with GDebi. 10.04 users should follow the advice in this thread.
Note: The Medibuntu repository was discontinued in autumn 2013 and the files are no longer available there. You can still find copies of the files floating around, such as here. You could compile libdvdcss from the source package. Or maybe use the package at debian multimedia.
How do I get faster Java?
On PowerPC, OpenJDK defaults to using Zero, an interpreter only Virtual Machine (VM) that uses no (or zero) assembley code. As a result OpenJDK is often described by PowerPC users as being slow. However, there are alternative - and crucially faster - VMs available such as JamVM, Shark and Cacao. These can be easily used with OpenJDK and packages are available in the repositories. There is also IBM Java which can be downloaded from the IBM website. See the Java community wiki for further information about these options.
Flash, Flash video, Gnash and Lightspark
There is no Adobe Flash for PowerPC. There are, however, two open source flash players still under development: gnash and lightspark.
Note, swfdec is nolonger under development.
From the Software Centre/Synaptic/Terminal install "Gnash SWF viewer" and "browser-plugin-gnash" (or "mozilla-plugin-gnash" depending on your ubuntu version). Lightspark (and it's firefox plugin browser-plugin-lightspark) is the latest flash player (see http://lightspark.github.com/ and http://allievi.sssup.it/techblog/ ). Lightspark uses advanced OpenGL techniques that requires good support from video drivers. It will work best in newer versions of Ubuntu (and with Kernel Mode Setting?). Lightspark also uses pulseaudio as it's default audio backend. Pulseaudio is not installed on a default Lubuntu installation, so if you want sound you will have to install it (or compile a version of lightspark with alsa as the audio backend?). You can install gnash and lightspark alongside each other since lightspark likes to 'fallback' onto gnash to play old swf files, but don't enable both the gnash firefox plugin and the lightspark plugin at the same time.
You may want install a browser extension that blocks flash content on websites because gnash CPU usage is high even for simple adverts. I hate my laptop fan coming on so I try to run my iBook as cool as possible at all times. Even if you haven't got gnash installed you may like the extension Ablock Plus. However, don't go over the top by installing many similar extensions as it will just slow your browser down.
If you want to experiment with gnash in 11.10 (particularly if you are running other architectures with the adobe plugin) then you may have to run the command sudo update-alternatives --config mozilla-flashplugin and select the "/usr/lib/gnash/libgnashplugin.so" option. Lightspark does not appear in the list because it goes under the name of "flash-mozilla.so". Run update-alternatives --query flash-mozilla.so to check. This allows you to easily switch plugins in Firefox (goto Tools > Add-ons > Plugins and enable/disable plugins as required), but it means Lightspark will not be picked up in Midori (which handles plugins in a completely random way it seems to me) . However, as far as I can tell Lightspark does not work with Midori anyway because it uses Webkit and not Gecko. Gnash works with Midori.
If you want to do debugging run the browser from the terminal. You can set the verbosity of gnash through right clicking on a flash object in the browser (or the standalone application) and selecting the Edit > Preferences menu entry. Use firefox -verbose to see the messages from the lightspark plugin. See http://sourceforge.net/apps/trac/lightspark/wiki/Troubleshooting . To test the lightspark standalone player use the commands:
wget http://www.adobe.com/content/dotcom/en/devnet/flash/samples/drawing_1/_jcr_content/articlecontentAdobe/generic/file.res/1_coordinates.swf lightspark 1_coordinates.swf
You should see a disk spinning that you can move around with your mouse. It is the least impressive demonstration ever!
This thread offers more advice on watching YouTube, Vimeo, etc plus extra troubleshooting advice for playing videos.
If you can't get gecko-mediaplayer in Lubuntu to work with Firefox then try using VLC or Totem instead. Gecko-mediaplayer is a plugin that allows Firefox to play videos and audio using gnome-mplayer. Totem and VLC are alternative mediaplayers with their own firefox plugins.
Another way to watch YouTube etc is by using html 5 (http://www.youtube.com/html5). This works quite well for videos coded in H.264. You'll need Midori, rekonq or Epiphany browsers for H.264, but for YouTube most videos are delivered in WebM (unless you spoof it, see below). WebM can be played in Firefox 4 and beyond, Opera, Midori, rekonq and Epiphany, but for me the playback is choppy (similar to gnash). Vimeo uses H.264 to deliver html5 video clips. Versions of Firefox 23 and beyond can play H.264 using gstreamer (see article), although you probably need a fast computer to take advantage of this.
To download and watch BBC Iplayer programmes there is get-iplayer.
I've also recently started watching/listening to streams by finding the rtmp address used by the flash application. This YouTube video describes how to use wireshark to do this, but there are other ways which you can find by doing a search. I find wireshark quite addictive and find myself trying to crack the rtmp address even if I don't have to! You can download a stream using rtmpdump, or pipe the output to a media player, but gnome-mplayer will also accept the rtmp addresss directly in the 'Open location' menu item.
The uber minimalist way to watch media is using the command line program mplayer. You can downloaded the file first or pass an url to mplayer. You can even use this without a GUI! To play music the cool people use MPD. MPC is a simple command line client for this, although you can use a web browser or mobile phone too!
You can also change the user agent string of your browser so that you are delivered non-flash content. There is a firefox extension to do this. Midori works really well on some news web sites and allows you to watch video clips that would be otherwise unwatchable. In Midori goto Edit > Preferences > Identify as > Custom... Copy and paste one of the following strings in (update these please!):
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 Mozilla/5.0 (iPad; U; CPU OS 4_3_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5 Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16
Remember there is plenty of choice out there. Don't get hung up on the website that you can't use, but instead support the websites you can access. If you want GoogleEarth then try http://www.bing.com/maps/ as a substitute. There are ways of using Google Street View on PowerPC, see forum thread.
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:
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:
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:
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 are supposed to work straight out of the box, however, depending on your wifi network setup and the interference from other networks you may have to use a couple of workarounds:
If you are using WEP security then try using the 8.70 version of firmware. If you've kept your Mac OS up-to-date this should be the last version of firmware flashed onto the airport card. Later versions are stored in a file and loaded onto the card by the driver when the computer starts. To use the flashed firmware, move or rename the file /lib/firmware/agere_sta_fw.bin (v9.48 in Ubuntu 12.04) as follows (a similar method is here):
To rename the file type at a terminal:
sudo mv /lib/firmware/agere_sta_fw.bin /lib/firmware/agere_sta_fw.bin.bak
Then restart the computer a couple of times, checking if you have gained wireless. Following a reboot, you can find the version of flashed firmware by typing at a terminal:
dmesg | grep airport
Top tip: if you want to make this permanent then the correct ting to do would be to use dpkg-divert, otherwise an update to the firmware package could re-instate the file.
If you are using WPA security then the firmware has to be v9.42 or greater. So to use WPA you must have the fimware file in the correct place. If you've renamed it as above then rename the file back:
sudo mv /lib/firmware/agere_sta_fw.bin.bak /lib/firmware/agere_sta_fw.bin
Also, for WPA you must set your wireless router/access point to use the TKIP algorithm (the earliest algorithm and usually the default) instead of AES (the newest).
Additionally, airport classic cards suffer from this bug (incorrect default ap_scan value). If your connection repeatedly drops out, or you can't connect at all this could be the problem. Read the other checks below, (maybe try a different version of firmware), or try installing wicd. You can manually set ap_scan=2 with wicd (see forum post). Finally, if that doesn't work for you then you can manually configure wpa_supplicant like they do in CRUX. Please edit this documentation with any extra useful information.
For the technically minded, you can find further information (see the known issues section) about airport classic here.
If you have an airport extreme card then you need to download the firmware (note, you need to be plugged into an Ethernet cable to do this, or copy the files from a computer with internet access before you install Ubuntu):
If you haven't already done so, run the command:
sudo apt-get update
8.04, 10.04 and 10.10 users should type
sudo apt-get install b43-fwcutter
in the terminal and then go to Preferences > Additional drivers and select the Broadcom b43 driver. The command will download the appropriate firmware file for you card.
In 11.04 the command you need has changed and there are two variations. Most 11.04 - 12.10 users should open the terminal and type
sudo apt-get install firmware-b43-installer
However, if you have a legacy card then you will need the command
sudo apt-get install firmware-b43legacy-installer
You can determine what kind of card you have with the help of this wiki, but if you are unsure then you can just run both commands.
Unplug your ethernet cable and you should now see your wireless networks (or after a reboot).
Further information about airport extreme can be found here.
A note about routers
Some cards only broadcast 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!
What to check if you don't have wifi
Right click on the network applet icon (right click is F12 on my machine because I only have one button on my trackpad) and tick 'Enable Networking', 'Enable Wireless' and 'Enable Notifications'.
Check you have the correct user settings: Go to System -> Administration -> Users and Groups -> Advanced Settings -> User Privileges Make sure "Connect to wireless and ethernet networks" is ticked. This will add your user to the netdev group. You will need to reboot for this to take effect. Note, it is not always necessary to join the netdev group.
Make the connection available to all users
When you connect to your network you'll be asked to enter a password for the default keyring. I always seem to get in a mess with these, but I think the recommended thing is to enter your account password for this so you don't keep having to enter it. I now make the connection available to all users to get around this. Click on the network applet icon and select 'Edit Connections...'. Go to the Wireless tab and select your network from the list. Click "Edit...". Enter your Ubuntu user account password if prompted. Make sure "Connect automatically" and "Available to all users" are ticked. Click Apply and then Close.
If in the future you need to delete the keyring this is how: Open File Manager, click 'View' and select 'Show Hidden'. Double-click on .gnome2 and then keyrings. Delete the appropriate file.
If you don't have wireless still or you are losing connections repeatedly then try installing wicd. At a terminal type the following commands (note, you need to be plugged into an Ethernet cable):
If you haven't already done so, run the command:
sudo apt-get update
Then the commands:
sudo apt-get install wicd sudo apt-get remove network-manager
You will get some message about network-manager-gnome that it asks if you want to remove too. You should reply yes to this. If you are asked to join the netdev group you should do this.
Next, open up wicd which should be in your applications area, find your network, click properties and enter the password in. Click connect.
Still no wireless? Then reboot without the Ethernet cable connected. It may be a cliché, but turning it off and on again does work sometimes
If you think the wicd applet icon is ruining the look of your desktop then it can be removed. In 10.04 Ubuntu, goto System > Preferences > Startup Applications. Untick the wicd applet. Or you can create new icons for it.
Command line use
If you want to use wireless/wifi without starting X then see this wiki.
How do I get a working battery indicator?
If the battery status is not displayed correctly then open up the terminal and type:
sudo modprobe pmu_battery
To make this permanent type the following*:
gksudo gedit /etc/modules
Add the line
Save and it should work on reboot.
* Gedit is the graphical text editor in 'normal' Ubuntu, but the other derivatives use different text editors. If you have installed Lubuntu or Xubuntu (after 11.10) you will have to replace the word gedit with leafpad - for example "gksudo leafpad /etc/modules". If you have installed a version of Xubuntu before 11.10 then you will have to replace gedit with mousepad. If you have installed Kubuntu you will have to replace the command with "kdesudo kate /etc/modules". This is why the basic text editor 'nano' tends to get used in commands!
How do I change the volume of the mac startup chime?
See this thread.
Bluetooth Keyboard and Mouse
See this thread for help with a bluetooth keyboard and mouse:
If you use bluetooth then please provide more details or a more recent link.
How do I control trackpad and right-click behaviour?
To change how a trackpad behaves see the Synaptics Touchpad community documentation.
You can also use the program GSynaptics, edit your xorg.conf file (see graphics section above) or install powerprefs (see information about suspend) to set your configuration on startup. Another option could be to create a script which runs the commands you want at startup.
Use the command
to find out if you have a Synaptics or ADB mouse touchpad as this will determine your options.
With an ADB mouse touchpad you can use the command trackpad. For example:
To enable tap, run:
sudo trackpad tap
To disable tap, run:
sudo trackpad notap
for more details.
If you have time on your hands then you could investigate the ADB Mouse Synaptics patch.
Mouseemu is the daemon that emulates right and middle click and can also block the trackpad when typing. You must prefix the mouseemu and showkey commands with sudo. To change the default settings you can edit the /etc/defaults/mouseemu file. See askubuntu question.
Right-click is set to F12 by default. On some boots my 'fn' key seems to be set on, in which case I need to press 'fn' + F12. When this occurs, it also stops me switching to a console e.g. via ctrl+alt+F1 etc.
To install mouseemu use the command:
sudo apt-get install mouseemu
Unresponsive touchpad / cursor moves in steps
Post-February 2005 PowerBooks use the appletouch driver for the touchpad. The touchpad may seem unresponsive or the cursor moves in "steps" (90 degree movements) which make it difficult to use. A solution is to compile the appletouch driver, adjusting some settings in appletouch.c. For example, the PowerBook5,8 is usable when the following variables are set to these values (you may need to adjust these for your own machine):
#define ATP_FUZZ 0
#define ATP_THRESHOLD 3
Here is a forum post which explains how to compile appletouch:
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. See the community documentation on Network Printing.
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:
Ho do I power on automatically after a power failure?
See this thread.
Power preferences/suspend/screen brightness/multimedia keys
To get suspend working with a radeon card in 11.04 and 11.10 you will have to load the radeonfb module and disable the openfirmware framebuffer (see this question in the graphics section above for how to do both these things). At the time of the 12.04 release, suspend does not work without the radeonfb framebuffer (see linuxppc-dev mailing list thread about radeon KMS).
If you have a nvidia card and are using the nv driver then you maybe able to do something similar with the non-KMS nvidia framebuffers to get suspend and screen brightness keys working (see old bug reports 66392 and 21478).
Hibernate is available with radeon KMS so you can follow the instructions to enable hibernate.
You can also install powerprefs (a graphical frontend to pbbuttonsd) to manage suspend etc. It doesn't setup a menu item automatically, but you can start it from the terminal by just typing powerprefs (for some options you might need to load it with root privileges: gksudo powerprefs ). You may have to adjust your gnome power preferences settings so they don't clash. There is no guarantee that suspend or hibernate will work or be reliable! See this debian message thread for useful tips on pbbuttonsd. If powerprefs is not in the repository, then you can install with the following commands:
wget -P/tmp http://ports.ubuntu.com/ubuntu-ports/pool/universe/p/powerprefs/powerprefs_0.5.1-2_powerpc.deb sudo dpkg -i /tmp/powerprefs_0.5.1-2_powerpc.deb
Suspending may mute sound channels or disable your wifi. See relevant questions for solutions.
If brightness keys are not working then it is sometimes possible to change the screen brightness by editing the brightness property in /sys/class/backlight/*. You can echo values from 0 to 127 (as stated in the max_brightness property) into it. For example:
echo -n 50 | sudo tee /sys/class/backlight/nvidiabl0/brightness
How can I use powernowd for CPU frequency scaling?
CPU scaling reduces the processor speed when the computer is idle or not doing a lot. It can save battery power and reduces heat so you won't have the fan coming on so much. However, the 'ondemand' kernel governor for processor scaling does not work with G3 and G4 processors in 12.04 because a sensible value for the transition latency (the time taken to switch between processor speeds) has not been set in the kernel (patch to make it work). To overcome this, I use the powernowd package to perform the same function as the ondemand governor on my G4.
Unfortunately, powernowd has been removed from 11.04 because somebody deemed it to be redundant. So it is a package that we have to manually download and install with the commands:
sudo apt-get install laptop-detect wget -P/tmp http://ports.ubuntu.com/ubuntu-ports/pool/universe/p/powernowd/powernowd_1.00-1ubuntu5_powerpc.deb sudo dpkg -i /tmp/powernowd_1.00-1ubuntu5_powerpc.deb
Then all you have to do is disable the ondemand governor being turned on by using the command
sudo update-rc.d ondemand disable
I have found the extra instructions you'll find on the PowerPC Known Issues page unnecessary. Finally, the file /etc/default/powernowd contains the startup options which you may like to adjust (if you know what you are doing because you don't want to set the polling interval too small). More information about powernowd can be found here.
Reboot. You may check for success by adding the CPU Frequency Monitor Applet to your panel.
Note, processor scaling is not available in linux for all PowerPC processors. Also, you may have to reinstall powernowd after an upgrade as it is likely to be automatically uninstalled.
An analysis of frequency scaling can be found here. As you will read, the effectiveness of frequency scaling is very much dependant on what tasks your computer is running and sometimes is counter-productive.
How do I adjust my fan limits?
First make sure you are using the correct module for your computer. Some modules are detailed in this post. The latest information can be found in a series of threads on the Linuxppc-dev mailing list.
If you find your fan is coming on a lot then this is often a sign that your computer is working hard. New users who are not used to their fan coming on think there is something wrong with their fan settings. It is often the case that the fan is working correctly and the computer is just getting hot.
Not all sensor applets work with PowerPC. If you don't have the gnome sensors-applet installed then you can find out the current temperatures of therm_adt746x by looking at the files in the /sys/devices/temperatures/ directory. For example:
Check your CPU usage by running the "top" command from the terminal. The command displays system resources and a list of processes currently being managed by the Linux kernel. If you see "0.0%id" (or a very low number) in the Cpu(s) line then your machine has no spare CPU time. If the process update-apt-xapi is being the CPU hog then you can remove it (see the question about the Software Centre/Update Manager in the troubleshooting section below).
Many PowerPC processors can take advantage of CPU frequency scaling (see question above) and this can keep your computer running cooler. You can also adjust the hard drive (see hdparm and hdparm.conf manuals) and graphics card settings to further reduce the heat produced by the computer.
If you still feel you need to adjust the fan settings then you can pass parameters to the fan module using the modprobe command or in the /etc/modules file. Use the modinfo command to find out the parameters that you can pass. For example, with the therm_adt746x module you can adjust the fan_speed (starting fan speed 0-255), limit_adjust (adjust maximum temperatures by N degrees) and verbose (verbose log operations 0 or 1) values. The default fan_speed for the therm_adt746x module is 64 so a value below this will make it start quieter and it will only get louder if the temperatue keeps climbing. If you want the fan to kick in at a higher or lower temperature then use the limit_adjust parameter. If the module is built into the kernel (the therm_adt746x module is built in to the 12.04 kernel) then you can pass parameters on the kernel command line (yaboot prompt or in the yaboot.conf). For example, therm_adt746x.limit_adjust=-5 will start the fan at 45 degrees C (= 50 - 5).
For testing purposes you can also adjust the parameters by writing to the files in the /sys/devices/temperatures/ directory. For example:
echo 38 | sudo tee /sys/devices/temperatures/specified_fan_speed echo -5 | sudo tee /sys/devices/temperatures/limit_adjust
How can I help PowerPC Ubuntu?
I 'stole' (based) most of the following from the sticky thread on the Ubuntu Studio forum!
Hopefully you're now enjoying your new PowerPC Ubuntu system. Maybe you've stopped to think "I wonder how all these wonderful tools came to be... ...who packaged them... ...why these ones... ...what makes ubuntu such a success?" Well, the answer to all these questions is the same: the development community. Having a large group of individuals to help build Ubuntu creates a network of checks and balances, not to mention lighter work for everyone.
GNU/Linux is a community effort, and because of this, we all hope that you too will get involved. Who me? Yes, You.
You may hold the common misconception that because you don't know how to program, you're no good to the development community, but nothing could be further from the truth. No matter what your level of expertise with Ubuntu you can lend a hand. Furthermore, in the field of PowerPC Ubuntu, we NEED your help.
Every level of Ubuntu user can help the communiy in some way. Here's a few examples (please don't feel limited to these suggestions) just to get you started:
1. The Absolute Beginner (you're just finding your way around, learning, and noticing the layout):
- Stick around the forums and answer any questions you can (just reading the posts will help educate yourself)
Even absolute beginners can help edit the community documentation. Many of the directions here suffer from a lack of eyes, leading to unclear instructions - if you find some please tell someone or even edit it for the better yourself. Editing a wiki is easier than you may think, and you don't have to ask anyone's permission to do so.
2. The Novice User (this isn't the first version of ubuntu you've used, you're able to get most work done that you need to):
Document, document, document; head on over to the community docs and start editing for the better (many sections of these documents need substantial work and we'd love all the help you can offer). If you think the PowerPC documentation (including this wiki) is missing something, could be improved etc - then go ahead and make that improvement. The idea is to make the install easier for the next person.
3. The Advanced User (given any howto and a terminal you can fix almost anything)
- Install a copy of the development release on another partition and report bugs/issues etc...
Regularly test ISO builds. The lubuntu-qa team is a great place to start and keep track of testing dates and deadlines, but you don't have to join a mailing list to test (just sign yourself up on the tracker). It is only through people voluteering to test PowerPC ISOs that they can be released.
- Document, document, document!
4. The Hacker (you've compiled a kernel for yourself, don't need any directions for most system modifications, and generally prefer to use the terminal)
- See 'The Advanced User' points.
- Join a dev mailing list and introduce yourself
- Log into irc.freenode.net and join some development channels.
Learn to package software http://packaging.ubuntu.com/html/
Comment on bugs at http://launchpad.net
Is there a list of known issues?
Yes, see the PowerPC Known Issues page. This holds any release specific workarounds. Please feel free to add to the list, but note this is not a substitute for proper bug reporting or a page to moan and complain!
The CD won't boot
Firstly, make sure you have downloaded a PowerPC iso. Since PowerPC is not mentioned at all on the main Ubuntu site it is a common mistake for people to try and use the i386 CD!
There are two PowerPC versions of the minimal CDs: the 32 bit and 64 bit versions. Have you chosen correctly? For the alternate and desktop CDs you will choose what type of kernel to boot at the yaboot prompt. If you have a G5 are you using the 64 bit version?
Have you tried running the commands 'md5sum' and 'sha1sum' to see if the checksums are correct? These will make sure the iso has downloaded correctly. Have you burned the CD at the lowest possible speed? See the burning iso how to wiki for instructions.
This old guide describes how to boot the CD if your mac does not react to the 'C' key. If you can get to an openfirmware prompt then use the following command to boot the CD:
Some cdrom drives may not be given the 'cd' devalias, but may use something like 'ide1' instead. If you have copied the ISO to a USB stick (see this question) or are using an external drive then you will have to ammend the openfirmware command you type. Due to this bug you will probably have to boot the ISO through openfirmware with your device.
Ubuntu boots to a command line, hangs during boot, or blank screen etc.
This is a massively daunting problem when you are new to linux/ubuntu. The key is not to panic, but take a methodical approach.
Do a quick check of your hardware! Make sure that your video cables are plugged in correctly and also try booting with them in different sockets! Ubuntu may be outputting on a different port to that which you normally use.
As strange as it may seem, on some computers (not all) if the date is set far back in the past (because of a flat internal battery) then you may get a blank screen. You can use yaboot parameters to temporarily overcome this (and let the computer pickup the time from the network), but the best permanent solution maybe to buy a replacement battery? More feedback is needed on this. My iBook with a radeon card has no problem with being back in the 1970s!
Check the PowerPC Known Issues page.
If you've previously booted fine, but an update has caused the computer to stop booting then try using temporarily the previous kernel. At the yaboot prompt type: old
Try disabling the spash screen as this has been reported to cause problems with some machines. If you are using a CD then select one of the nosplash options at the yaboot prompt (press the TAB key to get your options).
A comprehensive guide to configuring graphics is given in the section above. You may have to use a yaboot parameter and/or configure an xorg.conf file to get your computer to boot fully.
How do I boot into single user mode?
To boot into single user mode, add the word 'single' to what you normally type at the yaboot prompt. For example (note, in Debian use Linux 1):
If this doesn't work then you may need to combine it with one or more of the yaboot parameters described in the graphics section above.
In 12.04 this will boot straight to a root command prompt. In earlier versions of Ubuntu this will boot into a menu (you can get the menu in 12.04 using the 'recovery' yaboot parameter). If you want a command line login then use the word 'text' instead of single/recovery.
Single user mode or a command line login is useful for setting up an xorg.conf file or resetting your password.
Why do I keep having to enter commands, can I not do it through a GUI?
There probably is a GUI option, but that often changes from release to release and can differ between Ubuntu/Xubuntu/Lubuntu/Kubuntu. If you are new to linux then typing commands may seem unnatural and scary, but they allow instructions to be written with a greater level of precision and speed. Most of the commands given below can just be cut and pasted into the terminal. Press the Enter/Return key to execute the command.
The command line text editor used in this guide is 'nano'. The different *ubuntus use different graphical text editors. Where these have been used in commands you will have to modify the command. Ubuntu uses gedit. Kubuntu uses kate. Lubuntu uses leafpad. Xubuntu uses leafpad or mousepad depending on the version.
Why do I keep being told my password is wrong?
If you launch an application which requires root privileges (such as synaptic) and it keeps telling you that the password is incorrect then this is what to do: Open the terminal and type gksu-properties . Change the authentication mode to 'sudo'. It should now work.
Why am I told my ethernet connection is un-managed?
If Network Manager reports that your ethernet (wired) connection is un-managed, or you don't see the Network Manager applet icon at all, or your boot time is excessively slow then use the first fix on this page.
I've installed Ubuntu, but now I can't boot my other linux distros?
Following the ubuntu base installation, if you find you suddenly can't boot existing linux distributions (such as Debian), then you may have to alter your yaboot.conf. I had to do this as detailed in this post (although your setup/numbers will be obviously different). To open yaboot.conf type "gksudo leafpad /etc/yaboot.conf". When you've made and saved your changes use the command "sudo ybin -v" to copy it across to the boot partition. Use the command "sudo blkid" to print the details/attributes of your partitions.
Where is my Caps Lock light?
If you don't have a trackpad, but would like your Caps Lock light back, then remove mouseemu with the command sudo apt-get remove mouseemu .
Why do I have no sound?
Sound should work 'out of the box' on the vast majority of machines. However, if you can't hear any sound then first check your channel volumes and mute settings. You need to check more than just your master volume, for example the volume of the PCM channel maybe set to zero (set it to around 80%). Use alsamixer (from a terminal) or gnome-alsamixer to do this (there is a nice screencast of these here). The letter m toggles mute in alsamixer.
If this doesn't solve the problem then you may have to investigate the kernel modules used by your sound card. Check the various system logs or use the command lsmod to see what is being loaded. Older Macs should use snd-powermac. Newer Macs use snd-aoa, snd-aoa-fabric-layout, snd-aoa-soundbus, and snd-aoa-i2sbus, plus one of snd-aoa-codec-onyx, snd-aoa-codec-tas and snd-aoa-codec-toonie. See http://johannes.sipsolutions.net/Projects/snd-aoa and the unofficial alsa wiki for greater detail.
In recent versions of Ubuntu sound has been suffering from a number of bugs. If your snd-aoa modules have been incorrectly blacklisted, then the easiest thing to do is to delete the /etc/modprobe.d/blacklist.local.conf file that is generated by the installer ( sudo rm /etc/modprobe.d/blacklist.local.conf ). Also, delete any references to sound modules in the /etc/modules file and see if it works without them.
Alternatively, you may have to modprobe some modules. To automatically 'modprobe' a module on startup you should include it in the /etc/modules file. Open the file using the command "sudo nano /etc/modules" and add either "snd-powermac" or "snd-aoa" etc on a new line.
To get sound working on a Powermac G4 Digital Audio (which should use snd-powermac) you may have to blacklist some modules. See http://lists.debian.org/debian-powerpc/2011/04/msg00063.html for additional advice. Open/create the file /etc/modprobe.d/blacklist.local.conf (the command is "sudo nano /etc/modprobe.d/blacklist.local.conf") and add
blacklist snd-aoa blacklist snd-aoa-fabric-layout blacklist snd-aoa-soundbus blacklist snd-aoa-i2sbus blacklist snd-aoa-codec-tas
If you find your master sound is always muted when you start the computer and you have pulse audio installed (Ubuntu, Kubuntu, Xubuntu) then try unmuting the system sounds in the sound settings.
Why is the software centre or update manager so slow?
Lubuntu does not use the Ubuntu Software Centre by default. I used to think it was because the software centre was just slow on old machines, but I've found it actually works really well when the apt-xapian-index package is not installed. To remove the package:
sudo apt-get purge apt-xapian-index
This will, however, disable the quick search feature in Synaptic. Normally, Lubuntu doesn't have this feature, see here.
To install the Ubuntu Software Centre in Lubuntu type
sudo apt-get install --no-install-recommends software-center
When using the Ubuntu Software Centre in Lubuntu you have to be a bit careful so that you don't drag in anything that will spoil your lightweight distribution (such as pulse audio, although it is not the end of the world if you do). This is probably why the Lubuntu developers try and encourage people to use Synaptic as it is easier to see exactly what is being installed.
See the official Lubuntu FAQ for information about the Lubuntu Software Center that you can install via the Lubuntu ppa.
CD/DVD tray won't stay open
Run this command from the terminal:
sudo sysctl -w dev.cdrom.autoclose=0
If it solves the problem then add the option to a config file so you do not need to enter the above command after every reboot. Edit this file (the file will probably not already exist):
sudo nano /etc/sysctl.d/60-cdrom-autoclose.conf
Add this line:
dev.cdrom.autoclose = 0
My fonts are blurred, what can I do?
If you think that fonts are blurred or not being displayed correctly then your monitor may not have the standard RGB sub pixel order. There is an option to change this. In standard Ubuntu goto System > Preferences > Appearance > Fonts > Details. You can also do it via an xorg.conf (see above).
Why do I have a crossed out icon on the Lubuntu application launch bar?
This is the Chromium icon and PowerPC does not have Chromium. The easy solution is to replace it with the Firefox icon. Right-click on the icon and select "Application Launch Bar" Settings from the menu. Select the cog/widget icon (listed under Applications on the left) and then click Remove. Now click the small triangle next to the Internet option on the right of the window. Select Firefox from the expanded list and click Add. You may now Close the window. See bug report.
I have a 404 error when updating, why is that?
Upon an upgrade if you get a message such as "E: Some index files could not be downloaded, they will be ignored, or old files will be used instead." or a 404 error, then check your sources.list file. For 11.04 it should look like this.
I've lost yaboot, what can I do?
Newer G3, G4 or G5 Macintoshes provide an alternate method to choose which OS boots. Hold down the option/alt key when you turn on or restart your computer and you will be presented with a list of the operating systems installed on your computer.
If you can't boot by holding down the option key, you are stuck in a loop, or linux is not given as an option then restart the machine into openfirmware. Hold down Command-Option-o-f while turning on and keep the keys pressed until you see the openfirmware prompt. If partition 2 is your linux bootstrap partition then you can use a command like this to start yaboot:
Once the system has booted, run ybin to make yaboot the default bootloader. See the question "How do I configure yaboot.conf?"
More ways to get yaboot back are given in the relevant sections of this page.
If something goes catastrophically wrong with your boot partition (or you have had to skip installing the bootloader), then don't panic because you should always be able to use a Ubuntu cd (mini, alternate, or live) to boot your installed system. Run the cd to the yaboot prompt. Type 'help' for more guidance. Instead of entering 'live' or whatever, you can load the yaboot.conf file from your /etc directory. For example (hard drive and usb drive):
conf device=hd partition=3 file=/etc/yaboot.conf conf device=usb0/disk partition=3 file=/etc/yaboot.conf
Note, you may need a different openfirmware devalias. Try substituting ultra1, ide0, ide1, fw, zip or usb1 instead of hd/usb0.
Alternatively, at the yaboot prompt you can use the openfirmware path to the kernel image. Some examples for the current and old kernel paths on partition 3 are below:
hd:3,/boot/vmlinux --no-log hd:3,/boot/vmlinux.old
The files vmlinux and vmlinux.old are links to other files. If you know those exact filenames you could use those too.
Once booted into the system you can run the ybin/mkofboot commands to reinstall your bootloader. You may have to make changes to your yaboot.conf first (see relevant question).
Another option is to manually edit your yaboot.conf from a live CD. First mount your installed root partition (you can find your partition number with the help of a utility such as GParted, or the commands to use are here). For example
sudo mount /dev/sda3 /mnt
Then edit your yaboot.conf:
sudo nano /mnt/etc/yaboot.conf
Then run the mkofboot/ybin commands, but specify the yaboot.conf to use
sudo ybin --config /mnt/etc/yaboot.conf -v
Note, if your live CD is a different version of Ubuntu from the installed system then the partitions may have different device paths. You may have to ammend your yaboot.conf accordingly.
You can also use the rescue option with the Alternate and mini CDs to reconfigure your yaboot.conf.
Please consult the mkofboot/ybin manual pages so that you know what these commands do:
man ybin man mkofboot man yaboot.conf
If the yaboot.conf has been setup correctly then the system should load on reboot.
Ho do I reset the PRAM/PMU?
Resetting a computer's PRAM or PMU can fix a number of symptoms. If you can't boot a CD, your battery level is not correct, or you have video issues then resetting the PRAM/PMU may help. You should use this as a last resort and you may loose yaboot temporarily if you dual boot.
Why can't I install a package from a PPA?
Most PPAs don't have binary PowerPC packages. However, it is usually fairly easy to compile the package. Give it a go!
How do I boot without a monitor (i.e. headless)?
See this Ask Ubuntu question.
The same method can be applied to use a non Apple video card.
Do I need a virus checker/firewall?
Many would consider Ubuntu to be secure ‘out of the box’ due, in part, to the often quoted (but perhaps misleading) statement “Ubuntu comes with no open ports”. This is rather a simplified view and is challenged in the evolving security wiki (aimed at people new to Linux) here https://wiki.ubuntu.com/BasicSecurity , with further information in the sticky threads on the Security Discussion forum http://ubuntuforums.org/forumdisplay.php?f=338 . For more information about the security design decisions made by the Ubuntu Security Team see https://wiki.ubuntu.com/SecurityTeam/FAQ .
My own view is that if you are new to Linux then I would suggest getting to know Linux/Ubuntu before tackling any extra security features. Ubuntu can have a steep learning curve as it is. Many risks can be mitigated with common sense.
Keep the system updated via the Update Manager. Only install/run software that you need and only install software from secure and trusted sources (e.g. the Ubuntu repositories). Whilst a person/website may provide a package or executable with good intentions, can you be sure their server has not been hacked and the binary swapped for something malicious?
If you are running ssh or vnc, possibly as part of a server setup, then you do need to learn to secure them properly.
One of the main reasons I am keen to stick with *ubuntu is because they provide secure repositories with full traceability. Source code and build logs for every package are available in Ubuntu through https://launchpad.net/ubuntu .
How do I compile a package?
If it is a simple package then something like the following may also work (although you're better following the guides above so that you don't get in a mess with permissions):
sudo apt-get build-dep PACKAGE_NAME apt-get --compile source PACKAGE_NAME sudo dpkg -i PACKAGE_FILE_NAME.deb
If you've manually downloaded a '.dsc' file plus original source and diff files then save them in the same folder and use the dpkg-source and dpkg-buildpackage commands:
dpkg-source -x PACKAGE_NAME_VERSION.dsc cd SOURCE_VERSION dpkg-buildpackage -rfakeroot -b cd ..
Build dependencies are listed in the '.dsc' file or you can find them in the debian/control file.
If you need to install from a non PowerPC repository (e.g. the linux mint ones) then add something like the following to your /etc/apt/sources.list:
# After adding the sources and updating, install the linuxmint-keyring package. # You don't have to compile '_all.deb' packages since they can be installed normally. deb [ arch=i386 ] http://packages.linuxmint.com/ maya main upstream import deb-src [ arch=i386 ] http://packages.linuxmint.com/ maya main upstream import
Can I install grub2?
You may still want to combine it with an ofboot.b script (the menu before the yaboot prompt).
The easiest way to install grub2 is using the grub-install command:
sudo apt-get install grub-ieee1275 sudo grub-install --no-nvram
In 12.04, this will copy the grub2 modules to the directory /boot/grub/ and also setup a small image core.elf which will contain the necessary core modules for the filesystem. Also embedded in core.elf is a small configuration file (load.cfg) which automatically defines root and prefix via the UUID of the partition. Use the --debug option with grub-install to see what the command does. The file grub (also found in /boot/grub) is just a copy of core.elf.
Create a configuration file grub.cfg and save it in /boot/grub/. The command update-grub (which calls grub-mkconfig) can be used to do this, although you may have to workaround a few bugs (see bug1, bug2, and bug3).
Note, update-grub will be run automatically when you install a new kernel (due to this file /etc/kernel/postinst.d/zz-update-grub) and this will overwite any custom grub.cfg you have made.
Core.elf (or grub) needs to be then placed where it can be booted from Open Firmware. Mount your bootstrap partiton and copy core.elf onto it.
sudo mount /dev/sda2 /mnt sudo cp /boot/grub/core.elf /mnt/ sudo umount /mnt
From open firmware use this command to boot:
If you want to automatically boot from grub then give core.elf the tbxi attribute:
sudo hmount /dev/sda2 sudo hattrib -c UNIX -t "????" :ofboot.b sudo hattrib -c UNIX -t tbxi :core.elf sudo humount
Alternatively, you could edit the ofboot.b script and replace yaboot with core.elf at the appropriate place. If you are particularly lazy, then you can do this using ybin (although this removes your ability to use yaboot....so probably not a great idea when you are testing...) :
sudo ybin -v -i /boot/grub/core.elf
If you need to add a 'yaboot parameter' then at the grub menu hit the 'e' key. Add the parameter(s) after the words "quiet splash". When you've made the changes use Ctrl+x to boot. If you want to use these permanently, then edit the /etc/default/grub file and ammend the GRUB_CMDLINE_LINUX_DEFAULT line. Run update-grub after the change has been made.
If you are using a usb device then you can define root like so: set root=(usb0/disk@1,1) If you want to use one of the search features of grub2 (such as search.fs_uuid), then in 12.04 it will only see drives that have an alias. So usb drives are typically not picked up (because usb0 and usb1 are aliases to buses). One way around this is to configure permanent aliases for the usb drives or you can setup an ofboot.b script to temporarily define an alias before booting the grub image: e.g. a generic solution would be...
... devalias grubdevice &device; boot &device;:&partition;,\core.elf ...
This thread demonstrates how to do this (as well as the loopback feature). On my computer the aliases for the usb ports would be:
devalias usb0device /pci@f2000000/usb@1b,1/disk@1 devalias usb1device /pci@f2000000/usb@1b/disk@1
If you want to investigate themes then see the themes thread. Information about splash images can be found on the Grub2/Displays wiki. Note, PowerPC is seemingly limited to 16 colours. You also seem to run out of memory with TGA files, but JPG and PNG are okay.
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.
An alternative is DOSBox.
What is Mac-On-Linux?
For the latest information see this thread.
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 in Ubuntu here, though these notes are somewhat dated.
How can I configure and compile my own kernel under PowerPC Linux?
See also the community documentation on compiling a kernel and the notes in the official documentation on kernel baking and SMP hardware support. You may also like to look at the Gentoo PowerPC notes on configuring the kernel and the Gentoo PowerPC FAQ.
Note: Several threads give alternative methods:
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.
The following instructions may need a bit of updating...
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
5. Now time to make a default kernel configuration. For G5 machines, type:
For all other macs, including G3 and G4 machines, type:
For the PS3, type:
6. When that is done, type
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)
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
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.
Here is an example yaboot.conf with an entry for a 188.8.131.52 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=184.108.40.206 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-220.127.116.11 label=18.104.22.168 read-only initrd=/boot/initrd.img-22.214.171.124 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?
Live assistance from others users is available with IRC via irc.freenode.net on #ubuntu-powerpc
French documentation is here.
Kubuntu has its own forum.