Add reMarkable Move (chiappa) device support#19
Open
rmeadomavic wants to merge 5 commits intoawwaiid:mainfrom
Open
Add reMarkable Move (chiappa) device support#19rmeadomavic wants to merge 5 commits intoawwaiid:mainfrom
rmeadomavic wants to merge 5 commits intoawwaiid:mainfrom
Conversation
Adds the RemarkableMove variant to DeviceModel, detected via "chiappa 1.0" in /etc/hwrevision. The Move uses the Paper Pro's DRI-based framebuffer scanning approach but with RM2-style 16-bit grayscale pixels at 960x1696 (954 physical + 6px alignment padding). Key parameters discovered through framebuffer probing: - Screen: 960x1696, 2 bytes/pixel, little-endian grayscale - Framebuffer: /dev/dri/card0, same pointer scanning as Paper Pro - Pen input: /dev/input/event2 (Elan marker, ABS max 6760x11960) - Touch input: /dev/input/event3 (Elan touch) - uinput: system module at /usr/lib/modules/.../uinput.ko Tested on firmware 3.26.0.68 (chiappa). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Touch digitizer on Move reports ABS_MT_POSITION_X max=1248 and ABS_MT_POSITION_Y max=2208 (different from Paper Pro's 2065x2833). This fixes trigger corner detection and touch coordinate mapping. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move framebuffer is already in portrait orientation, unlike RM2 which needs rotate270 + flip_horizontal. Add encode_png_move that processes 16-bit grayscale without rotation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The RM2's apply_curves() crushes pixel values to near-binary (black/white) because the RM2 framebuffer uses a narrow value range of 11-15 out of 255. The Move uses standard grayscale, so applying this curve makes screenshots unreadable. Skip it for the Move encoder. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move stores grayscale in the low byte (chunk[0]) of each 16-bit pixel, not the high byte (chunk[1]) like RM2. Content pixels like 0xFF00 were appearing white instead of black, making half the ink invisible. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Owner
|
@rmeadomavic did you try it on a real device? Does it work? So cool. I have been doing experiments in the web branch, I wonder how well this would apply to that, if you'd like to try. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds reMarkable Move ("chiappa") device support to Ghostwriter. The Move is reMarkable's 7.3" tablet using the i.MX93 SoC — same architecture as Paper Pro (aarch64) but with different display hardware.
Key discoveries:
Files changed (5 files, ~60 lines):
Test plan
🤖 Generated with Claude Code
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com