about summary refs log tree commit diff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..44e6605
--- /dev/null
+++ b/README.md
@@ -0,0 +1,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.