View Single Post
Old 07-11-2026, 07:40 AM   #4
datyoma
Member
datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.datyoma makes omelettes without breaking eggs.
 
Posts: 12
Karma: 98538
Join Date: Mar 2026
Location: Berlin
Device: PocketBook InkPad 4
A recent update of the emulator now allows to experiment with eink-reader.app UI patching.

When you run ./pbemu run <firmware dir>, it now automatically does the following:

- finds and extracts embedded UI code to <firmware dir>/.live/mnt/ext1/qml/eink-reader.app/ (if the directory doesn't exist yet)
- replaces all qrc:/ (embedded resource) links in these files with file:///mnt/ext1/qml/...
- creates a symlink m.qml -> main.qml
- mounts /mnt/ext1/qml/eink-reader.app/qml at /q/e/ in the container (you'd use a symlink on the device)
- replaces the sole appearance of 'qrc:/qml/main.qml' in eink-reader.app with 'file:///q/e/m.qml' (same length)

The end result is that the application loads the UI code from the filesystem.
Changes are picked up on restart, i.e. you need to exit the reader and open it again.
This works across all 6.x firmware versions, and patches are way easier to develop and maintain than the binary patches for Kobo.

You can achieve the same on the device, as long as you have root access:
- use https://codeberg.org/datyoma/pbx qrc dump for extraction
- use sed / vim / IDE for qrc:/ -> file:// replacement
- mount -o remount,rw /ebrmain
- copy eink-reader.app from /ebrmain/cramfs/bin/ to /ebrmain/bin/, replacing the symlink to cramfs with a copy
- modify the copy (cramfs readonly original will always be available, so it's quite safe)

In case the emulator is not your cup of tea, pbx.zip contains Linux builds for x86-64 (for the desktop) and ARM32 soft-float (for the device).
The extractor itself works with normal user privileges, root is only required to replace the symlink.
Attached Files
File Type: zip pbx.zip (42.4 KB, 32 views)
datyoma is offline   Reply With Quote