Skip to content
voxainPublic
forked from PewPewzxc/VARAGH

About

A personal feature-fork for the XTEINK X4 Pro. A fork of VARAGH & CrossInk.

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

NeuInk

E-reader firmware for the Xteink X4 Pro, with the features of CrossInk and VARAGH.

MIT licence

Features · Install · Build from source · Changelog · Credits

NeuInk is e-reader firmware for the Xteink X4 Pro. The X4 Classic and X3 can also be built, but they are experimental and have not been tested on hardware. It is a fork of VARAGH, which is itself a fork of CrossInk, which in turn comes from CrossPoint Reader. Each fork keeps the features of the one before it.

The X4 Pro gets every feature, with touch and a front light. The X4 Classic and X3 have no touch screen or front light, so their code path works with the buttons only (see Experimental readers).

NeuInk is an independent community project, not affiliated with or endorsed by Xteink, CrossInk, CrossPoint or VARAGH.

A look around

Home: the greeting, widgets for the current book, the date and the reading streak, and app icons
Home
Library with book covers in a grid
Library
A book page in the reader
Reader
The reader menu: a floating card with rows and switches
Reader menu
The Layout tab with orientation and alignment as picture buttons
Layout, in line
The Control Center with light and warmth sliders and round buttons
Control Center
Battery: the charge in large type, a 24-hour graph and time per app
Battery
Storage: a segmented bar for books, images, fonts and data
Storage
The Home layout panel with icon size, shape, columns and rows
Home layout
Home in edit mode with Add widget and Done at the top
Edit mode
A widget's options: its size and the data it shows
Widget options
An app's page in Settings: its icon, Open and Disable, and its settings
An app's settings

Contents: What it adds · Install · Build from source · Contributing · Credits

What NeuInk adds

NeuInk's own interface comes first, then the features this fork inherits from VARAGH on top of CrossInk. The full list, with photos and how to use each one, is in FEATURES.md.

The NeuInk interface

