Apple Macbook Pro

Macbook Pro is series of personal laptop computers on x86_64 architecture manufactured and marketed by Apple Inc. This documentation is intended to help you with installing and supporting Gentoo Gnu/Linux on various models of the Macbook Pro.

Introduction
Wikipedia has an article about Apple MacBook Pro personal computers. Refer to it for more information about the machines themselves.
 * http://en.wikipedia.org/wiki/MacBook_Pro

The point of this documentation is not to hand-hold throughout the gentoo installation, but to help you with the process of making it easier for you not to walk into problematic situations. For an in-depth explanation of gentoo the installation process itself -- consult the Gentoo Handbook.
 * http://www.gentoo.org/doc/en/handbook/index.xml

Be aware that some of the instructions on this page may not be in the same order in that you will encounter them during the installation. So it is suggested that you read ahead a bit to avoid unwelcome surprises. Also Notes have been added to sections where users were kind enough to put in input of their personal experiences.

Existing models
Some of the models supported by this documentation: Double check with http://support.apple.com/kb/HT4132
 * MacBook Pro (Early 2006) - Core Duo(Yonah), Atheros 802.11a/b/g, ATI Graphics Card
 * MacBook Pro (Late 2006) - Core2 Duo(Merom), Atheros 802.11a/b/g and draft-n, ATI Graphics Card
 * MacBook Pro (Mid 2007) - Core2 Duo(Merom), Atheros 802.11a/b/g and draft-n, nVidia Graphic Card
 * MacBook Pro (Early 2008) - Core 2 Duo(Penryn), Broadcom BCM4328 802.11a/b/g/n, nVidia GeForce 8600M GT Graphic Card
 * MacBook Pro 5,1 (Late 2008) - Core 2 Duo(Penryn), Atheros 802.11a/b/g and draft-n, nVidia Corporation GeForce 9400M, nVidia Corporation 9600M GT
 * MacBook Pro 5,5 (Mid 2009) - Core 2 Duo, Broadcom BCM4322 802.11a/b/g/n, nVidia Corporation GeForce 9400M (rev b1)
 * MacBook Pro 8,1 (Early 2011) - Core i5-2415M, Broadcom BCM4322, Intel SandyBridge

To find your version use this command:

~# dmidecode -s system-product-name MacBookPro5,5

Obtaining Help
Any questions not answered here can be discussed in the official Gentoo Forums, the gentoo irc channels , or visit the mactel-linux irc chatroom at #mactel-linux on irc.oftc.net. Also check out the Links section of this page for some additional resources.


 * lspci
 * Configuration Files
 * Kernel Configuration

Choosing the Right Installation Medium
Gentoo Linux provides two install choices with a CD, the LiveCD and the Minimum Install CD. You might also want to try Live DVD.


 * Gentoo 2008.0 Minimal CD/InstallCD (up to 140 megabytes depending on arch)
 * Gentoo 2008.0 LiveCD (up to 710 megabytes depending on arch)
 * Gentoo 2007.0 LiveDVD (Approximately 3.7Gb)

The 2010.1 amd64 Minimal CD does boot, however after booting the keyboard is no longer recognized. --Henk 15:41, 8 April 2010 (GMT)

Preparing the Disks
This is the single most critical step while installing Gentoo into Macbook Pro. It's hard to explain short and depends a lot whenever you would like to run Microsoft Windows alongside with the OSX and Gentoo.


 * Designing a Partitioning Scheme
 * Using fdisk to Partition your Disk
 * Creating Filesystems
 * Mounting

Creating a Partition Map
EFI uses a new partition table format called GPT instead of the old MBR scheme. GPT is not supported by the fdisk group of commands, so you'll have to use something else. You can use GParted, Parted, or Apple's Disk Utility.

You can use diskutil to partition on a pre-installed EFI-GUID Partition Table standard, or use third party utilities and partition with the Master Boot Record standard. Parted and GParted have proven to be reliable open source solutions.

Partitioning using tools provided by OS X

 * Using diskutil

diskutil is included with Mac 10.4.6 or higher. Please note that Apple's mangling of EFI and the GPT partition standard only allows a maximum of four partitions to be created. The first partition is an EFI partition (an unseen partition) located at the first 200MB on a MacBook Pro's hard disk. As a result you have only three partitions to work with. diskutil is used from the command line or can be used with BootCamp with limited ability.

