LinuxConsulting

- Nicu Pavel personal page

PaNiC Random Rant (or how we used to call it: .plan)


Sunday, May 11, 2008

Ubuntu (8.04) Linux on MacBook Air (updated)


Ubuntu 9.04 looks like it's working out of the box on MacBook Air. The new intel video card driver in 9.04 it's pretty bad and it's suggested to use the old driver till a fix is issued. (June 18, 2009)

As I received a MacBook Air for development "on-the-road", I installed Ubuntu on it.
Installation is pretty easy:
1. Use MacOS BootCamp to create a "Windows" partition.
2. Get a external USB cdrom or use isotostick script to install from a USB stick.
3. Press C to start booting from CDROM and install Ubuntu (don't forget to make the "Windows" partition active after the installation or it won't show up in BootCamp).

What works:

1. Video Card
Works ok without tweaks even with 3D support/Compiz/XV. I noticed some vertical flickering might be from dot clock but till now ModeLine settings didn't help.
Update:
Flickering is caused by backlight settings a flicker free backlight setting for me is

xrandr --output LVDS --set BACKLIGHT 8000

2. TouchPad/Multitouch
Basic TouchPad/1 button click works ok but if you want multitouch for mouse gestures/scroll/right-click you need to get touchd from http://touchd.sf.net and add a
small modification to multitouch.c by changing the USB IDs looked up by openusb_find_dev_* to: 0x05ac, 0x0223.
The only issue is that touchd has problems comming up from suspend/resume, which can be solved by adding a new script in /etc/acpi/resume.d/ to restart touchd process.

3. Wireless
Need to install ndiswrapper and use the winxp broadcom drivers supplied on DVD or look-up Apple BootCamp drivers on torrents. Other drivers don't work ok either freeze on suspend/resume or have limited capabilities.
Broadcom drivers seems to work ok and also power_profile can be set (iwpriv wlan0 power_profile 0) along with other powersaving settings.

4. Sound
Works by adding: options snd_hda_intel model=mbp3 to /etc/modprobe.d/options. Microphone might need a little alsa patching but haven't tested yet.

5. iSight Camera
Works ok after install the module is uvcvideo

6. CPU Freq Scaling
Works ok after install. Can be tweaked further from /etc/laptop-mode or powerd

7. BlueTooth
Works ok after install.

8. LCD Brightness levels.
This should be handled by pommed/applesmc kernel module but didn't work for me (even tried a 2.6.25 applesmc module with mactel patches) looks like macbook air isn't yet supported by applesmc.
Instead xbacklight (apt-get install xbacklight) works fine which can be binded to F1/F2 keys (I use xmodmap to define keys with scancode 101 and 212 and xbindkeys to bind them to actions like xbacklight +2 or xbacklight -2)

9. Keyboard Leds
Works with a small patch to applesmc.c (in drivers/hwmon/applesmc.c). You can set the keyboard leds levels by echoing values here:
/sys/devices/platform/applesmc.768/leds/smc::kbd_backlight/brightness
This can be done with a small script and xbindkeys to assing the script to F5/F6 keys.

See below for patch download and a sample script.

10. Multimedia keys
Sound keys/Eject keys are working by default the rest can be detected/added to keyboard shorcuts by detecting them with xev

For power saving I recommed using powertop (apt-get install powertop), iwconfig/iwpriv to set wireless power mode, xbacklight and power management tweaks to blank screen faster with DPMS. At this moment battery times in Mac OS X and Ubuntu Hardy are similar (touchd wakes up CPU pretty often but it's not a big drain).

/applesmc-macbookair-2.6.24-17-patch.txt

/keybacklight.sh

Labels: , ,

posted by panic @ 10:25 PM 6 Comments