Chromebook Pixel 2
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.
Contents
Installation
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.
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.
External Links
Chromium OS Developer Information for Chromebook Pixel (2015)