In OS X, open the terminal application and use following command to see your current partitioning scheme.

For example to resize OS X partition down to size of 40GB use following command.

In the initial phase of the installation procedure for Mac OS X you can use the 'Disk Utility' partition tool that you can find in the 'Installer' by clicking on 'Utilities' -> 'Disk Utility'.
 * Using Disk Utility


 * 1) Within the Disk Utility click on the hard drive entry (not any of its subentries).
 * 2) Click on 'Partition' (between 'Erase' and 'RAID').
 * 3) Under 'Volume Scheme:' choose the number of partitions. Don't use 'Split' and 'Delete', this seems to confuse the program.
 * 4) Then work your way from the top partion to the bottom one. Always select a Format (for later Linux partitions use 'UNIX File System', avoid 'Free Space') and mark 'Locked for editing'.
 * 5) Click on 'Partition' in the bottom right and cross your fingers. It has been observed that 'Disk Utility" hangs in an 'infinite' loop forever.
 * 6) To verify that the program did the partitioning as you intended, leave 'Partition' (e.g. by clicking on 'First Aid') and reenter it (by clicking on 'Partition' again). Check whether the actual partitioning is what you want.

BootCamp simplifies the entire process. It will walk you through not only how to resize the Mac OS X partition, but also install a bootloader. It comes with Mac OS X starting from 10.5, older OS X users can get it from: http://www.apple.com/support/bootcamp/.
 * Using BootCamp

Using GParted
Boot up with a linux live cd, and use gparted to resize your HFS+ partition and add whatever partitions you like.

Installing EFI-Bootloader
You can use either GRUB2 or ELILO. This is mostly a matter of preference.

Note: LILO works the best. Grub does not work for many people. Just install rEFIT and install lilo on the linux partition. Besides, LILO does not depend on your filesystem opposed to grub, so you can use xfs,jfs,ext4,reiser4 and no need for a separate boot partition. Below is a lilo.conf example.

LILO
The combination of LILO and rEFIT works the best with all macbooks.

Bootcamp
EFI-Boot...

GRUB 2
If you run stable, you'll need to add a keyword:

Next, you need to tell grub to build with support for EFI using the GRUB_PLATFORMS variable in /etc/make.conf. Most newer Macs have 64-bit CPUs. These include models with Intel Core2 or recent-model Xeon CPUs. On these computers, the EFI firmware is 64-bit. Unlike Linux, 64-bit EFI has no emulation mode for 32-bit binaries. Therefore, your boot loader must be compiled 64-bit. This is fairly simple if you are using 64-bit Linux, but if you are using 32-bit Linux it becomes more difficult.

If your Mac has 32-bit EFI, add the following line to your /etc/make.conf:

make.conf

Similarly for 64-bit EFI:

make.conf

Emerge grub:

The EFI System Partition should already exist if OSX is installed. If it does not, create a small FAT32 partition using parted or GParted. 200M should be sufficient. Mount the EFI System Partition (mount /boot first if separate):

Install grub:

When configuring grub2, output the config file to the EFI System Partition:

Preparing the System for installation
At this point, things mostly progress the same as in the Gentoo Handbook Chapter 4. Starting with creating the filesystems and mounting them.

Filesystems
You can follow the Gentoo Handbook on file system creation but you need to keep following in mind:

Swap
Swap is file or partition reserved for the physical memory overflow data. If more memory is required than that of your physical read access memory, then memory is saved to disk. One should have Swap about 1/2 or 1/4 of their physical RAM.

For 2GB or less RAM making 512MB or more Swap should be optimal for most cases. You can have swap file too if you want but in most cases swap partition is best choice for most people.

XFS
XFS is (along with JFS) among the oldest journaling file systems available for UNIX systems, and has a mature, stable and well-debugged codebase. It is fast and solid. It has many advanced features such as xfs_fsr which improves the organization of mounted filesystems and 64-bit support. It is highly recommended and fully supported in current gentoo-sources kernel. But it has major problem. It's not supported by Mac OS X. It means that you cannot use it as a common file system for everything.

Reiserfs
Reiserfs is a file system introduced to the kernel in 2001. It contains better disk storage for smaller files and improved journaling over ext3. rEFI includes support for it. The kernel configuration file includes Reiserfs support.

