Hi
So these last weeks I've been developing some Qt app that is now a working eBook reader. I called it InkBox, and it has been tested by very few people here (only @Elektron if I'm not mistaken). It's based on Qt 5.15.2, thanks to the Kobo Platform Plugin by @OfficerAction, which allows you to develop pretty much anything you want on Qt for a Kobo.
There are two options, basically:
1. As an entire OS
2. As a standard /mnt/onboard/.adds/ addon
The OS is the most interesting one, because it's open-source everywhere and it's completely integrated with InkBox. It's an install of bare-metal Alpine Linux with some squashfs containers with Qt, Python and InkBox. Since Alpine is musl-based, I built some root filesystem with Buildroot, and I put InkBox in it. It boots flawlessly into the GUI and it's fast.
It also includes a "Diagnostics" mode where you can do things like roll back to a previous firmware version, "factory" reset the device, enable USBNetwork or check some basic info about the device.
Testing
This project is currently in
Beta state.
You can try it out with books from Project Gutenberg, just download them in .txt, and that should work. If the label "eats" the display, try removing places where there are lots of line breaks (e.g. chapters list) and that should do.
Features (OS-specific features are marked with a hash)
- Reads TXT book format, or anything that's plain text (e.g. shell scripts)
- FAST! Dictionary search (takes less than 1 second);
- Options to change font, size and alignment;
- Brightness control and battery level indicator;
- Option to save a word you searched in the dictionary;
- Option to change number of words per page (you'll understand later why);
- UI scaling
- (Kind of) Calendar app
- Save words
#- Diagnostics mode (second partition) where you can reset, restore, update, etc.
#- Sleep mode (well, kind of, it SIGSTOPs InkBox and SIGCONTs it when the power button is pressed again, but it should save battery nevertheless);
#- Seamless update process, a bit like Kobo's one;
#- USBMS mode (powered by g_file_storage);
#- GUI option to run dhclient after you've set up a network bridge on your PC.
#- Dark mode (that should be ported to non-InkBox-native users soon)
#- Advanced security policy that prevents from rooting the device without a factory reset
#- New OOBE setup (that will be ported to non-InkBox-native users)
Current OS images for the Kobo Mini are available here:
http://pkgs.kobox.fermino.me/bundles/inkbox/native/
You can then flash it to the microSD card with this command:
Code:
xzcat inkbox.img.xz | dd of=/dev/mmcblk0
Etcher or alternatives should work too, but I haven't tested those.
Addons pack is available here:
https://pkgs.kobox.fermino.me/bundle...x/nickel/base/
Extract it in the root of the KoboeReader partition and be sure to properly eject it. After that, you should have NickelMenu and KFMon installed (thanks to their authors) and a new InkBox entry. Just click on it, and it should start up.
Source code is available as well at the same URL. Also, there's a Git repo at
https://alpinekobox.ddns.net/InkBox/inkbox
Tips so that you like InkBox and InkBox likes you:
Most important one: don't open the Options menu before pressing "Next" once. There's some strange bug that I don't know how to fix.
Also, if you're on the Mini and are using either the addon pack or OS image, don't enable "Show quote", because the picture will clip outside of the display and you won't be able to access Settings after that, unless you reflash the SD or you do some tweaking in /opt/config with the microSD out and plugged in a Linux system
Please ask any questions you have about it, and I'll create a FAQ with the relevant ones. I joined some screenshots here.
Also, a video if you want to see it "live":
https://www.youtube.com/watch?v=fZ6z_-jO5UY
Enjoy!
CREDITS:
@OfficerAction, for the KoboPlatformPlugin and Qt compilation guide, and also for answering the dumbest questions I had to ask

@Elektron, for testing and providing feedback
@NiLuJe, not directly, but for FBInk that is used for Powered Off/Rebooting/Sleeping screens, as well as for the Update/Restore animation
Feathericons for the icons, mainly
All the Kobo Nightmode guys for the screen inversion that InkBox uses:
https://github.com/gtalusan/kobo-nightmode
Disclaimer: I'm not responsible, nor any Kobo developers, of any damage done to your device by using InkBox. You are its sole owner. You have been warned.
Sidenote:
Yes, KoBox is still alive, we're thinking of making an unified Qt launcher that would launch InkBox and X apps in a touchscreen-minded experience.