Here’s what I did to get the Macbook Pro (rev 3,1) running smoothly under Ubuntu 9.04.

Turn on the nvidia drivers with jockey-gtk (the hardware drivers manager).

Add the keys for the mactel PPA: cr:code sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 0x8db7f87a2b97b7b8 </cr:code>

Install lots of packages (better drivers for the wifi, touchpad, power management, backlight, etc), and remove mouseemu which causes some conflicts:

cr:codesudo apt-get install bcm5974-dkms gnome-power-manager nvidia-bl-dkms hid-dkms applesmc applesmc-dkms hal-applesmc mbp-nvidia-bl-dkms xserver-xorg-input-synaptics linux-backports-modules-jaunty sudo apt-get remove mouseemu </cr:code>

Add a couple modules to /etc/modules: cr:code applesmc nvidia_bl </cr:code>

Better settings for the touchpad driver go in /etc/hal/fdi/policy/appletouch.fdi. This enables two-finger and three-finger clicks for middle and right click, respectively, and sets some better acceleration parameters.

<cr:code lang=“xml”>

1
  <match key="info.product" contains="bcm5974">
    <merge key="appledevice" type="bool">1</merge>
  </match>

  <match key="appledevice" bool="1">
    <merge key="input.x11_driver" type="string">synaptics</merge>
    <merge key="input.x11_options.SHMConfig" type="string">1</merge>

    <merge key="input.x11_options.TopEdge" type="string">0</merge>
    <merge key="input.x11_options.LeftEdge" type="string">0</merge>
    <merge key="input.x11_options.RightEdge" type="string">1100</merge>
    <merge key="input.x11_options.BottomEdge" type="string">800</merge>

    <merge key="input.x11_options.FingerLow" type="string">15</merge>
    <merge key="input.x11_options.FingerHigh" type="string">25</merge>
    <merge key="input.x11_options.TapButton1" type="string">0</merge>
    <merge key="input.x11_options.TapButton2" type="string">0</merge>
    <merge key="input.x11_options.TapButton3" type="string">0</merge>
    <merge key="input.x11_options.ClickFinger1" type="string">1</merge>
    <merge key="input.x11_options.ClickFinger2" type="string">3</merge>
    <merge key="input.x11_options.ClickFinger3" type="string">2</merge>
    <merge key="input.x11_options.VertEdgeScroll" type="string">0</merge>
    <merge key="input.x11_options.HorizEdgeScroll" type="string">0</merge>
    <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>

    <merge key="input.x11_options.MinSpeed" type="string">0.5</merge>
    <merge key="input.x11_options.MaxSpeed" type="string">2.5</merge>
    <merge key="input.x11_options.AccelFactor" type="string">0.15</merge>
  </match>
</match>

</cr:code>

Add an init script to swap the meaning of the function keys so they mean F1, F2, etc, and add it to the default runlevels with update-rc.d.

<cr:code lang=“bash”> #!/bin/bash

Fix fn key behavior on macbook pro

echo 2 > /sys/module/hid_apple/parameters/fnmode </cr:code>

Run syndaemon during login to prevent awkward touchpad events during typing:

<cr:code lang=“bash”>

Prevent awkward touchpad events when typing

syndaemon -d -t -K -i 2 </cr:code>

Post a Comment

Comments are moderated. Links have nofollow. Seriously, spammers, give it a rest.

Please avoid writing anything here unless you're a computer. This is also a trap:

Supports Github-flavored Markdown, including [links](http://foo.com/), *emphasis*, _underline_, `code`, and > blockquotes. Use ```clj on its own line to start an (e.g.) Clojure code block, and ``` to end the block.