Selecting Stage
Selecting Stage, installing Portage... With when you arrive chapter 5.d. you will need to configure the compile options to make.conf. After that you follow the Handbook and do various things. Until you arrive at configuring the kernel. For most of the time stick with the Handbook.

make.conf
make.conf is the preferences file for compiling. What you put in it and how you set it up is a fundamental part to how well the system will run. The appropriate make.conf depends mostly on whether you have a Core Duo or Core2 Duo processor.

Some have opined that, "The single most important thing you can do to having a successful Gentoo built is providing as complete a make.conf as possible."

An example make.conf is in the Configuration Files.

CHOST
CHOST provides compiler information about your system. Take note that it is important to set your CHOST alongside your CFLAGS. It is dangerous and time-consuming to change your CHOST later on.

32-bit (i686) systems: 64-bit (amd64) systems:

CFLAGS & CXXFLAGS
The CFLAGS provide compiler more accurate information about your processor type and features.

For GCC 4.1-series and earlier

GCC 4.1-series is the current stable version of the GCC and is prefered one in this documentation.

MacBook Pros made Early 2006:

MacBook Pros made after Late 2006:

For GCC GCC 4.2-series and newer

With GCC 4.2-series developers have included an option that will discover you correct march. If you want to use it make sure you have "cpuid" set in the kernel and then use -march=native.

All MacBook Pros:

For GCC GCC 4.3-series and newer GCC 4.3 which is still in development introduces -march=core2 option.

MacBook Pros made Early 2006:

MacBook Pros made after Late 2006:

MacBook Pros Early 2008(Penryn) during install from 2008.0 minimal install CD: MacBook Pros Early 2008(Penryn) after update world:

Please note that CXXFLAGS are supposed to be the same as CFLAGS. CXXFLAGS are set as CFLAGS

MAKEOPTS
All MacBook Pros have processors with two cores so we can safely use 3 jobs. This won't change anything in the code we will produce, but it can cut compilation times. You should still use this with i3 and i5 because hyper-threading will only make things hotter, not actually add any speed.

For MacBook Pros early 2010, with Core i7 processor, have 4 cores, you can safely use 5 jobs.

Hardware Specs
Specifying the hardware specs will tell Gentoo Portage ( The Compiling Infrastructor ) what type driver to install for the given hardware.

Common devices for everybody:

ALSA_CARDS
MacBooks ship with Intel chipsets, so they use Intel soundchips too. To make Gentoo Portage aware of the chipset add following.

VIDEO_CARDS
Set the VIDEO_CARDS variable to the describe your video card.

For MacBooks with ATI card:

For MacBooks Pro with NVIDIA card:

For MacBooks with INTEL card:

Configuring the Kernel
For most people use of the gentoo-sources is highly recommended. It reduces the amount of possible issues when building and using the Linux-kernel. You could also use other kernel sources provided by the gentoo since most kernel builds include support for the MacBook Pro. Please note that kernels before 2.6.20 have incomplete hardware support. I've decided here to go with patching gentoo-sources with mactel-patch set.

Downloading kernel sources
or if you are experiencing problems with gentoo-sources use vanilla-sources which are unpatched kernel sources.

If there are no suitable patch set for the latest kernel you need to use little bit older sources. To download set of older sources you need to fill in version of the sources.

or if you need to use vanilla-sources

The MacTel Kernel Patches
The MacTel patches aren't strictly necessary, but they add or improve drivers for some of the Apple-specific hardware. If you want to use the MacTel patches, you should probably use gentoo-sources or vanilla-sources. Other kernels available in Portage sometimes have problems with applying the patches.

The Mactel kernel patches are designed to work with the vanilla-sources and may or may not be compatible with the gentoo-sources. Kernel patches are not required for most kernel versions but provide added functionality and fix known errors. For example temperature sensors, trackpad control, minor audio tweaks, USB IR receiver, keyboard backlight control might or might nor work better with MacTel kernel patches.

As the development of the kernel for Intel-Mac related items improve, there will be less and less a need for the mactel-patches. As of 2.6.22 several mactel patches are already a part of the kernel like SMC, Appletouch, and Temperature Sensor.

MacTel source patch https://mactel-linux.svn.sourceforge.net/svnroot/mactel-linux/trunk/kernel/

