XPoint v2.2.0: FreeType with BIG improvement on reading experience
▲ 7 r/xteinkHax+2 crossposts

XPoint v2.2.0: FreeType with BIG improvement on reading experience

Hello,

Following up on my earlier TTF/OTF post. That one was about getting custom fonts working. This is about making the text actually look good.

TLDR: You don't need AA anymore, the base quality of the font is great now thanks to FreeType and hinting.

Link: XPoint Release v2.2.0

I swapped the font engine for FreeType

The reader was drawing text with an old built-in font engine. On PSRAM boards (X4 Pro, and any other board with PSRAM) it now uses FreeType instead, which is what proper e-readers use. Same for you as a user: drop your .ttf or .otf into /fonts or /.fonts like before, and the text just looks better.

What changed for the better:

  1. Crisp, clean letters. The old way drew text in shades of grey and then messed with it to fake it into black and white, which made small text look smudged. Now it draws straight to black and white. Sharper letters, and it does less work doing it.
  2. Text lines up properly. Letters now sit neatly on the screen grid instead of wobbling slightly off it. This is most obvious on body text at the smaller reading sizes, which is where smudged text is hardest to read for a long session.
  3. Faster page turns. Fonts stay loaded between pages, so turning a page no longer re-reads the font you were already looking at.

This is the release I am happiest with, because it is the one that makes an actual difference to sitting down and reading. The fonts you already use will just look better.

What else is in the fork

Nine things only my fork has, made for the X4 Pro. They are on by default, they are not in the main Crosspoint, and they stay out of your way until you want them.

  1. Reading stats on the home screen. Per-book and overall stats, with a proper words-per-minute reading speed. Design credit to u/uxjulia.
  2. Reading Rhythm. See your reading sessions over time: when you read, how long you read, and how your pace changed. This one made me look at my own habits differently.
  3. An honest words-per-minute number. Most readers divide your word count by how long the page was on screen, which really means "how long until I got bored or interrupted." This one measures the actual time you spend on each page and smooths it out, the same way a Kindle does.
  4. Reading Achievement. Your milestones over time: books finished, pages turned, time read, longest session, and the days you actually sat down and read.
  5. Finished Books. A shelf of what you finished and how long each one took, so the books you gave up on stop sitting next to the ones you loved.
  6. Time left in the chapter. A live "47 min left" in the status bar, based on your real reading speed. Show it on the left, the right, or hide it.
  7. Time left and progress on every book cover. "42% - 2h 30m" right under each book in Recent books, so you know where you left off without opening anything.
  8. Frontlight side-swipe gestures (frontlight-equipped devices only): while reading, swipe up and down on the edges of the screen. Left edge changes the colour temperature (up is warmer, down is cooler), right edge changes brightness (up is brighter, down is dimmer), and sliding all the way down on the right turns the light off. Works whether or not you have touch controls on, and you can switch it off in Settings → Display.
  9. Configurable Home button. Short press, double press, and long press are three separate actions you can each choose in Settings → Controls.

Credit where it is due: the stats card design is u/uxjulia's CrossInk, and the Reading Rhythm, Reading Achievement, and Finished Books screens are ported from u/Sichroteph's YACP.

One more thing worth knowing: every release ships with a signed file that the device checks before it installs anything, so a corrupted or tampered update gets rejected instead of installed.

u/Belphemur — 4 days ago
▲ 6 r/xteinkHax+1 crossposts

Crosspoint X: First Stable Release

Hello,

I'd like to showcase my fork of Crosspoint with some Crossink addition and multiple quality of life improvement specifically for the X4Pro that I own.

Link: https://github.com/Belphemur/crosspoint-x-reader

What this fork adds on top of CrossPoint

Eight fork-only features, tuned for the Xteink X4 Pro. They ship by default, don't exist upstream, and stay out of your way until you want them.

  1. Reading stats with a CrossInk-style card. Per-book and global stats, driven by a Kindle-style WPM tracker. The home card and the per-book stats view are a direct port of CrossInk's BookStatsView — full credit to u/uxjulia.
  2. Time left in the current chapter. A live "47 min left" estimate in the status bar, computed from your real reading speed (220 wpm baseline, 15-sample trimmed mean, 80–900 wpm clamps — Kindle's algorithm). Show it left, right, or hide it.
  3. Dictionary on long-press. Long-press a word, get the definition. No menu detour. Long-press action is configurable (dictionary, footnote, …).
  4. Configurable Home button. Short-press, double-click, and long-press are three independent bindings, each remappable in Settings → Controls.
  5. Auto power off. After a configurable idle (default 4 h, range 2–12 h, "12 h" = Off) the device wakes on the RTC, paints a shutdown screen, and cuts the peripheral rail instead of draining in deep sleep. Next power press is a cold boot.
  6. Signed OTA updates. Every release ships a manifest.json + Ed25519 signature. The device verifies against a key baked into the firmware before flashing; corrupted or tampered updates are rejected. Manual flashing still works. And yes, you can flash back any other firmware.
  7. Time left and progress on every home card. "42% • 2h 30m" right under each book in Recent books, so you can pick up where you left off without opening it. Same Kindle-WPM engine as the chapter timer.
  8. Timezone auto-detected on NTP sync. Sync the clock over Wi-Fi and your public-IP timezone is applied automatically. Travelled? Next sync re-detects. Falls back gracefully on failure.
  9. Power button: short press sleeps, long press shuts down. 400 ms hold = proper shutdown with cover screen + rail cut. Short press keeps its own binding and defaults to Sleep.
u/Belphemur — 1 month ago

Hey r/ObsidianMD,

I've been using Obsidian Sync for a while, but the official CLI kept driving me crazy. It's a minified cli.js that constantly drops connections, and since it's not really open source, there's no way to fix it or contribute improvements.

So I decided to do something about it.

What I did:

  1. Used AI to help un-minify the official cli.js and understand the protocol
  2. Built a clean 1:1 TypeScript port to reverse-engineer how it actually works
  3. Rewrote the entire thing from scratch in Go with proper error handling

What's different:

  • 🔗 Reliable reconnection — WebSocket backoff that actually survives network drops
  • ⚡ Parallel downloads — chunked transfers that sync full vaults much faster
  • 🧠 Lower memory — Go binary uses a fraction of the RAM vs Node.js
  • 📦 Native packages — .deb, .rpm, .apk, Homebrew, Winget, Docker
  • 🔓 Actually open source — GPL-3.0, readable code, contributions welcome

It supports the full Obsidian Sync + Publish protocol with E2E encryption. I've been using it daily on my NAS and it's been rock-solid.

If anyone else has been frustrated with the official CLI, you can check it out here: https://belphemur.github.io/obsidian-headless/

Happy to answer questions about the reverse-engineering process or the Go implementation!

reddit.com
u/Belphemur — 6 months ago