This process can be used to get Fedora installed on your Chromebook. This process will destroy your data so make sure you have backups of anything you need. When you're done ChromeOS will not be bootable and your data will be wiped. See the notes below for how to adapt them for other distrbutions.
What works and doesn't work:
Component | Status |
---|---|
Ambient Light Sensor | Mostly Working Issue |
Audio | Working |
Brightness | Working |
Bluetooth | Working |
Camera | Working |
Keyboard | Working |
Orientation / Tablet Mode | Working |
Suspend | Working |
Touchpad | Working |
Touchscreen | Working |
Wireless | Working |
Google Pixelbook (2017) The steps below will wipe your data and account settings.
A second computer or a USB A to USB C adapter so you can plug the other end into the Pixelbook itself
A willingness to patiently troubleshoot and diagnose issues. This is an advanced task and yields imperfect results. Many desktop environments, display managers, and configurations have not been tested fully, if at all, and may require additional work to make function. Most of the packages, scripts, and configs provided here are workarounds to known issues for which there are currently no proper fix or configuration.
You should know how to perform these tasks or be ready to google them for troubleshooting purposes if something goes wrong:
These steps will wipe your data and account settings. Do not proceed if you need data on your Chromebook.
ESC+Refresh+Power
on the PixelbookCTRL-D
If you followed the instructions above you should be all set.
If you skipped the instructions above because coreboot was already installed please ensure it is up to date. At least one trace in dmesg was resolved by a firmware update.
You may also encounter a bug that causes slow boots and hangs on shutdown if running coreboot versions prior to 4.16, which contains this fix.
Once fedora is installed you may make use of the ansible playbook provided for configuration or continue following the instructions in this file.
sudo dnf -y copr enable jmontleon/pixelbook
sudo dnf -y update
By default audio will not work at all, but by copying topology and firmware files from a recovery image the speakers will work. With some additional configuration the microphone, headphone jack, and possibly other aspects work as well.
unzip chromeos_13904.55.0_eve_recovery_stable-channel_mp-v2.bin.zip
sudo kpartx -av chromeos_13904.55.0_eve_recovery_stable-channel_mp-v2.bin
sudo mount -o ro /dev/mapper/loop0p3 /mnt
sudo cp /mnt/lib/firmware/9d71-GOOGLE-EVEMAX-0-tplg.bin /lib/firmware/
sudo cp /mnt/lib/firmware/dsp_lib_dsm_core_spt_release.bin /lib/firmware/
sudo cp /mnt/lib/firmware/intel/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin /lib/firmware/intel
sudo mkdir -p /opt/google/dsm/
sudo cp /mnt/opt/google/dsm/dsmparam.bin /opt/google/dsm/dsmparam.bin
sudo dnf -y install pixelbook-alsa-ucm pixelbook-wireplumber pixelbook-scripts
systemctl --user --now enable pixelbook-acpi
sudo dnf install pixelbook-udev && sudo dnf -y update
, if you haven't already./etc/modprobe.d/i915.conf
with one line: options i915 enable_dpcd_backlight=1
sudo dracut -f
sudo dnf -y install pixelbook-udev
, if you haven't already.sudo dnf -y install pixelbook-scripts
sudo usermod -aG input $USER
/usr/bin/pixelbook-keyboard-backlight
when you press ctrl+space
.sudo dnf -y install pixelbook-udev pixelbook-scripts
, if you haven't already.sudo dnf -y update
, if you haven't already.event=button/power.*
action=/etc/acpi/actions/power.sh
sudo systemctl --now enable acpid
systemctl --user --now enable pixelbook-display-orientation
systemctl --user --now enable pixelbook-acpi
will listen to tablet mode and audio jack related events and act accordinglyA frequent complaint is that the touchpad does not work after reboot. If you encounter this you can install the pixelbook-touchpad-service as a workaround. This is a service that unloads and loads two kernel modules.
sudo dnf -y install pixelbook-touchpad-service
sudo systemctl enable --now pixelbook-touchpad
If you enable Tap to Click in Gnome or Xfce it will also enable Tap to Drag. To disable Tap to Drag you can do one of the following.
gsettings set org.gnome.desktop.peripherals.touchpad tap-and-drag false
sudo dnf -y install pixelbook-touchpad-tweak
sudo dnf -y install pixelbook-scripts
, if you haven't already.sudo usermod -aG input $USER
, if you haven't alreadysudo usermod -aG tty $USER
systemctl --user --now enable pixelbook-touchscreen-click
Watching journalctl you'll note lots of logging about AER corrections. The pixelbook-aer package contains a workaround for this.
sudo dnf -y install pixelbook-aer
sudo systemctl enable --now pixelbook-aer
A lot of common software is not available in Fedora, such as nvidia drivers and vlc. Fortunately a plethora of software is available from RPM Fusion.
When rebooting users have observed sound continuing to fail and the mouse not working. If this happens, the problem is often remedied by rebooting via the Power+Refresh button or holding down the the power button until the system powers off and then using it to power on the system again. The touchpad section above contains a service that will mask the problem.
5.16 introduced fixes to the display backlight.
Audio has been a particularly problematic area at times. Make sure you're not using a known broken kernel.
rt5514 i2c-10EC5514:00: Device with ID register e0220042 is not rt5514
appearing in dmesg and audio failing to work. The cause is unknown, but restoring ChromeOS and Reflashing the MrChromebox firmware appeared to resolve the issue.Issues are welcome if you think you found something Pixelbook specific. Full logs, detailed explanations of steps taken, configuration performed, etc. are important. It is impossible to provide help with comments that simply state things aren't working as expected.
For the most part nothing in this repo is distribution specific other than the availability of packages to simplify the install process. The primary adjustments you will need to be concerned about are listed below.
If you would like to provide these packages in an AUR, PPA, or similar repo for other distributions for yourself and others please let me know and I will add them to the instructions.