# Libreboot/Macbook 2 1

    Note: This guide will be divested of all Libreboot components and merged with the official Libreboot documentation. Please update your links.
Originally written as Trisquel documentation released under GFDL.

## Wait, what?

Even though Apple is one of the least free-software-friendly companies out there, some old versions of the MacBook laptop can, ironically, be freer than most other notebooks on the market. While it is strongly discouraged that you financially support Apple's proprietary lock-in and walled-garden policies, this guide can be useful if you already have this notebook or if you buy a used one.
The MacBook can be made freer than most because versions 1,1 and 2,1 of Apple's MacBook employ the same i945 chipset used in ThinkPad notebooks, which means the MacBook is one of the few computers on which the free BIOS replacement Libreboot can run.

## Flash Libreboot on the MacBook

Libreboot's website explains in detail how to flash the Libreboot BIOS on a MacBook. Before you install Libreboot, you will need to replace OS X with Trisquel or another free GNU/Linux distribution of your choice.
It is suggested that before you flash Libreboot you write down your ethernet and WiFi MAC-address somewhere safe, in case you want to keep these two. Apparently, if you flash the Libreboot binary, then you will have the same MAC address as everybody who flashes that same binary. So to avoid that you can also compile from sources according to the instructions at the Libreboot website, or use a tool to alter your MAC and ethernet addresses later on.
Flashing the BIOS can be daunting for some people. Don't worry, there is a brief video tutorial explaining how to do it. If you're afraid of bricking your laptop, you can seek advice from the #libreboot IRC channel (FreeNode). You can also keep an eye for installfests or free software events such as Libre Planet, where experts will gladly do it for you.

## Performance

So far, proper documentation has only surfaced for the 2,1 model. According to a Trisquel Forum blog post, an h-node entry and a Coreboot wiki article, the performance for a MacBook 2,1 running libreboot and Trisquel 7 has the following characteristics:
* WiFi, bluetooth and ethernet: works
* Video card: works
* DVD drive: works
* Infrared remote: works
* Built-in microphone: works
* Touchpad: mostly works, but three-finger tapping doesn't work. You need at least kernel version 3.15 for the touchpad to be pleasant to use. For previous kernels, see a Xorg configuration to make it more usable.
* Webcam (iSight): does not work, as it requires a non-free firmware blob. All iSight webcams on MacBooks or pre 6,2 MacBook Pros (6,2 came out around 2010) require Apple's proprietary firmware.
* Battery: lasts only a couple of hours compared to the 6+ hours from a libreboot x60s bought from Gluglug
* Heat: it runs quite hot, but not as hot as it used to be on earlier versions of libreboot. The fan is also somewhat loud; maybe this can be fixed a bit by using an energy management program like PowerTOP
* Speakers: significantly better in comparison to ThinkPad x60s
* Hardware acceleration: 2D works; 3D probably not (3D Unity, for example, causes many problems). HTML5 and HD videos can be played seamlessly, but newer games requiring 3D might not work properly.
* CPU temperature indicator: none
* Idle power consumption: higher than with vendor firmware (no C-states)
* Suspend to disk aka hibernate works. Although:
** While it goes into hibernate state the screen turns off but then turns on again for just about a few seconds before it finally turns off.
** When resuming/powering on, the keyboard is dead in the payload/GRUB2. If your GRUB2 image is configured to boot a default menu entry after a few seconds of no user input, it then starts GNU/Linux-libre nicely. That is, the keyboard works to enter for example the LUKS passphrase which then unlocks the swap partition and the machine's state from before hibernate gets restored.

### Notes

* The MacBook has an unusual keyboard layout, which means that certain keys are missing: insert, del, home, end, pgup, pgdown. Also, there can be difficulty typing special characters. To fix that, you can remap your keyboard by running: sudo dpkg-reconfigure keyboard-configuration
* The machine's one and only led lights up during boot which is fine. At some point during or after boot it should turn off though. At the moment it just stays turned on for ever. During suspend to RAM, the led blinks which is just nice. After resume from suspend to RAM the led turn off. This is what should happen after a normal boot too.
* It's also recommended that you avoid doing free advertising for Apple, so consider hiding their logo by getting a sticker or decal featuring free software such as a Linux kernel sticker or GNU stickers.
* In previous versions, it seemed that Libreboot had problems turning the laptop on. If you release the power button too early or too late, you're greeted with a constant spam of text "--MORE--Unknown key 0xff detected". When this happens, turn the computer off from the power switch and then try booting again. This issue seems to have been fixed in the 20150518 release.