Acer C720 Chromebook

The C720 is an old Chromebook that I got off eBay in 2014 to try out the experience (and the cheap hardware) and that has lasted an inordinately long time (I’m updating this in 2024 and it still works).

The C720 internals. There is hardly any room left at all.

Hardware Specs

  • Dual-Core Celeron 2955U
  • 2GB of soldered RAM
  • Unremarkable 1366x768 LCD and potato webcam
  • Replaceable SSD (I upgraded to 128GB)
  • Somewhat weird Chromebook keyboard
  • Barely tolerable trackpad
  • 2 USB-A ports
  • 1 SD card slot (which does not work in all OSes)
  • 5GHz Wi-Fi
  • HDMI out

Finally, it is powered by a small barrel jack (plug is 3mm wide, 7.5mm deep, ~1mm bore). That takes 19V/3.42A, ~65W, so can be powered by a $2 USB-PD adapter in theory, although it will have to be an external one.

The case is plastic, and yet the thing seems pretty much indestructible. The battery still claims to last 6 hours on occasion (more like three, really, but it’s still useful), and I tend to use it as a travel laptop when on vacation.

Software

Once unlocked, you can use SeaBIOS to install a normal Linux system. Mine started out with Lubuntu 14.04 and is (in 2024) running 39.

Essential GRUB tweaks (not needed for Fedora)

Edit /etc/default/grub and add tpm_tis.force=1 to the default boot options to work around a delay in booting.

Trackpad Setup and Tweaks for Natural Scrolling (not needed for Fedora)

This script was required to compile a set of suitable kernel modules to support the trackpad. It took a fair amount of time to come up with sensible sensitivity settings that allowed for two-finger scrolling the “right” way.

Those were added as an LXDE startup script, since it is easier to tweak than X11 configs:

#!/bin/sh
echo "Areas"
synclient AreaRightEdge=850 AreaLeftEdge=50 
echo "Pressure"
synclient FingerLow=10 FingerHigh=16
echo "Buttons"
synclient TapButton1=1 TapButton2=3 TapButton3=2
echo "Scroll"
synclient VertScrollDelta=-19 HorizScrollDelta=-19 HorizTwoFingerScroll=1

Backlight and Audio Control

Bound these using obkey to Super+<key>:

pactl set-sink-mute 0 toggle
pactl set-sink-volume 0 -- +5%
pactl set-sink-volume 0 -- -5%
xbacklight -inc 5%
xbacklight -dec 5%

…but using xbindkeys seems to be a better option. Here’s a configuration file for it, taken from here.

Suspend/Resume

As always under that is a work in progress, which is a shame considering that Chrome OS works flawlessly.

The following steps gave me workable suspend/resume in Lubuntu at the expense of Bluetooth (they are not necessary for Fedora anymore, but I do get the occasional slowdown on resume, so I’m keeping the notes around)

  • Put this file in /etc/pm/sleep.d and set it executable with chmod +x
  • Add these lines to /etc/rc.local
  • Change GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub to contain these options
  • sudo update-grub and reboot

All that remains then is to set the LXDE power manager to suspend on lid close, etc.

Lubuntu Fixes

To get secure swap to work properly, you need to patch the ecryptfs-setup-swap script to include an offset=8 option in /etc/crypttab. This appears to be an bug,which, unaccountably, hasn’t been caught during testing or fixed yet.

Miscellaneous

alias pbcopy="xclip -selection c"
alias pbpaste="xclip -o"

This page is referenced in: