MacBook Pro 8,1 / 8,2 / 8,3 (2011 Macbook Pro) Ubuntu 11.10
N.B. The normal USB and CD-Rom installers seem to be broken for these models. Installation only works when you use BOTH a CD-rom installer with a USB-installer in the machine at the same time. This most important stumbling block to getting Ubuntu running doesn't seem to be described or resolved in this documentation. Many users have been struggling with this in various forums however. I found the solution in this thread: http://ubuntuforums.org/showthread.php?t=1908210, although most complexities described therien are not needed. I installed, fixed the MBR with rEFIT, and restarting several times, and finally it booted into ubuntu.
This page is a stub for beginning work on describing the process of getting a 2011 MacBookPro working in Ubuntu 11.10 (Oneiric Ocelot) (latest stable release since October 2011).
This work is derived from the page that describes setup for the 8,1 MacBook Pro on Natty Narwhal.
Please note that before going through any of the suggested fixes for this hardware, or installing any additional drivers, please make sure you RUN UPDATE MANAGER first and apply all updates to the system.
Latest kernel available and tested is 3.0.0-16
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.
A script has been created using the information provided by this article to assist users in setting up Ubuntu properly on MacBook Pro 8,2 devices. It can be found here. All that's needed is to have an ethernet connection and run the script using bash after installing Ubuntu; it will add the necessary repositories and drivers.
Overview
As of this writing, various extended hardware in the MBP needs additional work to function correctly in Ubuntu. Below is a list/overview of the features of the MacBook Pro and their alleged status.
Feature
Support status
(works out-of-the-box)
(works, with remarks)
(needs manual install)
(won't work)
(not yet documented)
Suspend
works fine out-of-the-box
Screen
The resolution is right recognised, the LED-backlit works properly.
NOTE: In order to be able to adjust the brightness you will have to install the apple-gmux package and boot with acpi_backlight=vendor kernel parameter which you can set e.g. in the /etc/default/grub file in GRUB_CMDLINE_LINUX line. Details: https://wiki.ubuntu.com/Kernel/AppleGmuxBacklight
Colors
The best way to set up good color profiles is to use the color profiling tools in OS X (since Ubuntu doesn't offer any software methods to achieve this in 11.10) and import these profiles as .icc files in System Settings - Color by selecting the appropriate screen icon, clicking "add profile" and navigating to the .icc files (located in OS X under /Users/username/Library/ColorSync/Profiles or /Library/ColorSync/Profiles/Displays if the settings were saved for all users). After this, choosing the radio button under the new OS X profile should yield a nice color profile.
Reboot
Works without any specific configuration.
Video
13-inchand 17-inch
Need test
15-inch
AMD Radeon HD 6470M
Works out of the box. Additional hardware suggested to install proprietary drivers. They work also.
NOTE: There is an issue on the 15 & 17 inch models that the graphics switching does not currently work (between integrated and discrete chips). The integrated graphics is not enabled unless booting from EFI. The impact is much reduced battery life. The 13 inch model is not effected since it only has the Intel chip. See the following links for details.
- Search google for "ubuntu macbook graphics switching"
HFS+
HFS is mounted as Read-Only. By turning journaling off in OS X, the HFS+ file system will be read/write under Linux. This is the recommended solution if you need read/write access to your OS X partition.
It's also possible to mount HFS+ journaling-enabled volumes using the "-o force,rw" option though this is extremely risky.
Leaving the HFS's journaling turned on you're able to access it as root.
Cd&Dvd
works fine out-of-the-box. Be sure to have at least kernel 3.0.0-14, otherwise on 8,2 the cd/dvd drive is not functioning(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/782389)
Keyboard
Works fine out-of-the-box. Install package pommed to enable Apple specific keys as volumes, media, brightness
Touchpad
Works fine out-of-the-box. You can disable the mouse-click with the trackpad tap and the horizontal scrolling in Preferences.
Unity supports multitouch with this funcs:
- 1 finger
- move = move the cursor;
- click = "your-favourite-hand"-click;
- 2 fingers
- move = vertical/horizontal scrolling;
- click = "2nd-button"-click;
- 3 fingers
- move = move the window and shows resizing options;
- 4 fingers
- move = show/hide the launcher (horizontal-scroll, enable auto-hide the launcher first);
- single-tap = show the dash.
To get multitouch with just two finger scrolling and drag-and-drop follow these instructions:
sudo add-apt-repository ppa:mactel-support && sudo apt-get update sudo apt-get install xserver-xorg-input-synaptics
Palm Recognition
By default palm recognition is not turned off, so you might have trouble moving the cursor or clicking something by brushing the trackpad with your palm while typing. To turn palm recognition on, open up a terminal and copy your default conf file:
sudo cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d/my-synaptics.conf
Now edit the new conf file:
gksudo gedit /etc/X11/xorg.conf.d/my-synaptics.conf
and add the following line just before the EndSection marker of your input class:
Option "PalmDetect" "1"
Fine-tuning the touchpad
You can play with other options offered by Synaptic input drivers that are explained here and in this blog post.
External Monitor
External monitors connected via HDMI work out of the box.
If your external display's native resolution is not recognised when connected via a VGA port (only a lower resolution, such as 800x600 is offered, for example), then you need to issue a couple of xrandr commands in a terminal to force add the desired resolution. The source of information for this fix comes from here.
To check that xrandr is installed issue:
$ sudo apt-get install xrandr
You have to create a modeline using the gtf or cvt utility. For example, if you want to add a mode with resolution 1920x1080, you can enter the following command (The output is shown following):
$ cvt 1920 1080 # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Then copy the information after the word "Modeline" into the xrandr command (which would in my example state):
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Now get the code of your external monitor by issuing xrandr. For me the external screen is branded DP1.
Now add this mode to the available ones for your external screen:
xrandr --addmode DP1 1920x1080_60.00
And select it:
xrandr --output DP1 --mode 1920x1080_60.00
If everything goes well, the resolution should be ok now and you'll have the desired option in the normal display preferences. This will have to be repeated every time. The easiest way to automate the task, add the 3 xrandr commands to the ~/.xprofile file.
$ gedit ~/.xprofile
The file should look something like:
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync xrandr --addmode DP1 1920x1080_60.00 xrandr --output DP1 --mode 1920x1080_60.00
Afterwards, you have to add executable access to the file:
$ chmod +x ~/.xprofile
Note: if you make a mistake in the .xprofile file, you might have trouble reverting back to normal settings - in this case you can always use ctrl+alt+F1 to open the shell interface and issue mv ~/.xprofile ~/.xprofile-old; sudo reboot to get the previous settings back.
Sound
Works out-of the box, but some volume corrections are necessary.
You can install gnome-alsamixer for a nice GUI to set up your sound:
sudo apt-get install gnome-alsamixer
You can now open gnome-alsamixer from the dash and mix the volumes to your liking.
Ethernet
Works without any special configuration.
Wireless
There is no official support yet in Ubuntu 11.10, but you can get it working with the following repository:
sudo add-apt-repository ppa:mpodroid/mactel sudo apt-get update sudo apt-get install b43-fwcutter firmware-b43-installer
Then install the linux-backports-modules-cw-3.2-oneiric-generic or, if you have the pae kernel installed, the linux-backports-modules-cw-3.2-oneiric-generic-pae package. While this tutorial deals with Oneiric, the same instructions for the wireless work for Precise, with the above installation of "linux-backports-modules-cw-3.2-oneiric-generic" replaced with "linux-backports-modules-cw-3.3-precise-generic".
Edit the /etc/modprobe.d/blacklist.conf and add the line:
blacklist ndiswrapper
Create or edit the file /etc/pm/config.d/modules and make sure the wireless modules (b43 and bcma) are blacklisted:
SUSPEND_MODULES="b43 bcma"
Reboot and the wireless should work.
Bluetooth
Works out-of-the box. Make sure you have all the updates installed.
Webcam
The new FaceTime HD Camera works without any special configuration.
Microphone
Works out-of-the-box. May need to uncheck mute in the sound preferences.
WARNING!!!! THE FOLLOWING ARE ORIGINAL PAGE, NOT EDITED YET
Sensors
The program lmsensors detects the sensors, however it does not know what they are yet. But coretemp will allow lm-sensor to detect the others sensors, the rotation speed of the fan and the GPU temperature. {{{sudo sensors-detect }}}
It will be active at next reboot, but it you want it now type:
sudo modprobe coretemp
It is highly recommended to use the fan controller daemon that is included in the mactel-support ppa called macfanctl. However, that PPA does not currently have a build of macfanctl for Oneiric, so you can use this PPA: ppa:mpodroid/mactel (required also for wireless support)
sudo apt-add-repository ppa:mpodroid/mactel sudo apt-get update sudo apt-get install macfanctld
After installation you there is a config file located at /etc/macfanctl.conf. The default configurations seems to work well.
FireWire
To be tested
Battery
Lasts not more then 4.30 hrs in powersave mode, in wireless mode an average of 3.40 hrs.
You can increase these values by installing the laptop-mode and powertop packages, following the Extend battery life section of this thread on the forum, and recommendations stated by powertop -d
CardReader
Works with a standard SD card and SDHC card, not tested with SDXC card.
Thunderbolt
needs docs
ARC
Documentation needed.