chromebook 双启动(linux+chromeos)——-acer cb 713 尝试修复音频的一次记录

前言

我手上这台chromebook 是acer CB-713-1w 主板代号是 nami,nami系列似乎都用了kblda7219max作为声卡解决方案,但是这玩意在linux下支持度相当差,即使用了google原始的ucm2文件也只能用alsa发声,而且强行用pulseaudio/pipewire会炸扬声器。
另外这台chromebook还有个奇怪的问题,它不能用pd快充,笔记本背面明明贴着15v==3a,但我试遍了自己所有的快充头,都只能低功率充电器。
直到某天我更新完beta版的ChromeOS 103的时候,我™hdmi output 炸了
我就又开始研究起 mr.chromebox的脚本了

cd ~
curl -L -O http://mrchromebox.tech/firmware-util.sh
sudo bash firmware-util.sh

跑完以后有个更新seabios,我之前没试过,然后就好了(
对然后就好了,bios更新到test版本,pd充电和hdmi都工作了 (不知道该说什么好了

正题

本来是想整个办法修复音频的(从去年一直研究到现在了)
结果我发现了这个项目
https://github.com/cb-linux/breath
这个项目旨在给chromebook提供完整的linux支持,但是它的实现和以往刷bios的方法不一样,它能用CB自带的引导进入其它linux系统。

于是乎,你可以原系统照用,然后tf卡塞arch(不是)


用这个东西你需要:有一台debian系的物理机(不能装在移动硬盘里),一块稍大的u盘(8G以上),正常的网络环境(能连上github),有以及基础的linux知识(大佬,怎么脚本报错了,这个curl怎么装啊)
你可以直接去看官方文档

简易步骤预览
在debian/ubuntu上

1.制作启动镜像

git clone --recurse-submodules https://github.com/cb-linux/breath && cd breath 
 FEATURES=ISO bash setup.sh gnome ubuntu

2.用制作好的镜像刻入u盘(可以在linux上用balanetcher制作启动u盘
3.(可选/nami)不拔出u盘 另外使用脚本更新系统内核

VERSION=ALT bash updatekernel.sh  #主板型号是nami的才需要执行此步骤

4.(可选)不拔出u盘,用bash expand.sh 将u盘的全部空间用做 live cd

在chromebook上

1.确认开启开发者模式(自己搜
2.进入chrome终端 按住ALT+T 输入shell 按回车,再输入sudo crossystem dev_boot_usb=1; sudo crossystem dev_boot_signed_only=0; sync 允许从usb启动 chromebook
3.chromebook插入之前制作好的u盘,开机在按空格关闭开发者模式的界面 迅速连按ctrl+u
4.在u盘系统里,先连上网络,再使用终端 输入setup-audio
6.不拔出u盘,重启,按ctrl+u,进live cd(如果运气好的话,firefox是有声音的,但是gnome系统无法控制音量(毕竟是用的apluse,这东西 gnome 不支持)
如果出现的是dummy output 说明音频没有正确启用
7(可选).装进 emmc(可以通过chrome_recovery复原)install-to-internal-storage

ps:音频问题很难解决,没几个人会用apluse的,不要强行启用pluse audio,会炸扬声器
ps2:这个breath的镜像相当于个livecd,你对它做的更改会保留,如果你直接刻到sd卡里的话,插chromebook里约等于双启动
ps3:可以通过 mr.chromebox的脚本更改seabios的启动顺序
ps4: 有问题自己去github上看issue
ps5:我返朴归真用ChromeOS了


吐槽

ps:ps
1.之前用过mr.chromebook脚本的,需要回刷bios(如果没备份,那就别想了)
2.脚本只适用于debian系,因为arch系没apt
3.FEATURES=ISO bash setup.sh cli arch 就能装arch了,但是你得手动nmcli去连wifi
4.update kernel 其实只是把内核换成了5.10.7(此内核 kblda7219max能正常工作)
5.但5.10.7 休眠不正常


后记

我又收了台二手surface go
改天出了这破chromebook

ps:psp
被 ubuntu 气到(指最小安装全靠卸载)

pixel slate 装windows?

最近看到 mi pad 5 打折,没忍住又剁手了。
有一个全新的android平板了,那我 pixel slate 就吃灰了。
不行,不能吃灰,不然就会显得我买米板是浪费钱。

问:为什么不用 chrome os?

答:因为 google evil 。

我曾今疯狂的推崇chromeos的ui和交互,但是除此之外的地方就是烂到一塌糊涂。

  • 即便硬件支持,本地视频也无法硬解(因为google没做)
  • 连不上google就提示断网
  • 卡卡卡卡卡卡卡
  • 莫名奇妙的唤醒机制(休眠放在包里,拿出来的时候已经亮到快没电了)
  • 解锁变关机(google:这不是我们问题,我们不负责)
  • 超烂的网页缓存机制,盯着白色屏幕浪费生命(网页它其实根本没在加载)
  • 等等

所以我不做人了


以下是教程部分

  • 首先你得开启开发者模式

1.按住电源键+两个音量键,待屏幕熄灭后松开

2.选择关闭操作系统验证

3.选择开发者选项-重启

4.等待重启

  • 使用mr chromebox的脚本,安装uefi固件
    1.ctrl+alt+t 开启终端
    2.复制粘贴,选安装uefi固件,然后一路确认。
    cd ~
    curl -L -O http://mrchromebox.tech/firmware-util.sh
    sudo bash firmware-util.sh

    3.等待安装结束
    4.重启
    5.然后就是普通电脑安装环节了,不再赘述

一些踩坑

  • 本来是安装的 arch linux 然后还是音量不工作,不过这次连亮度都不工作了,而且3965y的表现太烂,在linux下连图形绘制都不正常(具体可以理解为chromeos上偶尔闪过的黑块那样)
  • 3965y版本装 linux 启动内核大概会卡报错,等好长时间
  • 装windows几乎是完美的?最终仅指纹,方向传感器不工作?
  • 装windows后的屏幕驱动可以通过update自动获取和音量驱动请从reddit上搜(懒得找了)
  • 装完 windows,再更新完, 我的4+32G版还剩2G可用空间。
  • 动画效果非常流畅,再重新装回chrome也比chromeos上的好使(注:chromeos上会频繁请求google服务器,无论是否是国内网站,只要连不上 google 就立刻停止加载,还不会主动刷新,即便刷新大概率也进之前缓存的网页,屎到爆)
  • 装windows后关机插电会重启
  • 同样的,直接关机也会概率重启,原因不明
  • 触控笔工作正常(无论是linux还是windows)
  • intel uhd615的性能不足以在3000*2000的屏上玩osu保持60fps

还有别的问题的话,请发评论/邮件。


acer chromebook 713_1w 简单评测(附arch安装教学_不是)

各位,我人生中的第一笔工资就浪费在这垃圾机器上了wwwwww
购入价:¥1400
配置 i5 8250+ 8G ddr3+64G emmc +2256*1504 ips镜面屏

我当初购入这台机器时,我以为是成功捡漏到了名为spin 713的2代,但是呢,这玩意是一代的,所以莫的触摸屏,然后就毫无利用价值,扔去吃灰了。

没有触摸屏,那就不能愉快的当作安卓平板打音游了,那要这本子合用,遂抹了chromeos 装arch linux。

装arch 其实也不需要什么特别的工作,基本也是先用mr chromebox的脚本,装上uefi firmware,然后插 arch iso一路装完。


问题是装上后很多东西就有问题了,比如蓝牙,内置音频,休眠/唤醒。

蓝牙

蓝牙这个问题是最先解决的,这本子内置ac7265 wifi既然能用那蓝牙肯定没问题,但是好奇怪啊,我没法开启蓝牙。

折腾一晚上,突然脑子一抽 systemctl restart bluetooth.service ,

居然启动了(
遂 systemctl enable bluetooth.service


然后就是休眠

我先补全了该装的firmware,又试了所有可以装的内核,最后发现只有 linux-lts 休眠/唤醒是正常工作的。

也算解决了吧。

最后是音频

查了两晚上资料最后找到的有用消息

实际上到最后我也没有成功修复音频,只是能在 aplay -l 列出声卡了

这个本子用的kbl_da7219_max98357 在 linux_lts 内核上并不能工作,在 linux 和 linux_zen 上是没问题的,但其实我按照那个issue的说法,把 chromeos 的 firmware 弄出来换到arch上,并没有正常奏效,很可能是作者的发行版 alsa 过旧,还用着 ucm,而 arch 都 ucm2 了,我稍微改了下,不报错,可仍无法通过内置声卡播放音频,但能在 aplay -l 列出声卡了。最后接了个 typec dac 外置声卡,勉强算是能用。
cros!!
需要的文件先放这里,有人成功了,麻烦教教我(

额外的问题

  • 风扇狂转 -----------------------无法解决
    chromebook 使用这玩意控制自身硬件,需要折腾
  • 扭曲的键盘布局
    原本的大写键是 super ,f1-12全没有,我最爱的截屏键也没有了啊啊啊啊啊啊。
    -相机 工作十分正常?为什么啊,这东西我不需要啊。
  • 触摸板 新内核免驱,windows需要额外装驱动
  • emmc非常慢,以至于被内核当作sd卡,而高速sd卡被当成了硬盘


    折腾这破本子连续熬了三晚上夜,滚去补觉了

最新进展

安装了 pipewire-pulse 替换了pulseaudio
我发现,这玩意好像全把音频扔给hdmi了

2022-1-22

kbl/skl的chromebook似乎是采用了扭曲的双声卡策略(即intel管hdmi音频,da7219管内置音频),致使alsa拓扑变得相当复杂,如果想要正常工作,需要同时配置两者?
总之我放弃了