about summary refs log tree commit diff
path: root/README.md
blob: 3a0cbb5c36a7972c686fbfdb641b9c51c13f114b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# reMder

reMder is a little tool to render reMarkable document files to PDF. It works
by running the official reMarkable 2 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.20.0.92.

## Building

Use the nixpkgs overlay provided by the flake. You need a nixpkgs that has
https://github.com/NixOS/nixpkgs/pull/381224 merged.

TODO expand instructions for non-Nix users

Moreover, at the moment reMder runs only on 64-bit ARM processors that can
execute 32-bit ARM instructions (e.g. the Cortex-A72 found on the Raspberry
Pi 4B.) I'll add support for more platforms when I find the time.

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

## Copyright notice

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.