MacBookPro 6,2 and Ubuntu 10.10 (Maverick Meerkat)

The Macbook Pro 6,2 is highly compatible with Ubuntu 10.10 Maverick (and Ubuntu 10.04 Lucid). You'll need to apply some of the adjustments listed below. For further discusions, see: Ubuntu Apple Users forum

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.10, Maverick Meerkat.

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

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

The mactel PPA modules needed are: mbp-nvidia-bl-dkms (driver for the LCD panel backlight) and pommed (daemon to control them all), macfanctld (fan control), and btusb-dkms (bluetooth).

Install:

sudo apt-get install pommed mbp-nvidia-bl-dkms macfanctld btusb-dkms

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 install a pae-kernel.

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)

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

gksudo gedit /etc/modules

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

coretemp

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.

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

Suspend seems to work fine out of box: multiple suspends during single session works. Hibernate is not very well tested up to now. It seems to work, though it is a bit slow. (multiple hibernations during single session not tested.)

Reboot

Rebooting and Shutdown work fine.

Video & Effects (Compiz)

IconsPage/restricted.png You should use the restricted video 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).

Flash performance generally reduced with Compiz is enabled, as reported here.

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

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"

Font Rendering

Many users report strange font rendering (not just on Macbook Pro's LCD screens). The default DPI (right click on the Desktop, click Change Desktop Background, click Fonts, click Details) is 96, which is actually fine.

You can apply the following fix to make the font much better.

"1. Move the following file to your user home directory (/home/user/). For example, if your username is ‘joe’, copy or move the file to the /home/joe/ directory.

<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>

  • <match target="font" >

    • <edit mode="assign" name="autohint" >

      • <bool>true</bool>

      </edit>

    </match> <match target="font" >

    • <edit mode="assign" name="rgba" >

      • <const>none</const>

      </edit>

    </match> <match target="font" >

    • <edit mode="assign" name="hinting" >

      • <bool>false</bool>

      </edit>

    </match> <match target="font" >

    • <edit mode="assign" name="hintstyle" >

      • <const>hintnone</const>

      </edit>

    </match> <match target="font" >

    • <edit mode="assign" name="antialias" >

      • <bool>true</bool>

      </edit>

    </match>

</fontconfig>

2. Rename the file (through the right click menu, or press F2) from ‘fontsconf.txt’ to ‘.fonts.conf’ (note the period at the beginning).

3. Restart X (press Ctrl + Alt + Backspace).

Now when you log in again, you should be looking at super-smooth, great-looking fonts." As seen here: http://web.archive.org/web/20090221014845/http://tombuntu.com/index.php/2008/10/15/tweak-your-font-rendering-for-better-appearance/

LCD Brightness Control

Either mbp-nvidia-bl-dkms alone will enable brightness control or install pommed as well. Restore of old brightness value after a resume also works.

If it doesn't work out-of-the-box, see this thread.

Update: the pages for the MacBookPro 7,1 suggest adding this to the RegistryDwords above:

EnableBrightnessControl=1

which works perfectly.

Colors

See the page for the MacBookPro 7,1 on how to obtain the color profile for your monitor.

The profile can be applied using the xcalib method mentioned there, or by using gnome-color-manager:

sudo apt-get install gnome-color-manager
gcm-prefs

Fan Control

Work, but needs the macfanctld package from the Mactel PPA (above) to allow to Macbook Pro to control fan speed at as CPU temperature rises.

HFS+

"HFS+" refers to the native filesystem of Mac OS X. Ubuntu has the capabilities to interact with it in a dual- or multi-boot setup:

  • 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/disk0s2
Journaling has been disabled for volume [...] on disk0s2

CD/DVD Writing

Both writing and reading work.

Bluetooth

Working, but require installing packages from the Mactel PPA, above.

Keyboard Functions

Everything seems to work 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

Mapping Control Key to Command (Apple) Key

If you would prefer to use the Command / Apple key as the control key, similar to the Mac OS X setup, instead of a "Super" key or "Windows" key, you can do the following:

go to System > Preferences > Keyboard. Click on the Layouts tab. Make sure that your keyboard is set to "USA Macintosh". Then click Options in the lower left, expand the "Alt/Win key behavior". Toggle "Control is mapped to Win keys(..)" to on. That should do it.

Keyboard backlight WITH pommed

Certain bugs may arise. For instance, when dimming the keyboard backlight with the F5 key, the light may dim to the lowest level (but not off) and then go up to the highest level in a circular fashion. This can be changed by accessing the pommed configuration file:

sudo nano /etc/pommed.conf

Scroll down to the "#Keyboard backlight control" section. Set the "default" to "0" and you can play with the step. FIXME: ensure this works on other computers.

Note: after editing config (.conf), you'll need to restart.

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

If the mouse jumps around while typing, and "Disable touchpad while typing" is already selected (under Preferences > Mouse > Touchpad,) mark yourself as affected by this bug: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/240738.

Multitouch is available using xf86-input-multitouch drivers. Explanations from MacBookPro7-1/Maverick#Touchpad are fully usable.

Wireless (AirPort)

IconsPage/restricted.png Works out of box, but performance is affected by note below:

Note: Should you experience slow connections when running on battery power then you can find a workaround in this thread: http://ubuntuforums.org/showthread.php?t=1596061#6

Some users find disabling network-manager and enabling wicd, as described in the 10.04 documentation, improves wireless performance.

If you would like your wireless to automatically connect at startup, simply navigate to System > Preferences > Network Connections There, you can add connections. Click on your connection (assuming you've made one) and click "edit" in the right hand column. To make sure it connects on startup, make sure the "Connect Automatically" box is checked at the top.

iSight

IconsPage/webcam.png Confirmed to be working using cheese.

Sound

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.

On the flipside, it is not necessary to install "gnome-alsamixer". Instead, launch the command-line "alsamixer":

alsamixer

To disable the optical output in the headphone jack, use the arrow keys to navigate to "S/PDIF" and on your keyboard press the "M" key. Click the "M" key again to enable.

If the sound is muted, ensure that the box above "Master", "Headphon", "Front Sp", and "Surround" all have "00" in it. This can be toggled again by pressing the "M" key (for "mute"). This will also fix the surround sound issue where the left speaker may not work.

Microphone

To get the microphone working, in terminal run:

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

External Monitor

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"

to /etc/X11/xorg.conf

Sound over HDMI

Sound over HDMI does not work out of the box. To fix this issue, add:

options snd-hda-intel probe_mask=-1,0x6

to /etc/modprobe.d/alsa-base.conf

You may have to adjust the probe_mask value for your particular computer.

More information on this issue can be found at the following pages:

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 with FireWire devices. Tested with Point Grey FireWire cameras and Lacie Rugged drive. Ethernet over Firewire (modprobe eth1394) tested and confirmed working.


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 documentation going on.


CategoryMac CategoryWireless

MacBookPro6-2/Maverick (last edited 2013-12-14 03:00:53 by knome)