MacBookPro8,1/8,2/8,3 (2011)
discuss at https://bbs.archlinux.org/viewtopic.php?pid=1021706
Contents
Installation CD
Use the latest Arch Installation Image from here: http://www.archlinux.org/download/
Network
Wireless:
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
Keyboard:
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
Touchpad:
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" EndSection
Video & Screen
13-inch
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
Sound
8,1 and 8,2
$ alsamixer # unmute 'Front Speaker' and 'Surround Speaker'
Suspend & Hibernate
8,1
For s2ram install uswsusp-git and add to file /etc/pm/config.d/module following content:
SUSPEND_MODULES="bcma b43" SLEEP_MODULE=uswsusp
Without this, system hangs after the machine wakes up and tries to reconnect to the wireless network.
8,3
Using linux-mainline 3.6r2 from AUR, supend and resume work out of the box, including wireless reconnection.
HFS+
HFS is mounted as Read-Only. By turning journaling off in OS X, the HFS+ file system will be read/write under Linux.
Bluetooth
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
Webcam
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)
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
Troubleshooting
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