#KOReader on RMPP - Unknown Module in QT
1 messages ยท Page 1 of 1 (latest)
@steep cedar
Well I got past that by installing a qt package. Figures as soon as I ask I figure it out....
Installing a qt package?
If installing a system package affects things, you aren't using the toolchain
well everything seemed to work but nothing happens when i click KOReader
It's probably erroring out
It's probably erroring because it's being built for your system architecture instead of using the toolchain
Well, I don't know any other way to check. $CC returned the toolchain and it showed in source. blah. guess im just in over my head.
I'll start over tomorrow I suppose. Any tips to make sure it is compiling from the toolchain?
Without digging in more to how it's build is configured, no idea
You probably want to share more about your setup. You write "The official toolchain is sourced", but did you use a linux machine and install it yourself, did you use Eeems' docker image? Did you use wsl? Which command did you run to source the toolchain, and did it give any feedback? (Because it sounds like your make script did not use the toolchain).
Also try to run file qtfb.so when you've built it, it will tell you if it is built for the right architecture.
Finally: When you make changes to your system and use xovi, you should always run it with xovi/debug first, to make sure things are working as expected (the output should also give some hints at what is working and what is not).
Thank you. Let me give more details: I'm working on WSL and I downloaded this toolchain: remarkable-production-image-5.0.58-ferrari-public-x86_64-toolchain.sh
I'm installing it again now and then will use . path to use it
. /home/sean/dev/sdk/environment-setup-cortexa53-crypto-remarkable-linux
echo $CC
aarch64-remarkable-linux-gcc -mcpu=cortex-a53+crc+crypto -mbranch-protection=standard --sysroot=/home/sean/dev/sdk/sysroots/cortexa53-crypto-remarkable-linux
is that a good indicator that it is correctly sourced?
I thought you were supposed to use the source command
. /path/to/file and source /path/to/file are the same thing
Or does appear to be sourced in that session.
I was able to compile rm-appload and it appeared to use the toolchain. I will try to compile qtfb again shortly and report back. Thank you for all your help.
So it compiled both qtfb and the shim with no errors.
17:38:24.215 default Failed to start process: "Child process set up failed: execve: Exec format error"
thats what i get from debug when trying to run KOReader
17:38:24.208 default [AppLoad]: Starting external binary "./reader.lua"
17:38:24.215 default Failed to start process: "Child process set up failed: execve: Exec format error"
Hi. @arctic pilot refer to this: https://github.com/koreader/koreader/issues/13814
Sounds like you might not be using the aarch64 version. Exec format error usually indicates the binary you are running is for a different architecture.
Looks like you are close though!
07/16/25-22:02:52 INFO Starting reMarkable Ferrari
ERROR: ld.so: object '~/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '~/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
07/16/25-22:02:52 INFO Oxide running?: false
./luajit: ./ffi/framebuffer_linux.lua:55: cannot open framebuffer
stack traceback:
[C]: in function 'assert'
./ffi/framebuffer_linux.lua:55: in function 'init'
./ffi/framebuffer_mxcfb.lua:830: in function 'init'
./ffi/framebuffer.lua:140: in function 'new'
frontend/device/remarkable/device.lua:186: in function 'init'
frontend/device.lua:54: in main chunk
[C]: in function 'require'
./reader.lua:151: in main chunk
[C]: at 0x00405150
22:02:52.209 default [AppLoad]: Process for "./reader.lua" finished with exit code 1 and status QProcess::NormalExit
even further but now it seems like it is not opening the shim file?
Is this the nightly build of KOReader for the rMPP?
It's the only one I could find with arch in the name.
I don't think it is the nightly build
rMPP support is not yet released for KOReader, which is also what is says in the install instructions:
KOReader support for the reMarkable Paper Pro has not yet been released, but early nightly builds are available.
https://github.com/koreader/koreader/wiki/Installation-on-reMarkable#manual-installation-on-remarkable-paper-pro
I read that and I'm searching for the right place to download the nightly build. Thanks for the assistance.
I think I finally found it
https://build.koreader.rocks/download/nightly/v2025.04-161-g70039c9f0_2025-07-15/ Here is today's nightly builds
Thank you so much.
ERROR: ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
As I don't know what specific call is triggering that, I don't know if that's a real error or just a warning
is it still erroring about being unable to open the framebuffer?
It is. Here is the full error: [AppLoad]: Starting external binary "./reader.lua"
ERROR: ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
launching...
| |/ / _ | _ \ ___ __ _ | | ___ _ __
| ' / | | | |_) / _ / _ |/ _ |/ _ \ '|
| . \ || | _ < __/ (| | (| | __/ |
||__/|_| __|_,|_,|___|_|
It's a scroll... It's a codex... It's KOReader!
[] Current time: 07/17/25-01:44:58
has monolibtic? no (libs/libkoreader-monolibtic.so: cannot open shared object file: No such file or directory)
lib_search_path: libs/?
lib_basic_format: lib%s.so
lib_version_format: lib%s.so.%s
[] Version: v2025.04-161-g70039c9f0_2025-07-15
ffi.load: rt.so.1 (RTLD_GLOBAL)
ffi.findlib: utf8proc [3]
ffi.load: libs/libutf8proc.so.3
ffi.findlib: blitbuffer
ffi.load: libs/libblitbuffer.so
ffi.findlib: archive [13]
ffi.load: libs/libarchive.so.13
07/17/25-01:44:58 INFO Starting reMarkable Ferrari
ERROR: ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
07/17/25-01:44:58 INFO Oxide running?: false
./luajit: ./ffi/framebuffer_linux.lua:55: cannot open framebuffer
stack traceback:
[C]: in function 'assert'
./ffi/framebuffer_linux.lua:55: in function 'init'
./ffi/framebuffer_mxcfb.lua:830: in function 'init'
./ffi/framebuffer.lua:140: in function 'new'
frontend/device/remarkable/device.lua:186: in function 'init'
frontend/device.lua:54: in main chunk
[C]: in function 'require'
./reader.lua:151: in main chunk
[C]: at 0x00405150
01:44:58.549 default [AppLoad]: Process for "./reader.lua" finished with exit code 1 and status QProcess::NormalExit
^Cshutdown: waiting for updates to complete...
shutdown: waiting for display to finish...
shutdown: shutting down...
What does file /home/root/shims/qtfb-shim.so return?
I am.
What OS version?
It does seem that they no longer ship the file executable, I'm trying to figure out which release stopped shipping it
As for if 3.20 works for what you are trying to do, I don't know
I'm not sure when they stopped shipping the file executable on the rMPP, sometime before 3.14.1.10 is all I can say
On your computer where you built qtfb-shim.so, can you run file against the so file and post the content?
Sure
sean@Marvin236:~/dev/RMPP/rmpp-qtfb-shim$ file ~/dev/RMPP/rmpp-qtfb-shim/qtfb-shim.so
/home/sean/dev/RMPP/rmpp-qtfb-shim/qtfb-shim.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=334ca8f177a8ea19b4346d7de456d33d797fea3c, not stripped
For readability, next time you post console output, put three ` characters and then a newline, and then after the text three of them on their own line again
It makes things look like this
oh cool, will do
Hmm, I don't see the interpreter listed, so I don't know if that's the error ornot.
Oh wait
x86-64, version
x86-64...
That would be why
That shouldn't matter here
its so wierd because if i do echo $CXX is returns the toolchain
sean@Marvin236:~/dev/RMPP/rmpp-qtfb-shim$ echo $CXX
aarch64-remarkable-linux-g++ -mcpu=cortex-a53+crc+crypto -mbranch-protection=standard --sysroot=/home/sean/dev/sdk_final/sysroots/cortexa53-crypto-remarkable-linux
What steps are you taking to compile the shim?
And you first ran that without the toolchain sourced?
Not intentionally
I'm assuming it creates a build folder to execute on, if I remember how cmake works
Can you remove the build folder and do it again and then check
hmm now it's looking at an old toolchain that I removed.
That would only be possible if you had that one sourced before you removed it
is this a fresh console session?
Trying a new session just to be sure
It worked that time
I had to restart my machine
Next time you can just restart WSL itself
i thought opening a new tab was a new session.
Run wsl --shutdown from an admin console/powershell and it'll stop
It would be
But then again, I don't know what it's a new tab in, so maybe that will have some sort of environment carryover
Same error. Guess I'll try again tomorrow.
ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file)
The error would be it failing to load the framebuffer
Your output may just be a warning from an executable that is being run that doesn't need access to the shim
07/17/25-02:28:55 INFO Starting reMarkable Ferrari
ERROR: ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'home/root/shims/qtfb-shim.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
07/17/25-02:28:55 INFO Oxide running?: false
./luajit: ./ffi/framebuffer_linux.lua:55: cannot open framebuffer
stack traceback:
[C]: in function 'assert'
./ffi/framebuffer_linux.lua:55: in function 'init'
./ffi/framebuffer_mxcfb.lua:830: in function 'init'
./ffi/framebuffer.lua:140: in function 'new'
frontend/device/remarkable/device.lua:186: in function 'init'
frontend/device.lua:54: in main chunk
[C]: in function 'require'
./reader.lua:151: in main chunk
[C]: at 0x00405150
02:28:55.666 default [AppLoad]: Process for "./reader.lua" finished with exit code 1 and status QProcess::NormalExit
02:29:15.170 rm.upgrades Failed to start /usr/sbin/remarkable-setgoodroot
My guess the second failed to load is when it's trying to run luajit, and that's the one that needs it
i found someone with the same issue who found a shim on discord that worked for them to resolve the error.
dude...for real
just figured it out
i feel so dumb
i was missing the leading '/' in the path
I just want to say one last thing in this thread and that is to thank you all of you for your patience. Talking through it was super helpful.
Been following this -- does this mean you got KOReader to work on the RPP?
Yes I was able to.
Awesome! I gave up temporarily and put rm-hacks and zotero2remarkable_bridge on mine, but I'll give KOReader another shot sometime soon ๐
Let me know if I can help. I learned alot of lessons!
Likewise, thank you!
what other extensions did you have out of curiosity?
I only installed the extensions needed. There are a lot of extensions in the xovi extensions folder but I didn't want to introduce other issues.
which ones did you use specifically?
hey all, what's up. i've been taking a beating from qtfb on 3.19+. has anyone managed to get it working? yes i want to compile it to run koreader
i'm getting some "Couldn't resolve the hashed identifier" errors on xovi/debug. i've tracked the error down to the hashed components that qtfb is trying to modify on its root-fb.qmd file:
AFFECT [[2328484894988065446]]
IMPORT net.asivery.Framebuffer 1.0
the 2328484894988065446 hash doesn't seem to exist anymore. appload's newest version has changed this hash to another in a recent commit (see screenshot). i have tried replacing the wrong hash in qtfb's root-fb.qmd file but to no avail ahahahah
there's more information on this here https://github.com/asivery/rm-xovi-extensions/issues/21
Perhaps you should start your own support thread, as this one is dealing with other issues...
Your first post in the #21 issue
thread '<unnamed>' panicked at src/util/common_util.rs:76:60:
called `Result::unwrap()` on an `Err` value: Couldn't resolve the hashed identifier 2328484894988065446 required by Framebuffer Root in Navigator
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[QTFB]: In main management thread.
[QTFB]: Creating socket...
fatal runtime error: failed to initiate panic, error 512643904, aborting
[QTFB]: Awaiting incoming connections to/tmp/qtfb.sock
xovi/debug: line 3: 1168 Aborted (core dumped) QML_DISABLE_DISK_CACHE=1 QML_XHR_ALLOW_FILE_READ=1 QML_XHR_ALLOW_FILE_WRITE=1 LD_PRELOAD=/home/root/xovi/xovi.so xochitl```
Suggests that you don't have either qt-resource-rebuilder or the hashtab working. (it's usually one of the first outputs: hashtab loaded (or something).
Do you indeed have a hashtab file?
i do have the hashtab file, but i've seen a few errors on the xovi/rebuild_hashtable script:
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/ComboBox.qml
[qmldiff]: Failed to build hashtab from file /qt-project.org/imports/QtQuick/Controls/Universal/ComboBox.qml.
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/CheckBox.qml
...
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/VerticalHeaderView.qml
[qmldiff]: Failed to build hashtab from file /qt-project.org/imports/QtQuick/Controls/Universal/VerticalHeaderView.qml.
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/Dialog.qml
...
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/HorizontalHeaderView.qml
[qmldiff]: Failed to build hashtab from file /qt-project.org/imports/QtQuick/Controls/Universal/HorizontalHeaderView.qml.
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/MenuBar.qml
...
20:49:40.305 rm.network.notifications Connected to notifications server (onStateChanged /home/runner/work/xochitl/xochitl/src/notifications/src/notifications.cpp:206)
20:49:40.377 xofm.libs.toolbar No tools to move to the foldout menu (moveNextToolToFoldout /home/runner/work/xochitl/xochitl/src/xofm/libs/toolbar/src/toolbarprovider.cpp:276)
20:50:09.412 rm.upgrades Failed to start /usr/sbin/remarkable-setgoodroot
[qmldiff]: Processing rules.
[qmldiff]: Hashtab saved to /home/root/xovi/exthome/qt-resource-rebuilder/hashtab
I saw that, but I don't see that you have verified, that you indeed have a working hashtab? ll ~/xovi/exthome/qt-resource-rebuilder output?
Great. Then I suggest, that you temporarily remove qtfb.so and appload.so, so you only have xovi and qt-resource-rebuilder. Then running xovi/debug you should see that the hashtab is loaded.
yup, can confirm that removing qtfb.so, shim, and appload makes xovi run as expected
even with rm-hacks-qmd
i'll try with a qtfb.so file that was sent to me
i have a meeting rn but i'll be back with updates
@ripe lake I am using qtfb on 3.20 fine. It's built from the latest code on github
when you rebuild your hashtable do you get those failures i mentioned?
i'm thinking there may be something borked on my rmpp
Oh wait, OK, I see
Your tablet is fine. Are you on the latest version of qt-resource-rebuilder?
i think so, i'm using a locally compiled qt-resource-rebuilder (with the remarkable toolchain)
let me clean everything and rebuild the extensions
Ok - from the latest commit on GH?
Be sure to update the subrepository
git pull; git submodules update --remote
yup
Qmldiff's ABI rarely changes. You might simply be running a weird "mixup" version of the latest C code and outdated rust
Plus I don't see the line "Set system version to..." in your logs
That'd indicate an outdated qmldiff
qmldiff's at commit bb19e820d66bba9a7e45f76ae7d1f1d668dd0647 from Thu Jul 10
That's OK
Run cargo clean in the qmldiff subfolder just to be sure
Yeah... I'll try resolving this mess by merging qtfb into appload
Maybe even today ๐
Plus my documentation is still garbage ๐คฃ. I'm not a native speaker so docs are a pain and it takes me a long time to write them
It's not the worst
maybe i can help w that
I had to figure it out if I wanted to write a parser
i went down ur code's rabbit hole
That'd be super welcome โค๏ธ
i have a few friends who are BEGGING me to get this working so i can write a tutorial
they really want to read manga (.cbz) natively on the rmpp
I'm so sorry - I hope you didn't lose much sanity ๐
oh i did
but it's fine
i had a blast
i'll reinstall xovi on the rmpp just to make sure
are there any dirs that i should remove besides the /home/root/xovi one?
Nope
aight
Everything is in that folder
the xovi/stock always tries to remove a xovi.conf file in /etc
rm: can't remove '/etc/systemd/system/xochitl.service.d/xovi.conf': No such file or directory
Yeah. That file is in a folder that's a tmpfs mount
That's on purpose
It xovi breaks everything and the tablet reboots, it defaults to stock
That's a safety measure
ahhhhh
makes a ton of sense
if we do umount -l && mount -o remount,rw / to make it permanent it can bootloop the device is what you're saying
interesting
Yes
Please do not do that
On the pro you will be guaranteed a bootloop
Actually, no, it might still work, but please don't try it ๐
On the rMPP, /home doesn't exist until you enter the password for the first time after a reboot (device encryption)
So /home/root/xovi won't be reachable
ah that's one thing i've noticed - my device isnt encrypted
You have the pro?
That's not possible I think
i mean i get no password prompt like ever
what if rebuild_hashtable doesn't work w/o a password?
It does
That is not the problem. The only way to get that error you reported is if the parser fails
So my parser is not fully compliant
Which sucks ๐
the xovi.so is the version i just built locally, and the xovi.so.old is the one i got from the releases in gh
mine is 33% larger...
Hmm. Maybe the config is different
xovi.so itself matters the least here
If you get any response from qt-res-rebuilder, it's fine
(and you don't get bus errors due to inckrrect alignment of the stack ๐ )
let me rebuild the hashtable
- annoying bug that I still find interesting that it popped up so rarely
[qmldiff]: Failed to build hashtab from file /qt-project.org/imports/QtQuick/Controls/Universal/ComboBox.qml.
[qmldiff]: Failed to build hashtab from file /qt-project.org/imports/QtQuick/Controls/Universal/VerticalHeaderView.qml.
[qmldiff]: Failed to build hashtab from file /qt-project.org/imports/QtQuick/Controls/Universal/HorizontalHeaderView.qml.
hmm still getting these failures
root@imx8mm-ferrari:~# xovi/debug
[qmldiff]: Set system version to 3.20.0.92
[qmldiff]: Iterating over directory /home/root/xovi/exthome/qt-resource-rebuilder/
[qmldiff]: Hashtab loaded! Cached 11044 entries
[qmldiff]: Configured hashtab rules.
debug: 2025-06-23T10:44:13Z heads/releases/3.20-lillipup 782f1ce
alright debug seems to be ok
This is a high priority bug. I'll try to fix it today
do you have any idea as to why it might be happening?
Yes
and how can i help
If you want to help, you'd need to delve into the file "src/parser/qml/parser.rs" and you'd need to have access to the qml files of xochitl (which I can't reveal how to retrieve - sorry ๐ฆ )
i already went into that file teehee
but yeah, the qml files i have no clue how to get
i thought it was going to be something like this
bc i saw you changed the apploader qmd to remove this hash
no worries
youare helping though, it's your code we rely on hahaahah
dw
i'd be happy to test it out though
Thanks ๐
since it's clearly reproducible in my dvice
Probably on mine too. I just missed it
[qmldiff]: Hashing: /qt-project.org/imports/QtQuick/Controls/Universal/impl/CheckIndicator.qml
20:40:48.001 default Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
20:40:48.108 default Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
20:40:48.118 default Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations.
20:40:49.051 rm.network.notifications Connected to notifications server (onStateChanged /home/runner/work/xochitl/xochitl/src/notifications/src/notifications.cpp:206)
20:40:49.079 xofm.libs.toolbar No tools to move to the foldout menu (moveNextToolToFoldout /home/runner/work/xochitl/xochitl/src/xofm/libs/toolbar/src/toolbarprovider.cpp:276)
20:41:18.411 rm.upgrades Failed to start /usr/sbin/remarkable-setgoodroot
[qmldiff]: Processing rules.
[qmldiff]: Hashtab saved to /home/root/xovi/exthome/qt-resource-rebuilder/hashtab
##############
Found expected output. Killing gui process and restarting systemd service.
shutdown: waiting for updates to complete...
shutdown: waiting for display to finish...
shutdown: shutting down...
Now starting the systemd xochitl service back up...
root@imx8mm-ferrari:~# xovi/debug
thread '<unnamed>' panicked at src/util/common_util.rs:86:60:
called `Result::unwrap()` on an `Err` value: Couldn't resolve the hashed identifier 2328484894988065446 required by Framebuffer Root in Navigator
[QTFB]: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
In main management thread.
[QTFB]: Creating socket...
[QTFB]: Awaiting incoming connections to/tmp/qtfb.sock
fatal runtime error: failed to initiate panic, error 27534256, aborting
xovi/debug: line 3: 1636 Aborted (core dumped) QML_DISABLE_DISK_CACHE=1 QML_XHR_ALLOW_FILE_READ=1 QML_XHR_ALLOW_FILE_WRITE=1 LD_PRELOAD=/home/root/xovi/xovi.so xochitl
root@imx8mm-ferrari:~#
yeah, qtfb makes xovi not start
i tried using @gilded sonnet's pre-compiled qtfb.so +shim files to see if there's any difference but no, not at all
i tried adding a password just to see if it magically fiexs things and sure enough it doesn't
I'm not at home
omg sorry to bother u when you're not at home
you're a god
The qtfb one?
yep. but hashtable is being built corectly it seems
the failures have disappeared
The thing is, I can't see how that particular hash would be missing
that's the main UI hash right?
Yes
i figured... makes no sense
bc appload works
i'll try to get you the entire logs of qmldiff 1 sec
I can confirm that missing hash is in that log
Please delete that file now, though ๐
what the hellllll
Can you check your DMs?
yup!
after a lot of help from the amazing @steep cedar everything works!!!!!!!!!! i'll write a how-to as soon as possible
Just to remind everyone, please make your own threads instead of using existing ones for support.