Chromebook Pixel 2

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

This page details installing Arch Linux on the Google Chromebook Pixel (2015). It is commonly referred to as the Chromebook Pixel 2, sometimes referred to by its codename Samus, and sometimes referred to, somewhat erroneously, as the Chromebook Pixel LS.

Also see the Arch Linux forum thread, Laptop Issues » Google Chromebook Pixel 2.

Installation

Note: USB 3.0 may cause issues. Make sure that the installation media utilizes USB 2.0.

First, enable developer mode.
Then, use the superuser shell in order to enable SeaBIOS. Don't worry about the Boot to SeaBIOS by default section since the Chromebook Pixel (2015) isn't believed to have that issue.
Finally, proceed with installing Arch Linux but be aware of additional notes below, e.g. on Grub.

Grub

It will not display the menu by default. GRUB_GFXMODE is set to auto. Grub does not detect the correct video mode. Using vbeinfo, on the grub command line, it's detected at 1280x850x16. The options to display the menu are to either turn off GRUB_GFXMODE or set the correct display. In /etc/default/grub either,

GRUB_TERMINAL_OUTPUT=console

or,

GRUB_GFXMODE=1280x850x16

and then run

grub-mkconfig -o /boot/grub/grub.cfg

to update the config.

If you forget to do this you can boot off the installation media again mount your disks and arch-chroot in.

Dual Booting Chrome OS and Arch Linux

See Install Arch Linux in addition to Chrome OS.

Touchpad, touchscreen and audio

(Vanilla) Linux 4.9 (Testing)

Touchpad, touchscreen, and audio are all working in the upstream 4.9 kernel.

The linux-samus README details how to unmute speakers but you may need to change the card in the commands, i.e. -c 0. You can get the card ID by doing aplay -l | grep bdw-rt5677 | sed -E 's/card ([0-9]):.*/\1/'.

(Samus) Linux 4.9 (AUR)

Install the linux-samus4AUR package. The installed boot loader needs to be configured so that it is possible to boot the linux-samus4AUR image. See [1] for more information (i.e. audio and microphone configuration).

According to Intel graphics if the linux-samus4 kernel has a blank screen during boot, then try adding i915 to MODULES in /etc/mkinitcpio.conf. Finally, run mkinitcpio -p linux-samus4 to regenerate the image.

Note:
  • Make sure that /boot is mounted when mkinitcpio -p linux-samus4 is executed, otherwise on reboot the boot partition will be mounted over the new image.

Backlight

The screen backlight can be controlled via /sys/class/backlight/intel_backlight/; see the brightness script from linux-samus4AUR.

The keyboard backlight can be controlled via /sys/class/leds/chromeos::kbd_backlight/; see the keyboard script from linux-samus4AUR.

Keyboard Bindings

xkeyboard-config 2.16-1 added a chromebook model that enables the Chrome OS style functions for the function keys. You can, for example, set this using localectl set-x11-keymap us chromebook. See the chromebook definition in /usr/share/X11/xkb/symbols/inet for the full mappings.

The search button acts as a Super_L key, which may be undesirable for keyboard layouts that make good use of this position. Using xmodmap, you can rebind this to whatever you would like. Example using Tab for a keyboard layout with six layers:

$ xmodmap -e "keycode 133 = Tab Tab Tab Tab Tab Tab"

Add this to your .xinitrc to load at login.

Unresolved Issues

  • xkeyboard-config provides a chromebook model which can be specified, for example, with localectl set-x11-keymap us chromebook but when using GNOME on Wayland the model is not recognized. The media keys still behave as function keys and setxkbmap -print -verbose 10 doesn't show the chromebook model being used.
  • Occasional lockup on booting into GDM using Wayland 1.12.0-1, GDM 3.22.1-1, and linux 4.9-1.
  • It would be nice if touchscreen behaved more like the touchpad so that the touchscreen could be used for scrolling.
  • Touchpad occasionally doesn't work after waking from sleep using linux 4.9-1+. If this happens, reloading the touchpad driver via sudo modprobe -r atmel_mxt_ts && sudo modprobe atmel_mxt_ts usually restores touchpad functionality.

External Links

Chromium OS Developer Information for Chromebook Pixel (2015)