Releases: Eeems-Org/oxide
v2.0-alpha
Warning, this is just an alpha of the 2.0 release and not the normal beta and might not be stable.
Features Added
- Apps API mostly implemented.
- Drop support for
term=
application config. - Launcher updated to use Apps API and will no longer use draft configuration files.
- Import Apps menu item added to the launcher to allow you to import configuration from draft.
Known Issues
#59 Disabling wifi in xochitl will crash the system service, which means you won't be able to exit xochitl without rebooting or using ssh.
#53 xochitl suspend is not properly handled.
#69 KOReader will not pause, and will instead cause the display resolution to get wonky.
Warnings
As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Manual Upgrade
- Replace the oxide, rot, erode, and tarnish binaries on your device.
- Disable the oxide service:
systemctl disable --now oxide
- Enable the tarnish service:
systemctl enable --now tarnish
Automated Upgrade
- Run
opkg update
- Run
opkg upgrade
Manual Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into the root of your reMarkable.
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Reload dbus configuration:
systemctl reload dbus
- Enable and start oxide
systemctl enable --now tarnish
Automated Installation
- Add the toltec repository to your entware install
- Run
opkg update
- Run
opkg install oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
oxide.conf
Application configuration file. The launcher will automatically maintain this file.
If you would like to manually add an application entry to oxide you can do so with the following comand:
rot apps call registerApplication 'QVariantMap:{"name":"unique name","displayname": "Name to Display in UI","description":"Application Description","call":"/path/to/executable","icon":"/path/to/icon.png"}'
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to refresh the grid, import applications from draft, or to open up the options dialog. Importing applications will only import applications that contain valid configuration for Oxide. This means that draft configuration that attempts to pass arguments to the call=
setting will not be imported.
Tapping on the wifi icon will toggle wifi on/off.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
tarnish - Background service
Press and hold the left button for 700ms to switch back to the main launcher application.
Press and hold the middle button for 700ms to launch the process manager.
Press and hold the right button for 700ms to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- You can exit the application by pressing the left arrow on the top left of the toolbar.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
rot - CLI API tool
- Usage from the command line only, run
rot --help
to see possible options. For more information on possible API values see the dbus specification files or the high level API design.
v1.3.3-beta
Features Added
- Updated battery/charger code to handle detecting any number of batteries or chargers. In theory this means that the battery level will now work on the reMarkable 2 (Or any other linux device).
- Wifi will only turn on at boot if it was on when the device shut off. Xochitl will also respect this since I'm using its settings file for it.
- Added stub wifi API.
- Finished implementing the power API.
- Battery indicator will now show as "charging" when the device is plugged in, even if the battery is not actually charging (Because it's full).
- Automatic suspend will properly be disabled when the USB cable is plugged in and the battery has filled up.
- The CLI API tool (
rot
) will now output data in JSON format. This will make it easier to consume by tools. - The CLI API tool (
rot
) now supports the stub wifi API. - The CLI API tool (
rot
) now supports listening to signals from the API.
Issues Fixed
- Sometimes wifi would not enable properly on boot, or when toggled.
- Removed some unused code from the process manager.
Known Issues
#59 Disabling wifi in xochitl will crash the system service, which means you won't be able to exit xochitl without rebooting or using ssh.
#53 xochitl suspend is not properly handled.
Warnings
As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Manual Upgrade
- Replace the oxide, rot, erode, and tarnish binaries on your device.
Automated Upgrade
- Run
opkg update
- Run
opkg upgrade
Manual Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into the root of your reMarkable.
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Reload dbus configuration:
systemctl reload dbus
- Enable and start oxide
systemctl enable --now oxide
Automated Installation
- Add the toltec repository to your entware install
- Run
opkg update
- Run
opkg install oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
Tapping on the wifi icon will toggle wifi on/off.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
tarnish - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
rot - CLI API tool
- Usage from the command line only, run
rot --help
to see possible options. For more information on possible API values see the dbus specification files or the high level API design.
v1.3.2-beta
Features Added
- button-capture renamed to tarnish to avoid confusion with existing projects.
- The API code has been moved to tarnish so that you can get updates while oxide is running an application.
- Oxide has been updated to use the API for updating its UI instead of polling the values itself.
- On SIGTERM oxide and tarnish will do their best to send a SIGTERM to all child processes.
Warnings
As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Manual Upgrade
- Replace the oxide and rot binaries on your device.
- Upload the new tarnish binary to your device.
- Delete the old button-capture binary from your device.
Automated Upgrade
- Run
opkg update
- Run
opkg upgrade
Manual Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Automated Installation
- Add the toltec repository to your entware install
- Run
opkg update
- Run
opkg install oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
Tapping on the wifi icon will toggle wifi on/off.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
rot - CLI API tool
- Usage from the command line only, run
rot --help
to see possible options. Currently about all you can do isrot power get state
androt power set state 1
which does nothing other than prove that the D-Bus interface is working.
v1.3.1-beta
Features Added
- Renamed battery API to power and flushed out most values.
Warnings
As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Manual Upgrade
- Replace the oxide and rot binaries on your device.
Automated Upgrade
- Run
opkg update
- Run
opkg upgrade
Manual Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Automated Installation
- Add the toltec repository to your entware install
- Run
opkg update
- Run
opkg install oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
Tapping on the wifi icon will toggle wifi on/off.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
rot - CLI API tool
- Usage from the command line only, run
rot --help
to see possible options. Currently about all you can do isrot power get state
androt power set state 1
which does nothing other than prove that the D-Bus interface is working.
v1.3-beta
Features Added
- Application config files can now have comments (lines starting with
#
) - Beginning to work on an API for other applications to interact with. This includes adding a new binary named
rot
that can be used to interact with it from the command line.
Issues Fixed
- #36 Wifi toggling will update in the UI much faster
- #32 If you don't include an
imgFile
configuration, oxide will now use the default icon. - #38 Sort applications by name
Warnings
As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Manual Upgrade
- Replace the oxide binary on your device.
- Optionally copy the new rot binary to your device.
Automated Upgrade
- Run
opkg update
- Run
opkg upgrade
Manual Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Automated Installation
- Add the toltec repository to your entware install
- Run
opkg update
- Run
opkg install oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
Tapping on the wifi icon will toggle wifi on/off.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
rot - CLI API tool
- Usage from the command line only, run
rot --help
to see possible options. Currently about all you can do isrot battery get state
androt battery set state 1
which does nothing other than prove that the D-Bus interface is working.
v1.2.2-beta
New Features
- #7 Wifi will now turn on on boot and connect with your wifi settings from xochitl
- If you tap on the wifi icon you will toggle wifi on/off
Issues Fixed
- #31 Wifi/Battery status is now properly updating
Warnings
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Upgrade Instructions
- Replace the oxide binary on your device.
Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
Tapping on the wifi icon will toggle wifi on/off.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
v1.2.1-beta
Issues Fixed
- #26 Xochitl still takes input when the process manager is open.
- #29 Settings dialog doesn't show the correct values in the number prompts after a reboot, even though the setting persists.
- #30 Settings to show battery percent and temperature persistent.
- Launch xochitl if the oxide service fails to start
Known Issues
- #31 Wifi/Battery status not updating
Warnings
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Upgrade Instructions
- Replace the oxide and erode binaries on your device.
- Update your oxide.service file with the new changes.
- Optionally merge the updated settings from oxide.conf into your copy.
Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
v1.2-beta
New Features
- Added process monitor. You can launch this by long pressing the home button.
- Automatic sleep will no longer happen while the battery is charging. I found this super annoying while developing, let me know if you'd like this feature to be toggle-able.
Known Issues
- #26 Xochitl still takes input when the process manager is open.
- #29 Settings dialog doesn't show the correct values in the number prompts after a reboot, even though the setting persists.
- #30 Settings to show battery percent and temperature persistent.
Warnings
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Upgrade Instructions
- Replace the oxide and button-capture binaries on your device.
- Copy the erode binary to your device
Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
Oxide consists of three applications: the main launcher, the background service, and the process manager.
oxide - Launcher
After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture - Background service
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
Press and hold the middle button for 1 second or longer to launch the process manager.
erode - process manager
- There is a reload button on the top right of the screen that will refresh the list.
- You can click on the column headers to sort the list by that column.
- If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
- In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
- If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.
v1.1.1-beta
Issues Fixed
- #17 The clock will now display the correct time in the afternoon.
- #18 Battery will no longer report levels as higher than they are.
- #12 Sleep mode will now draw correct, and has been changed to only change the top bar.
- #9 The configuration file has been renamed to
oxide.conf
and move out of the/etc/draft
folder. - Clock will now only attempt to update every minute instead of checking every second.
Warnings
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone
to change your timezone (e.g. timedatectl set-timezone America/Denver
). You can see possible timezones by looking in /usr/share/zoneinfo/
(Don't trust the output of timedatectl get-timezones)
).
Upgrade Instructions
- Replace the oxide binary on your device.
- Rename your
conf
file tooxide.conf
and move it up one directory.
Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Configuration
Configuration files can be in one of the following locations:
/etc
/opt/etc
/home/root/.config
The configuration folder contains the following:
draft/icons/
Folder containing.png
files that are used by applications.oxide.conf
Application configuration file. The launcher will automatically maintain this file.draft/
Folder containing configuration files for every application entry to show in the launcher.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
oxide
After you have configured and launched oxide you can access the power menu from the button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.
v1.1-beta
New Features
- Added clock to top bar
- Moved battery indicator to top bar.
- Added dynamic icons for battery life.
- Added option to display battery percentage (hidden by default).
- Added option to display battery temperature.
- Added dynamic wifi status indicator.
- Added option to display wifi signal strength in decibels.
- Added ability to change how many minutes before automatic suspend is triggered.
Known Issues
Warnings
Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.
Upgrade Instructions
- Replace the
oxide
andbutton-capture
binaries on your device. - Optionally add the missing settings to your
conf
file.
Installation
- Copy oxide.tar.xz to your remarkable
- Decompress files into one of the following locations
a. Root filesystem:/
b. Entware:/opt
- If you haven't installed to the root filesystem, copy the
oxide.service
file to/etc/systemd/system
- Edit
oxide.service
to point it at the correct location ofoxide
- Reload systemd unit files:
systemctl daemon-reload
- Disable xochitl:
systemctl disable --now xochitl
- Enable and start oxide
systemctl enable --now oxide
Configuration
Configuration files can be in one of the following locations:
/etc/draft
/opt/etc/draft
/home/root/.config/draft
The configuration folder contains the following:
icons/
Folder containing.png
files that are used by applications.conf
Application configuration file. The launcher will automatically maintain this file.- Any other file will be used to define an application.
Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.
Configuration files for an application use the following format:
name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl
Options:
- name: Name of the application
- desc: Description of the application, will show on long press.
- imgFile: Name of the icon to use.
- call: Command to run when launching the application
- term: Command to run when button-capture is used to kill the application
Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :
, or leaving them blank.
Usage
oxide
After you have configured and launched oxide you can access the power menu from the button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.
The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf
file on disk, or to close the options dialog and save the current settings to disk.
button-capture
Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate
. Oxide will automatically populate this file when launching an application with the term
setting.
Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png
. It will then execute /tmp/.screenshot
if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.