MacBook Pro 7,1 Ubuntu 10.10 (Maverick Meerkat)
This page aims to describe the steps needed, to fully enable all features of the 13.3 (MBP 7,1) when using Ubuntu 10.10, Maverick Meerkat.
Much of this page (even the formatting, I admit) is just taken from the guide for Lucid, so thank you to the contributor of that page. My goal is to make this specialized to Maverick and update a couple of the guides and fixes that worked and were documented for 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.
Overview
Anything not mentioned here probably already works out of the box. If not, please refer to the Ubuntu Apple Users forum.
Feature
Support status
(works out-of-the-box)
(works, with remarks)
(needs manual install)
(won't work)
(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), nvidia-bl-dkms (driver for the LCD panel backlight) and pommed (daemon to control them all).
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. After enabling the ppa as shown above you can add this tool with the following command:
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.
Suspend
Works without problem.
Screen
Installing the current version of nvidia-bl-dkms (0.17 or greater) will enable the control of the screen backlight with the keyboard keys F1 and F2. The help is then accessible from fn-F1.
sudo apt-get install nvidia-bl-dkms
Then promote this module
sudo modprobe nvidia-bl
Battery
This is kind of irrelevant, the biggest obstacle to battery life is usage, and everyone uses it differently.
Ethernet
Works without problems, but get crazy regarding the power management:
WARNING, this broke my wired connection, apply only if necessary.
sudo gedit /etc/modprobe.d/blacklist.conf
and add at the end of the file:
blacklist forcedeth
Reboot
Run
gksudo gedit /etc/default/grub
and change the line
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=pci"
Now, on the terminal run
sudo update-grub
Finally, ask the computer to shutdown, then complete the shutdown by pressing the power button during five seconds when the shutdown process is stuck, wait few more seconds until the hard drive stop spinning and power it on again. Now it should work normally.
Touchpad
Coming soon. This section will document a newish project that enables the multitouch functions fully, including two-finger click and drag.
$ sudo add-apt-repository ppa:mactel-support && sudo apt-get update $ sudo apt-get install bcm5974-dkms xserver-xorg-input-synaptics
FireWire
Works out of the box.
Video
You can enjoy 3D acceleration by using the nVidia proprietary driver which can be retrieved in the Ubuntu Hardware Drivers menu. This operation will change the screen resolution appearing at every boot and shutdown of your laptop. If you want to get back the right resolution do as follow:
Install v86d
sudo apt-get install v86d
Edit GRUB configuration file
sudo gedit /etc/default/grub
Add to the line...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
The following:
nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap
If you already applied the previous modifications on this line you should get:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap reboot=pci"
Close it and edit initramfs configuration file:
sudo gedit /etc/initramfs-tools/modules
Add at the end of the file,
uvesafb mode_option=1280x800-24 mtrr=3 scroll=ywrap
Close it and launch the following command,
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
Update GRUB,
sudo update-grub
Update initramfs,
sudo update-initramfs -u
HFS+
- Read Only: Confirmed working out of the box.
- Read/Write: It is necessary to disable journal:
- Login macos and open a terminal.
- Identify the partition.
- Run diskutil to disable journaling.
$ mount /dev/disk0s2 on / [...] $ sudo diskutil disableJournal force /dev/disk0s2 Journaling has been disabled for volume [...] on disk0s2
Keyboard
If you want to invert the Control and Command keys to have the same configuration as Mac OS X you can create the following file:
# gedit ~/.xmodmap
and copy the following into it
! ! xmodmap script to swap right control & right command key ! ! remove both keycodes (to which Control_L & Super_L is attached) ! from previous modifier map remove control = Control_L remove mod4 = Super_L Hyper_L ! swap keysyms keysym Control_L = Super_L Hyper_L keysym Super_L = Control_L ! re-add both keycodes to respective modifier maps add control = Control_L add mod4 = Super_L Hyper_L ! ***** end of source *****
Close this file. Now you can activate it with
# xmodmap ~/.xmodmap
Next time you will boot and get to the desktop you will have to choose if this configuration has to loaded at every boot.
External Monitor
With the latest nVidia drivers installed, the Display Port and adapters work out of the box.
Wireless
In the Ubuntu Hardware Drivers menu you can choose a wireless driver. There is a free and a proprietary driver. The proprietary driver is known as working, also with WPA2. You can have difficulties to activate it before general updates have been performed so manage to get a wired connection to make this initial updates:
sudo apt-get update sudo apt-get dist-upgrade
I was seeing very bad performance using wireless. I discovered that the default power management state was causing frames to be dropped which in turn caused very high latency. I addressed this by turning off power management on the wireless interface. This probably has a negative effect on battery life but I would prefer a network connection that performs well.
You can disable power management manually by running the following command:
/sbin/iwconfig eth1 power off
You can automate this by placing the following script in /etc/NetworkManager/dispatcher.d:
!/bin/sh # /etc/NetworkManager/dispatcher.d/wifipower.sh # Matt's Macbook Pro 7,1 wifi power adjuster # # I've found that turing off power management fixes performance problems with the # BCM4322 802.11a/b/g/n Wireless Controller found in the Macbook Pro 7,1 # # Placing (a link to) this in /etc/NetworkManager/dispatcher.d causes NM to # invoke this every time network state changes # The WIFI interface WIFIINT="eth1" if [ -z "$1" ]; then echo "$0: called with no interface" 1>&2 exit 1; fi if [ "$1" != "$WIFIINT" ]; then exit 1; fi /sbin/iwconfig eth1 power off
Bluetooth
Coming soon.
Webcam
The iSight works out of the box. You can test it using cheese or any other of your choice.
Sound
From the terminal, type:
gksudo gedit /etc/modprobe.d/alsa-base.conf
Add the following line to the end of the file.
options snd-hda-intel model=mbp55
Save and close the file, then reboot.
Front speakers is initially muted and need to be unmuted,
alsamixer
Then use the key M to mute/unmute the channels front speaker and surround. You can also mute S/PDIF and S/PDIF-D channels if you don't use a digital cable, this will save battery.
My alsamixer settings were not restored after reboot. This caused the S/PDIF to come back in an enabled state after every boot. To make it stay off I did the following:
Muted S/PDIF using alsamixer
Issued the following command:
sudo /sbin/alsactl store 0
Then I added a new startup application using Startup Applications under the System -> Preferences menu. I used the following settings in Startup Applications Preferences:
Click Add Name: Restore Alsa State Command: /sbin/alsactl restore Comment: Turn off Optical Out
Now the optical audio out will turn off when you login.
Microphone
The microphone is muted out of the box. Go to System-->Preferences-->Sound-->Input and either move the slider to 100%. You can snap your finger or speak in front of your laptop to see the capture bar moving and adjust it if needed.
If you are using skype, don't forget to turn off automatic volume adjustment in skype program: Options > Sound Devices > Allow Skype to automatically adjust my mixer levels
|