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

From ArchWiki
Jump to: navigation, search
(Keyboard & TouchPad: Remove irrelevant config line)
(Suspend & Hibernate: 3.6rc2 seems to fix b43 suspend/resume, at least on 8,3)
Line 126: Line 126:
  
 
Without this, system hangs after the machine wakes up and tries to reconnect to the wireless network.
 
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+ ==

Revision as of 01:45, 23 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/

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)

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

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. 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