Difference between revisions of "MacBookPro8,1/8,2/8,3 (2011)"

From ArchWiki
Jump to: navigation, search
(Sound: PulseAudio crackling fix)
Line 115: Line 115:
   $ alsamixer # unmute 'Front Speaker' and 'Surround Speaker'
   $ alsamixer # unmute 'Front Speaker' and 'Surround Speaker'
Using [[PulseAudio]] sound works out of the box. However some applications (e.g. [[Vlc]]) have intermittent crackling; appending 'tsched=0' to 'module-udev-detect' in /etc/pulse/default.pa fixes this.
== Suspend & Hibernate ==  
== Suspend & Hibernate ==  

Revision as of 07:05, 25 August 2012

discuss at https://bbs.archlinux.org/viewtopic.php?pid=1021706

Installation CD

Use the latest Arch Installation Image from here: http://www.archlinux.org/download/



For 3.1 Kernel:

Install b43-firmwareAUR from the AUR.

download the latest package from http://linuxwireless.org/download/compat-wireless-2.6/

 $ cd compat-wireless-2011-10-09 
 $ scripts/driver-select b43
 $ make 
 $ sudo make install
 $ sudo make wlunload
 $ sudo rmmod bcma 
 $ modprobe b43
 # it should work.

add 'blacklist bcma' to '/etc/modprobe.d/modprobe.conf'

Note that after every kernel update you will have to recompile the module for the new kernel:

 $ cd compat-wireless-2011-10-09
 $ make clean
 $ make
 $ sudo make install

more see https://bbs.archlinux.org/viewtopic.php?id=129849

For 3.2 Kernel:

Install compat-wireless-patchedAUR and b43-firmwareAUR packages from the AUR. Unload bcma module and load b43 module

# rmmod bcma
# modprobe b43

That's it. The wireless should work now.

For 3.3 Kernel:

Install b43-firmwareAUR package from the AUR.

Unload b43 and bcma modules and load b43 module

# rmmod b43 bcma
# modprobe b43

That's it. The wireless should work now.

Ethernet: works out-of-the-box

Bluetooth: Unkown

Keyboard & TouchPad


default F1 key represents XF86MonBrightnessDown, if you want it represents to F1.

 echo 2 > /sys/module/hid_apple/parameters/fnmode
 # value 1: F1 is XF86MonBrightnessDown
 # value 2: F1 is F1, Fn + F1 is XF86MonBrightnessDown.

and put that into /etc/rc.local


Two finger scrolling and left-click works out of the box. Unfortunately the right-click is not functional.

To enable most of the multitouch touchpad features (even right and middle clik) use mtrack, which is avaible in AUR. The configuration is done via the /etc/X11/xorg.conf.d/10-mtrack.conf file. Check if the mtrack module is properly loaded in the /var/log/Xorg.0.log file. Sometimes xorg loads other drivers before, like eg. synpatics, and the mtrack driver is not used at all.

For an MBP 8,3 I needed to use the following config (in /etc/X11/xorg.conf.d/10-mtrack.conf) to stop it picking up other input devices by mistake:

Section "InputClass"
  Identifier "Multitouch Touchpad"
  Driver "mtrack"
  MatchDevicePath "/dev/input/event*"
  MatchProduct "bcm5974"
  MatchIsTouchpad "true"

Video & Screen


Intel HD Graphics 3000: works with xf86-video-intel

Adjust Brightness: works with xorg-xbacklight For example:

xbacklight -inc 7 # increase brightness
xbacklight -dec 7 # decrease brightness

15-inch and 17-inch

AMD Radeon HD 6490M: Unknown

AMD Radeon HD 6750M: works with xf86-video-ati

Adjust Brightness: install AUR package apple-bl-gmuxAUR and reboot system.

 $ echo 34839 | sudo tee /sys/class/backlight/gmux_backlight/brightness


8,1 and 8,2

 $ alsamixer # unmute 'Front Speaker' and 'Surround Speaker'


Using PulseAudio sound works out of the box. However some applications (e.g. Vlc) have intermittent crackling; appending 'tsched=0' to 'module-udev-detect' in /etc/pulse/default.pa fixes this.

Suspend & Hibernate


For s2ram install uswsusp-git and add to file /etc/pm/config.d/module following content:

 SUSPEND_MODULES="bcma b43" 

Without this, system hangs after the machine wakes up and tries to reconnect to the wireless network.


Using linux-mainline 3.6r2 from AUR, supend and resume work out of the box, including wireless reconnection.


HFS is mounted as Read-Only. By turning journaling off in OS X, the HFS+ file system will be read/write under Linux.


I had problems pairing devices, nothing was detected with

hcitool scan

There seems to be a conflict between the bluetooth module and the b43 one (wifi), as written in this blog post. The solution is to do the following:

# rmmod b43

pair your bluetooth device

# modprobe b43

Alternative solution

Create /etc/modprobe.d/b43.conf with the following content:

options b43 btcoex=0


In order to use your webcam you need to have permission to use /dev/video0.

# gpasswd -a <username> video

Test to see if it works

$ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot

Others that works-out-of-the-box

  • Sensors

Efi Booting without bootmanager (Efistub)

Warning: efibootmgr may brick your Mac firmware.

Tested on macbook pro 8.1 . Forum thread: [1]

Follow UEFI_Bootloaders#Linux_Kernel_EFISTUB. Use the following kernel parameters

i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 usbcore.autosuspend=1 hpet=force


Grub2-EFI boot: Intel invalid ROM contents

If you see this error on boot and notice the screen output seemingly frozen, you need to disable KMS.

Append the following to your /etc/grub/defaults LINUX line:

i915.modeset=0 radeon.modeset=0

However, newer versions of the Xorg Intel/i915 driver require KMS to work; without it the X server will fallback to framebuffer mode, with poor performance. The underlying issue is that the Intel KMS driver selects the wrong video output; to fix this try the following settings (tested on an 8,3/17" MBP):

radeon.modeset=0 i915.modeset=1 i915.lvds_channel_mode=2

This should give you Intel graphics output. Note that this requires kernel 3.5rc1 or higher; use linux-mainline from Aur if necessary. See this bug for more details.

You may find you need to enable the Intel device; if using Grub, the following should enable it at boot time:

set gfxpayload=keep
# Switch gmux to IGD
outb 0x728 1
outb 0x710 2
outb 0x740 2

Alternatively, if you have OS X available you can use gfxCardStatus to switch to the Intel device before booting into Linux.

Grub2-EFI boot: root fs not found

On boot, grub2-efi may complain that no root fs is found. This is due to the ahci modules being improperly loaded.

chroot into the installed Arch system. Then edit the /etc/mkinitcpio.conf MODULES array:

MODULES="..ahci libahci.."

Then re-generate the boot img:

mkinitcpio -p linux