This is a monorepo for all my XOVI extensions for rM tablets.
Note: I call extensions which themselves do not add functionality, but are a dependency for other extensions "modules".
All build scripts require you to have set the XOVI_REPO environment variable to the directory you have cloned XOVI to, and TMP to the directory which will be the parent of all temporary build directories.
I am NOT responsible for any damages that you may incur to your device using my software. If you end up permanently bricking your device, or damaging the screen, you cannot expect me to fix it. I have written these extensions for myself, and I'm sharing them in hopes that someone might also find them useful.
You are installing this at your own risk.
XOVI is a tethered extension manager - after a restart, the tablet will get
back to the stock OS. To get XOVI back, simply run xovi/start from the SSH
prompt. Your tablet will restart, and you will get XOVI back.
Please do not attempt to get xovi running on an encrypted tablet untethered by editing the xochitl systemd files in the root partition!! You WILL end up with a bootlooping device, and have to go through manual recovery.
If you'd like to be able to start XOVI without an external device, it is recommended that you install a separate XOVI starter, such as xovi-tripletap.
-
Install the
xovipackage:vellum add xovi
-
Download the latest xovi.tar.gz for your device (arm32 for rM1/rM2, aarch64 for rMPP/rMPPM)
-
Copy it onto the device, into
/tmp/xovi.tar.gz:scp xovi.tar.gz root@10.11.99.1:/tmp/xovi.tar.gz
-
Extract the archive (on the tablet):
tar -xzvf /tmp/xovi.tar.gz -C /home/root
You're all set, use xovi/start to start xovi.
To go back to stock either reboot, or run xovi/stock.
Installing XOVI manually will install qt-resource-rebuilder by default. You can choose what other extensions you might need, and install them manually. You do not need to install all extensions. Choose only the ones you want.
If you plan on using UI mods, make sure to update the hashtab.
Dependencies are handles automatically.
vellum add <extension-name>Before installing an extension, read its readme to make sure you also installed all of its dependencies. An extension without dependencies will either fail to load, or crash on startup.
The are four other extensions bundled in with the default install (see currently available extensions). For these four extensions, the installation is as simple as running:
mv /home/root/xovi/inactive-extensions/<extension-name>.so \
/home/root/xovi/extensions.d/To install other extensions:
- Download the extension's
.sofile(s). - Copy the
.sofile to/home/root/xovi/extensions.d/on the tablet - Run
systemctl restart xochitlto restart xovi
To uninstall an extension, simply move it to the inactive extensions folder:
mv /home/root/xovi/extensions.d/<extension-name>.so \
/home/root/xovi/inactive-extensions/If your device updates, or if you're installing qt-resource-rebuilder for the
first time or updating it, be sure to update the hashtab file. To do that, run
the script by @hasechris:
xovi/rebuild_hashtable and wait for it to complete.
- (installed by default) qt-resource-rebuilder - Injects itself into QT, and rebuilds resource databases on the fly. This makes it possible to replace or add QML files, images, etc...
- webserver-remote - Exposes the USB webserver to all interfaces, and adds a confirmation dialog for any inbound connection to it
- framebuffer-spy - A module for exposing the address of the system framebuffer
- qt-command-executor - Injects a QT module, which makes it possible to execute shell commands from QML
- xovi-message-broker - A module for mediating the transmission of simple packets between xovi extensions and QML
- fileman - A module for managing filesystem redirections
- palm-rejection - Disables the touchscreen whenever the marker is undocked
- random-suspend-screen - Lets you randomize your rM tablet's suspend screens