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

MacBookPro 5,3 and Ubuntu 11.04

This page aims to describe the steps needed, to fully enable all features of the 15.4 inch 5-th Generation MacBookPro Aluminium (Unibody) (release date: June 2009) when using Ubuntu 11.04 (Natty Narwhal).


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.


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 some modules from the MactelSupportTeam/PPA :

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

The mactel PPA modules needed are nvidia-bl-dkms (driver for the LCD panel backlight) and pommed (daemon to control them all).

To install:

sudo apt-get install pommed nvidia-bl-dkms

The system memory issue and 32/64bits kernel version

As the MacBookPro 5,3 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)

To enable proper detection of sensors edit /etc/modules:

gksudo gedit /etc/modules

Add to this to end of file, save and reboot:


If you would like to monitor temperature readings and fan speed, install sensors-applet:

sudo apt-get install sensors-applet

Reboot and then add the applet to your panel.(Right click on preferences applet and select the most important for you.If not your bar is going to be unusable due to the big quantity of sensors available)

Temperature, fanspeed, environmental light and keyboard backlight can be controlled over the sysfs exported interface at /sys/devices/platform/applesmc.768/.

It has been reported that reported that the environmental light sensor did not work initially until he applied a not further specified firmware update.

NOTE (ASomerville): Light sensor does not work (well) for me. The scaling seems to be incorrect. A bright room registers as 1 or 2 out of 255, and anything else is 0. Result is auto dimming not possible.

Suspend & Hibernate

Seems to work fine out of box: multiple suspends during single session works. single hibernation works. (multiple hibernations during single session not tested).

NOTE (ASomerville): I have yet to get this to work with any Ubuntu kernel released since the Natty was released.


Works out of the box.

NOTE (Asomerville): Does not work for me.

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

Edit your /etc/X11/xorg.conf to permanently operate the Nvidia graphics adapter in the lowest possible setting:

gksu gedit /etc/X11/xorg.conf

Add the following lines to the Device section of the nvidia device:

Option  "Coolbits" "1"
Option  "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefaultAC=0x3"

LCD Brightness Control

For the brightness control to work, the module mbp_nvidia_bl is needed. It is included in the package nvidia-bl-dkms.

Add repo:

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

Install nvidia-bl-dkms:

sudo apt-get install nvidia-bl-dkms

By default the module mbp_nvidia_bl is blacklisted and the module nvidia_bl will be loaded which is not suitable for the MacBookPro 5,3. This can be fixed by blacklisting nvidia_bl:

gksu gedit /etc/modprobe.d/nvidia-bl-dkms.conf

Comment out the entry for mbp_nvidia_bl and add an entry for nvidia_bl:

#blacklist mbp_nvidia_bl
blacklist nvidia_bl

Fan Control

Fan control works out of the box in Natty.


  • 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

Both writing and reading work.


Works out of the box.

Keyboard Functions

"Needs futher documentation" Without pommed installed:

  • No keyboard backlight.
  • F1 and F2 can be used to adjust display brightness.
  • F10, F11, F12 correctly mute and tune audio volume (after having correctly configured audio, see below)
  • Eject key 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" \

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. However, not all gestures work yet and momentum scrolling does not work. You can enable two-finger scrolling from the preference->mouse->touchpad applet. If you are having accidental clicks while moving the mouse, it also may help you to uncheck the "Enable mouse clicks with touchpad" checkbox under the Touchpad tab. Furthermore tweaking the drag and drop time to be less may be help. The click-and-drag also works.

Clicking and holding with one finger and dragging with the other does not currently work.

If still not working, try MacBookPro7-1

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.

The Broadcom chipset needs the right firmware to work. The firmware can be installed through the package firmware-b43-installer:

sudo apt-get install firmware-b43-installer


IconsPage/webcam.png It used to work out of box or by booting first on OSX and then rebooting, without poweroff, on Ubuntu. But after some update it stopped working. It is possible to make it work again after installing the firmware extractor and let it do the work for you:

sudo apt-get install isight-firmware-tools module-assistant

Note that you need to have access to your OSX partition and properly locate the firmware file, normally at:


where <your_mount_point> is wherever you have mounted your OSX partition.

NOTE: firmware driver from Snow Leopard 10.6 will not work. You will need to look for the Leopard 10.5 version of AppleUSBVideoSupport.

In order to load the firmware, you may need to shutdown the machine (NOT by rebooting), then you can prove it.

Note: Cheese 0.2.4 is not working with isight, you better prove with ekiga, gstreamer-properties or cheese 0.2.3

REMARK: Sometimes it wont load the driver, so you will need to restart your computer.


Internal speakers and headphones work out of box. However, internal speakers are muted. The volume for the front speaker (Front Sp) must be unmuted and turned up. This can be adjusted by running alsamixer from the Terminal, or using gnome-alsamixer

sudo apt-get install gnome-alsamixer

To enable the optical output (you'll see a red light coming from your headphone jack if it is enabled), make sure that the IEC958 option is checked.

If optical output is turned on by default, setting the following command as a login item will fix this:

amixer set IEC958 off


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


Works out of the box


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-3/Natty (last edited 2013-12-14 03:12:56 by knome)