MacBook

Wait, what?

Even though Apple is one of the least free-software-friendly companies out there, some old versions of the MacBook laptop ironically can 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 are equipped with the Intel i945 chipset for which the free EFI/BIOS replacement Libreboot can run. Fortunately, this MacBook also contains a wifi card that works in the free world.

Flash Libreboot on the MacBook

Libreboot's website explains in detail how to install Libreboot on the MacBook's boot flash.

  • For 2,1, the installation can be done by running a script.
  • For 1,1, you will need to disassemble the computer and use special equipment to do so-called external flashing. Alternatively, one user has reported success by patching the EFI.

Before you install Libreboot, you will need to replace OS X with Trisquel or another free GNU/Linux distribution of your choice.

Replacing the software on the boot flash can be a daunting task for some people. Don't worry, here 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 out for installfests or free software events such as Libre Planet, where experts will gladly do it for you.

We will not be held responsible for broken or damaged hardware.

Performance

So far, proper documentation has only surfaced for the 2,1 model. According to two Trisquel Forum blog posts, 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: 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. To make three-finger tapping work, see this script.
  • 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. In any case, it might be a good idea to cover the webcam lense for security purposes, using an adhesive tape or a small sticker.
  • Battery: lasts only a couple of hours
  • Heat: it runs quite hot, but not as hot as it used to be on earlier versions of libreboot (as there were no C states back then). The fan is also somewhat loud; maybe this can be fixed a bit by using an energy management program like PowerTOP. One user has reported temperature decrease by drilling tiny holes near the fan to help the airflow.
  • Speakers: significantly better in comparison to ThinkPad x60s
  • Hardware acceleration: 2D and 3D work. HTML5 and HD videos can be played seamlessly, and games run well.
  • Idle power consumption: higher than with vendor firmware (C-state 3, i.e. Sleep, is still missing)
  • 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.
    • A user reported that the screen stayed dark after waking up while running either the 3.13 or 3.16 kernel. An upgrade to 4.2 fixed this issue.

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 as there is no AltGr key. To fix that, you can remap your keyboard by running: sudo dpkg-reconfigure keyboard-configuration
  • It's also recommended that you avoid doing gratis advertising for Apple, so consider hiding their logo by getting a sticker or decal featuring free software such as a Tux sticker or a GNU sticker.

External links

Revisions

04/25/2015 - 04:04
pizzaiolo
05/27/2015 - 18:21
muhammed
08/10/2015 - 06:26
ssdclickofdeath
10/10/2015 - 13:10
suitsmeveryfine
08/18/2016 - 23:37
pizzaiolo
06/17/2017 - 13:57
Eemeli