General

These instructions cover the late 2010 MacBookAir3,1 and MacBookAir3,2 models. Most of the information in this article is derived from the Ubuntu Forums.

Installation

Installation works using the Apple Superdrive, additional steps may be required for other installation methods.

Use the Intel CPU-based Macintosh Generic Installation Instructions.

But, when you boot the Ubuntu disc and see the purple screen with a keyboard picture at the bottom, press a button on the keyboard to bring up the menu. Select your language, then press F6 for other options, turn on "nomodeset", press Esc and select try ubuntu.

  • Note: nomodeset works around a graphics problem which we'll see in a bit.

.

  • Trouble Shooting: If you get a GRUB screen when booting the 64 bit version, and it fails to boot from the disc, then hold down the Alt key when powering on, you should see a "Windows" and an "EFI boot" option for the disc, select the "Windows" option and you should get the familiar purple screen.

In the installation, be sure to select "Install this third party software" (otherwise the wireless may not work).

When you reboot the machine, and after the disc ejects, the system may fail to actually reboot, we'll fix this later. For now, just hold down the power button to switch it off and turn it back on.

  • Trouble Shooting: After a reboot you may encounter a few seconds of the GRUB bootloader menu. If you don't do anything, chances are you may end up with a black screen and nothing happens. If so, shut down by pressing the power button. Reboot again, go to the GRUB menu again, but this time, press "e" on your keyboard to edit the boot options. You will see that the boot option has reverted back to "quiet splash". You will want to replace it with "nomodeset" again. And then Ubuntu will boot up properly with graphics (which are not yet optimized for your screen).

Now if you can suffer the serious graphic problem for a couple of minutes and login, then setup an internet connection. Once you have internet access, go to System > Administration > Additional Drivers. You may need to reboot the machine before anything appears in the driver list. Select the NVIDIA driver and click install. Once it's installed, reboot the computer. You can stop squinting at the screen in pain now.

Post-Install

Now add the Mactell PPA to your system and install some packages. Open a terminal and run:

sudo add-apt-repository ppa:mactel-support/ppa
sudo apt-get update
sudo apt-get install btusb-dkms applesmc-dkms hid-apple-dkms bcm5974-dkms xf86-input-multitouch snd-hda-dkms mbp-nvidia-bl-dkms -y

Now edit /etc/modules:

sudo gedit /etc/modules

and add the line

mbp-nvidia-bl

Now you need to edit the xorg.conf file:

sudo gedit /etc/X11/xorg.conf

Find the Device Section for the Nvidia driver and add this line to the end of the section:

        Option          "RegistryDwords" "EnableBrightnessControl=1"

The block should now look like this:

Section "Device"
        Identifier      "Default Device"
        Driver  "nvidia"
        Option  "NoLogo"        "True"
        Option          "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Also add the following to the end of the file:

Section "InputClass"
    MatchIsTouchpad "true"
    Identifier "Multitouch Touchpad"
    Driver "multitouch"
EndSection

Fix backlight problem after suspend:

sudo cp /usr/lib/pm-utils/defaults /etc/pm/config.d/defaults
sudo gedit /etc/pm/config.d/defaults

Change the lines:

#HIBERNATE_RESUME_POST_VIDEO="no"
# SUSPEND_MODULES=""
# ADD_PARAMETERS=""
# DROP_PARAMETERS=""

to:

HIBERNATE_RESUME_POST_VIDEO="yes"
SUSPEND_MODULES="mbp-nvidia-bl"
ADD_PARAMETERS="--quirk-reset-brightness"
DROP_PARAMETERS="--quirk-none"

Nearly there, we just need to change some boot parameters now:

sudo gedit /etc/default/grub

Change the line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=pci acpi_backlight=vendor"

Now, finally run:

sudo update-grub

Apple uses 6-bit LCDs which support only 262144 colours instead of 16 million. So we need to enable dithering at 6 bits per colour channel to smooth colour gradients.

Assuming you use gdm (the default) as login manager, run:

sudo gedit /etc/gdm/Init/Default

Add to the end of the file, but above the exit 0 line:

/usr/bin/nvidia-settings -a [gpu:0]/Dithering[DFP-2]=1
/usr/bin/nvidia-settings -a [gpu:0]/DitheringDepth[DFP-2]=1

After rebooting, this should enable multitouch support for the trackpad, hotkeys, bluetooth, speakers, microphone and backlight, as well as fix the reboot problem and improve the screen display.

If you can't hear anything, run alsamixer. Use the left/right keys to select "Front Speakers" and press the M key to enable it, and the up/down keys to adjust the volume.

Fan

