plato on the kobo libra 2
I caught the reading bug again
For almost a year now I’ve been using plato on the kobo libra 2, an e-ink reader that includes a backlight and a red light scale. The user experience has been very good (fast, portable, decent battery), here’s some howto’s.
Quicklinks:
1. Install #
When you first get the device, you can plug it into your computer and mount it directly, everything is just owned by root:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:48 0 232.9G 0 disk ├─sda1 8:49 0 550M 0 part /boot ├─sda2 8:50 0 225G 0 part /nix/store │ / └─sdd3 8:51 0 4G 0 part [SWAP] sdb 8:144 1 28.5G 0 disk $ sudo mount /dev/sdj ~/kobo
To bypass the kobo account setup, you can exit the database on the device:
$ sudo sqlite3 ~/kobo/.kobo/KoboReader.sqlite sqlite> INSERT INTO user(UserID,UserKey) VALUES('1',''); sqlite> .quit
Now let’s install plato. Current releases can be found at the OP of this kobo
forum post. The release is just a zip file that we will extract to ~/kobo
.
“installing” just means coping the contents of the release onto the reader:
sudo unzip OCP-Plato-0.9.38.zip -d ~/kobo
After you unmount, there will be a Plato launch icon at the bottom of the screen - but you’ll likely want to do some setup (see below)
2. Settings #
Reader settings I have that differ from the default (the Georgia font just looks “right” to me for reading):
[reader] south-strip = "next-page" font-path = "/mnt/onboard/.adds/plato/fonts" font-family = "Georgia" margin-width = 10 max-margin-width = 20 line-height = 1.1 ignore-document-css = true [reader.paragraph-breaker] stretch-tolerance = 1.5
The most opinionated setting in here is setting ignore-document-css
to true.
This means I have a consistent reading experience for books that are simply
plain text, but if epubs rely on something more fancy for effect (or for example
if I am reading a screenplay) I will turn this off. Overall though, having this
setting on and crushing the exceptions has been worth the consistent experience
for me.
3. Dictionary #
To install a dictionary, grab a zip from here and unzip it to
~/kobo/.adds/plato/dictionaries
. You can long tap a word while reading to look
it up while reading.
4. Fonts #
I add font files to the ~/kobo/.adds/plato/fonts
dir, and then make them
accessible with this option in Settings.toml
:
font-path = "/mnt/onboard/.adds/plato/fonts"
5. CSS #
Create ~/kobo/.adds/plato/css/epub-user.css
, and add:
p { text-align: justify; margin: 1em 0 0 0 !important; } p + p { text-indent: 1em; margin: 0 !important; } img { /* for centering */ margin: auto; }
6. Library #
For a db located in ~/kobo/library
, set path like so:
[[libraries]] path = "/mnt/onboard/library" # ...
7. Debugging #
If there are any issues with Settings.toml
, the default settings are used and
the config error is logged to an info.log
file in the same directory.
8. ❗Caution: firmware updates #
Note that even if you have firmware updates turned off, if you are connected to the wifi, kobo can still auto-update and break plato for you. Your files will still be there, you’ll just have to copy the plato release over to then device again.