flexibeast.space - gemlog - 2021-03-16

The Kobo Libra H₂O e-ink reader

Nb. i'm really not a hardware geek, so this is actually my first-ever hardware ‘review’; take my comments accordingly. :-)

tl;dr: The Kobo Libra H₂O can definitely be used for reading PDFs, but not out-of-the-box, unless you only want to read a couple of pages; otherwise, you'll need to install koreader.

i'm a regular reader of academic papers. In my areas of interest, the digital versions are overwhelmingly PDFs (but occasionally Word documents, gah). Typically i've been reading them in a PDF viewer on my laptop[a], which is okay, but not an ideal experience when reading for longer than several minutes. Trying to read them on my phone is awkward to the point that i usually don't do it.

So i recently decided i should buy an e-ink device, with the intent of making more headway on all the papers i want to read. i wanted a Kobo: the overall impression i had was that they were decent devices, and importantly, were friendly to modding. The latter turned out to be crucial.

Yesterday my Kobo Libra H₂O arrived. i immediately appreciated how light it was; once i started it up, i also liked the high quality of the displayed text. i found the UX of the initial setup to be good, and everything went smoothly.

To load a PDF, i connected the reader to my laptop (running Void Linux) via USB, used lsscsi(1) to find its /dev node, mounted it at `/mnt/kobo`, and then copied the PDF there. After unmounting `/mnt/kobo` and unplugging the cable, the reader processed the new file it had found, and i was able to view the PDF.

Except .... the stock PDF viewer is basically unusable in practice. One can't set a default zoom width, so each time one opens a PDF, pinch-/unpinch-zooming is required to display the document at an appropriate size (which for me means “the width of paragraphs is slightly less than the width of the landscape-oriented screen”). “Turning the page” results in the zoom being maintained, but with the top-left corner of the PDF page anchored to the top-right corner of the screen, rather than the top-left corner of the text of the page, so one needs to manually drag the text to re-centre it. And because it's an e-ink device, ‘scrolling’ within a page, which one has to do because the text of the page in no way fits within a single screen, whilst also trying to keep the text appropriately centred, is a slow and unpleasant experience.

This was disappointing, to say the least. Fortunately, a partner brought my attention to koreader.


It's an actively-developed AGPL 3.0 project, written in Lua[b], and can be used on a number of e-ink devices, including the Kobo series. KFMon is a dependency.


However, before installing that, the very first thing i had to do was to change the reader's config file to not scan certain directories, as described on the koreader GitHub site[c]. (Attempting to go through the setup process without having done so resulted in the reader becoming a broken mess, a Gordian knot i decided to cut through with a factory reset.)

With the appropriate change in the config file, the installation process went smoothly. In initial testing, koreader provided a much better experience for reading PDFs: it allowed me to set things up so that the (screen-width-respecting) text appears in the top-left corner, and it presents parts of PDF pages as reader pages, so that one ‘turns’ a few reader pages for each PDF page. The koreader UI feels quite clunky to me, but i'd much rather a clunky interface that allows me to set things up in a way that works for me, than a slick interface to a viewer i find basically unusable.

That's where things currently stand. i've not yet had the experience of trying to read an entire PDF; i'll try to update this page once i've done so.

Edited 2021-04-11 to add:

Koreader on the Kobo makes reading PDFs a pleasure! Particularly multi-columned PDFs; one can set things up so that a column fills the screen width, and specify the reading flow (e.g. “from top to bottom of the first column, then back to the top of the second column, then from top to bottom of the second column, then the next page”). So i've been getting through my (rather large!) backlog of PDFs rather quickly.

i've also been getting back to reading Shakespeare, which on the Kobo is a much more pleasant experience than trying to hold the physical tome that is “Complete Works”, with its 8?-point type. So far i've read “A Midsummer Night's Dream”, “The Tempest”, “Richard II”, and have started on “Henry IV, Part 1”. As something of a history nerd, i find it fascinating to compare Shakespeare's “based on a true story!” version of events with current ideas about those same events.

Edited 2021-06-07 to add:

A post about other Kobo devices, on Callum's gemlog:

“The E-Reader”

🏷 ict


Gemlog Home

[a] i use the excellent Zathura viewer, with Poppler as the backend:


In my testing years ago, i found i slightly preferred Poppler's rendering to MuPDF's.

[b] i like Lua. It feels a rather clever and neat language to me.

[c] Installation on Kobo devices