about summary refs log tree commit diff

reMder

reMder is a little tool to render reMarkable document files to PDF. It works by running the official reMarkable firmware in QEMU and using the USB web interface's PDF rendering functionality to render your documents. As a result, it should be able to render any reMarkable document, in particular those created on newer firmware versions.

Currently, reMder uses firmware version v3.10.2.2063.

Building

reMder is provided as a Nix package, ready to be installed using the Nix package manager (available at https://nixos.org/download/). After having cloned this repo, run

$ nix build

This will build Linux for the emulator and a GCC cross-compiler, so be patient :) After this command has finished, reMder should be available in ./result/bin.

Usage

First, run

$ reMder-server &

This will boot up an emulated reMarkable in QEMU, with its disk image at ./reMder.qcow2. The reMarkable's SSH server will be accessible on the host at localhost:43922 and the USB web inteface at localhost:43980.

After reMder-server has initialized, use

$ reMder-client test.(rmdoc/zip) test.pdf

to render documents to PDF.

WARNING: rendering multiple documents in parallel is currently not supported.

The directory "fakefbdev" contains code from Timothy Werquin's rM2-stuff (https://github.com/timower/rM2-stuff/tree/dev?tab=readme-ov-file), which is licensed under the GNU General Public License, version 3.0 and is

Copyright (c) Timothy Werquin.

fakefbdev is essentially a stripped-down version of the "rm2fb" library from rM2-stuff, containing only the parts required to make the "xochitl" binary from the reMarkable firmware run.