Dev on reMarkable

see also

caption

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.

{
    "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

make examples-docker
make deploy-demo

demo can be launched on rM2, using remux if place d inside /home/root/apps

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

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

Issue

  • use strace to diagnore crash
  • mouse not read on native ?
    • change USE_RESIM := true to false to use native mouse and keyboard

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

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).

Handling Input

Using Display

Resources

Written on February 4, 2021, Last update on June 25, 2021
dev remarkable arm cross-compile