MacBookPro 5,4 and Ubuntu 10.04 (Lucid Lynx)
This page aims to describe the steps needed to fully enable all features of the 5-th Generation, 15 inch MacBookPro (MacBook Pro 5,4) (release date: June 2009) when using Ubuntu 10.04, Lucid Lynx. Most likely it works the same for the 13.3 inch of the same generation (MacBook Pro 5,5), but I did not test. [I'm using the amd64 version of Ubuntu and cannot rule out that i386 may behave differently in some respects.]
Note: I have personally tested Lucid on both the 5,4 and 5,5 revisions of the MacBookPro and I have found no differences so far. The information provided on this page is out of date and I recommend people to follow the guidelines offered in the 5,5 page. https://help.ubuntu.com/community/MacBookPro5-5/Lucid
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 and update this page.
(works, with remarks)
(needs manual install)
(not yet documented)
Basic Installation Instructions
Common things about installing and maintaining Ubuntu on Intel-based Macs: Intel CPU-based Macintosh Generic Installation Instructions
Additional Package Support for Intel Macs
Special keys (screen backlight, keyboard backlight, CD eject) and automatic keyboard backlight control require pommed to be installed. The package version from the standard repositories for Lucid Lynx is fine.
sudo apt-get install pommed
Edit /etc/pommed.conf to adjust settings for screen brightness and the like:
gksudo gedit /etc/pommed.conf
Then restart pommed:
sudo service pommed restart
In addition, you still need the nvidia-bl-dkms module from the MactelSupportTeam/PPA to make screen backlight adjustments work correctly (also together with pommed). Note that at the time of writing there is no repository for Ubuntu 10.04 (Lucid Lynx) yet, but you can use the 9.10 (Karmic) version. (All other packages work fine when installed from the default repositories of Ubuntu 10.04 (Lucid Lynx)).
To add the ppa open the above link to the PPA's wiki page and follow the instructions. Then go to menu System -> Administration and open Software Sources. Find the newly-added entry and edit it to refer to "karmic" instead of "lucid". Closing the Software Sources control panel will update the package lists.
Then install the package:
sudo apt-get install nvidia-bl-dkms
nvidia-bl-dkms must be in /etc/modules file to load. Open the file in an editor with:
gksudo gedit /etc/modules
And add to the end this line:
The shift option reduces the dimming range to make it more comfortable; you can tune the value as you want. The module will be loaded after a reboot (or use "sudo modprobe nvidia_bl shift=2" to load it right away).
Sensors (temps & fans)
gksudo gedit /etc/modules
And add to the end:
This will enable temperature sensors after a reboot. (Again, you can also use "sudo modprobe coretemp" to load the module right away).
Suspend & Hibernate
You can expect that this will work when bugs in Lucid are ironed out since Suspend and Hibernate worked flawlessly with Ubuntu 9.10 (Karmic Koala). Make sure that the machine has at least EFI update version 1.7. There were reports of these features not working with the free drivers, so you may need to install the proprietary ones (see the relevant section on this page).
At the time of writing, using kernel version 2.6.32-12.17 in Lucid Lynx, suspend is quick and works. Wakeup from suspend works, but seems to require a manual switch to a text console and back to X before you get a visual. Use the key combination [Fn]+[Ctrl]+[Alt]+[F1] to switch and replace F1 with F7 to switch back. I suppose this is caused by this pm-utils bug and will be fixed soon.
Hibernate did not work for me at: instead of resuming from hibernation the machine performs a full boot.
Video & Effects (Compiz)
You should use the restricted driver. Note that in Ubuntu 10.04 (Lucid Lynx) Alpha 2, the graphical manager for restricted drivers (jockey) does not yet work with the "alternatives" system that is now provided. Refer to the Known Issues section in the Alpha 2 release notes for a manual workaround. Using the nvidia-current driver (as in the example in the Known Issues) worked for me.
HFS+ (only read)
Confirmed working out of the box.
Confirmed working out of the box:
- Detection of devices
- Sending files to devices (OBEX push)
- Bluetooth Mouse
- Bluetooth Keyboard
On other devices, the Mac is found. It does not offer any services, but this seems to be a software problem.
After installing the nvidia-bl-dkms and pommed packages everything works:
- F1 and F2 for LCD dimming (dependent on nvidia-bl-dkms and pommed)
- F3 and F4 can be correctly associated with any command in the system preferences.
- 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)
- Capslock, command key, etc.
Some people find the default settings in the "Keyboard backlight control"-section of the /etc/pommed.conf configuration file annoying. You may want to use some alternative settings like below. Restart pommed (as described above) after making changes:
# default value for automatic backlight (0 - 255) default = 0 --- # step value (1 - 127) step = 16 --- # enable/disable automatic backlight auto = no --- # idle timer - switches off keyboard backlight automatically (timeout in seconds, -1 to disable) idle_timer = 300
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. Alternatively, you can also add this line to /etc/modprobe.d/options:
options hid_apple fnmode=2
The touchpad fundamentals work out of the box and can be adjusted from menu System -> Preference-> Mouse-> Touchpad. Two-finger scrolling is enabled by default.
On my machine the "Enable mouse clicks with touchpad" checkbox under the Touchpad tab was not checked by default, but the touchpad still reacts to taps (even very light ones) which can be annoying. Similarly annoying is the fact that the touchpad does not register finger movement when the thumb rests on the lower part of the touchpad (i.e., where a "normal" touchpad would have buttons).
These finer points could be adjusted by a HAL policy file in previous Ubuntu versions. However, 10.04 (Lucid Lynx) removes HAL. I have not played with the new (udev) way to adjust the settings yet, but there is some information in a blueprint, its linked wiki page and a blog post linked from there.
Note from Ubuntu 9.10 (Karmic Koala)
The shipped driver (including the current one in 10.04 (Lucid Lynx)) does not allow click-and-drag which, together with the non-existing dedicated touchpad buttons, makes dragging frustrating. In 9.10 (Karmic Koala) the recommendation was to install an experimental version that adds such feature. This has been confirmed to work in 10.04 (Lucid Lynx)
sudo apt-get install dkms wget http://launchpadlibrarian.net/24871974/bcm5974-dkms_1.1.4_all_test.deb sudo dpkg -i bcm5974-dkms_1.1.4_all_test.deb sudo modprobe -r bcm5974 sudo modprobe bcm5974
The Broadcom driver was not installed by default. The graphical restricted driver manager (Jockey) in menu System -> Administration -> Hardware Drivers proposes two different drivers. The B43 driver did not work in Ubuntu 9.10 (Karmic Koala) and therefore I have not tested it in 10.04 (Lucid Lynx). Simply choose the STA one and let the driver manager handle the rest. If this does not work (there were some reports that it sometimes didn't in Ubuntu 9.10 (Karmic Koala)), install the driver in the Terminal:
sudo apt-get install bcmwl-kernel-source
Then reboot the system and you're OK.
Note: The STA driver appears to have problems connecting to 802.11n wireless on the 5ghz band. Might be a limitation of the STA driver? Testing needed on 2.4Ghz band and also the B43 driver.
Confirmed working out of the box. Tested using cheese (sudo apt-get install cheese). When cheese is running, a green light comes up in the laptop lid next to the camera - this works for the first time for me in Ubuntu 10.04 (Lucid Lynx).
Sound hardware is functional out of the box, but you need to make some adjustments. It's easiest to use gnome-alsamixer for these. Install the package:
sudo apt-get install gnome-alsamixer
Start the mixer from menu Applications -> Sound and Video -> Gnome ALSA Mixer. Uncheck the "Mute" box next to the front speaker settings and also move their slider to maximum. If you want to enable the optical output you need to check the IEC958 option; you'll see a red light coming from your headphone jack.
(You can also use alsamixer in a Terminal instead of gnome-alsamixer. It is installed by default).
Dual monitor was tested successfully with Twinview on Ubuntu 10.04 (Lucid Lynx) using the nvidia-current driver. Use menu System -> Administration -> Nvidia X Server Settings to configure.
Apple Remote Control
Personally, I have an Apple remote model No A1294, bought at the same time as the laptop, and never got it to work in Ubuntu 9.10 nor now in Lucid Lynx. gnome-lirc-properties detects its signals as described below, but no application has ever reacted to it.
However, there were success reports (possibly for other remote models) in the help pages for the MacBook Pro 5,x with Ubuntu 9.04 (Jaunty Jackalope) and 9.10 (Karmic Koala), which I will repeat here:
It Works with Remarks. Volume control works. Forward and back works (even on Mozilla Firefox). Menu has no action. Pause/Play not tested.
You have to 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.
Works out of the box.