about summary refs log tree commit diff
path: root/README.md
blob: cddd2bb058d93c68226f5e5b29b19d57fdc513a4 (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 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.14.1.9.

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