The Macbook Pro 5,5 is highly compatible with Ubuntu 12.04 Precise Pangolin. You'll need to apply some of the adjustments listed below. For further discusions, see: Ubuntu Apple Users forum

MacBookPro 5,5 and Ubuntu 12.04 LTS

This page aims to describe the steps needed, to fully enable all features of the 13.3 (mbp 5,5) and 15 inch (mbp 5,4) 5-th Generation MacBookPro (release date: June 2009) when using Ubuntu 12.04 (Precise Pangolin).

IconsPage/terminal.png

You can find out, what model you have by typing at the terminal:

sudo dmidecode -s system-product-name

If you have a different model, please go here and find the right wiki.

Overview

Anything not mentioned here probably already works out of the box. If not, please refer to the Ubuntu Apple Users forum.

IconsPage/ok.png (works out-of-the-box) IconsPage/ok.png IconsPage/info.png (works, with remarks) IconsPage/warning.png (needs manual install) IconsPage/dont.png (won't currently work (completely)) IconsPage/question.png (not yet documented)

Basic Installation Instructions

Common things about installing and maintaining Ubuntu on Intel-based Macs: Intel CPU-based Macintosh Generic Installation Instructions

Package Support for Intel Macs

You need a module from the MactelSupportTeam/PPA :

sudo add-apt-repository ppa:mactel-support && sudo apt-get update

The mactel PPA modules needed are pommed (daemon to control them all).

To install:

sudo apt-get install pommed

You don't need nvidia-bl-dkms (driver for the LCD panel backlight) package anymore, see below in LCD Brightness Control section.

Note from another author:

Pommed is now maintained in the ubuntu repositories. You don't need to add the mactel PPA anymore. Besides that, brightness- and soundcontrol should work out of the box without pommed.

The system memory issue and 32/64bits kernel version

As the MacBookPro 5,5 has 4 GB as base RAM and the Intel C2D processors supports 64 bits, you may have to be careful with the selection of the architecture to install. The base 32 bits version just detects and can use up to 3,1 Gb of RAM so the rest can't be used. To solve this you can

By default, it is recommended that you install the 64 bits Ubuntu version, because today the 64 version can be used without any problem.

For the other hand, if you select to install 32 bits version you have to take in notice that Ubuntu can't handle more that 3,1 GB of memory. As a workaround you can install the "linux-image-generic-pae" kernel package. This kernel adds support for more than 3,1 Gb and enables more features for virtualization with Xen. Just install the 32 version of Ubuntu as you would do normally and after that type this at your terminal:

sudo apt-get install linux-image-generic-pae

There are situations where this will not install the necessary modules along with the kernel, and lead to your system starting unable to start x11 or access devices such as wireless or sound. If this happens, boot to the previous kernel, and uninstall the PAE kernel.

Note that PAE adds (extremely minor) overhead and that even with a PAE kernel, each individual process (or XEN virtual machine) will be limited to 4GB of memory.

If you choose to install 64 bits version your Ubuntu will handle more than 3,1 Gb out of the box.

Sensors (temps & fans)

Works out of the box.

Suspend & Hibernate

Works out of the box.

Reboot

Works out of the box. But if not, edit your /etc/default/grub and change the line

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=pci"

Then perform a

sudo update-grub

Video & Effects (Compiz)

IconsPage/restricted.png You should use the restricted driver: The open source driver nouveau seems to currently causes random system freezes.

Install from: System -> Administration -> Additional Drivers. Select the NVidia graphics driver that says recommended and activate. Reboot to apply the change.

Also with the powermizer functionality of the Nvidia driver you can get the laptop pretty cool at about 50 degrees Celsius instead of 65-70 degrees. Battery life is also better at about 4 hours currently (instead of 2:30).

LCD Brightness Control

The package nvidia-bl-dkms is not available for 12.04. Fortunately, the following procedure works (taken from http://www.voria.org/forum/viewtopic.php?f=3&t=1091):

If backlight control does not work for you, follow these instructions:

  • Edit the file '/etc/X11/xorg.conf' and add this line into the Device section:
    • Option "RegistryDwords" "EnableBrightnessControl=1"

  • Reboot and check if backlight control works. If so, you're done.
  • If not, edit the file '/etc/default/grub' and change the line:
    • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

  • Update grub with this command: sudo update-grub

  • Reboot and backlight control should work.
  • If it still doesn't work, try installing the nvidia-bl-dkms package from mactel-support for Natty (from https://launchpad.net/~mactel-support/+archive/ppa), this was the only way for me to get the backlight control working on Precise. Results may vary as some people claim this driver does not work on Precise.

Fan Control

Don't tested yet.

HFS+

  • Read Only: Confirmed working out of the box.
  • Read/Write: It is necessary to disable journal:
    1. Login macos and open a terminal.
    2. Identify the partition.
    3. Run diskutil to disable journaling.

$ mount
/dev/disk0s2 on / [...]
$ sudo diskutil disableJournal force /dev/disk1s2
Journaling has been disabled for volume [...] on disk0s2

CD/DVD Writing

Works out of the box.

Bluetooth

Works out of the box.

Keyboard Functions

"Needs further documentation"

Without pommed and with the nouveau driver installed (default) following functions work as expected:

  • Brightnesscontrol (F1 and F2).
  • Keyboard backlight (F5 and F6).
  • Mediacontrol (F7 to F9).
  • F10, F11, F12 correctly mute and tune audio volume.
  • Eject key works.

Without pommed and with the nvidia driver installed:

Everything from above except the brightnesscontrol works.

With pommed installed:

  • F1 and F2 can be used to adjust display brightness
  • F3 and F4 can be correctly associated with any command in the system preferences.
  • F5 and F6 can be used to adjust keyboard backlight brightness
  • F7, F8 and F9 are correctly associated with audio player's 'previous', 'play/pause', 'forward' commands.
  • F10, F11, F12 correctly mute and tune audio volume (after having correctly configured audio, see below)
  • Eject key works

To swap the fn key functionality (e.g. use fn+F1 to dim the LCD etc..), edit /etc/pommed.conf and set the variable fnmode to 2

gksudo gedit /etc/pommed.conf

Keyboard backlight without pommed

Consider this if you want a way to control the backlight from the command line or with the mouse.

You can choose a value from 0 to 255 to tune the keyboard backlight by writing to /sys/class/leds/smc::kbd_backlight/brightness. For example this command switches the light completely on:

echo 255 | sudo tee -a /sys/class/leds/smc::kbd_backlight/brightness

The file reporting the ambient light sensor is /sys/devices/platform/applesmc.768/light (the number 768 in the path might be different on your machine). To read the value do

cat /sys/devices/platform/applesmc.768/light

which should give different values under different light conditions.

With the following method you can control the backlight through a GUI. Create a new file in /usr/local/bin:

gksu gedit /usr/local/bin/keyboard-backlight

Copy this script into the file and save it:

# A little script to set the keyboard backlight
# Note: clicking "Cancel" in the dialog sets the backlight to 0.
# Note: needs to be called as root (with gksu or sudo) because
# of writing to /sys. Use "sudo visudo" to edit the /etc/sudoers file
# if you want to allow non-admin users to change this value, possibly
# without having to enter a password. Read "man sudoers" and, e.g., use
# ALL ALL = NOPASSWD:/usr/local/bin/keyboard-backlight
# to allow all users to execute this command on all hosts without
# a password.

# Read current value
BACKLIGHT=$(cat /sys/class/leds/smc::kbd_backlight/brightness)

BACKLIGHT=$(zenity \
        --title "Keyboard backlight" \
        --scale \
        --text="Adjust the keyboard backlight" \
        --value="$BACKLIGHT" \
        --min-value="0" \
        --max-value="255")

echo $BACKLIGHT | tee -a /sys/class/leds/smc::kbd_backlight/brightness
exit 0

Use this command to make the file executable:

sudo chmod +x /usr/local/bin/keyboard-backlight

You may want to create a launcher on the panel. In this case enter

gksu /usr/local/bin/keyboard-backlight

as the command line. Very smartly, the dialog will recognise the word "keyboard" and suggest a good launcher icon automatically.

You could also use the ambient light value to extend the script to make the backlight depend on the ambient light.

Touchpad (bcm5974)

The touchpad works out of the box. Uncheck the "Enable mouse clicks with touchpad" checkbox under the Touchpad tab, and enable two-finger scrolling from the preference->mouse->touchpad applet. Then the touchpad will work just like in OSX. Clicking and holding with one finger and dragging with the other work like a dream.

Wireless (AirPort)

IconsPage/restricted.png The Broadcom driver was not installed by default, you either need to connect your MacBookPro to the internet and allow the installer to download updates while installing. Or use System->Administration->Additional Drivers to install the STA drivers.

iSight

IconsPage/webcam.png Works out of the box.

Sound

Works out of the box, with good sound.

Microphone

Works out of the box.

External Monitor

Works out of the box.

Apple Remote Control

Install gnome-lirc-properties:

sudo apt-get install gnome-lirc-properties

gnome-lirc-properties will give you an entry "Infrared Remote Control" in menu System > Administration. After launching this it will guide you through the configuration. Tested with remote model No A1294 (aluminum Apple remote): gnome-lirc-properties detects the signals (with some models the Enter button is detected as an additional Play button). Although this seems to work, the remote does not actually control any applications, like the Totem Movie Player - more testing is required. Could be that the key-binding are incorrect.

Firewire

Works out of the box.


CategoryMac


IconsPage/users.png Please update this page, if you have figured out anything, that is not mentioned here!

IconsPage/users.png The MactelSupportTeam is about to restructure and reorganize the documentation for Intel-based Macs. If you are interested in helping, please visit our team page for information. For all Mactel wikis, there is a starting place here. There is also a thread about planning the Mactel docummentation going on.

MacBookPro5-5/Precise (last edited 2013-12-14 03:02:37 by knome)