Hardware compatibility list

This sections relates to known hardware compatibility in libreboot.

Or back to main index.


List of supported hardware

Libreboot supports the following machines in this release:

'Supported' means that the build scripts know how to build ROM's for these machines, and that the machines have been tested (confirmed working). There may be exceptions; in other words, this is a list of 'officially' supported machines.

It is also possible to build ROM images (from source) for other machines (and virtual machines, e.g. QEMU).

Back to top of page


Recommended wifi chipsets

The following are known to work well:

Back to top of page


List of supported ThinkPad X60's

Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS'), all known LCD panels are currently compatible:

To find what LCD panel you have, see: ../misc/index.html#get_edid_panelname.

You can remove an X61/X61s motherboard from the chassis and install an X60/X60s motherboard in it's place (for flashing libreboot). The chassis is mostly identical and the motherboards are the same shape/size.

The X60 typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running the machine will refuse to boot if you replace the card. Fortunately it is very easily replaced; just remove the card and install another one after libreboot is installed. See #recommended_wifi for replacements.

Back to top of page.


List of supported ThinkPad X60 Tablets

Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS').

To find what LCD panel you have, see: ../misc/index.html#get_edid_panelname.

There are 5 known LCD panels for the X60 Tablet:

Most X60T's only have digitizer (pen), but some have finger (touch) aswell as pen; finger/multitouch doesn't work, only digitizer (pen) does.

You can remove an X61/X61s motherboard from the chassis and install an X60/X60s motherboard in it's place (for flashing libreboot). The chassis is mostly identical and the motherboards are the same shape/size. It is unknown if the same applies between the X60 Tablet and the X61 Tablet.

The X60 Tablet typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running the machine will refuse to boot if you replace the card. Fortunately it is very easily replaced; just remove the card and install another one after libreboot is installed. See #recommended_wifi for replacements.

A user with a X60T that has digitizer+finger support, reported that they could get finger input working. They used linuxwacom at git tag 0.25.99.2 and had the following in their xorg.conf:

# Now, for some reason (probably a bug in linuxwacom),
# the 'Touch=on' directive gets reset to 'off'.
# So you'll need to do
# $ xsetwacom --set WTouch Touch on
#
# tested with linuxwacom git 42a42b2a8636abc9e105559e5dea467163499de7

Section "Monitor"
    Identifier             "<default monitor>"
    DisplaySize     245 184
EndSection

Section "Screen"
    Identifier "Default Screen Section"
    Monitor    "<default monitor<"
EndSection

Section "InputDevice"
    Identifier  "WTouch"
    Driver      "wacom"
    Option      "Device" "/dev/ttyS0"
#    Option      "DebugLevel" "12"
    Option      "BaudRate" "38400"
    Option      "Type" "touch"
    Option      "Touch" "on"
    Option      "Gesture" "on"
    Option      "ForceDevice" "ISDV4"
#    Option      "KeepShape" "on"
    Option      "Mode" "Absolute"
    Option      "RawSample" "2"
#    Option      "TPCButton" "off"
    Option      "TopX" "17"
    Option      "TopY" "53"
    Option      "BottomX" "961"
    Option      "BottomY" "985"
EndSection

Section "ServerLayout"
  Identifier    "Default Layout"
  Screen        "Default Screen Section"
  InputDevice   "WTouch" "SendCoreEvents"
EndSection

Back to top of page.


Supported T60 list

Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS').

To find what LCD panel you have, see: ../misc/index.html#get_edid_panelname.

Some T60's have ATI GPU's, and all T60p's have ATI GPU's These are incompatible! See #t60_ati_intel for how to remedy this.

How to dump the EDID:

Tested LCD panels: working(compatible)

