Skip to content

[RM2 1/3] Add model-aware core surface support - #2

Open
jimmystridh wants to merge 2 commits into
MaximeRivest:mainfrom
jimmystridh:pr/rm2-core
Open

jimmystridh wants to merge 2 commits into
MaximeRivest:mainfrom
jimmystridh:pr/rm2-core

Conversation

@jimmystridh

Copy link
Copy Markdown

What changed

  • add a canonical quill_surface API with model, capability, format, geometry, and pen-orientation metadata
  • support the reMarkable 2 ARMv7/Qt ABI, including the 32-bit external-buffer QImage constructor aliases
  • validate vendor framebuffer layout before exposing it and support RGB32 and RGB16/RGB565 monochrome surfaces
  • add an RM2 SDK build target and portable core/device probes while retaining Paper Pro compatibility
  • strengthen clean-room, ABI, and release checks

Why

Quill's original proof of concept assumes the Paper Pro's AArch64 ABI, RGB32 surface, and private Qt constructor signature. The reMarkable 2 exposes the same high-level vendor framebuffer interface, but uses ARMv7 hard-float and a 32-bit stride ABI. This establishes the model-aware core boundary before porting interactive demos.

Impact

QUILL_SDK=/path/to/rm2-sdk ./build.sh rm2 builds libquill.so and the device probes for RM2. Interactive RM2 demos are intentionally left to the next PR in the stack.

Validation

  • macOS sanitizer-backed host tests
  • release and redistribution checks
  • clean RM2 SDK cross-build producing ARM EABI5 hard-float artifacts
  • verified 32-bit QImage C1/C2 aliases and additive surface/capability exports

Series

This is 1 of 3. The following PRs add the portable demos and crash-safe panel lifecycle. The focused fork-local review is jimmystridh/quill#1.

@jimmystridh
jimmystridh marked this pull request as ready for review August 20, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant