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 (as described at the link above), or by using the flashrom tool, as described on the Coreboot website (obviously, you will need to substitute the Libreboot ROM for the Coreboot one).
  • 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. However, be aware that some users have had difficulty getting the Trisquel ISOs to boot from DVD/CD with the Apple firmware. If you run into this problem, it may be easiest to install a different GNU/Linux distribution first, which has an amd64+mac ISO (possibly Ubuntu/Lubuntu); then flash Libreboot; and then install Trisquel.

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 (however, the current stable release of Trisquel (7.0) uses kernel version 3.13). For previous kernels, the following command lists all of the touchpad driver parameters that can be tweaked:synclient -lThen, you can use the same command to change the parameters to your liking. For example, you can activate vertical two-finger scrolling with the following:synclient VertTwoFingerScroll=1These changes won't persist after you reboot the machine, but the commands can be useful for tinkering to figure out what you like. Once you know what settings you want, you can edit the /etc/X11/xorg.conf file, as described here, to have them enabled automatically on boot. There is also a script here, which shows an example of how to enable three-finger tapping. One user had some success with decreasing the hysteresis below that described on the Libreboot page (to about 4), which made the mouse pointer more responsive to small movements. Also, some users have found the two-finger scrolling to be somewhat jerky; however, it can be disabled and edge scrolling enabled using the methods described above.
  • 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: thermal management is critical for these laptops (well, like any laptop..). If the device isn't being cooled effectively then the CPU will overheat and the thermal cutout will shut it down. Fortunately, the applesmc kernel module should already be insalled with Trisquel, which should monitor the temperature sensors and automatically manage the fan speed to keep the heat under control. The lm-sensors package can be useful to help see what is going on. Once you have the package installed, the sensors command can be used to query the temperature sensors and fan speed. These Macbooks are getting quite old now and in some cases the fan may have stopped working correctly. If that is the case, a new one can be ordered from iFixit.com. Their website also includes detailed instructions on how to replace the old fan. Also, make sure that the slots on the internal copper heatsink are clear of any built-up dust or dirt. You may find the laptop still runs a bit hot, but not as hot as it used to be on earlier versions of libreboot (as there were no C states back then). You may also find the fan to be somewhat loud, which may be helped by using an energy management program like PowerTOP (or it may indicate that the fan is old and should be replaced). 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.
  • One user reported that no swap space was set up during the Trisquel installation, which caused the RAM to get quickly bogged down and the laptop to seize up. swapon -s can be used to check if the swap is activated. If not, there are numerous articles on the web about how to set up swap space (such as this one).

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
  • At least one user (https://trisquel.info/en/forum/heat-macbook-21-librebooted-and-trisquelised#comment-119006) has reported that the original keyboard works out of the box, while others lacked the option to type for instance "@".
  • One tweak that is reported to work well (with a Danish keyboard) is: From the options, choose 'apple laptop' and enter your settings. Remember to choose 'Use Keypad Enter as AltGr'. The Keypad Enter is the second button to the right of the space bar (left to the Left Arrow). "@" can now be typed by pressing your newly assigned AltGr + 2. Furthermore, this setting assigns del to fn + backspace and home, end, pgup and pgdown according to keys (arrow keys) + Fn.
  • 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, Freedo or a GNU sticker.
  • One way to install the Trisquel OS on the Macbook (Model A1181) is to use a desktop PC running linux. (1) Create a usb thumb drive containing the Trisquel ISO using "GNOME Disks" utility. (2) Boot to the thumb drive and use an HDD Dock connected via usb with your SSD drive (or other drive you want to put into the Macbook) and install Trisquel on that. (Make sure that the Boot sector also goes onto that drive.) Then put the SSD drive into the Macbook. The sound card on the A1181 did not seem to work, but the sound does work with a usb headphone amp/dac from schiit.com.

External links

Revisions

04/25/2015 - 03:04
pizzaiolo
05/27/2015 - 17:21
muhammed
08/10/2015 - 05:26
ssdclickofdeath
10/10/2015 - 12:10
suitsmeveryfine
06/17/2017 - 12:57
Eemeli
07/25/2017 - 17:58
pizzaiolo
08/03/2017 - 18:01
Time4Tea
08/06/2017 - 16:09
GNUbahn
09/28/2017 - 16:54
dshesq