DocumentationSoftware Stack

Software Stack

reMarkable paper tablets run a custom Linux distribution called reMarkable OS, though you may also see the code name Codex in some configuration or version files. Building our own Linux distribution allows reMarkable to have full control over the hardware and performance of our paper tablets.

Since the reMarkable OS is a regular Linux distribution this also allows users to modify the operating system and software running on their devices. Note that for some device generations, e.g. the reMarkable Paper Pro, you need to enable developer mode before directly accessing the operating system on the device.

Yocto

We use The Yocto Project to build reMarkable OS. The Yocto Project provides a rich set of tools, templates and configurations to build and customize Linux distributions for various devices and hardware architectures. You can read more about the toolchains created by Yocto and how the SDK is used to compile your own applications in the SDK documentation.

In the Yocto build prosess we combine open source components with our own proprietary components and configuration (e.g. the Xochitl application). A full list of open source components and their licenses can be found on the device. To find the list you can open Settings then navigate:

General -> About -> Copyrights and licenses

Or you can inspect the raw license files on the device in the /usr/share/common-licenses directory on your paper tablet.

Note you may need to enable developer mode depending on which product you are using.

Xochitl

The main user application on the device is called Xochitl and is proprietary, i.e. it is not open source and no source code is available. It is launched once the paper tablet starts. For devices with disk encryption enabled, it also unlocks the device. Please make sure to keep Xochitl in working order, since you will not be able to log in to your device after rebooting it otherwise.

Xochitl uses many of the Linux facilities on the device and is built using the Qt framework. The Qt framework is an extensive C++ software development framework, providing a lot of APIs and libraries to build high performance and stable applications.

Disclaimer

Please note that you will be solely responsible for any changes or modifications you make to our software, including by using Developer Mode. We reserve the right to not provide support to software that has been subject to such changes or modifications. Errors or defects resulting from changes or modifications made by you will not be covered by our Limited Warranty or Protection Plan, or any legal warranty you might have (to the extent permitted under applicable law). reMarkable disclaims all liability in that regard.