Macbook Pro 13.3" (5,5) Fedora 12 notes

Jon Masters jonathan at jonmasters.org
Wed Apr 7 13:12:53 UTC 2010


Folks,

In case this helps anyone else setting up a Macbook Pro 13.3 model 5,5.

1). Installation proceeds normally. You may want to install rEFIt to
allow dual booting with Mac OS X, in which case Anaconda should oblige
by placing grub on the partition of your /boot partition. You then only
need to run gptsync by choosing the Partitioning Tool next boot.

I took my new Macbook apart and upgraded the disk to a 500GB model from
the tiny one it came with. They wanted a small fortune for a non 7200K
drive upgrade, so I laughed. My partitions are as follows:

1: EFI (hidden in OSX)
2: OSX (100GB)
3: Linux Boot (1GB)
4: Linux LVM (swap,root,100GB)
5: Shared (hfsplus,100GB)
6: Data (2ext4,200GB)

The first three partitions are mapped to the MBR style GRUB is looking
for following a gptsync within the EFI booter tool.

2). The new install has no networking because the 432b reversion part is
unsupported by the b43 Open Source driver (they are working on it). You
will need to download the "wl" driver from Broadcom. It won't load out
of the box because it can't see the device. For the moment, the
following hack in /usr/local/bin/wl_hack.sh (called from /etc/rc.local)
suffices to load (this is weird, seems the second load/unload results in
some ACPI power state change and the device will then show up randomly):

#!/bin/sh

# for some reason we don't see the bcm part unless we unload/reload
b43/wl.

modprobe b43
modprobe -r b43
modprobe wl
modprobe -r wl
modprobe b43
modprobe -r b43
modprobe wl

It may still drop off the network from time to time. An upstream driver
will be really helpful when that is available. I will need a backport of
a future stable wireless tree to 2.6.32 since I am not planning to
upgrade my X drivers for the incompatible ABI in future nouveau.

3). Sound won't work out of the box, but it will (including the
headphone detection) if you do the following:

rpm -e alsa-plugins-pulseaudio

Then alsamixer will show all of the channel options, which you should
set to 100% volume for now. The GNOME volume controls will now work. Add
"alsa-plugins-pulseaudio" to and exclude line /etc/yum.conf to prevent
it ever getting installed again. Also add "kernel" to that line while
you're at it if you'll be fixing the mouse in the next step. I like to
build my own kernels for Fedora so I generally forbid it installing.

4). Out of the box, the mouse experience is horrible. You may want to
create an xorg.conf file (using Xorg -configure), but there is a better
way to configure the mouse on recent systems. Place the following
in /etc/hal/fdi/policy/20thirdparty/10-synaptics.fdi:

<?xml version="1.0" encoding="ISO-8859-1"?>

<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
        <!-- To add custom options for the touchpad, modify the examples
below
             to suit your needs. The available options are listed in the
             "synaptics" man page. After modifyfing this file, you must
             restart HAL. Check the output of lshal whether your
modifications
             have been merged successfully.

             Note: Options must always be type "string".
             The following examples enable left, right, middle clicks on
             single, double, triple finger tapping, respectively.

             <merge key="input.x11_options.TapButton1"
type="string">1</merge>
             <merge key="input.x11_options.TapButton2"
type="string">3</merge>
             <merge key="input.x11_options.TapButton3"
type="string">2</merge>
        -->
	<merge key="input.x11_driver" type="string">synaptics</merge>
        <merge key="input.x11_options.SHMConfig"
type="string">On</merge>
        <merge key="input.x11_options.TapButton2"
type="string">0</merge>
        <merge key="input.x11_options.TapButton3"
type="string">0</merge>

	<!-- Not needed with the hacked up 2-finger-click-to-drag-driver
             <merge key="input.x11_options.ClickFinger2"
type="string">0</merge>
             <merge key="input.x11_options.ClickFinger3"
type="string">0</merge>
	-->
    </match>
  </device>
</deviceinfo>

That will turn off the most annoying "TapButton" options and tell X to
start the synaptics touchpad driver with the ability to dynamically tune
the driver using a shared memory mechanism. This enables "synclient".

You need a fixed bcm5974 mouse driver (with the attached patch - cleaned
up version to follow) that correctly supports two finger click-and-drag.
I have modified an existing patch for 2.6.32 kernels and will post a
kmod in due course. With that patch enabled you won't need to turn off
the ClickButton support and can both drag and right/middle click.

5). The gnome-power-manager gets a little confused sometimes. Make sure
it is always showing at least (sometimes it doesn't notice the battery
even though that is showing in lshal, etc.):

gconftool-2 -s -t string /apps/gnome-power-manager/ui/icon_policy always

You will also need to chvt or similar to/from another VT on resume in
order for the display to wake up. The HAL scripts specifically disable
quirks in the case of KMS because they believe it will always work. I
have tried hacking up the low level /usr/libexec/scripts/linux/ bits but
that isn't working, so I need to find out what I am missing. For the
moment, I switch to/from another VT on resume.

6). The backlit keyboard and controls aren't showing up or working. I
can live without these until I get chance to figure that out.

7). The webcam isn't working out of the box and nor is bluetooth. There
are instructions online covering these.

Once I configured my themes, set SELinux to permissive, and made a few
other personal taste quirks, the experience so far isn't too bad.

Jon.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: linux-2.6.32-synaptics-two-finger-click-and-drag.patch
Type: text/x-patch
Size: 3713 bytes
Desc: not available
Url : http://lists.fedoraproject.org/pipermail/devel/attachments/20100407/04c51c29/attachment.bin 


More information about the devel mailing list