Dev on reMarkable
see also

# Introduction
Frameworks in use around the rM1 community for building apps
| framework | lang | apps |
|---|---|---|
| libremarkable | rust | retris, chessmarkable, plato, whiteboard |
| rmkit | cpp | harmony, mines, remux |
| qtsgepaper | cpp+qt | calculator, draft, oxide, wikipedia, keywriter, chess2 |
| koreader base | cpp+lua | koreader |
# Handling Input
# Development
# Setup toolchain
The official toolchain is no longer distributed by reMarkable.
# Debian cross compilation tools
The GLIB version has to be fixed to 2.27 (How ?):
# Toltec build toolchain - set of docker images used for cross-compiling binaries for the the reMarkable tablet.
- use VSCode remote container with .devcontainer.json Remote-Containers: Reopen in Container
{
"image": "ghcr.io/toltec-dev/qt:v1.3.2s"
}docker container run -it --rm ghcr.io/toltec-dev/qt:v1.1# Dockcross / Exploring the reMarkable via Shell
# Dev / Awesome reMarkable
# libremarkable - A low latency Framework for Remarkable Tablet
- using with Qt Rust code
make examples-docker
make deploy-demodemo can be launched on rM2, using remux if place d inside /home/root/apps
- C CPP Build Instructions
- Install debian cross compilation tools cross compilation tool.
- change to HOST=arm-linux
dpkg --add-architecture armhf
sudo apt-get update
sudo dpkg --add-architecture armhf
git submodule init && git submodule update
make freetype
make libremarkable # comment # include $(CONFIG)
make poc# rmkit / Home
- Allows testing on linux x86 with simulator (resim)
resim ./src/build/harmony- Allows testing on linux x86 with frame buffer (go to console Ctrl+Alt+1) => this is going to disappear
Requires:
- okp - a python script that processes .cpy files and generates C++ code.
- resim - remarkable-simulator
- it require tkinter
sudo apt-get install python3-tk
- it require tkinter
Issue
- use strace to diagnore crash
- harmony tried to read
src/vendor/NotoSansMono-Regular.ttfwhich is missing and crash
- harmony tried to read
- mouse not read on native ?
- change
USE_RESIM := truetofalseto use native mouse and keyboard
- change
# LDD (tracking dependancies on remarkable)
I installed ldd using opkg install ldd (it is found in entware)
but it didn’t work:
$ ldd ./fb_test
not a dynamic executable
# because it is not thre right linker that is used
# update LDLIST to the right linker makes it work
LDLIST=/lib/ld-linux-armhf.so.3# reMarkable Developper note
- curtisf overview
- simple apps in C
- framebuffer.c - you can write pixel data to /dev/fb0, and call ioctl to flush rectangles to the screen
- input.c - You can read pen/touch input directly from /dev/input/event1
- Developing for the reMarkable tablet
- reMarkable 2 sources are published
- Setting up QT Creator
- reMarkable/linux - linux kernel source for reMarkable
# Filesystem / Document format
You will also notice that there are no human readable filenames and that each “document” has a number of associated files with it, depending on the document type. Human readable information is stored within the .metadata files (described further below).
- reMarkable .lines File Format
- Lines Are Beautiful
- remarkable-layers - Python module for reading and writing Remarkable Lines files (*.rm).
# Handling Input
# Using Display
# Resources
Written on February 4, 2021, Last update on June 25, 2021
dev
remarkable
arm
cross-compile