MacBook Pro 8,1 / 8,2 / 8,3 (2011 Macbook Pro) Ubuntu 11.04
This page is a stub for beginning work on describing the process of getting a 2011 MacBookPro working in Ubuntu 11.04 (Natty Narwhal) (latest stable release since 28-Apr-2011).
This work is derived from the page that describes setup for the 7,1 MacBook Pro on Maverick Meerkat.
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.
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
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.
This thread on the forums has info on how to get started setting up Ubuntu for Natty (The thread says "Maverick", but most of the discussion in there is Natty-focused).
Feature
Support status
(works out-of-the-box)
(works, with remarks)
(needs manual install)
(won't work)
(not yet documented)
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 modprobe coretemp
Then add coretemp to the list of modules loaded during the boot process:
sudo gedit /etc/modules
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 Natty. After enabling the ppa as shown above you can add this tool with the following command:
sudo apt-get install macfanctld
OR use this command:
wget http://ppa.launchpad.net/mactel-support/ppa/ubuntu/pool/main/m/macfanctld/macfanctld_0.5~mactel1~maverick_amd64.deb
and then run:
sudo dpkg -i macfanctld_0.5~mactel1~maverick_amd64.deb
After installation you there is a config file located at /etc/macfanctl.conf. The default configurations seems to work well.
Suspend
works fine out-of-the-box, but if you suspended the laptop by closing the monitor the trackpad and the keyboard will not work after resuming.
You can avoid this issue by adding/linking the script of this thread to the folders /usr/lib/pm-utils/sleep.d and /usr/lib/pm-utils/power.d.
Screen
The resolution is right recognised, the LED-backlit works properly.
NOTE: There was a problem with levels of brightness (the last one) but running all latest updates that issue has been fixed, and everything works properly.
Colors
needs docs
Reboot
Works without any specific configuration.
Video
13-inch
Intel HD Graphics 3000
Works out of the box.
15-inch and 17-inch
AMD Radeon HD 6490M
Works out of the box.
AMD Radeon HD 6750M
Works out of the box.
There is at least one report of temporary screen flickering after reopening the lid when using the open source driver (not fglrx): switching to fglrx resolved the issue.
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, on 8,2 the cd/dvd drive is not functioning(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/782389)
Bluetooth
works fine with Natty Linux kernel version 2.6.38-9 or later
Keyboard
Works partially fine out-of-the-box, sometimes the entire keyboard could stops working without reason (like as resuming from Standby). To change the function key behavior, ie fn+f1 to adjust brightness ---
echo 2 > /sys/module/hid_apple/parameters/fnmode
ps: you might need to do this as root (sudo su)
Keyboard backlight is working with the latest pommed (version 1.39 and above). You might need to compile and install it manually, since the natty version of mactel PPA does not include a package for pommed.
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);
- single-tap = show the dash.
but sometimes it could stops working without reason (like as resuming from Standby), so take another mouse to reboot and everything will work again.
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 bcm5974-dkms xserver-xorg-input-synaptics xf86-input-multitouch
Then edit /etc/X11/xorg.conf
Section "InputClass" MatchIsTouchpad "true" Identifier "Multitouch Touchpad" Driver "multitouch" MatchDevicePath "/dev/input/event*" EndSection
FireWire
Works out of the box for at least an external Firewire 400 drive.
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
Ethernet
Works without any special configuration.
Wireless
Using the bleeding-edge b43 open source driver
The latest (27 Aug 2011) version of the b43 wireless software supports the 4331 wireless card used in the MacBook Pro 8-x. This module may still be in experimental stage and has to be patched and compiled from source. However, clear step-by-step instructions for doing so are available at:
Instructions: http://homepage.uibk.ac.at/~c705283/archives/2011/09/04/linux_support_for_broadcom_4331_wireless_chip_macbook_pro_81/index.html .
The above instructions and the driver have been verified to work under Natty on a Macbook Pro 8,1 and 8,2. This is the recommended method over the fallback method described in the next section.
Note: If upgrade your kernel at a later stage you will have to recompile and reinstall the module as it will get overwritten. Unless of course the module and patches become part of the kernel itself.
Fallback method (ndiswrapper)
In the 64-bits edition (named 'amd64') you can install the windows 64-bit driver (you can find it here: http://ubuntuforums.org/attachment.php?attachmentid=184715&d=1298911090, in the wiki page http://ubuntuforums.org/showthread.php?t=1695746&highlight=bcm4331&page=2) through ndiswrapper. But after configuring ndiswrapper, ubuntu fails to boot while loading the ndiswrapper module; so you have to remove ndiswrapper from "/etc/modules", it obviously doesn't allow you to use wireless lan (but ubuntu boots well), some users fixed that by adding "ndiswrapper" to autostart applications. Appreciate any suggestions.
Note: many users have reported a high unstability by using this approach like system stopped responding to commands from the keyboard and mouse;
Ndiswrapper : How to setup and run.
1. "cd to folder directory where the inf, sys, and cat files are. (Extract the 7z.gz file to Home folder. And cd into amd64) 2. Run these commands
sudo ndiswrapper -i bcmwl5.inf
then run
sudo ndiswrapper -l
make sure you see the driver listed like this
bcmwl5 : driver installed
- device (14E4:4331) present
now run this command to start it
sudo depmod -a
and
sudo modprobe ndiswrapper
To make sure it always starts up use
sudo ndiswrapper -m
Broadcom engineers mention Linux support for the new chipset here: http://comments.gmane.org/gmane.linux.kernel.wireless.general/66377
[2011-07-08] Update: "We're currently on a big push to finish cleaning up the driver and moving into mainline. After that, we'll be working on adding a number of new chips." http://answerpot.com/showthread.php?2574286-Broadcom%204331%20wireless%20device
[2011-08-08] Update: Following this ChangeLog of 3.1 RC1 it seems support is on it's way: http://www.eu.kernel.org/pub/linux/kernel/v3.0/testing/ChangeLog-3.1-rc1
[2011-09-18] Update: For those not wanting to wait:
http://ubuntuforums.org/showpost.php?p=11249355&postcount=647
About the only thing missing was I had to also "apt-get install kernel-package" first. Instructions were tested on Oneiric.
[2011-09-18] Update: there is a PPA that seems to work:
sudo add-apt-repository ppa:zwaldowski/ppa
sudo apt-get update
sudo apt-get install b43-fwcutter compat-wireless-b43-dkms driver-b43-installer firmware-b43-installer
Webcam
The new FaceTime HD Camera works without any special configuration.
CardReader
Works with a standard SD card and SDHC card, not tested with SDXC card.
Sound
8,1
Works fine out-of the box. Some users found the speaker mute, it can be fixed: launch in terminal "alsamixer", set "show all" by clicking tab a couple of times and unmute by clicking "M" the speaker.
8,2
Sound does work by going into the sound preferences panel and unchecking "mute," which for some reason was automatically selected.
8,3
Sound works partial out of the box.
If you do not get stereo sound from your internal speakers, try adding options snd-hda-intel model=mbp55' to the end of /etc/modprobe.d/alsa-base.conf' and rebooting ( this thread ).
In case you don't have any sound and you upgraded from Maverick 10.10 try:
apt-get remove snd-hda-dkms
More details here: http://fossplanet.com/f10/%5Bbug-778049%5D-%5Bnew%5D-sound-not-working-kernel-2-6-38-macbook-6-1-a-157302/
Optical cables work.
Microphone
Works out-of-the-box. May need to uncheck mute in the sound preferences.
Thunderbolt
needs docs
ExtMon
Works out-of-the box on Macbook Pro 8,2 and Macbook Pro 8,3, but does not work out-of-the box on Macbook Pro 8,1. Main-screen freeze and external monitor doesn't work. You have to upgrade the kernel to version 2.6.39-0 or higher.
Open your terminal and type:
wget linux-headers-2.6.39-0_2.6.39-0.5~20110427_all.deb wget linux-headers-2.6.39-0-generic_2.6.39-0.5~20110427_amd64.deb wget linux-image-2.6.39-0-generic_2.6.39-0.5~20110427_amd64.deb sudo dpkg -i linux-headers-2.6.39-0_2.6.39-0.5~20110427_all.deb sudo dpkg -i linux-headers-2.6.39-0-generic_2.6.39-0.5~20110427_amd64.deb sudo dpkg -i linux-image-2.6.39-0-generic_2.6.39-0.5~20110427_amd64.deb
Reboot the machine and external monitor should work.
Here is a how to: http://blog.lome.pl/blog/ubuntu-11-4-black-screen-problem-solved/
ARC
Documentation needed.