Skip to content

Releases: boangs/rmkit

v1.2.2 — 修 Paper Pro 装完 crash loop (A53 指令集)

Choose a tag to compare

@boangs boangs released this 09 Oct 00:26

修 Paper Pro(ferrari)装完 xochitl 崩溃回退的问题。Paper Pro 用户请升级,Paper Pro Move 不受影响。

问题

v1.2.1 装到 Paper Pro 上,六个阶段全部通过,但 xochitl 起来就崩,反复几次后安装器按设计回退到出厂启动(设备没有损坏)。日志里是:

xochitl.service: Main process exited, code=dumped, status=4/ILL

status=4/ILL 是 SIGILL(非法指令)。

原因

两款 aarch64 设备的 CPU 不一样:

机型 CPU 指令集
Paper Pro Move Cortex-A55 ARMv8.2,支持 LSE 原子指令
Paper Pro Cortex-A53 ARMv8.0,不支持 LSE

v1.2.1 发布包里两个产物是按 A55 基线编的,里面有没做运行时回退的 LSE 指令:

  • qml_inject_impl-aarch64.so 146 条 → xochitl 加载它时 SIGILL,crash loop
  • ime-server-rime-aarch64 3377 条 → 整句输入法崩(被 crash loop 盖住,一直没被注意到)

源码里的基线修复 10-04 就做了,编译脚本也有自检。但预编译二进制不进 git 仓库,打包时用的是修复之前编的产物 —— 源码的修复和发布的包脱节了。

