板子屏幕只跑一个 kiosk 页面,却养着一整套 XFCE 交互桌面。换成 kiosk 专用 X 会话后:
另关掉 9 个用不到的服务(蓝牙、ofono、VPN 套件等)。已重启验证开机自动进 kiosk,失败会降级回桌面而不是黑屏。
从平面粒子环重写成球面粒子:自转、近大远小、近亮远暗,可以用手拖着转(松手有惯性),点一下开始或打断。
刻意做得不规整——均匀分布看着像网格。半径随机、分 6 个转速组让疏密流动,粒子用柔和圆点而非硬方块。
| 版本 | renderer CPU |
|---|---|
| 旧版(60fps + 每帧渐变) | ~116% |
| 新版 | ~73% |
| 同页面不开麦(对照) | 39% |
测出一件事:画球只占约 7%,CPU 大头是音频链路和 WebRTC 回声消除——都是功能必需。继续优化 UI 没有意义。
「长内容说起来就停不下」其实是两个 bug 叠在一起:
① 没人触发。语音打断的唯一实现只在 route=asr 生效,而板子跑的是 s2s 模式,那段代码是死的。改由前端 VAD 触发(连续 60ms 超阈值即打断)。
② 触发了也停不下来。打断只取消了正在播的那段,没管在途的大脑回答——它想完照样念;上游新到的音频也照发。
| 打断后残余音频 | |
|---|---|
| 修复前 | 1,028,336 字节 |
| 修复后 | 0 字节 |
统一的 notify 入口:调用方只说「发什么、多急」,渠道适配和格式转换收在网关里。加新渠道只是多一个类,调用方一行不用改。
已通:企业微信。留好位:邮件、Bark、ntfy、Mac 横幅、短信。
--publish 可先把页面发到公网再把链接带进消息——这一页就是这么发出来的。
GPU 硬件加速修不了:硬件是 Mali-G52(Bifrost),但内核里编进去的是 mali400(Utgard 架构)驱动,版本也对不上,所以 chromium 全程软件渲染。
要修得重编内核再重刷,而板子 adb 已废、只剩 ssh,刷失败就是物理救砖。等有串口救砖通道再一起做。