View Single Post
Old 03-12-2021, 07:22 AM   #1
NiMa
Fanatic
NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.NiMa ought to be getting tired of karma fortunes by now.
 
NiMa's Avatar
 
Posts: 507
Karma: 2390534
Join Date: Jun 2020
Location: Somewhere in the Universe
Device: Kobo Libra, Glo HD, Touch C/B, Mini, Glo, Aura SE, Clara HD, KT
Arrow InkBox: a new open-source OS and eBook reader based on Qt5

InkBox OS is a GPLv3-licensed eBook reader for Kobo devices, based on Qt 5.15.2 (with this) and Alpine Linux. It can run on nine officially supported devices:
  • Kobo Touch N905B
  • Kobo Touch N905C
  • Kobo Mini N705
  • Kobo Glo N613
  • Kobo Aura SE N236
  • Kobo Glo HD N437
  • Kobo Nia N306
It completely replaces the stock OS and consists of a full-featured secure and complete system. It has the following features:
  • ePUB, PDF, picture and plain text support
  • Versatile configuration options for reading
  • muPDF rendering engine for ePUB and PDFs
  • Wi-Fi support (all devices except KT) and web browser
  • X11 apps seamless integration (KoBox)
  • Fast dictionary search
  • Dark mode
  • Strict security policy that ensures only signed software can be run on the device (this, however, can be adapted to your needs by recompiling the kernel)
  • Full factory reset option if needed
  • Seamless update process
  • VNC viewer app
  • Search function
  • 9 built-in fonts
  • Auto-suspend
  • Lock screen/passcode
  • User-friendly experience
  • PDF support
  • Encrypted storage
  • User applications

InkBox is currently considered stable and is at version 2.0.
Flash instructions here: https://github.com/Kobo-InkBox/inkbo...install-inkbox

Downloadable SD card images are available here: https://inkbox.ddns.net/downloads.html
And source code is there: https://github.com/Quill-OS/
Here is a video if you want to see how it looks: https://www.youtube.com/watch?v=cyWu_pHwqNg
Donations are welcome, as I and Szybet have probably spent more than 3000 hours working on this:
PayPal: https://paypal.me/inkboxos
LiberaPay: https://liberapay.com/tux-linux/

Old post archived below.
Spoiler:

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.
Attached Thumbnails
Click image for larger version

Name:	geo.png
Views:	2518
Size:	245.3 KB
ID:	188988   Click image for larger version

Name:	geo-menu.png
Views:	3437
Size:	109.1 KB
ID:	188989   Click image for larger version

Name:	home.png
Views:	2683
Size:	21.1 KB
ID:	188990   Click image for larger version

Name:	apps.png
Views:	2646
Size:	33.5 KB
ID:	188991   Click image for larger version

Name:	search.png
Views:	2462
Size:	34.6 KB
ID:	188992   Click image for larger version

Name:	dictsearch.png
Views:	2289
Size:	40.3 KB
ID:	188993   Click image for larger version

Name:	epub.png
Views:	2330
Size:	130.9 KB
ID:	188994   Click image for larger version

Name:	epub-menu.png
Views:	2157
Size:	88.4 KB
ID:	188995   Click image for larger version

Name:	dict.png
Views:	2001
Size:	102.3 KB
ID:	188996  

Last edited by NiMa; 03-15-2025 at 08:24 PM.
NiMa is offline   Reply With Quote