NeuInk's own redesign (0.3.0, widgets in 0.4.0), on the X4 Pro. Details are in FEATURES.md.

  • Vega theme (the default): widgets over a paged grid of rounded icons for every action and app; light-gray title bars with the app's icon. A swipe up from the bottom edge opens a panel for icon size, shape, the grid's columns and rows, and the pencil that starts edit mode.
  • Home widgets: the current book (with pace, time left and finish date), recent covers, a calendar that marks the days you read, the date, a clock, your reading streak, a daily reading goal, the book that comes next, a highlight of the day and the battery, in up to three sizes. In edit mode, drag widgets and icons into place, tap a widget for its options, hide any icon.
  • Everything is an app: Settings > Apps lists everything on Home with its own page (Open, Enable / Disable, its settings), and the Battery page shows the time and charge of each, Home and Settings included.
  • Reader menu: a floating gray card with tabs, white rows and switches, sliders like the Control Center's, and orientation and paragraph alignment as picture buttons in the list. All icons are Lucide.
  • Battery: the charge in large type, a graph of the last 24 hours (a point every five minutes) with an estimate for the next 24, how long the charge lasts with the screen on and asleep, and time and charge per app and for the reader. It survives restarts and updates.
  • Storage: what fills the SD card as one segmented bar (books, images, fonts and dictionaries, app data, other), scanned in the background.
  • USB: plug into a computer and the reader offers to open the SD card as a drive (a switch on the File Manager's page turns that off).
  • Apps: Sudoku, Chess, Checkers, Go, Tic Tac Toe and a Clock with a calendar.

Words and dictionaries

  • Tap to Look Up: one tap on a word opens its meaning.
  • Long Press on a Word: look up, highlight, add to a category, or Ask with a bubble at the words.
  • Hold to Select: choose how long a finger rests on a word before selection opens: Fast, Normal, Slow or Very slow.
  • Selection handles to resize a selection, on the touch screen or with the buttons.
  • Dictionaries: an offline dictionary per language, plus optional online sources (Wiktionary, Wikipedia, Datamuse and OpenThesaurus). Online results are saved on the card after the first lookup. Back cancels a lookup at once.
  • Remembers your choice: the last dictionary stays the default; Switch Dictionary at any time.

Highlights and flashcards

  • Highlights hub on Home: Favorite Lines, your own categories and By Book.
  • Add to… straight from the dictionary.
  • Flashcards: Leitner boxes with Again / Know it and Practice.
  • Swipe left to delete in files, recent books, highlights, bookmarks, lookup history and categories.

Books and ratings

  • Drop caps, text and heading sizes, bordered and lightly shaded boxes, and tables, as the publisher made them.
  • Smooth grey pictures without a crosshatch pattern, on clean white paper.
  • Line breaks after hyphens and dashes.
  • Book ratings: five stars with halves, at the end of a book, in the book menu, in Reading Stats and in Library.
  • Next in series at the end of a book.

Screen, light and controls

  • Vega, the new default theme: widgets above a grid of gray squircles for every action and app, Lucide icons, light-gray title bars, and a selection that shows only while you use the buttons.
  • Settings in eight groups, each with an icon and a short description.
  • Control Center: swipe down for light and warmth in 1 % steps, with eight buttons you choose and a Settings button in its corner (X4 Pro).
  • Night light: a second brightness and warmth from evening to morning (X4 Pro).
  • Rotation that turns the buttons and the touch screen with the page.
  • Bluetooth page turner: pair a remote and map its buttons.

Apps and clock

  • Games: Sudoku with five levels, a daily puzzle and explaining hints, Chess, Checkers, Go and Tic Tac Toe. Apps stay open across sleep, and you can hide any of them, or anything else on Home.
  • Clock & Calendar, also as a sleep screen.
  • A clock that stays right: set on every Wi-Fi connect, with a manual time zone, Summer Time and an optional Live Clock. NeuInk does not look up your location.

Speed and battery

  • Fast chapters: long chapters show their first page at once (Automatic indexing), with a faster SD card and fonts kept in memory.
  • Fast picture pages: the next page's pictures are prepared while you read.
  • Battery: the processor slows down sooner and the display powers down when idle, while buttons still respond instantly.

Languages

Inherited from VARAGH, and not the main focus of this fork: English, German and Persian are built in, with right-to-left Persian and Arabic script, IPA pronunciations and menus in 29 languages (the extra languages download as small packs). A Persian keyboard layout is included.

A flashcard deck with German words and the Practice button
Flashcards
Home with four widgets: current book, date, streak and reading goal
Home

Install

Download the latest firmware file for the X4 Pro, firmware-x4-pro.bin, from the releases page. To build it yourself instead, see Build from source.

To flash a firmware file from an SD card, copy it to the card and use Settings → System → SD Card Firmware Update. If you are coming from the original Xteink firmware, read the installation guide first.

Optional: a German → English dictionary, see Dictionaries.

Coming from CrossPoint or CrossInk

Moving to NeuInk from CrossPoint or CrossInk is usually safe. In the normal case it keeps everything: your settings, books, highlights, bookmarks and even your reading stats, since NeuInk reads the same files on the SD card. Make a backup of the card anyway, before any firmware change: it costs a minute, and a flash that goes wrong or a card that is pulled out at the wrong moment is the one case where it saves you.

Leaving NeuInk

If NeuInk is not for you, Settings → System → Switch to Another Firmware installs the latest release of VARAGH, CrossInk or CrossPoint over WiFi, with no computer. It uses the same update mechanism as NeuInk's own updates, pointed at their repositories:

Choice Repository
VARAGH PewPewzxc/VARAGH
CrossInk uxjulia/crossink
CrossPoint crosspoint-reader/crosspoint-reader

Your SD card files and books should stay safe, since the switch only replaces the firmware, but a backup is free and sensible. To come back later, copy NeuInk's firmware-x4-pro.bin to the card and use SD Card Firmware Update in the other firmware.

Experimental readers: X4 Classic and X3

Only the X4 Pro is supported and tested. The X4 Classic and X3 have no touch screen or front light. Their builds exist, but nobody has confirmed them on hardware yet. If you have one and test a build, a report in Issues is very welcome.

X4 Pro: the Control Center
X4 Pro: Control Center
X4 Classic: Apps with a frame on Tic Tac Toe
X4 Classic: apps with buttons
X3: three words selected with the buttons and Look Up, Highlight, Add to
X3: Look Up / Highlight / Add to

On the X4 Classic and X3 the apps are played with a frame that the direction buttons move and Confirm taps. In Look Up Word, hold Confirm, add words with Left/Right and press Confirm for Look Up, Highlight or Add to. Not available there: Control Center, front light, night light, Tap to Look Up and selection handles.

Updating: Settings → System → Check for Updates looks for NeuInk releases. Only install firmware built for NeuInk: a CrossInk or CrossPoint release replaces this one, and the reader warns you first.

Build from source

You need PlatformIO. The display library (freeink-sdk) is vendored in this repository, so a plain clone is enough:

git clone https://github.com/voxain/NeuInk.git
cd NeuInk
pio run -e x4-pro       # X4 Pro (supported)

Experimental, not tested on hardware: pio run -e x4-classic (X4 Classic) and pio run -e default (X3 and the original X4).

The firmware is written to .pio/build/<env>/ (firmware-x4-pro.bin, and for the experimental builds firmware-x4-classic.bin and firmware-x3-x4.bin). The default build also writes the menu-language packs to .pio/lang-packs/default/. Developer notes are in docs/development. The upstream sync guide explains how to bring in changes from the projects this one forks.

Security notes

  • Custom sync servers are not supported, for security reasons. KOReader sync talks only to the built-in server, sync.crosspointreader.com, and checks its certificate. A custom server cannot be checked the same way, so the firmware refuses it rather than send your sync credentials to an unverified host.
  • Firmware downloads come only from GitHub, over https with pinned certificates, and the release SHA-256 digest is checked before anything is installed. This holds for switching to another firmware too, which is refused if the release publishes no digest.
  • Plain http sync is not supported.

Contributing

Bug reports, ideas and pull requests are welcome. Please read CONTRIBUTING.md first. Bugs go to Issues.

Credits and licences

NeuInk is released under the MIT licence. It keeps the copyright notices of the projects it comes from, and the same licence applies to them: CrossPoint Reader (Dave Allie and contributors), CrossInk (uxjulia and contributors) and VARAGH (PewPewzxc). Third-party code, fonts and data are listed in THIRD_PARTY_NOTICES.md.

  • FreeInk SDK (display and UI library): Free-Ink/freeink-sdk
  • Fonts: Noto (Google / Noto Project Authors), Vazirmatn (Saber Rastikerdar and the Vazirmatn Project Authors), Inter (Rasmus Andersson and the Inter Project Authors)
  • Speed ideas in VARAGH 1.1.0 were inspired by studying microreader (no code copied).

Dictionary data is not included; see Dictionaries.

About

A personal feature-fork for the XTEINK X4 Pro. A fork of VARAGH & CrossInk.

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages