MacBook Pro(5,1) and (5,2) on Ubuntu 11.04 (Natty Narwhal)
This page aims to describe the steps needed, to fully enable all features of the 5th Generation Macbook Pro (release date: late 2008, early 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
This should either return MacBookPro5,1 or MacBookPro5,2. If not, this page is not really so well suited for your situation. If you have a MacBook Pro, but a different hardware revision, please go to the MacBook Pro start page. If you have a different Intel CPU-based Macintosh product, go to the Mactel Community Help Pages to 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.
Feature
Support status
Sensors (temps & fans)
Suspend & Hibernate
Reboot
Desktop Effects (Compiz)
HFS+ (only read)
CD/DVD Writing
Bluetooth
Screen brightness adjustment
Keyboard functions (Brightness, volume, etc)
Sound
Microphone
External Monitor
Wireless (AirPort)
Trackpad
Webcam/iSight
Apple Remote Control
(works out-of-the-box)
(works, with remarks)
(needs manual install)
(won't work)
(not yet documented)
Basic Installation Instructions
Common things about installing and maintaining Ubuntu on Intel-based Macs: Intel CPU-based Macintosh Generic Installation Instructions, but remember that rEFIT supports this MacBook only from 0.12. For 64Bit Ubuntu use rEFITt 0.14 or higher. Info rmation about rEFIt can be found at http://refit.sourceforge.net/
Package Support for Intel Macs
Ubuntu 11.04 requires no extra packages from the Mactel PPA anymore, all required packages are available in the standard distribution.
Boot/GRUB/Plymouth
The Natty LiveCD will not boot out of the box on MBP5,1 / MBP5,2 since nouveau fails on the 9600MGT (upstream bug report) - you can work around this by manually specifying the kernel command line option:
nouveau.noaccel=1 Some people have noticed that X wont start even with this setting unless the 9600Card is the selected card in macOS X here is the bug about it: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/787071
EFi booting / Disabling 9600Gt
This is doable but requires a little bit of manual intervention. Make sure to boot from the efi grub from live cd/USB when installing ubuntu. if you pick the auto-option when installing. The installer will install an efi boot-loader. After rebooting into ubuntu (refit will show you an efi icon for ubuntu) boot into single mode by adding single to your kernel parameter list in grub. You should also add nopat (this is required for X to start for me later on). lspci |grep VGA will show you that both cards are available. unload the nvidia module if loaded. run gpupwr
you can find it here http://ubuntuforums.org/showthread.php?t=1076879&page=3.
That will disable the card for you. load the nvidia driver. run lspci -H1 if you want to verify that the card has been disabled. type /etc/init.d/gdm start to start your desktop environemnt.
if you run nvidia-settings it will only show you the 9400 card.
some notes: i noticed a bug after reboot. Where apt wants to remove grub-efi and replace it with grub-pc right after my first reboot. Seemed to be some kind of dependency bug/error. If you accept all packages your efi grub will be removed so be on the look out.
the reason to start in single mode and unloading the driver is that when i tried after closing X it hung my laptop. Happy booting!
On the forum people have had to edit one value in gpupwr.c depending on wich graphicscard you have enabled in macosx. Worst case if you pick the wrong one. Your display will just be disabled and you have to reboot.
Reboot
Works fine out of the box.
Suspend & Hibernate
Suspend is working out of the box felt pretty fast.
Hibernate not tested.
Wireless
When installing choose 'Enable non-free software' and the Broadcom STA driver should be installed at first boot. If not, enable the driver using the 'Additional Drivers' application and reboot.
Sensors
The following sensors should be available out of the box:
One motion sensor
Ambient light sensor
One fan sensor
16 temperature sensors
You can verify this by using
dmesg | grep applesmc
Output should be something like:
[ 975.586518] applesmc: Apple MacBook Pro 5 detected: [ 975.586522] applesmc: - Model with accelerometer [ 975.586524] applesmc: - Model with light sensors and backlight [ 975.586526] applesmc: - Model with 20 temperature sensors [ 975.587187] applesmc: device has already been initialized (0xe0, 0x00). [ 975.587189] applesmc: device successfully initialized. [ 975.588120] applesmc: 2 fans found. [ 975.590446] input: applesmc as /devices/platform/applesmc.768/input/input10 [ 975.594503] applesmc: driver successfully loaded.
Unfortunately, none of the sensors have correct names. There is a legacy description suitable for other MacBook's at the old mactel-linux site with an (incorrect) sample sensors.conf at this mactel 2007 mail thread.
Add this to your sensors.conf or sensors3.conf file to provide context for some of the temperature sensors (this was generated on a MBP 5,2):
chip "applesmc-isa-0300" label "temp1" "TB0T Enclosure Bottom 0" label "temp2" "TB1T Enclosure Bottom 1" label "temp3" "TB2T Enclosure Bottom 2" label "temp4" "TB3T Enclosure Bottom 3" label "temp5" "TC0D CPU Diode" label "temp6" "TC0F CPU ???" label "temp7" "TC0P CPU Pin" label "temp8" "TG0D GPU Diode" label "temp9" "TG0F GPU ???" label "temp10" "TG0H GPU Heatsink" label "temp11" "TG0P GPU Pin" label "temp12" "TG0T GPU Transistor" label "temp13" "TG1H GPU 2 Heatsink" label "temp14" "TN0D Northbridge Diode" label "temp15" "TN0P Northbridge Pin" label "temp16" "TTF0 Unknown" label "temp17" "Th2H Heatsink 2" label "temp18" "Tm0P Memory Controller" label "temp19" "Ts0P PCI Express Slot Pin" label "temp20" "Ts0S PCI Express Slot (unk)" label "fan1" "Left Fan" label "fan2" "Right Fan" chip "coretemp-isa-0000" label temp1 "Core0" chip "coretemp-isa-0001" label temp1 "Core1"
Keyboard functions
All keyboard functions work out of the box except the Expose and Dashboard keys. In Ubuntu you can initiate an Expose like preview using 'Apple + w' keyboard shortcut. Ubuntu has no equivalent of the Dashboard.
Bluetooth
Pairing works out of the box. Access options from the bluetooth applet in the top panel.
Trackpad
Left-click, right-click (two finger) use and basic trackpad work out of the box. To enable two finger scrolling and tap to click:
System > Preferences > Mouse > Touchpad
Unity also provides a number of multitouch shortcuts which also work out of the box (such as 3 finger zoom / pinch to maximize / unmaximize a window, three finger drag to move a window, 4 finger tap to reveal the dash, and 4 finger swipe to expose / hide the launcher)
Desktop Effects (Compiz)
You must enable the a non-free graphics driver to use Compiz. Start 'Additional Drivers' and choose the 'NVIDIA accelerated graphics driver (current version)' and then reboot.
External Monitor
Works out of the box.
Sound
Works out of the box.
Microphone
Works out the box.
Make sure the microphone is not muted and the correct input is selected by selecting 'Sound Preferences...' from the audio menu on the top panel.
Remote Control
No tested.
Screen brightness adjustment
Works out of the box.
Known issues
None so far.
|