Files
chatter/README.md
Andy Kopra 5f21d9099c Initial commit: Chatter — assistive-writing app for reMarkable Paper Pro Move
Direct-framebuffer ink pipeline (stock-quality strokes), finger-wipe erase,
growable scrolling canvas with color-ghost cleanup, bidirectional toggle with a
persistent 4-finger return launcher, instant button feedback. Includes prebuilt
aarch64 binaries (dist/), build/deploy/install scripts, a user guide, and a
complete technical reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 18:53:31 +02:00

5.5 KiB

Chatter

A minimal, purpose-built writing interface for the reMarkable Paper Pro Move (model RM03A), used as an assistive-speech device: the user writes, her conversation partner reads. Chatter augments the stock reMarkable software; it does not replace it.

Repository layout

dist/     Prebuilt tablet binaries (ready to install — see Quick install)
src/      C++ sources (ink engine, framebuffer capture, pen reader, …)
qml/      Qt Quick UI (the static Back/Clear bar + touch handling)
tools/    Standalone helpers (the return-to-Chatter launcher, probes)
scripts/  Build, deploy, and install scripts
doc/      Documentation (the technical reference has a full document map)

Quick install (prebuilt binary — no build needed)

For installing/testing on a tablet, you do not need to build anything. The repo ships ready-to-run aarch64 binaries in dist/ (dist/chatter, dist/chatter-launcher). You just need SSH access to the tablet.

1. One-time device setup

On the tablet (this factory-resets it — back up / sync first):

  1. Enable developer mode: Hamburger menu → Settings → Software → Advanced → Developer mode → Accept. (Details: doc/developer_mode_screen.md.)
  2. Reconnect wifi (the reset wipes it).
  3. Get the root credentials: Settings → Help → Copyright and licenses → under GPLv3 Compliance (root username, password, and the device IPs).
  4. Enable SSH over wifi (off by default): connect over USB (10.11.99.1), SSH in, run rm-ssh-over-wlan on.
  5. Add your workstation's SSH public key to the tablet's /home/root/.ssh/authorized_keys.

2. Point the chatter SSH alias at the tablet

In your ~/.ssh/config:

Host chatter
    HostName 192.168.x.x          # the tablet's wifi IP (or 10.11.99.1 over USB)
    User root
    IdentityFile ~/.ssh/id_ed25519

The tablet's wifi IP can change (DHCP), and it drops wifi when asleep. If ssh chatter stops connecting, wake the tablet and re-check the IP on the same Copyright and licenses → GPLv3 Compliance screen (a DHCP reservation on your router avoids this).

3. Install

scripts/deploy-and-run.sh      # copies dist/chatter and launches it on the panel
scripts/install-launcher.sh    # installs the persistent 4-finger return launcher

scripts/restore-xochitl.sh returns to the standard reMarkable GUI at any time.

The tablet's actual root password / IPs are not in this repo (they live in the gitignored doc/tablet_access.md) — get them from Andreas.


Building from source

Only needed if you're changing the code. Chatter is a Qt 6 app cross-compiled to the tablet's aarch64 CPU; you build on a host and copy the binary over.

Prerequisites

  1. A Linux host (the reMarkable SDK is a Yocto toolchain — Linux only).
  2. The reMarkable "Chiappa" SDK (cross-compiler + Qt 6.8.2 sysroot, ~486 MB), from developer.remarkable.com. Install it, e.g.:
    ./remarkable-…-chiappa-…-toolchain.sh -d ~/external/remarkable-sdk/chiappa-3.27.0.97
    
    The confirmed x86_64-host build is: https://storage.googleapis.com/remarkable-codex-toolchain/3.27.0.97/chiappa/remarkable-production-image-5.7.119-chiappa-public-x86_64-toolchain.sh An aarch64-host variant exists at the same path with x86_64aarch64 (confirm the exact link on developer.remarkable.com).

Build & deploy

CHATTER_SDK=/path/to/chiappa-sdk scripts/build.sh   # -> build/chatter + tools/chatter-launcher
scripts/deploy-and-run.sh                            # prefers build/chatter when present
scripts/install-launcher.sh

Building from macOS (Linux container)

There is no macOS build of the reMarkable SDK, so build inside a Linux container. The cross-compiled output targets the tablet either way; only the host running the SDK must be Linux.

  1. Install a container runtime — OrbStack or Docker Desktop.
  2. Start a Linux container matching your Mac's CPU and mount the repo:
    • Apple Silicon Mac: an arm64 image (runs natively, no emulation):
      docker run -it --platform linux/arm64 -v "$PWD":/work ubuntu:24.04
      
      Inside it, install the aarch64-host Chiappa SDK.
    • Intel Mac: an x86_64 image + the x86_64 SDK.
  3. In the container, install what the SDK/build need (apt-get update && apt-get install -y build-essential cmake file which), run the SDK self-extractor, then cd /work && CHATTER_SDK=… scripts/build.sh.
  4. Deploy from the container (or from the Mac, if SSH to the tablet is set up there): scripts/deploy-and-run.sh build/chatter.

This container route is the standard reMarkable cross-build approach but has not been verified end-to-end here — if you hit a missing-package error in the container, install that package and continue.


Status

Working on hardware: stock-quality ink matching the selected pen, finger-wipe erase, whole-page Clear, stylus eraser, bidirectional toggle with a persistent return launcher, and vertical scrolling on a growable canvas. Open items (Save, horizontal scroll/zoom, field tuning) are in the technical reference §10.