Cross-document linking · a full perpetual Planner app · native-ink notes everywhere · bookmarks · a knowledge graph — all rendered by xochitl itself, all backed by a real SQLite database.
⚠️ Supported devices: reMarkable 1 & reMarkable 2 only (for now). reMarkable Paper Pro is not supported yet.
SuperMod is a bundle of QML mods for the reMarkable's xochitl UI, glued to a single C++/SQLite backend. It does not replace xochitl or run a separate app — every screen you see is the real xochitl UI, patched at runtime with qmldiff and driven by a native extension loaded through xovi.
The whole suite follows one rule — the BLoC line:
- QML owns only the view — layout, local view-state, and user-intent handlers that call one backend method.
- C++ + SQLite own all the logic — persistence, queries, FTS5 search, transactions, validation, ordering, dedup, cross-document relations, reminders, threading.
State flows down as commands (Q_INVOKABLE) and up as change signals; the UI re-pulls a fresh snapshot and never computes next-state from prev-state. The result is fast, crash-resistant, and survives reboots.
📸 Every screenshot below is a real capture from a reMarkable 2 running SuperMod.
The headline feature. A dedicated, full-screen planner launched from the My-Files sidebar and from the Quick-Settings panel (next to Airplane mode).
![]() Month |
![]() Week |
![]() Day |
![]() Year |
- Year / Month / Week / Day views, pixel-faithful to a high-contrast paper planner, fully perpetual (real dates in SQLite, any year).
- Events & tasks — tap a time slot to add an event; checklists for Focus / Priorities / To-do, with reorder.
- Native ink everywhere — write by hand directly on the calendar: a per-half-hour handwriting strip in the Day view, sketch pages, day notes, week & month/year reviews, and draggable pen chips you can drop on any page. All real xochitl ink (pen, eraser, lasso, paste), shown inline.
- Notification center — a bell with an unread badge; reminders fire 30 / 15 / 5 minutes before an event through the native reMarkable notification banner (works with the planner open or closed). A persistent history grouped by day (Today / Tomorrow / date), with mark-read, clear, and snooze (10 / 30 / 60 min).
- Habits tracker, yearly Goals, a Mood / pixel tracker, themed Collections, and a monthly Budget with a custom numeric keypad.
- Data dashboard — counts for every table and a guarded bulk reset.
- Internationalized (labels via
qsTr, month/day names follow the device language).
![]() Native ink on the day strip |
![]() Typed event entry |
Mood / pixel tracker |
![]() Yearly review |
![]() Quick-Settings launcher |
![]() My-Files sidebar entry |
![]() Long-press day preview |
![]() Draggable pen chips |
Create hyperlinks between any two documents/pages. Every link is bidirectional — each target shows its backlinks through a SQL VIEW, so you can navigate your notes like a wiki.
![]() Links panel with live page previews |
![]() The Chiplinks toolbar on a page |
A force-directed graph of your documents and the links between them — see the shape of your knowledge base at a glance.
![]() Force-directed graph of all documents |
![]() Local graph + backlinks for one note |
A live, navigable TOC for notebooks — native headings plus your own custom entries, with a section breadcrumb on the page.
![]() Custom + native headings |
![]() TOC foldout on the page |
Pin pages for quick return and bookmark entries over the document's tocItems — pure, fast transforms over an already-loaded snapshot.
Drop a native-ink post-it anywhere — a tiny pointer to a hidden scratch page where xochitl persists your handwriting. Capture an area of the screen as an image and paste it straight into a note.
![]() Native-ink post-it scratch note |
![]() Capture a region from the page |
A built-in dashboard over the whole SQLite store — overview counts, a browsable per-table view, and global settings (with a guarded bulk reset).
![]() Overview counts |
![]() Browse records |
![]() Global settings |
Quality-of-life additions to the document toolbar and surrounding UI, all native-looking.
┌─────────────────────────────┐ commands (Q_INVOKABLE) ┌──────────────────────────┐
│ xochitl QML UI │ ───────────────────────────────▶ │ ChiplinksBackend (C++) │
│ (patched at runtime via │ │ + repositories │
│ qmldiff .qmd modules) │ ◀─────────────────────────────── │ + SQLite (WAL, FTS5) │
│ view + local state only │ *Changed signals → re-pull │ all business logic │
└─────────────────────────────┘ └──────────────────────────┘
qmd/— the QML mods, grouped into packs (supermod_planner,supermod_links,supermod_toc, …). Authored asqmldiff.qmdfiles. The published.qmdare hashed (viarm-qmd-hasheragainst reMarkable OS3.27.1.0) so they don't expose xochitl's internal QML identifiers, and code comments are stripped for the same reason.chiplinks-backend/— the C++ extension:ChiplinksBackend(theQ_INVOKABLE+ signal surface), per-feature repositories, the schema migration ladder, and the SQLite vendor sources.
The extension builds in Docker (no host toolchain needed):
bash chiplinks-backend/build.shThis produces chiplinks-backend/chiplinks-backend.so — the xovi extension that registers the backend and applies every .qmd patch at load time.
A green build proves the code compiles — it does not prove the
qmldiffpatches apply.qmldiffruns at runtime; the ground truth is the device log (noError while processing, anLoaded external …line per module).
SuperMod is a xovi extension and relies on the xovi runtime plus two companion extensions on the device:
- xovi — the extension loader/runtime that makes all of this possible.
- qt-resource-rebuilder — applies SuperMod's
qmldiffQML patches to xochitl at load time. - framebuffer-spy — required (declared
depends-oninchiplinks-backend.xovi): gives the Capture feature access to the framebuffer. Without it, xovi silently skips loading all of SuperMod — so it is not optional.
The simplest way to fetch the companion extensions is vellum: vellum add framebuffer-spy pulls xovi + qt-resource-rebuilder + framebuffer-spy and drops them into ~/xovi/extensions.d/.
- Install
xovi,qt-resource-rebuilderandframebuffer-spy(e.g. withvellum add framebuffer-spy). - Copy
chiplinks-backend.sointo~/xovi/extensions.d/. - Load xovi manually and launch xochitl under it.
🛡️ Safety: load xovi manually — never wire it into the boot sequence. It is your anti-brick safety net: if anything goes wrong, just reboot and xochitl starts clean.
SuperMod is free and always will be. If it genuinely makes your reMarkable nicer and you feel like it, you can leave a completely voluntary tip — there's no paywall, no locked features, and nothing changes whether you donate or not.
SuperMod stands on the shoulders of the reMarkable hacking community:
- Asivery —
xovi,qmldiff, andqt-resource-rebuilder, the runtime that makes all of this possible. - rmitchellscott —
rm-qmd-hasher, used to hash the published.qmdso they never reveal reMarkable's internal QML structure. - The emulator/RE lineage — timower, Eeems, Jayy001, and others.
- PepikVaio — for hunting down bugs and suggesting features from the very start. Huge help shaping SuperMod.
This project is an independent, unofficial modification. reMarkable is a trademark of reMarkable AS; this project is not affiliated with or endorsed by them.
Modifying your tablet is at your own risk. SuperMod loads manually through xovi and never touches the boot configuration, but you are responsible for what you run on your device. No warranty.
"Christ died for our sins according to the Scriptures, that he was buried, that he was raised on the third day according to the Scriptures." — 1 Corinthians 15:3-4
Soli Deo gloria.





















