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

From ArchWiki
Jump to: navigation, search
m (missing dash)
Line 1: Line 1:
[[Category:Apple (English)]]
+
[[Category:Apple]]
 
discuss at https://bbs.archlinux.org/viewtopic.php?pid=1021706
 
discuss at https://bbs.archlinux.org/viewtopic.php?pid=1021706
  

Revision as of 12:37, 23 April 2012

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

Installation CD

use latest version in http://releng.archlinux.org/isos/

Network

Wireless:

For 3.1 Kernel:

Install b43-firmware-latestAUR 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 works.

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-firmware-latestAUR packages from the AUR. Note that b43-firmware-latest depends on 'linux<3.2', so change that to read 'linux>3.2' in the PKGBUILD.

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-firmware-latestAUR package from the AUR. Note that b43-firmware-latest depends on 'linux<3.2', so change that to read 'linux>3.2' in the PKGBUILD.

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.

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.

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) Since kernel 3.3, linux kernel can be booted as an efi binary from macbook firmware Forum thread: [1]

Install Efibootmgr

# pacman -S efibootmgr


Mount Efi partition

# mkdir /mnt/efi
# mount /dev/sda1 /mnt/efi

Copy linux kernel to Efi Partition

# mkdir -p /mnt/efi/efi/boot
# cp /boot/vmlinuz-linux /mnt/efi/efi/boot/bootx64.efi
# cp /boot/initramfs-linux.img /mnt/efi/efi/boot
# cp /boot/initramfs-linux-fallback.img /mnt/efi/efi/boot

Add Archlinux-fallback entry to firmware

# echo "initrd=\efi\boot\initramfs-linux-fallback.img  add_efi_memmap  root=/dev/disk/by-label/ArchLinux ro quiet i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 usbcore.autosuspend=1 hpet=force" | iconv -f ascii -t ucs2 | efibootmgr --create --gpt --disk /dev/sda --part 1 --label "Archlinux Fallback" --loader '\efi\boot\bootx64.efi' --append-binary-args -


Add Archlinux entry to firmware

# echo "initrd=\efi\boot\initramfs-linux.img  add_efi_memmap  root=/dev/disk/by-label/ArchLinux ro quiet i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 usbcore.autosuspend=1 hpet=force" | iconv -f ascii -t ucs2 | efibootmgr --create --gpt --disk /dev/sda --part 1 --label "Archlinux" --loader '\efi\boot\bootx64.efi' --append-binary-args -