|
Candidate for Deletion |
|
Unsupported Version |
Ubuntu on a Penryn MacBookPro
If you are searching for installation instructions or information on MacBookPro1,1 or MacBookPro2,1, check the main MacBookPro wiki article.
For other hardware items not mentioned here, or if you have a MacBookPro3,1, check the Santa Rosa MacBookPro wiki article.
Preface
This Wiki article has been written to help those with 4th generation "Penryn" MacBookPro laptops (originally released February 2008.) There are a number of significant differences between the hardware configurations of these and the older versions which need to be accounted for when setting up Ubuntu.
Hardware Changes
There are 3 main differences between the Penryn MacBookPro and its older siblings.
The Laptop has an updated version of the Broadcom Wireless Card. To get it working, a Windows XP driver is required from the MacbookPro installation disk, as well as ndiswrapper to get the driver working under Linux. The original HowTo detailing the installation process was written by amonsul and is available in this Ubuntu Forum thread.
The Trackpad on the newer laptops now offers multi-touch support. The driver to use is called bcm5974 and is not yet included in the Linux kernel, however, it can be downloaded from this thread. It will be included in kernel 2.6.27 as part of Intrepid (Ubuntu 8.10).
Finally, the Fn key does not work upon installation of Hardy. This has yet to be fixed in the Ubuntu kernel but a solid workaround has been developed by _alex_, as outlined in this Ubuntu Forums thread.
Installing the Broadcom Wireless Driver
These steps are no longer necessary with the latest updates applied in Hardy, nor in Intrepid. Simply enable the wireless driver in Hardware Drivers. However, some users have reported system freezes due to the Broadcom driver. Because it is propriatary software, there are no published workarounds or patches for this, and so using NDISwrapper may be a more stable solution until Broadcom updates their driver.
These instructions are valid for both 32 or 64 bits installation.
1. Install ndiswrapper with Synaptic Package Manager
2. Find the file, BroadcomXPInstaller.exe (it might be also written "broadcomxpinstaller.exe"), on the Mac installation CD, and copy it to a folder on your computer. Be aware not to choose broadcominstaller64.exe because it does not contain the appropriate file.
3. Unzip the Broadcom drivers
unrar e BroadcomXPInstaller.exe
4. Install the wireless driver:
Install the driver: sudo ndiswrapper -i bcmwl5.inf List installed drivers: sudo ndiswrapper -l Write configuration for modprobe: sudo ndiswrapper -m Load ndiswrapper module: sudo modprobe ndiswrapper
5. Open Boot-time modules file
sudo gedit /etc/modules
6. Add ndiswrapper to the bottom of the file so it loads on boot
If you are running Ubuntu version 8.04 (Hardy Heron), please also perform steps 7-10.
7. Create file /etc/init.d/ndiswrapper
sudo gedit /etc/init.d/ndiswrapper
This is a dirty workaround discussed here to overcome a conflict between modules.
8. Add the following text to the file
### BEGIN INIT INFO # Provides: ndiswrapper # Required-Start: # Required-Stop: # Default-Start: S # Default-Stop: # Short-Description: enable to load ndiswrapper # Description: enable to load ndiswrapper ### END INIT INFO rmmod ohci_hcd rmmod ssb rmmod ndiswrapper modprobe ndiswrapper modprobe ssb modprobe ohci_hcd
9. Set file access permissions
sudo chmod 755 /etc/init.d/ndiswrapper
10. Create a symbolic link from /etc/init.d/ndiswrapper to /etc/rc2.d/S99ndiswrapper
sudo ln -s /etc/init.d/ndiswrapper /etc/rc2.d/S99ndiswrapper
Reboot your computer and your wireless should now be working.
Touchpad
The new touchpad driver is enabled by default in Intrepid
There is a brand-new kernel driver for the BCM5974 device sitting in the Macbook Pro Penryn. Follow http://ubuntuforums.org/showthread.php?t=840040 for downloads. Via the synaptics driver, the bcm5974 supports double/triple-finger clicks/taps, two-finger mouse scroll and swiping. This driver is included as part of the 2.6.27 linux kernel which will be included in Ubuntu 8.10.
Wireless Mighty Mouse
Under Hardy, it seems that running hciconfig hci0 reset is required after each cold boot and after suspend for the system to detect the mouse. This isn't needed under Intrepid. However, Intrepid Mighty Mouse users should follow the workaround here: http://ubuntuforums.org/showthread.php?t=966436 to overcome the problem of losing the mouse after reboot or suspend.
Apple Hotkeys Fix (Pommed)
This is no longer required in Intrepid. http://ubuntuforums.org/showthread.php?t=959992 see post #6.
The following steps are for enabling the Apple hotkeys (volume control, brightness, and FN keys)
As of 21-June-2008, the Ubuntu Repositories have not been updated to contain the latest version of pommed - the hotkeys handler.
You can download the debian package for the newer version of pommed from this page: http://packages.debian.org/lenny/pommed Be sure to download the deb file that matches your Ubuntu install (i386 vs AMD64).
The following old information explains how to add the Debian Testing (Lenny) Repository to your system. You can easily break your system by installing packages from this repo if you do not know what you are doing. It is much safer to use the instructions above to install the debian lenny version of pommed. However, some people may not be able to install from the pommed .deb for a variety of reasons, and so these instructions may be followed:
1. Open Synaptic Package Manager.
2. Go to "Settings", and then "Repositories".
3. Click on the "Third-party software" tab, then click "add".
4. Add:
deb http://ftp.de.debian.org/debian lenny main
5. Reload update information.
6. Search for pommed in Synaptic, and select the package for installation.
7. Install pommed with the "Apply" button.
8. Go back to Settings > Repositories
9. Uncheck the Debian repository.
10. Reload update information.
11. Should Synaptic start giving you "NOT AUTHENTICATED" warnings, see thread 139191 here:
http://ubuntuforums.org/showthread.php?t=139191
WARNING: DO NOT UPDATE ANY OF YOUR OTHER PACKAGES UNTIL YOU HAVE DISABLED THE DEBIAN REPOSITORY AGAIN! Serious system malfunction may result. Wait until disabling the Debian repository, and reload the update list again.
Fully Enabling Graphics
In order to fully utilize the graphics acceleration of you MacBook Pro, you need to use proprietary drivers, not normally distributed with Ubuntu.
Luckily doing so is easy.
1. Go to: System >> Administration >> Hardware Drivers\
2. Click on the 'Enabled' check box next to the 'NVIDIA accelerated graphics driver'
3. Restart your computer
Once restarted, you probably want to re-calibrate your LCD color scheme. Use the following instructions:
1. Go to http://xcalib.sourceforge.net/ and download the binary. (Compile it from source if you choose.)
2. From your Mac OS X partition, copy your Color LCD.icc (name may vary) calibration file to the download directory of xcalib. On a regular setup, the calibration file can usually be found here:
/media/Macintosh HD/Library/ColorSync/Profiles/Displays/Color LCD.icc
3. Once you have copied the file to the same directory as xcalib, open a terminal. cd to the download folder and give it execute permissions with this command:
$ chmod +x xcalib
4. Then run:
$ sudo ./xcalib Color LCD.icc
Be sure to substitute the correct file name of your configuration file.
5. You should instantly see your colors correct.
This forum posts outlines the calibration process in more detail: http://ubuntuforums.org/showthread.php?t=491138
Enabling Sound/Microphone
1. Open the modprobe.d options file for editing
NOTE: The file /etc/modprobe.d/options no longer exists in newer versions of Ubuntu. It is still supported by the kernel, however the filename needs the .conf extension, i.e. /etc/modprobe.d/options.conf would be the file you create to save your options. Actually the filename doesn't matter as long as the .conf extension is used.
sudo gedit /etc/modprobe.d/options
2. Add the following line to the bottom of the file
options snd_hda_intel model=mbp3
3. Reboot your computer
4. Recommended: leave microphone muted in the volume control to prevent feedback when closing the lid. Don't forget to un-mute the speakers/microphone before testing. If you cannot un-mute your speakers, try using alsamixergui, which can be installed with the following command:
sudo apt-get install alsamixergui
Temperature
It seems to many users that their Macbooks run with a higher temperature in Ubuntu over Mac OS X. While specifics vary, some report common CPU or GPU running temperatures in excess of 50°C (122°F). These temperatures are not ideal for a computer, and could potentially cause damage to hardware if left unchecked. Many threads such as this one discuss the problem and potential fixes. At current it seems to be a kernel based problem of the minimum fan speed not being set correctly.
As a work around, an experimental temperature monitoring daemon has been written. More instructions on this are located here: https://wiki.ubuntu.com/MacBookPro/SantaRosaFanControl
External Monitor
The external monitor can be configured with the nvidia-settings package. Once installed, access it through System > Administration > NVIDIA X Server Settings. Plug in the external monitor into your DVI port. In "X Server Display Configuration" click Detect Displays. The external monitor should show up. Configure the setup to your liking, and click Apply.
Further Tuning
If you have followed the instructions above you probably have a decently working system. However in my experience there are a few more things that you may need to know about:
To get the F1/F2 keys to actually adjust the screen backlight you also need to add
mbp_nvidia_bl
to /etc/modules and then reboot.
After suspend to ram you will occasionally get duplicate entries for battery and networks interfaces. This may confuse NetworkManager for example. To get sanity back you can execute:
/etc/init.d/hal restart
Also, sound may not work in Firefox flash (say youtube etc) after resume. Pressing Fn-Ctrl-Alt-F6 will execute some black magic that often helps.
Hopefully these issues will be amended soon.