To download MacTel kernel patches emerge Subversion source control and management system.

Download the appropriate mactel-patchset and apply it to the kernel source. Replace "(version)" with the base version number of your kernel (i.e. 2.6.25). Subversion will save the patches in the current directory, so make sure to cd to where you want them first.

Go to source directory.

Download MacTel patch set using Subversion, fix (version) with the kernel sources you are using.

Go to directory where MacTel patch is.

Use the provided script to apply the patch to kernel sources you selected.

Kernel Config
Configuring the Linux kernel is better explaned in Kernel Configuration document.

Tested Kernel Sources
The following versions have been tested to deploy successfully:

gentoo-sources:
 * gentoo-sources-2.6.20-r4 (With mactel-patches)
 * gentoo-sources-2.6.22-r5 (With mactel-patches)
 * gentoo-sources-2.6.22-r8 (With mactel-patches)
 * gentoo-sources-2.6.22-r8 (Without mactel-patches)
 * gentoo-sources-2.6.28 (Without mactel-patches) gentoo-sources-2.6.28 working config file
 * ~wesw02: I noticed the above config was missing, here is a copy of mine: gentoo-sources-2.6.28 working config file
 * gentoo-sources-2.6.32-r8 (Without mactel-patches) on a MacBook Pro (5,3).
 * gentoo-sources-2.6.39-gentoo-r3
 * gentoo-sources-3.0.4-gentoo

other-sources:
 * suspend2-sources-2.6.20-r3 (With mactel-patches)
 * kamikaze-sources 2.6.23-r5
 * tuxonice-sources 2.6.26 (With and Without mactel-patches)
 * linux-2.6.35-zen2 (mactel-patches and patch for sata bug on mpb 7.1)
 * ubuntu-sources-2.6.32-35 mbp 7.1

Modules Autoload
Add these and whatever others you might need:

Booting Gentoo

 * Checking the New System Out

Test that this kernel runs and boots properly on your MacBook before you make any more changes. rEFIt and BootCamp should now be able to recognize you Linux system and load the Linux bootloader at startup.


 * Otherthings you might want to do

Display adapter

 * Macbook Pros manufactured Early 2006 and Late 2006 use ATI Mobility Radeon X1600 with 128MB or 256MB of GDDR3 SDRAM.

Choose a graphics driver from those available for your card and follow the linked guide.


 * The Macbook Pros manufactured Mid 2007 use nVidia Geforce 8600M GT with 128MB or 256MB of GDDR3 SDRAM.
 * The Macbook Pros manufactured Early 2008 use nVidia Geforce 8600M GT with 256MB or 512MB of GDDR3 SDRAM.
 * The Macbook Pros manufactured Late 2008 use nVidia GeForce 9400M with 256MB of GDDR3 SDRAM shared with main memory and nVidia GeForce 9600M GT with 256MB or 512MB of GDDR3 SDRAM.
 * The Macbook Pros manufactured Early 2011 use a Intel Sandybridge with 256MB of DDR3(1333) shared with main memory.

See NVIDIA drivers for full instructions.

External Monitor
x11-drivers/xf86-video-intel provides out of the box xrandr support for hotpluggable thunderbolt adapters. (VGA, HDMI/DVI and others) ~# emerge x11-apps/xrandr for plug & play experience also consider

~# emerge x11-misc/arandr

Colour Profile
The many Linux desktops do not have included support for color management of displays. Some drivers provide this support or you can use the program xcalib. Xcalib uses color profiles from Mac OS X (ICC profile).

Keyboard
The Apple Keyboard is unique from other PC manufactures. The largest difference is function key behavior, as well as mapping of special characters (i.e. non-english).

Configuring Special Keys: Brightness, Volume, etc.
X server keymapping has worked fine since xorg-server-1.4. Keys should be properly mapped to handle eject, numlock, capslock, etc. In Gnome, add gnome-power-manager to add brightness key support. An application named pommed was used to fill the gap until xorg-server key mapping was integrated. Also, pommed can add addition functionality.

pommed
is a small daemon written specifically for Apple MacBook laptops. It requires little to no configuration. It includes a GUI indicator indicating brightness, volume, numlock, and eject. It can also manage automatic brightness, be used to personalize the function ("fn") key behavior, and turn the Apple Remote receiver on and off.

