about summary refs log tree commit diff
path: root/README.md
blob: 44e660590fe6322f3a22c6f256eab7d0b861454c (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
55
56
57
# 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.

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