[Not recommended to install currently, but you're welcome to test and report your findings/problems to the Ubuntu Apple Users forum]
MacBookPro 6,2 and Ubuntu 10.04 (Lucid Lynx)
This page aims to describe the steps needed, to fully enable all/most features of the 15.3 (mbp 6,2) and probably other 6-th Generation MacBookPro (release date: April 2010) when using Ubuntu 10.04, Lucid Lynx.
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.
(works, with remarks)
(needs manual install)
(won't currently work (completely))
(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 on Ubuntu on this MBP are applesmc-dkms (driver for light sensor, temperatures, fans and keyboard backlight), mbp-nvidia-bl-dkms (driver for the LCD panel backlight) and pommed (daemon to control them all).
sudo apt-get install applesmc-dkms mbp-nvidia-bl-dkms pommed
Hint: The mouseemu package interferes with pommed. Better remove it:
sudo apt-get remove mouseemu
The caps-lock key indicator should work too now.
Note: The packages mbp-nvidia-bl-dkms and pommed may not be updated yet; Wait for the updates or use the packages posted here
The system memory issue and 32/64bits kernel version
As the new MacBookPro 6,2 has 4 GB as base RAM and the Intel i5/i7 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, you MUST install the 64 bits Ubuntu version cause 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
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)
Temperature, fanspeed, environmental light and keyboard backlight can be controlled over the sysfs exported interface at /sys/devices/platform/applesmc.768/.
One user reported that the environmental light sensor did not work initially until he applied a not further specified firmware update.
Suspend & Hibernate
Hibernate is not very well tested up to now. It seems to work, though it is a bit slow.
Suspend works actually reliably with the Nvidia 195 series drivers (no screen corruption). Sometimes, in case you configure suspend on lid-close and close the lid only very briefly, gnome power management gets confused and does not suspend the laptop anymore. Of course suspend still works e.g. through the Shutdown... GUI.
Rebooting and Shutdown seems to work fine.
Video & Effects (Compiz)
You should use the restricted driver: The open source driver nouveau seems to currently causes random system freezes. 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).
Install from: System -> Administration -> Hardware Drivers. Select the NVidia graphics driver that says recommended and Activate. Reboot to apply the change. I installed version 195 which is available as recommended, it works great.
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
Brightness control works (incl. restore of old brightness value after a resume).
Wait for the updates in mbp-nvidia-bl-dkms and pommed or use the packages posted here. Make sure to remove older versions of mbp-nvidia-bl-dkms before installing the new version!
HFS+ (only read)
Confirmed working out of the box.
Both writing and reading work.
MacBookPro6,2 notebooks use an Apple branded Broadcom BCM2046 solution that seem to be fully supported by the generic bluetooth USB (btusb) driver. Currently (May 2010) the product and device ids are not yet added to the generic USB driver and thus a workaround similar to this forum post is required.
Note that bluetooth keyboards and mice work even without the driver: there are hci to hid compatibility/emulation devices that are active as long as the bluetooth device is inactive.
[38073.885671] Bluetooth: Generic Bluetooth USB driver ver 0.7 [38073.886642] usbcore: registered new interface driver btusb [38073.911497] Bluetooth: L2CAP ver 2.14 [38073.911503] Bluetooth: L2CAP socket layer initialized [38073.941353] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [38073.941357] Bluetooth: BNEP filters: protocol multicast [38073.951236] Bridge firewalling registered [38073.955646] Bluetooth: SCO (Voice Link) ver 0.6 [38073.955648] Bluetooth: SCO socket layer initialized [38074.019858] usb 1-1.1.1: USB disconnect, address 7 [38074.030511] Bluetooth: RFCOMM TTY layer initialized [38074.030517] Bluetooth: RFCOMM socket layer initialized [38074.030520] Bluetooth: RFCOMM ver 1.11 [38074.288792] usb 1-1.1.2: USB disconnect, address 8 [38220.936249] bnep0: no IPv6 routers present
- Detection of devices
- PANU (e.g. use a phone as Network Access Point)
- Bluetooth Keyboard (Apple)
- Sending files to devices (OBEX push)
- Magic Mouse (Apple) work out of the box but without scroll.
Not yet confirmed working:
- Bluetooth Mouse
- F1 and F2 are correctly detected as monitor backlight dimming control keys and control with the help of pommed the LCD panel brightness (0-15).
- F3 and F4 can be correctly associated with any command in the system preferences.
- F5 and F6 are correctly detected as keyboard backlight dimming control keys and control with the help of pommed the keyboard brightness (0-255).
- 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)
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
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:
#!/bin/bash # 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
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.
The touchpad works out of the box. You can enable two-finger scrolling from the preference->mouse->touchpad applet. It also may help you to uncheck the "Enable mouse clicks with touchpad" checkbox under the Touchpad tab (see below). Furthermore tweaking the drag and drop time to be less, helped significantly. The click-and-drag also works.
If you choose to keep "Enable mouse clicks with touchpad" checked, you'll soon notice that while it's neat you don't have to 'click' the mousepad to initiate a click, the option "Disable touchpad while typing" does not disable the mouse when you accidentally rest your palms on the touchpad during typing, which causes the cursor to jump around. A solution has not yet been found, but a bug report has been filed. Please mark yourself as affected if you experience it.
The Broadcom driver was not installed by default on Lucid. You'll need the STA one, goto "System->Administration->Hardware Drivers" and enable it. If you prefer the command line, execute on the Terminal:
sudo apt-get install bcmwl-kernel-source
Then reboot the system and you're OK. The driver seems to handle all situations fine - disable power management in case you experience unexpected connection loss (doesn't seem to be necessary although):
sudo iwconfig eth1 power off
Firmware cannot yet be extracted nor loaded. In order to use the webcam, you need to boot in OSX first to automatically load the firmware, then reboot to Linux. Work is under way to add support to the isight-firmware-tools: upcomming version 2.0 should include support.
Sound works similar to the MBP 5,5: In case microphone or headphones are not working out of the box, follow this hint: From the terminal, type:
gksudo gedit /etc/modprobe.d/alsa-base.conf
Add the following line to the end of the file. Save the file. Reboot.
options snd-hda-intel model=mbp55
In addition to modifying alsa-base.conf as indicted above, the front speakers seem to be initially muted and need to be unmuted by running alsamixer from the Terminal, or using gnome-alsamixer:
sudo apt-get install gnome-alsamixer
To enable the optical output, check the IEC958 option, and you'll see a red light coming from your headphone jack.
Also working, see above.
You may experience some trouble with the external VGA and the new drivers: if the detected resolution of externally connected monitors doesn't go beyond 640x480, you will need to inactivate EDID. Add:
Option "NoEDID" "True"
Apple Remote Control
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.
Not yet tested. Ethernet over Firewire (modprobe eth1394) tested and confirmed working.
If you want to get scrolling working on an Apple Magic Mouse, you must install the multitouch driver.
sudo add-apt-repository ppa:chasedouglas/multitouch sudo apt-get update sudo apt-get install multitouch-kernel-source
Scrolling work after a reboot.