Install pommed from portage:

pommed can be configured via, which is thoroughly commented. Once configured, start the daemon:

The configured keys should work in the console or in X. If you installed pommed with USE="", the gui daemon called  will show popup windows when you press a key handled by pommed.

Add pommed to the default run-level to start at boot:

Pommed doesn't work with MacBook Pro 6.2. You can use these scripts to control keyboard light and lcd brightness. For the keyboard light, you need to have "applesmc" and "mbp_nvidia_bl" kernel modules. The mbp_nvidia_bl module that comes with 2.6.xx kernel didn't work for me. You will have to get a version that works with newer MacBook Pros.

<--> Keyboard <-- current=$(cat /sys/devices/platform/applesmc.768/leds/smc\:\:kbd_backlight/brightness) new=$(($current$1)) if [ $new -ge 255 ]; then new=255 fi if [ $new -lt 0 ]; then new=0 fi echo $new > /sys/devices/platform/applesmc.768/leds/smc\:\:kbd_backlight/brightness -
 * 1) !/bin/bash

--> Lcd <-- current=$(cat /sys/class/backlight/mbp_backlight/brightness) new=$(($current$1)) if [ $new -ge 15 ]; then new=15 fi if [ $new -lt 0 ]; then new=0 fi echo $new > /sys/class/backlight/mbp_backlight/brightness -
 * 1) !/bin/bash

Touchpad
The touchpads on MacBooks support multitouch (two finger click, two finger scroll, etc). Enable the driver to enable the touchpad. Make sure to enable the correct version for your machine Apple Macbook Pro/Configuration Files/Kernel.

gsynaptics
Now, the touchpad can be configured just as any other touchpad. The standard touchpad driver is the synaptics touchpad driver. See Synaptics Touchpad for more information.

Install the touchpad control panel for basic configuring;

Another tool that allows configuring some of the multi-touch features is GPointingDeviceSettings

Sound
Apple MacBooks use the Intel HD Audio soundcard. Kernel 2.6.27 and later supports the MacBooks without issue. See Apple Macbook Pro/Configuration Files/Kernel for more information.

Add "options snd-hda-intel model=mb5" to your "/etc/modprobe.d/alsa.conf".

WiFi
Built-in Wireless for MacBook Pros use Atheros chipset. The chipset in Core Duo-based Macbook Pros is well supported by the MadWifi project. The newer Core2 Duo-based Macbook Pros use a different Atheros chipset which support draft 802.11n. Broadcom Corporation BCM4328 802.11a/b/g/n has been sighted in some models. Core i5 based systems also install the Broadcom Corporation BCM4331 that is available as staging driver and from the linux wireless compatibility package.

Check your devices to see what WiFi chipset you have.

The Broadcom BCM4328 card does not work with the kernel b43 module. In order to get it to work, you may use ndiswrapper or the driver provided by Broadcom. The latter works pretty well. Download the driver from theBroadcom site and unpack it somewhere and follow the instructions in the README.txt file also available on the site.

For Broadcom BCM4322 (Macbook pro 5,5) emerge broadcom-sta and configure your kernel with these options [source]:

Device Drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) .                                .                                 .                                           IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP) [ ]    Support downloading firmware images with Host AP driver     Host AP driver for Prism2/2.5/3 in PLX9052 PCI adaptors     Host AP driver for Prism2.5 PCI adaptors

Macbook pro (3,1):

0b:00.0 Network controller: Atheros Communications, Inc. AR5418 802.11a/b/g/n Wireless PCI Express Adapter (rev 01)

There are 2 ways to get it working:

- madwifi trunk : Build the module from the sources available here:

Supports 802.11 abg

- ath9k new open source driver available in kernels 2.6.27 - 2.6.28 The ath9k driver is very new. In kernel 2.6.27 it's very buggy, but in 2.6.28 is much better. Supports 802.11 abgn


 * The driver from madwifi-trunk now uses open-source hal, it is very stable and works very well with wpa/wpa2 (wpa_suppliant generic), supports 802.11abg

if you want 802.11n you would go for ath9k.

Macbook pro (8,1): with kernel 3.3.8-gentoo you still need the drivers from the wireless project. the instructions are quiet forward from the linuxwireless documentation:

