pixelbook 2017 (eve) 安装 archlinux 避坑指北

我又不死悔改,整了两台新 chromebook 其中一台就是本文中的 Google pixelbook 2017 ,如果不是因为从咸鱼上收的二手机成色很旧的原因,这玩意某种意义上真的可以跟macbook媲美(贫穷的我只在 apple store摸过mbp),很轻很薄,打开的手感,关闭屏幕的阻尼都恰到好处,可惜,它是没用的chromebook。


如果你已经刷好了 uefi 装上 arch 请跳到本文最后阅读

要刷系统首先要解除写保护(wp) pixelbook是cr50设备,要么拆机断开电池,要么使用特制的cr50调试线,考虑到过于轻薄加上很难拆,我花了¥85从咸鱼上购入了一根 。

大概长这样

总之接下来是CCD cr50 调试线的使用教程

具体使用方法可以看mr chromebook的wiki ,chromebook进开发者模式,进 shell 用脚本确认是否 有写保护

cd ~ 
curl -L -O http://mrchromebox.tech/firmware-util.sh 
sudo bash firmware-util.sh
注意:未解除wp的会显示成红色

执行以下命令

sudo gsctool -a -I
大概会长这样(没解锁
sudo gsctool -a -o
然后每次提示按pp的时候快速连点电源键,然后差不多6次左右,chromebook会出厂(甚至还关掉了开发者模式

然后重新进入开发者模式,连接调试线

ls /dev/ttyUSB*
出现ttyUSB0、ttyUSB1 和 ttyUSB2 说明正确连接

注意所有需要su的操作被臭google 放到ctrl+alt+f2的控制台里去了,此教程部分过期。

sudo su - 

echo "wp false" > /dev/ttyUSB0

echo "wp false atboot" > /dev/ttyUSB0

echo "ccd reset factory" > /dev/ttyUSB0

gsctool -a -I


#一次复制粘贴一行
成功以后是这样的

crossystem wpsw_cur

确认返回值为 0 后 手动重启


关于arch 的指北

接下来的刷uefi固件的教程可以参考我之前写的那些,不过刷之前,为了能在linux下正常驱动pixelbook的硬件,我们需要提取一些东西。参考

sudo su cp出来到downloads里就行

/lib/firmwire 和/opt/google 里的全部 (事后再提取的话会很麻烦,chromeos镜像不能正常挂载为可读文件,步骤很复杂(关键是我记不得了)

当然你也可以用我提好的现成固件(

然后就可以着手准备刷uefi了

刷uefi脚本里还有一个 降级驱动板的选项(仅在chromiumos下能正常降级/刷入windows必须降级


arch下的屏幕亮度调节

使用最新内核/较新的内核都能成功驱动(pixelbook内置屏幕是edp控制亮度的,旧内核有bug)

arch下的音频问题

最新内核 (6.0)不知道为什么认不到pixelbook的声卡

我推荐用 downgrade 降到linux 5.19.7

不过就算是降级到旧内核 sudo aplay -l 能认到声卡了,也是不能正常响的

参考,需要复制固件到对应文件夹(固件在上面有我提取出来的链接):

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

重启后应该就能听到了

然后你会发现扬声器是耳机而且会有爆裂音(是 pulse audio 的bug 需要改采样率到48000)参考 sudo vim /etc/pulse/daemon.conf

然后这把默认采样率改成48000就行

default-sample-rate = 48000
alternate-sample-rate = 48000

pulseaudio -k 重启 pulseaudio,如果你发现音频开一会就死建议把pulseaudio的所有包装上尤其是 pulseaudio-alsa

ARCH上的触控板问题

触控板经常开机后无法使用,建议开机时手放在触控板上转转,如果不行试试看用chromium OS的 live cd (比如fydeos)然后用chromebox的脚本,降级触控板固件,或许会有用。

另外键盘映射咨询过hamiki大佬,他的 pixelslate 是用xmod map映射,正在研究中,日后更新

看了半小时arch wiki 没看懂怎么找那个assitant key的对应键位,索性放弃治疗,直接google答案,一顿乱抄之后都以外的能正常使用了。

1.首先搞到正确的键盘布局 参考

sudo vim /lib/udev/hwdb.d/61-eve-keyboard.hwdb

2.重新载入布局 参考

sudo systemd-hwdb update

sudo udevadm trigger

3.映射正确按键 参考

xmodmap -e "keycode 133 = Caps_Lock"

xmodmap -e "keycode 134 = Super_L"

4. 开机自动映射正确键位

vim ~/bin/xmodmap.sh

#!/bin/bash
xmodmap -e "keycode 133 = Caps_Lock"
xmodmap -e "keycode 134 = Super_L"

sudo vim ~/.config/autostart/xmodmap.desktop

`

[Desktop Entry]
Name=Xmodmap
Comment=xmodmap
Exec=~/bin/xmodmap.sh
Icon=application-default-icon
X-GNOME-Autostart-enabled=true
Type=Application

注意脚本文件请设置可执行权限

键盘背光

下载 脚本

Chrome OS上用双拼

不现实而且很折腾

建议放弃这个念头

终于有人做了好用的双拼输入!

https://chrome.google.com/webstore/detail/%E5%8F%8C%E6%8B%BC/enmcjlgogceppnhfkaimbjlcmcnmihbo

目前只有两种可行方式能在chromeos上还算正常的打双拼。

  1.使用云端输入法

 缺陷:只能在chrome里使用,且只能在线使用,受限于网络质量,网速不佳时延迟巨大,体验较差。

  2.平板模式下使用(安卓输入法)gboard里的双拼

 缺陷:只能在平板模式下使用,切换回桌面模式(即外接触摸板/鼠标)会自动移除,必须再次进入平板模式在设置里重新激活输入法。

*方法2可以通过 chrome://flags 设置屏幕键盘以在桌面模式下使用,但是安卓输入法的ui还处于平板模式,且无法通过物理键盘在chrome里使用安卓输入法,而且你会发现没法通过数字键选字。

​ 结论:

推荐双拼使用者入手 chromebook 时尽量挑选纯平板类,或者学习五笔(


以下是折腾成果

 Gboard 是做了外接键盘支持的,为什么到了 chrome os 就没了呢?

  猜测可能性,在 chrome os 里能使用的时候始终是处于无外接键盘的平板模式,外接键盘时,gboard 会进入桌面模式,同时 chrome os也会进入桌面模式并移除 android 输入法。

  遂接上外接键盘反复切换输入法。

  终于系统出了bug,给我调出了桌面模式的Gboard(如图)

图中是平板模式的布局,但混进了chromeos桌面模式的窗口(而且还伴有ui错乱的现象,底栏卡住了docker栏)

Chrome OS 进桌面模式是依据有无外接鼠标判断的外接键盘的话,整个系统依旧处于平板模式(系统ui没有任何变化),但是系统自带的 pinyin 或者五笔却已近变成了桌面模式,然后通过来回切换输入法(ctrl+空格)有概率可以激活安卓输入法的桌面模式,此时输入法可以正常选字。(

​ 外接鼠标会强制进入桌面模式,输入法栏已经显示没有安卓输入法了,但其实只要不切换出去,也能正常使用(进chrome浏览器有可能立即移除android输入法)

但是问题来了,它还是不能在 chrome 里正常使用(相见*1)

(推测) Google:没法解决chrome比安卓容器里的输入法比更先占用键盘的问题啊,算了把这个功能给他们锁了,不给用户用就完事了,继续咕咕咕

  于是乎就变成了桌面模式下不给安卓输入法


放上大概的操作方法

1.处于平板模式选中了 gboard,打开一个正常的 android app 点进输入框。

2.连接键盘 打字未成功(表现为平板模式的ui)。

3.ctrl+空格切换几次,再次测试有无成功,未成功,断开蓝牙重连(存疑?不一定需要),再继续ctrl+空格来回切换。

4.发现ui布局错乱,窗口顶部有关闭键,基本算成功了。


 Google 什么时候会给chrome os做上系统自带的双拼,这点我已经几乎不抱希望了。

 给 chrome os 完善安卓输入法的支持,从而顺带用上双拼的可能性反而比较大,英文使用者有语法纠正输入法(比如grammarly)的使用需求,可能会促使 Google 继续推进 Android 输入法在 chrome os上的适配工作。

所以要想在 chromebook 上舒适的用上双拼大概只能等了。

关于 Chrome OS 和 Chromebook

关于 Chrome OS 和 Chromebook

很多人可能第一次听说这个新鲜玩意,但实际上这东西 11 年就已经出来了,最早的时候是这个样子的

oldcros50

真的只有个浏览器,所有的应用都是用 web 拼的。

但是16年的时候 google 给它加上了 android 容器使其可以兼容 android 的生态,一下子可用性就高了起来。
现在最新版本的 Chrome OS 已经到了 90。
newcros90


ui 改了又改,动画加了又加,bug 修了又修。
现阶段的 Chrome OS 已经算是独立成家的桌面级操作系统了,起码轻度日用不成什么问题。
但是的作为一个新鲜事物功能还是缺失太多。

首先是视频播放能力
作为一个 生产力工具最重要的还是要能看视频娱乐,播放流媒体的话非常优秀,毕竟是完整版的桌面级浏览器,什么腾讯爱奇艺哔哩哔哩都能用,还丝滑流畅同时也能正常用画中画,但问题不在线上播放,而是本地解码。
大部分的视频编码都没法本地硬解!
crosdecodelist
Media Codec Info截图

Chrome OS 作为云端操作系统一切的设计都是为了在线服务,自然不会想到 "都1202年了怎么还有人bt下视频本地解码观看的"这种事情的。曾经天真的我认为,既然 Chrome OS 自己没做硬解,那我用linux硬解总可以吧,但实际上根本不行,还是一样卡死。

应用

我开头说过,Chrome OS 是可以正常使用 android app 的,但到底怎么个正常程度呢?
无论是在平板模式下还是在桌面模式下,都只有最近一次使用的 android app 才会保持运行,其它的会被暂停后台以省内存,平板模式几乎跟 android 平板没什么区别,桌面模式的应用则是以窗口模式对叠起来,并且可以自适应窗口(可以随意调整,但也会导致一些蜜汁布局错位)
dstest
这里的我知道了被公告界面挡住了(因为我在app运行的时候改变了窗口大小)
不过就只有android app 可用的话 我干嘛不去整正常的安卓平板,这么折腾干嘛(

当然是有的那就是 linux 容器。

Chrome OS 最大的两个特点一个就是自带全功能 chrome ,另一个就是能兼容 linux app。
首先你得去设置里找开发者选项,里面有个linux beta(配了一只可爱的企鹅 logo)。
linuxcros

自带的容器是 Debian ,我曾把它换成过 Arch Linux 但是重启后容器就彻底死了(原因不明),Debian也能用啦。
Chrome OS 可以通过 .deb包直接在系统界面中安装 linux 软件,甚至还会给你整个安装进度条让你安心。
mccros
扭曲的给 pixel slate 塞上了java 版mc(由于机子性能太差,已经记不清我当时玩的时候帧率超没超过10fps了(

但是(我又开始但是了),它这个 beta 是真的 beta,你没法在 linux 应用里用 Chrome OS 的输入法(如果再在 linux 容器下装个 fcitx5 倒是可以正常用 linux 的输入法。
而且高分屏下触控会失效(可能是定位不准确)


对了说了这么久我居然完全没提到 Chromebook

chromebook 其实就是预装了 Chromeos 的(廉价)笔记本,通常性能配置都不是很高,其用途为配备给学校或者轻度办公者。
到了国内基本就是洋垃圾了,便宜能用(需要科学技术手段),垃圾佬之选。
当然你也可以刷掉定制的 bios 去装 linux/windows(虽然通常驱动不全或出现点小毛病,但大部分社区里都应该有解决方式(猜测)。
当然,我是捡来看看 Google 又造了什么新轮子,以满足我的好奇心癖好。如果真的需要轻度大屏娱乐设备,还是推荐 ipad。
我已经被 Chrome OS 折腾很久了,从67一直观察到90,总的来说 Google 确实在全力推它的这个桌面级操作系统,但是欠缺的方面太多,我都快懒的举例了(比如没有系统级支持的webdav,双拼,日历邮件同步),这些功能 linux 社区都很完善,但 Chrome OS 啥都没有,它想要真正一个能当主力的操作系统,恐怕还要再等个10年(今年 Chrome OS 刚10周年)。

那剩下的以后再写了/