macfanctld (MAC fan control daemon) uses applesmc-dkms to take the temperatures of sensors inside the computer and set the fan speed accordingly. Two of those sensors, TCZ3 and TGZ3, falsely oscillate between 0 and 255 degrees C causing macfanctld to toggle the fan on and off. The following instructions describe how to instruct macfanctld to ignore the input from said sensors, allowing the fan to operate normally:

  1. Ensure the macfanctld is stopped with sudo /etc/init.d/macfanctld stop.

  2. Run macfanctld -f to obtain the list of sensors and their associated ID numbers.

  3. Open /etc/macfanctl.conf and add the numbers for TCZ3 and TGZ3 sensors to the "exclude" list. (Mine were 8 and 14 respectively. Ex: exclude: 8 14. Note it's "exclude" and not "excluded".)

  4. Run macfanctld -f | grep exclude and confirm temp*_input are printed in the list.

  5. Restart the fan control daemon with sudo /etc/init.d/macfanctld start.

.

  • Trouble Shooting: Not sure if you need to install the package "macfanctld" first from either Synaptics or doing "sudo apt-get install macfanctld" at the Terminal.

Sound

Headphones work out of the box. Speakers may or may not work after following post-install instructions. If not, at the terminal type:

sudo gedit /etc/modprobe.d/alsa-base.conf

Insert this line at the end of the file: options snd-hda-intel model=mba31. The last item model=mba31 assumes that you have a MacbookAir 3,1. Restart Ubuntu. Start up a terminal, run alsamixer and use arrow keys to select Front Speaker and press m, then all is good sound-wise.

Touchpad

Multitouch works after following post-install instructions.

Apple keys

Hotkeys work after following post-install instructions. You can swap the behaviour of the Fn key by running:

sudo nano /etc/rc.local

Then adding this line to the file (before the exit line):

echo 2 > /sys/module/hid_apple/parameters/fnmode

You can change the number to 0 = disabled, 1 = fkeyslast, 2 = fkeysfirst.

  • http://blog.adamsbros.org/2009/06/14/linux-macbook-function-key-mode-fnmode/

F11 and F12 keys

F11 and F12 are used for mouse emulation. If you want them to function as regular F11 and F12 again you'll have to uninstall the 'mouseemu' package

sudo apt-get uninstall mouseemu

http://ubuntuforums.org/showthread.php?t=967671

Network

Out of the box support, using a proprietary driver.

If the network is really slow you might be experiencing problems with the power management of the network interface as discussed in this thread: http://ubuntuforums.org/showthread.php?t=1603365&page=30

The quick solution is to turn off the power management:

sudo iwconfig eth0 power off

If you want to make the change permanently:

sudo gedit /etc/pm/power.d/wireless

Paste this:

/sbin/iwconfig eth0 power off

Make this script executable:

sudo chmod +x /etc/pm/power.d/wireless

LCD Backlight

Backlight can be adjusted after following the post-install instructions.

Tips and Tricks

A collection of helpful tips for the Macbook Air.

Calibrate display

You can also calibrate the display. Run:

sudo apt-get install xcalib
sudo mkdir /etc/xcalib/

Then if you used a dual-boot setup and still have OS X installed, run:

sudo mkdir /media/OSX
sudo mount -o ro /dev/sda2 /media/OSX
sudo cp /media/OSX/Library/ColorSync/Profiles/Displays/Color\ LCD-00000610-0000-9CF3-0000-000004273CC0.icc /etc/xcalib/colorprofile.icc
sudo umount /media/OSX

Once again if you use gdm as login manager, run:

sudo gedit /etc/gdm/Init/Default

Then add this line with the other lines:

/usr/bin/xcalib /etc/xcalib/colorprofile.icc

So, the end of the file should look like this now:

/usr/bin/xcalib /etc/xcalib/colorprofile.icc
/usr/bin/nvidia-settings -a [gpu:0]/Dithering[DFP-2]=1
/usr/bin/nvidia-settings -a [gpu:0]/DitheringDepth[DFP-2]=1

exit 0

Avoid long EFI wait before GRUB

If your Macbook spends 30 seconds with "white screen" before GRUB shows, try booting from your Mac OS X install disc, select language, then click Utilities->Terminal, and enter:

bless --device /dev/disk0s1 --setBoot --legacy

Assuming that the bootloader is on sda1, otherwise /dev/disk0s2 if it's on sda2, etc.

  • https://wiki.archlinux.org/index.php/Macbook#Avoid_long_EFI_wait_before_GRUB

Missing keys

You may have noticed that some keys are missing from the keyboard. Most of these can be accessed with the Fn key:

FN+Backspace

Delete

FN+Return

Insert

FN+Up

Page Up

FN+Down

Page Down

FN+Left

Home

FN+Right

End

No PrintScr key? Go to System > Preferences > Keyboard Shortcuts, then find the "Take a Screenshot" entry and set it to another key. I set mine to the eject key (after disabling the eject shortcut), the eject key is hardly useful on the Air anyway (you can run 'eject' from the command line in the rare case you need it for the Superdrive).


CategoryMac CategoryInstallation

MacBookAir3-2/Meerkat (last edited 2011-03-02 09:36:00 by cyberco)