本版改动

  • 用重新编译的产物(-mcpu=cortex-a53+crypto,libstdc++ 动态链接),A53/A55 两台通用
  • 新增发布体检 scripts/lse_scan.py:扫二进制里有没有「裸露」的 LSE 指令。判据是看指令上下文有没有 CPU 能力判断,而不是看符号名 —— strip 过的二进制符号归属不可信,按符号判会把 GCC 的 outline atomics helper 误报成问题,也会漏掉 Go runtime 里的
  • scripts/check-dist.sh 发布前本机跑,.github/workflows/release-check.yml 在 release 发布后自动复查 dist.tar.gz 和 rmkit-cn-bundle.zip 两个包(#7 的报告者走的是助手那条路,只验前者会漏)

升级

用桌面助手的:下载本页的 rmkit-assistant-* 和 rmkit-cn-bundle.zip,重新安装一次。

用 install.sh 的:它会自动从本 release 拉 dist.tar.gz。

感谢 @thelijun 在 #7 里提供的完整日志,定位全靠它。

v1.2.1 — 助手诊断与自动重连、单槽 Android 修复

Choose a tag to compare

@boangs boangs released this 12 Sep 11:23

v1.2.0 发布后一周的修复汇总,建议所有用户更新助手。

助手

  • 新增“Android 启动诊断”按钮:一键收集固件、槽位、错误计数、内核链接、启动日志,保存为文件,进不了 Android 时把它发到 Issue 即可。
  • 记住密码(存系统钥匙串)、设备重启后自动重连、下载支持代理并可取消。
  • 修复预览报错、按钮无反应(WebView 不支持 confirm)。

单槽 Android(Paper Pro Move)

  • 修复 PaperHome “原厂系统”会把设备切到另一个槽的问题。
  • Wi-Fi:进 Android 自动使用 reMarkable 里已保存的网络,不需要在 Android 里配置。
  • 微信读书秒退修复(ashmem 模块随包附带)。
  • 安装脚本两处文件名与挂载残留问题修复。

下载哪个

文件 用途
rmkit-assistant-mac.zip Mac 助手(通用二进制)。首次打开:右键 → 打开
rmkit-assistant-windows.exe Windows 助手
rmkit-cn-bundle.zip rmkit-cn 载荷包(三种机型通用)
android-rmppm-bundle.zip Android 载荷包(仅 Paper Pro Move,含 Android 系统)
android-rmppm-bundle-lite.zip Android 热修包(12MB,不含系统;已装过 Android 的设备用它“更新 Android”即可,无需重下 579MB)
rmkit-cn-v1.2.1.tar.gz 命令行安装完整包
dist.tar.gz 给 git clone 的开发者补 dist/

完整改动见 CHANGELOG.md。

v1.2.0 — rmkit 助手 + Paper Pro Move 单槽 Android

Choose a tag to compare

@boangs boangs released this 07 Sep 14:47

这一版有什么

  • rmkit 助手(Mac / Windows 桌面程序):双击打开,填 SSH 密码,点“安装”。只通过 USB 线和设备通信,没有服务器,不读笔记,每一步都有本机日志。装、更新、卸载 rmkit-cn,以及 Paper Pro Move 的 Android 都在这里完成。
  • Paper Pro Move 单槽 Android:Android 与 reMarkable 共用当前系统分区,重启进 Android、桌面点“原厂系统”回来,不占用备用分区,官方升级也不会把它冲掉。
  • reMarkable 2 整句输入 + 五笔 86:设置 → 高级 → 输入法 可切换方案。
  • 高级面板横屏跟随、小屏可滚动;物理键盘 / 虚拟键盘自动区分。
  • 显示桥适配固件 3.28。

下载哪个

文件 用途
rmkit-assistant-mac.zip Mac 助手(Intel / Apple 芯片通用)。首次打开:右键 → 打开
rmkit-assistant-windows.exe Windows 助手
rmkit-cn-bundle.zip 助手用的 rmkit-cn 载荷包(三种机型通用)
android-rmppm-bundle.zip 助手用的 Android 载荷包(仅 Paper Pro Move,含 Android 系统)
rmkit-cn-v1.2.0.tar.gz 命令行安装完整包(bash installer/install.sh)
dist.tar.gz 给 git clone 的开发者补 dist/ 预编译产物

升级提示

  • 从旧版升级直接重新安装即可,数据不受影响。
  • install.sh 修了一个会影响 Android 的问题:不再对整个 /home/root 做 chown。装过单槽 Android 的机器务必用这一版。

完整改动见 CHANGELOG.md。

v1.1.1 — Windows/WSL/Linux host 支持

Choose a tag to compare

@boangs boangs released this 22 Jun 08:55

v1.1.0 的 patch: 修 Windows / WSL / Linux 用户跑 install.sh 报 exec format error 的问题。

问题

v1.1.0 的 dist/qmd-tool 是 release 打包者 (开发机) Mac arm64 native 二进制, 非 Mac arm64 平台直接 exec 失败。

修复

dist/ 加 5 个 PC host 平台预编译 binary, install.sh 用 uname 自动选:

平台 binary
Mac M1/M2 qmd-tool-darwin-arm64
Mac Intel qmd-tool-darwin-amd64
WSL / Linux x86_64 qmd-tool-linux-amd64
Linux ARM64 host qmd-tool-linux-arm64
Windows (Git Bash / MSYS / Cygwin) qmd-tool-windows-amd64.exe

设备端 qmd-tool-aarch64 / qmd-tool-armv7 不变。

Windows 用户运行环境

  • WSL (推荐): wsl --install, 进 WSL 后跑 install.sh 即可
  • Git Bash (Git for Windows 附带): 跑 install.sh 时自动用 .exe binary
  • PowerShell / CMD: 不支持, 必须 WSL 或 Git Bash

安装

curl -fLO https://github.com/boangs/rmkit/releases/latest/download/rmkit-cn-v1.1.1.tar.gz
tar -xzf rmkit-cn-v1.1.1.tar.gz
cd rmkit-cn-v1.1.1
bash installer/install.sh

顺便包含的社区贡献

本 release tarball 自动同步了 master 最新代码, 包括 @guangyu-he 的两个 PR:

  • #2: diagnose.sh grep 过宽误报
  • #3: compiled-qmd cache 用 glob 自动捡 dist/*.qmd

Release Assets

  • rmkit-cn-v1.1.1.tar.gz (78MB) — 完整安装包
  • dist.tar.gz (35MB) — 仅编译产物 (含 5 个 PC host binary)

升级

从任何旧版本升级: 直接跑新 install.sh, 6 阶段防砖部署会原子替换文件。

v1.1.0 — 拼音 IME 优化 + 物理键盘体验

Choose a tag to compare

@boangs boangs released this 01 Jun 13:29

基于 v1.0.0 的拼音 IME 系统性优化,围绕物理键盘 (蓝牙 / 2.4G / Type Folio) 打中文的体感做了三块改造。

安装(沿用 v1.0.0 流程)

curl -fLO https://github.com/boangs/rmkit/releases/latest/download/rmkit-cn-v1.1.0.tar.gz
tar -xzf rmkit-cn-v1.1.0.tar.gz
cd rmkit-cn-v1.1.0
bash installer/install.sh

OTA 后或者从旧版升级也是同一条命令 (install.sh 6 阶段防砖部署, 0 风险)。

本版核心改动

1. long-poll 0-polling 字符流

旧版 charPoller 50ms 固定 polling, 中文模式下 xochitl 持续 30-60% CPU, 每字符平均 25ms 等待。新版改成事件驱动:

  • ime_hook 写 char_queue 后通过 unix datagram socket 异步通知 ime-server
  • ime-server 新增 /pop-all-chars-blocking long-poll endpoint, 字符到达立刻返回
  • QML chain mode: xhr 响应回调里递归发下次, 形成持续 long-poll

字符拉取延迟 25ms → ~5ms; 空闲 CPU 接近 0%。

2. 候选框 e-ink 友好渲染

物理键盘场景候选框出现在文档主体区 (e-ink 慢 waveform), 每次刷新视觉明显。优化:

  • 候选框从深色块 (#222 + 白字) 改成 白底 + 1px 黑边 + 黑字 (像素变化最少)
  • 候选词 200ms debounce: 连续按键只在最后停手后查一次, 避免每按一字母都重绘
  • debounce 期间保留旧候选, 新结果替换而非"满→空→满"抖动
  • 无候选时整框隐藏, 不显示一条 16px 高的细线

3. 物理键盘快捷键

按键 buffer 非空 buffer 空
1–9 选当前页第 N 个候选 数字直接输入
空格 commit 第一候选 普通空格
回车 buffer 原文上屏 (英文模式) 普通回车
, 上一页候选 , (全角逗号)
. 下一页候选 。 (句号)
? ! : ; ( ) < > \ commit 第一 + 中文标点 直接中文标点

Release Assets

  • rmkit-cn-v1.1.0.tar.gz (77MB) — 完整安装包: 源码 + 编译产物 + vendor 依赖
  • dist.tar.gz (34MB) — 仅编译产物, 给 git clone 用户

兼容性

  • reMarkable 2 (rm2, armv7l)
  • reMarkable Paper Pro (RMPP, aarch64)
  • reMarkable Paper Pro Move (RMPPM, aarch64)

升级注意

从 v1.0.0 升级: 直接跑新 install.sh, 6 阶段防砖部署会原子替换 ime-server / ime_hook.so / pinyin_interceptor.qmd 三个核心文件, 无需手动处理。

v1.0.0 — 首个公开发布版

Choose a tag to compare

@boangs boangs released this 24 May 02:06

首个公开发布版,包含 reMarkable rm2 / RMPP / RMPPM 三平台支持。

安装(推荐:下载完整包,无需 git / Go)

curl -fLO https://github.com/boangs/rmkit/releases/latest/download/rmkit-cn-v1.0.0.tar.gz
tar -xzf rmkit-cn-v1.0.0.tar.gz
cd rmkit-cn-v1.0.0
bash installer/install.sh

USB-C 连上设备后跑上面 4 行就可以了。完整包包含 install.sh + 所有架构的预编译产物 + xovi 依赖。

另一种安装方式(开发者:git clone)

git clone https://github.com/boangs/rmkit
cd rmkit
bash installer/install.sh

dist/ 不在 git 里, install.sh 会自动从本 Release 下载 dist.tar.gz 补齐编译产物。

Release Assets

  • rmkit-cn-v1.0.0.tar.gz (77MB) — 完整安装包:源码 + 编译产物 + vendor 依赖 + install.sh
  • dist.tar.gz (34MB) — 仅编译产物,给 git clone 用户的自动下载目标

功能

  • 拼音输入法 (基于 gaboolic/rime-frost 雾凇词库)
  • 选中文字 → AI 按钮 (润色/翻译/总结/问答)
  • 选中手写笔迹 → AI 按钮 (识别+笔迹模拟回写)
  • Settings → 高级面板 (字体/壁纸/AI 配置)
  • 中文系统语言

AI 功能需要自行配置 API key (扫设备 Settings → 高级 → 二维码 → 网页填入)。Release 产物中不含任何 API key。

兼容性

  • reMarkable 2 (rm2, armv7l)
  • reMarkable Paper Pro (RMPP, aarch64)
  • reMarkable Paper Pro Move (RMPPM, aarch64)

详见 README 和 NOTICE。

v0.1.0 — 工程化基线

Choose a tag to compare

@boangs boangs released this 01 May 08:10

首个工程化版本. 把过去半年散落在多次提交里的功能整合, 把口头/memory 里的经验固化成项目级文档和 CI 校验.

主要内容

中文化 / 拼音 IME / AI

  • 系统语言菜单注入 "中文 (简体)" + 完整翻译
  • xochitl 输入法 hook (intercept/) + Go pinyin daemon (rime-frost FST 词库)
  • 浮动候选栏, 零宽空格哨兵处理退格
  • 笔记编辑器 AI 按钮 + 高级面板 AI 配置 (OpenAI 兼容, 多端点)

上传服务器 (Go 重写)

  • 截图 / 字体 / AI 配置 / 版本推送 API
  • 三机型交叉编译 (aarch64 + armv7)
  • web UI (扫码上传 + AI 配置)

高级面板

  • 字体管理 / 截图管理 / AI 配置入口
  • 华容道小游戏

文件热导入

  • librarian + xovi-message-broker 集成
  • 不重启 xochitl 的热加载 importDocument

工程化

  • 严格目录分层: src / assets / vendor / tools / dist
  • README + CONTRIBUTING + docs/{architecture,devices,upgrade-sop}.md
  • GitHub Actions CI: shell + python + qmd hash + go 全套校验
  • installer/ 三件套: install.sh / diagnose.sh (升级前预检) / apply-and-restart.sh (带回滚监控)

设备支持

  • reMarkable 2 (rm2, armv7l)
  • reMarkable Paper Pro (rmpp-ferrari, aarch64)
  • reMarkable Paper Pro Move (rmpp-chiappa, aarch64)

完整变更日志见 CHANGELOG.md.