HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
matteodelabre
waved
C++2023–2026
matteodelabre / waved

waved

Experimental driver for the reMarkable 2 E-Ink display

3Distinct people
3Mentions
0Explicit recommenders
65GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Experimental driver for the reMarkable 2 E-Ink display

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year3 dated mentions

Observed mentions: 2023-08-26 15:57:13 UTC to 2026-06-03 10:40:56 UTC.

0122023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

3 sources
I find getting stuff up on the rM2 screen a hassle. The challenge comes from the way the e-paper works. To turn a pixel from white to black (or vice versa) it needs multiple actual frames. The pixel data must also be packed in a specific format. Instructions for how many frames a single operation requires are coded in a wbf[0] file, which comes included with the OEM firmware. The most commonly used approach is hooking into xochitl, since it handles all of the user facing stuff like the notebooks but also the actual drawing. This is somewhat brittle and tends to break with software updates, because all of the actual function addresses have to be updated as well. I was excited to find waved[1], a C++ library that allowed to drive the display directly using a sane API. Although it's not been updated for quite a while it still works and you c
Read the rest
an compile and run it yourself. Since I was interested in driving the display myself, I tried to rewriting waved in Zig. It works - I can now get pixels up on the screen. Unfortunately the code is a mess and its only redeeming quality (stemming from being written in Zig) is that I can cross compile a statically linked binary that 'just werks' using just the Zig toolchain as the only dependency. For debugging purposes, I also implemented a SDL emulator for the display. [2] While writing this, I stumbled upon a recent Rust implementation of the same ideas. Nice. [3] Since the xochitl display implementation is the most optimized, that's probably the reason why it's being used most commonly*, even though it might be 'ugly'. * Citation needed [0] https://gitlab.com/zephray/glider#understanding-waveform [1] https://github.com/matteodelabre/waved [2] https://github.com/jakubvf/dazed [3] https://github.com/yobert/swtcon
In Show HN: Edsger – A handwritten Clojure REPL for the reMarkable 2
OP here. thanks for all the comments. some more info: rmkit is a library (and group of devs) for creating apps on the rM (and now Kobo). outside of rmkit, people typically use Qt to write apps, but there's many routes[0], including SAS[1]: a solution that uses unix pipes. the rM2 requires a bit more hacking to get working than the rM1 because their framebuffer driver[2] is embedded in their software for rM2 and requires updating rm2fb every time remarkable releases a new update. there's alternative drivers[3] to drive the display in development. i will keep updating the article based on feedback, thank you and keep hacking [0]: https://remarkable.guide/devel/index.html [1]: https://rmkit.dev/apps/sas [2]: https://github.com/ddvk/remarkable2-framebuffer/ [3]: https://github.com/matteodelabre/waved
In E-ink is so Retropunk

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.