Tested LCD panels: not working yet (incompatible; see ../future/index.html#lcd_i945_incompatibility)

The following LCD panels are UNTESTED. If you have one of these panels then please submit a report!:

It is unknown whether the 1680x1050 (15.4") and 1920x1200 (15.4") panels use a different inverter board than the 1280x800 panels.

The T60 typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running the machine will refuse to boot if you replace the card. Fortunately it is very easily replaced; just remove the card and install another one after libreboot is installed. See #recommended_wifi for replacements.

Back to top of page.


ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences.

If your T60 is a 14.1" or 15.1" model with an ATI GPU, it won't work with libreboot by default but you can replace the motherboard with another T60 motherboard that has an Intel GPU, and then libreboot should work.

As far as I know, 14.1" (Intel GPU) and 15.1" (Intel GPU) T60 motherboards are the same, where 'spacers' are used on the 15.1" T60. In any case, it makes sense to find one that is guaranteed to fit in your chassis.

There is also a 15.4" T60 with Intel GPU.

Note: the T60p laptops all have ATI graphics. The T60p laptops cannot be used with libreboot under any circumstances.

The following T60 motherboard (see area highlighted in white) shows an empty space where the ATI GPU would be (this particular motherboard has an Intel GPU):

The reason that the ATI GPU on T60 is unsupported is due to the VBIOS (Video BIOS) which is non-free. The VBIOS for the Intel GPU on X60/T60 has been reverse engineered, and replaced with Free Software and so will work in libreboot.

The 'Video BIOS' is what initializes graphics.

See: https://en.wikipedia.org/wiki/Video_BIOS.
In fact, lack of free VBIOS in general is a big problem in coreboot, and is one reason (among others) why many ports for coreboot are unsuitable for libreboot's purpose.

Theoretically, the ThinkPad T60 with ATI GPU can work with libreboot and have ROM's compiled for it, however in practise it would not be usable as a laptop because there would be no visual display at all. That being said, such a configuration is acceptable for use in a 'headless' server setup (with serial and/or ssh console as the display).

Back to top of page.


Information about the macbook1,1

There is an Apple laptop called the macbook1,1 from 2006 which uses the same i945 chipset as the ThinkPad X60/T60. A developer ported the MacBook2,1 to coreboot, the ROM images also work on the macbook1,1.

You can refer to #macbook21 for most of this. Macbook2,1 laptops come with Core 2 Duo processors which support 64-bit operating systems (and 32-bit). The MacBook1,1 uses Core Duo processors (supports 32-bit OS but not 64-bit), and it is believed that this is the only difference.

It is believed that all models are compatible, listed here:

Compatible models

Specifically (Order No. / Model No. / CPU):

Also of interest: ../git/index.html#config_macbook21.

Unbricking: this page shows disassembly guides and mono's page (see #macbook21) shows the location of the SPI flash chip on the motherboard. How to remove the motherboard.

No method is yet known for flashing in GNU/Linux while the Apple firmware is running. You will need to disassemble the machine and flash externally. Reading from flash seems to work. Bus Pirate recommended for external flashing (there are others) and needed tools: clip (eg Pomona 5250), mini usb cable, bus pirate cable (for connecting Pomona to the bus pirate).

Back to top of page.


Information about the macbook2,1

There is an Apple laptop called the macbook2,1 from late 2006 or early 2007 that uses the same i945 chipset as the ThinkPad X60 and ThinkPad T60. A developer ported coreboot to his macbook2,1, and now libreboot can run on it.

Mono Moosbart is the person who wrote the port for macbook2,1. Referenced below are copies (up to date at the time of writing, 20140630) of the pages he wrote when porting coreboot to the macbook2,1. They are included here in case the main site goes down for whatever reason, since they include a lot of useful information.

Backups created using wget:
$ wget -m -p -E -k -K -np http://macbook.donderklumpen.de/
$ wget -m -p -E -k -K -np http://macbook.donderklumpen.de/coreboot/
Use -e robots=off if using this trick for other sites and the site restricts using robots.txt

Links to wget backups (and the backups themselves) of Mono's pages (see above) removed temporarily. Mono has given me permission to distribute them, but I need to ask him to tell me what license these works fall under first. Otherwise, the above URL's should be fine. NOTE TO SELF: REMOVE THIS WHEN DONE

Installing GNU/Linux distributions (on Apple EFI firmware)

How to boot an ISO: burn it to a CD (like you would normally) and hold down the Alt/Control key while booting. The bootloader will detect the GNU/Linux CD as 'Windows' (because Apple doesn't think GNU/Linux exists). Install it like you normally would. When you boot up again, hold Alt/Control once more. The installation (on the HDD) will once again be seen as 'Windows'. (it's not actually Windows, but Apple likes to think that Apple and Microsoft are all that exist.) Now to install libreboot, follow ../install/index.html#flashrom_macbook21.

Information about coreboot

coreboot wiki page

Compatible models

It is believed that all models are compatible, listed here:

Specifically (Order No. / Model No. / CPU):

Also of interest: ../git/index.html#config_macbook21.

Unbricking: this page shows disassembly guides and mono's page (see above) shows the location of the SPI flash chip on the motherboard. How to remove the motherboard.

Bus Pirate recommended for external flashing (there are others) and needed tools: clip (eg Pomona 5250), mini usb cable, bus pirate cable (for connecting Pomona to the bus pirate).

You need to replace OS X with GNU/Linux before flashing libreboot. (OSX won't run at all in libreboot).

There are some issues with this machine (compared to other computers that libreboot supports):

This is an apple laptop, so it comes with OS X: it has an Apple keyboard, which means that certain keys you expect are missing: insert, del, home, end, pgup, pgdown. There is also one mouse button only. Battery life is poor compared to X60/T60 (for now). It also has other issues: for example, the Apple logo on the back is a hole, exposing the backlight, which means that it glows. You should cover it up.

The macbook21 gets extremely hot under GNU/Linux and libreboot; Macfanctld (mac fan control daemon) I'm told is a programme (GPLv3 license) that can help with this.

Debugging the heating issues (initial work):
Distro: Trisquel 7. kernel(linux-libre): 3.13.0-32
CPU temperatures:
52C(idle)/81C(stress) on factory.bin
70C(idle)/80C(stress) on coreboot(with microcode updates). libreboot results (without microcode updates) were the same.
(libreboot and coreboot rom's were both built from the same code, just with or without microcode included in the rom)
battery life was higher on original firmware, lower on coreboot/libreboot.
microcode patches included [y/n] makes no difference.
libreboot: 1hr18min left on idle (99% battery), 42mins left on stress (82% battery)
factory.bin: 2 hours left on idle (99% battery), 48mins left on stress (82% battery)

Todo: see what the non-free firmware has in it's ACPI tables using acpidump and iasl -d. Try to implement cstate support in coreboot (this will allow for lower temperatures).

The MacBook2,1 comes with a webcam, which does not work without proprietary software. Also, webcams are a security risk; cover it up! Or remove it.

A user reported that they could get better response from the touchpad with the following in their xorg.conf:

Section "InputClass"
 Identifier "Synaptics Touchpad"
 Driver "synaptics"
 MatchIsTouchpad "on"
 MatchDevicePath "/dev/input/event*"
 Driver "synaptics"
# The next two values determine how much pressure one needs
# for tapping, moving the cursor and other events.
 Option "FingerLow" "10"
 Option "FingerHigh" "15"
# Do not emulate mouse buttons in the touchpad corners.
 Option "RTCornerButton" "0"
 Option "RBCornerButton" "0"
 Option "LTCornerButton" "0"
 Option "LBCornerButton" "0"
# One finger tap = left-click
 Option "TapButton1" "1"
# Two fingers tap = right-click
 Option "TapButton2" "3"
# Three fingers tap = middle-mouse
 Option "TapButton3" "2"
# Try to not count the palm of the hand landing on the touchpad
# as a tap. Not sure if helps.
 Option "PalmDetect" "1"
# The following modifies how long and how fast scrolling continues
# after lifting the finger when scrolling
 Option "CoastingSpeed" "20"
 Option "CoastingFriction" "200"
# Smaller number means that the finger has to travel less distance
# for it to count as cursor movement. Larger number prevents cursor
# shaking.
 Option "HorizHysteresis" "10"
 Option "VertHysteresis" "10"
# Prevent two-finger scrolling. Very jerky movement
 Option "HorizTwoFingerScroll" "0"
 Option "VertTwoFingerScroll" "0"
# Use edge scrolling
 Option "HorizEdgeScroll" "1"
 Option "VertEdgeScroll" "1"
EndSection

Back to top of page.


Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. A copy of the license can be found at ../license.txt.

This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See ../../license.txt for more information.