The reMarkable UI is primarily built using QML, but all of the files are embedded inside the binary as compiled Qt resources. For ease of hacking, it is possible to extract the files onto the filesystem and patch the binary to load the extracted files.
--> ONLY FOR FIRMWARE VERSION 2.11.0.442 on rM2 <--
- Copy
/usr/bin/xochitlto your computer - Acquire qrc2zip
- Run the following
qrc2zip -o qrc1.zip -v xochitl 3 3961032 3962440 3959884
qrc2zip -o qrc2.zip -v xochitl 3 4255140 4255316 4254928
qrc2zip -o qrc3.zip -v xochitl 3 4525748 4539940 4531052
qrc2zip -o qrc4.zip -v xochitl 3 4928644 4928932 4928236
qrc2zip -o qrc5.zip -v xochitl 3 5264976 5265460 5264316- Unzip all of the generated files.
- Acquire reMarkable SDK
- Compile
hax.c
$OE_QMAKE_CC -Wall -ggdb3 -std=c11 -fpic -shared -o hax.so hax.c- Copy
hax.soto reMarkable
- Copy
qml/directory extracted from .zip files to/home/root/hacked-qml - Cause
hax.soto be loaded. If you are using Toltec and its wrapper, edit the file/opt/etc/xochitl.env.d/rm2fb-preload.envand replace the lineexport LD_PRELOAD=/opt/lib/librm2fb_client.so.1withexport LD_PRELOAD="/opt/lib/librm2fb_client.so.1 /home/root/hax.so"