A collection of scripts and other useful things to assist with running a Linux distribution natively on the Google CB001 (Codename: Link).
Here's what's working at the moment testing Ubuntu 22.04, Ubuntu MATE 22.04, Fedora 35:
- WiFi
- Bluetoothp using the command above
- Suspend/Hibernate
- Touchpad
- Display HDPI
- Display backlight
- Display touchscreen
- Sound
- Keyboard backlight
- Power Management
- Fan Control (automated)
- blacklist.sh - Script to blacklist module cros_ec_lpcs and enable Linux to interract with firmware
- chromeos_kbd - Program to control the keyboard backlight LED's
- keymaptable - Reference table of default keys useful for creating bindings and shortcuts
- A Chromebook Pixel 2013 with write protection screws removed (https://www.ifixit.com/Guide/Remove+the+Write+Protect+Screw/86362)
- Installed latest "Full ROM" firmware from MrChromebox (https://mrchromebox.tech/#fwscript)
- OS of choice installed via USB (tested only with Ubuntu Mate 22.04 LTS)
This can be done using the blacklist.sh script:
- Download file blacklist.sh
./blacklist.sh
- Reboot
Or alternatively you can blacklist the module manually (example using nano text editor):
sudo nano /etc/modprobe.d/blacklist.conf
- Add the following line to the code:
cros_ec_lpcs
- Update initramfs:
update initramfs -u
- Reboot the system
This can be done using the chromeos_kbd program (you will need sudo as this appends information to the driver located at /sys/class/leds/chromeos\:\:kbd_backlight/brightness
.
NOTE: If this driver is missing from your OS you will need to install it first
- Download file chromeos_kbd
- Copy the file to
/usr/local/bin/
- To display help run the program with parameter
sudo chromeos_kbd -h
- To set the LED to a percentage value (i.e 50%) use
sudo chromeos_kbd -s 70
- To increase or decrease the LED value by 10% use
sudo chromeos_kbd -i
andsudo chromeos_kbd -d
- To increase or decrease the LED value by x% use
sudo chromeos_kbd --increase x
andsudo chromeos_kbd --decrease x
NOTE: For some reason the driver will not accept a value <1, so 1% brightness is the minimum allowed and you cannot turn off the LED completely in this way. For a workaround which allows for values outside of the limitations (i.e. 0% to turn the LED off) you can use:
sudo pkexec bash -c 'echo -n 0 > /sys/class/leds/chromeos::kbd_backlight/brightness'
You can also edit your ~/.bashrc
to enable control of the LED with a simple function:
kb(){ sudo pkexec bash -c 'echo -n '$1' > /sys/class/leds/chromeos::kbd_backlight/brightness' }
This will allow you to open a shell and adjust the LED quickly with kb <input>
-
Ubuntu MATE 22.04 Keyboard Shortcuts and Media Keys not working (or working intermittently)
Run the following command:killall mate-settings-daemon && mate-settings-daemon
I dont know why this is happening (I suspect mate-settings-daemon and gnome-settings-daemon are interfering with eachother at login) but it can be fixed by reloading the settings-daemon and adding as a new startup entry -
No Sound from Headphones:
Runalsamixer
from terminal and use theM
key to unmute the output -
Poor Battery Performance:
Installtlp
and either reboot or runsudo tlp start
-
No Fans and High Temperature:
Installlm-sensors
and runsudo sensors-detect
. Also check that cros_ec_lpcs is properly blacklisted by runninglsmod | grep cros_ec_lpcs
(It should not show any output) -
High Fan Speed:
Firstly check output oftop
to rule out any rogue applications eating your CPU or Memory resources. Failing that it seems to be OS-specific, and depends upon X-session rendering. You can try using using an alternative compositor or playing about with the compositor settings to reduce GPU/CPU strain. It's trial and error with this one but my system is consistently cool and stable under heavy loads using the 'Marco built-in Xpresent' profile in MATE 22.04.