Running qmake client.pro DEFINES+=NO_XOCHITL will generate librm2fb_client.so without the Xochitl interception logic (and will not link to frida-gum).
Rationale:
Libs and binaries on the reMarkable system are compiled using the hardfloat (hf) ABI, libs and binaries from Entware are compiled using the softfloat (sf) ABI. The two ABIs are incompatible with each other (a hf binary cannot be linked to a sf library, and vice versa).
To make Toltec independent from reMarkable system updates, I plan on adding Qt libraries in /opt and to make apps only load libraries from that folder. This will require recompiling all Toltec apps and libraries to use the sf ABI (since Entware libs also live in /opt and those use the sf ABI).
rm2fb will therefore need to be compiled for the two ABIs, the sf version being used for Toltec apps, and the hf version being used for Xochitl.
This new NO_XOCHITL flag will be useful for the sf version which doesn’t need the Xochitl interception logic. In fact, without this flag, we would need to recompile all of frida-gum for the sf ABI, since the Frida project only provides hf releases.
Running
qmake client.pro DEFINES+=NO_XOCHITL
will generate librm2fb_client.so without the Xochitl interception logic (and will not link to frida-gum).Rationale: