Acer C720 Chromebook

From ArchWiki
Revision as of 12:53, 19 September 2014 by Dhead (talk | contribs) (Installation: remove duplicate: installation process on haswell chromebooks)
Jump to navigation Jump to search

zh-cn:Acer C720 Chromebook

Warning: This article relies on third-party scripts and modifications, and may irreparably damage your hardware or data. Proceed at your own risk.

The Acer C720 Chromebook (and newer Chromebooks in general) features a "legacy boot" mode that makes it easy to boot Linux and other operating systems. The legacy boot mode is provided by the SeaBIOS payload of coreboot. SeaBIOS behaves like a traditional BIOS that boots into the MBR of a disk, and from there into your standard bootloaders like Syslinux and GRUB.

Installation

The installation process for Haswell Chromebooks described at the Chromebook page.

Touchpad and Touchscreen kernel modules

Kernel 3.16.1 should be the last kernel that requires these patches, as a fix has been merged into 3.17-rc1.

Install patched kernel

Install linux-chromebookAUR from AUR

Manually build the modules

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Low quality scripts (Discuss in Talk:Acer C720 Chromebook#)

Enabling the touchpad currently requires building a set of patched Haswell Chromebook kernel modules.

  • For kernel 3.16.1, simply run this script after installing these packages:
$ pacman -S wget sudo patch make gcc git
$ git clone https://github.com/masmullin2000/arch-c720p.git
$ cd arch-c720p
$ sh ./touch.sh

Touchpad Configuration

  • Edit the Xorg touchpad configuration file

Add the Xorg touchpad configuration below for better usability (increases touchpad sensitivity).

/etc/X11/xorg.conf.d/50-cros-touchpad.conf
Section "InputClass" 
    Identifier      "touchpad peppy cyapa" 
    MatchIsTouchpad "on" 
    MatchDevicePath "/dev/input/event*" 
    MatchProduct    "cyapa" 
    Option          "FingerLow" "10" 
    Option          "FingerHigh" "10" 
EndSection

If you want to remove the "right-click" behavior from the touchpad from the bottom right area (you can still right-click with two finger clicks), you should comment out the following section from /etc/X11/xorg.conf.d/50-synaptics.conf

/etc/X11/xorg.conf.d/50-synaptics.conf
#Section "InputClass"
#        Identifier "Default clickpad buttons"
#        MatchDriver "synaptics"
#        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
#       To disable the bottom edge area so the buttons only work as buttons,
#       not for movement, set the AreaBottomEdge
#       Option "AreaBottomEdge" "82%"
#EndSection
  • Use a graphical tool

Synaptiks is a touchpad configuration and management tool for KDE. It provides a system settings module to configure basic and advanced features of the touchpad. Although it is said to be currently unmaintained and seems to crash under KDE 4.11, it works well with this Chromebook under KDE 4.12.2. Another utility, kcm_touchpad, does not work at all.

Reboot for the touchpad to become operational.

Fix Audio

Create /etc/modprobe.d/alsa.conf

/etc/modprobe.d/alsa.conf
option snd_hda_intel index=1

Create this specific ~/.asoundrc file

~/.asoundrc
# Standard
pcm.!default {
  type hw
  card 1
  device 0
}

ctl.!default {
  type hw
  card 1
}

pcm_slave.slavej {
  pcm "hw:1"
  channels 2
  rate 44100
}

pcm.plugj {
  type plug
  slave slavej
}

# HDMI
#pcm.!default {
  #type hw
  #card 1
  #device 3
#}

#ctl.!default {
  #type hw
  #card 0
#}

To fix FlashPlugin audio with PulseAudio use this specific .asoundrc file

~/.asoundrc
# Standard
pcm.pulse {
  type pulse
}

ctl.pulse {
  type pulse
}
pcm.!default {
type pulse
#  type hw
#  card 1
 # device 0
}

ctl.!default {
type pulse
 # type hw
  #card 1
}

pcm_slave.slavej {
  pcm "hw:1"
  channels 2
  rate 44100
}

pcm.plugj {
  type plug
  slave slavej
}

# HDMI
#pcm.!default {
  #type hw
  #card 1
  #device 3
#}

#ctl.!default {
  #type hw
  #card 0
#}


Improving WLAN and BT performance

The C720 comes with a AR9462 WLAN+BT chip. Both Bluetooth and WiFi can use 2.4 GHz, which can cause interference. You can enable Bluetooth coexistence to improve the performance of the card. Additionally, you can enable power savings and antennae diversity to reduce power usage and boost performance:

/etc/modprobe.d/ath9k.conf
options ath9k btcoex_enable=1 ps_enable=1 bt_ant_diversity=1

Post Installation Configuration

For information on general Chromebook post installation configuration (hotkeys, power key handling ...) see Chromebook#Post_Installation_Configuration.

Known issues

Syslinux

Syslinux fails to set the bootable flag with syslinux-install_update -i -a -m. After setting the bootable flag manually in fdisk and installing Syslinux to the MBR with syslinux-install_update -i -m, SeaBIOS boots Syslinux, but Syslinux then complains about a missing OS. Use GRUB for now.

Unbricking with Raspberry Pi

Get yourself an SOIC clip [1], and hook up the SOIC clip and jumper wires [2] [3] [4]

Install flashrom. Enable spi:

# modprobe spi_bcm2708
# modprobe spidev

Backup ROM:

flashrom -r backup-rom.bin -VVV -p linux_spi:dev=/dev/spidev0.0

Flash the new ROM:

flashrom -w new-rom.bin -VVV -p linux_spi:dev/dev/spidev0.0

See [5] for BeagleBone instructions.

See also