unpack

select the driver

compile the driver

then you need the firmware cutted with b43-fwcutter-15 (unmask ~amd64)

get the firmware from broadcom

unpack

copy to correct location

now unload all the drivers from the kernel regarding wireless and load b43

dmesg now should show success and the wireless extensions can be used to connect to a access point PMU resource config unknown for device 0x4331 Bus registered cfg80211: Calling CRDA to update world regulatory domain b43-phy0: Broadcom 4331 WLAN found (core revision 29) ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' Broadcom 43xx driver loaded [ Features: PNLS ]

Bluetooth
If your kernel config doesn't include Bluetooth you have to add the USB HCI driver Apple baseband controller is just an HCI one, but with a special HID-on-powerup mode.

To enable Bluetooth edit /etc/conf.d/bluetooth for hid2hci and change value to true.

Next add the Bluetooth to rc-list.

You might have to manually specify hci-usb in /etc/modules.autoload.d/kernel-2.6. Otherwise, hid2hci won't find the device (and wouldn't be able to switch it from HID to HCI mode). You could also compile the driver into the kernel.

On MacBookPro early 2010 bluetooth module is a BCM2046. The real vendor:product id is 05ac:8218. On 2.6.34 (and prior) you have to add manually these value to /usr/src/linux/drivers/bluetooth/btusb.c

Then rebuild modules with genkernel or recompile only the module.

Power Management
The Gentoo Handbook has a nice section about Power Management, that should be followed to have the necessary software installed.

Gentoo Power Management Guide

When configuring your kernel, keep in mind that everything is 'hotplugged' during suspend and some hardware needs to be initialized after wakeup and therefore should be a module. Try using a minimal kernel configuration to identify problems during wakeup. The Macbook 8,1 Hardware handles the basic stuff like load based fan-control and with pommed you can control one major energy consumption: display brightness. Like most modern laptops it is possible to control the CPU frequency using governors or free will.

Suspend
After using macos for a while you have an idea what to expect from the hardware: instant, like your mobile.
 * work (display a website)
 * close display
 * sleep
 * open display
 * work (click on a link)

Macbook 8,1: with a kernel >3.0 wakeup takes seconds and the wireless connection is usable with some tricks. They involve
 * (patch), configure & install linux-compat-wireless
 * 'cut' the firmware with the 'b43-fwcutter'
 * unload the b43 module before suspend:

of course the higher-level hibernate-scripts can take care of the unloading and loading of modules.

Handle the ACPI event when closing the display to achieve the close & suspend. The Macbook 8,1 automatically wakes up when the display is opened

Remote Control
This part of this document explains assigning key values to remote control buttons through xmodmap. The Apple remote control should work without Lirc since it works out of the box as an extension to the keyboard. It should be easy to assign key values through xmodmap.

Run following command to find out each RC key keycode.

After that you can bind those keys to keyboard keys.

Webcam
The iSight camera is supported by the Linux USB Video Class-driver. Driver works well with ekiga, gstreamer, mplayer(>=1.0_rc2), kopete (>=0.12.7), skype (>= 2.0.0.43). Clients such as amsn, xawtv, vlc might not function.

Linux kernel 2.6.26 and newer include uvcvideo and support for the iSight firmware loader.

For kernels older than 2.6.26 you have to install it seperately.

Then you can load the USB Video Class driver module you just compiled:

Install firmware

 * Get this file from your Mac OS X partition and copy it to /lib/firmware

System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport

Then run this command:

You might have to adjust /etc/udev/rules.d/isight.rules to

MPlayer
To test the iSight with MPlayer

If installation went well, you should see your face in mplayer window.

Cheese
You can also test with Cheese:

Ekiga
Getting Ekiga: Check that you have in make.conf following USE-flags. If not then add them:

Then emerge these programs:

Launch Ekiga, via menus or from commandline with:

Configuration:

You may have to select the iSight device. Go to:

And select video plugin to as V4L2. Input device should be Built-in iSight

Getting full size frame from ekiga:

Now, from the left-hand tree, navigate to: apps > ekiga > devices > video Change the value for size from 0 to 1. This changes the size from Small ( QCIF 176x144 ) to Large ( CIF 352x288 ). Reopen Ekiga and you should see the full video image. It is possible to have full resolution by changing "width=320:height=240" by "width=640:height=480" (the resolution that apple give on their website).

You can also record video from camera with mencoder:

aMSN
aMSN might work if you download and compile the very latest snapshot from SVN.

Power consumption
lvds_use_ssc=0 i915_enable_rc6=1 lvds_downclock=1 i915_enable_fbc=1 echo 1 > /sys/bus/usb/devices/1-1.1.3/remove echo 1 > /sys/bus/usb/devices/2-1.2/remove $ Card Reader (Apple) echo 1 > /sys/bus/usb/devices/1-1.3/remove modprobe -r wl modprobe -r uvcvideo echo 1 > /sys/bus/pci/devices/0000\:04\:00.0/remove echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove echo 1 > /sys/bus/pci/devices/0000\:01\:00.1/remove echo 1500 > /proc/sys/vm/dirty_writeback_centisecs echo 1 > /sys/devices/system/cpu/sched_mc_power_savings echo min_power > /sys/class/scsi_host/host0/link_power_management_policy echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
 * Booting in EFI mode is mandatory if you have MacBook Pro 6,2 for example or one of the models with dual VGA since BIOS emulation disables integrated Intel VGA
 * Intel i915 driver should be built as a kernel module and loaded with the following parameters:
 * The following script works for MBP 6,2 and it helps to lower power consumption even more(the script disables wireless driver, you can delete that line if you use it):
 * With all these tweaks you can have your battery last around 6 hours, depending on your use
 * 1) !/bin/bash
 * 2) Bluetooth USB Host Controller (Apple Inc.)
 * 1) IR Receiver (Apple Computer, Inc.)
 * 1) wireless
 * 1) isight
 * 1) firewire
 * 1) nvidia vga
 * 1) nvidia audio
 * 1) powertop various

This is the best result I managed to get using these tweaks: Power usage (ACPI estimate): 11.8W (5.6 hours) (long term: 9.9W,/6.7h)

AHCI

 * When MacBook uses BIOS compatibility mode, it switches the SATA controller to IDE mode, making hdd/ssd operations slower since kernel will use ata_piix module insetead of ahci. It seems there are couple of ways to change this, but this one I find to be the easiest, and actually it is the only that worked for me. I have tested this with MacBook Pro 6.2.
 * The following tweak increased my SSD speed from around 200 Mb/s to 286 Mb/s

00:1f.2 IDE interface [0101]: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller [8086:3b28] (rev 06) (prog-if 8f [Master SecP SecO PriP PriO])
 * what you need to remember is the following code : 8086:3b28


 * install grub2


 * create "01_mbp_ahci" in "/etc/grub.d/"

echo "setpci -d 8086:3b28 90.b=60"
 * 1) !/bin/sh -e
 * generate grub.cfg by running grub-mkconfig and reboot
 * When you reboot, you should be running in AHCI mode, you can check this by running dmesg|grep -i ahci

[   0.722735] ahci 0000:00:1f.2: version 3.0 [   0.722757] ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19 [   0.723395] ahci 0000:00:1f.2: irq 41 for MSI/MSI-X [   0.723462] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 3 Gbps 0x3 impl SATA mode [   0.724370] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pio slum part ems apst [   0.725301] ahci 0000:00:1f.2: setting latency timer to 64 [   0.727660] scsi0 : ahci [   0.728313] scsi1 : ahci [   0.729009] scsi2 : ahci [   0.729625] scsi3 : ahci
 * By running lspci again, you should no longer see an IDE interface in the list

00:1f.2 SATA controller [0106]: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller [8086:3b29] (rev 06) (prog-if 01 [AHCI 1.0]) Capabilities: [a8] SATA HBA v1.0

ATI underclock

 * If you're using MacBook Pro made 2006 and you don't need the full power of your graphics card you can underclock the card with following procedure to save energy.

List powerstates:

You should see something like this: core/mem    [flags] - 1: 128/135 MHz [low voltage] 3: 311/297 MHz
 * 2: 311/297 MHz [performance mode, default state]

Select lower clockspeed to save energy like this.

As of 20090209, installing using the install-x86-minimal-2008.0.iso results package blocking when performing for the very first time after the install, for workaround see: http://forums.gentoo.org/viewtopic-t-712898-highlight-syslibs+comerr.html