Skip to content

Releases: Eeems-Org/oxide

v2.2.2

26 Sep 23:37
a2b6fd5
Compare
Choose a tag to compare

Issues Fixed

  • #217 OS 2.9 support
  • #220 Change how service is defined to properly keep other launchers from being enabled at the same time.

Known Issues

  • There have been some odd issues reported on the rM2 that haven't been fully validated yet. #135
  • #147 Multiple button press actions do not work in remarkable-hacks

Warnings

There is currently no way to change your PIN after you've set it. You can do the following over SSH to clear your PIN and the lockscreen will prompt for a new pin the next time it's shown:

systemctl stop tarnish
rm /home/root/.config/Eeems/decay.conf
systemctl start tarnish

If you change the lockscreen application to another application, it will need to make sure to launch the launcher application via the system service after validating the user.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb.

Manual Installation/Upgrade

  1. Copy packges.zip to your remarkable
  2. Decompress files onto a temporary folder
  3. Run opkg install path/to/folder/*.ipk
  4. If you are on a rM2, make sure you have rm2fb installed/enabled/running
  5. Enable the tarnish service: systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. If xochitl or another launcher is enabled, disabled them: systemctl disable --now xochitl
  5. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. If xochitl or another launcher is enabled, disabled them: systemctl disable --now xochitl
  4. Enable the tarnish service if it isn't already: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

There are two other application specific configuration files that are not intended for user modification. You must stop the tarnish service before modifying either of them.

  1. /home/root/.config/Eeems/tarnish.conf
  2. /home/root/.config/Eeems/decay.conf

Usage

See the wiki for usage information.

v2.2.1

18 Jul 16:49
965e50f
Compare
Choose a tag to compare

Issues Fixed

  • #205 Launcher settings will now properly be reloaded on reboot. You can also reload launcher settings from disk with the reload button in the launcher.

Known Issues

  • There have been some odd issues reported on the rM2 that haven't been fully validated yet. #135
  • #147 Multiple button press actions do not work in remarkable-hacks

Warnings

There is currently no way to change your PIN after you've set it. You can do the following over SSH to clear your PIN and the lockscreen will prompt for a new pin the next time it's shown:

systemctl stop tarnish
rm /home/root/.config/Eeems/decay.conf
systemctl start tarnish

If you change the lockscreen application to another application, it will need to make sure to launch the launcher application via the system service after validating the user.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb.

Manual Installation/Upgrade

  1. Copy packges.zip to your remarkable
  2. Decompress files onto a temporary folder
  3. Run opkg install path/to/folder/*.ipk
  4. If you are on a rM2, make sure you have rm2fb installed/enabled/running
  5. Enable the tarnish service: systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. If xochitl or another launcher is enabled, disabled them: systemctl disable --now xochitl
  5. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. If xochitl or another launcher is enabled, disabled them: systemctl disable --now xochitl
  4. Enable the tarnish service if it isn't already: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

There are two other application specific configuration files that are not intended for user modification. You must stop the tarnish service before modifying either of them.

  1. /home/root/.config/Eeems/tarnish.conf
  2. /home/root/.config/Eeems/decay.conf

Usage

See the wiki for usage information.

v2.2

11 Jul 18:33
98790e6
Compare
Choose a tag to compare

New Features

  • #191, #168, #111 Add gestures for better rM2 support.
  • #171 When running an application in a chroot, properly catch suspends from sysfs interface.
  • #176 Add onLogin and onFailedLogin script hooks.
  • #140 Add application switcher. This can be opened by swiping from the bottom of the screen.
  • #39 Add screenshot viewer application.
  • #179 Add splashscreens when launching applications.

Issues Fixed

  • #203 Fix issue where you could skip the lockscreen with the leftAction (hold left button, or swipe from left of screen).
  • #195, #198 Fix issue where icons wouldn't display properly on 2.6+
  • #173 When running without rm2fb on a rM2, start xochitl instead.
  • #155, #115 Clear touch input when switching between applications.
  • #164 Increase maximum "Sleep After" time to 6 hours.
  • #132 Remove kill button from process manager. Tapping on a row will now prompt to kill the process.

Known Issues

  • There have been some odd issues reported on the rM2 that haven't been fully validated yet. #123 #135
  • #147 Multiple button press actions do not work in remarkable-hacks
  • #205 Settings are not saved when rebooting

Warnings

There is currently no way to change your PIN after you've set it. You can do the following over SSH to clear your PIN and the lockscreen will prompt for a new pin the next time it's shown:

systemctl stop tarnish
rm /home/root/.config/Eeems/decay.conf
systemctl start tarnish

If you change the lockscreen application to another application, it will need to make sure to launch the launcher application via the system service after validating the user.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything, so you are likely fine.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb.

Manual Upgrade

  1. Copy packges.zip to your remarkable
  2. Decompress files onto a temporary folder
  3. Run opkg install path/to/folder/*.ipk
  4. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy packges.zip to your remarkable
  2. Decompress files onto a temporary folder
  3. Run opkg install path/to/folder/*.ipk
  4. Enable the tarnish service: systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

There are two other application specific configuration files that are not intended for user modification. You must stop the tarnish service before modifying either of them.

  1. /home/root/.config/Eeems/tarnish.conf
  2. /home/root/.config/Eeems/decay.conf

Usage

See the wiki for usage information.

v2.1.2

21 Jan 14:58
7d8bc53
Compare
Choose a tag to compare

Warning, this will not work on 2.6 from this repository. Toltec testing contains a build that works, so you'll have to install from there.

Issues Fixed

  • Due to a typo, application registration files containing events never have the events imported.
  • There was a typo in the screenshot hook so that it was running /tmp.screenshot if it existed, instead of /tmp/.screenshot.
  • Fixed issue with clearing of touch buffer when switching applications.

Known Issues

  • There have been some odd issues reported on the rM2 that haven't been fully validated yet. #123 #135 #115
  • #150 There have been some reports that sometimes after entering your pin, the screen will no longer respond to touch.
  • #147 Multiple button press actions do not work in remarkable-hacks
  • Does not work on version 2.6 of the OS yet.

Warnings

There is currently no way to change your PIN after you've set it. You can do the following over SSH to clear your PIN and the lockscreen will prompt for a new pin the next time it's shown:

systemctl stop tarnish
rm /home/root/.config/Eeems/decay.conf
systemctl start tarnish

If you change the launcher to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

If you change the lockscreen application to another application, it will need to make sure to launch the launcher application via the system service after validating the user.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb. Gestures are not supported yet (#111), but you can use genie to mimic the functionality.

Manual Upgrade

  1. Copy oxide.zip to your remarkable
  2. Decompress files onto the root of your reMarkable
  3. Reload systemd unit files: systemctl daemon-reload
  4. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.zip to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

There are two other application specific configuration files that are not intended for user modification. You must stop the tarnish service before modifying either of them if you do:

  1. /home/root/.config/Eeems/tarnish.conf
  2. /home/root/.config/Eeems/decay.conf

Usage

Oxide consists of six applications: the main launcher, the lockscreen, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

decay - Lockscreen

If xochitl has a pin set, you will be prompted to import it. If you don't have a pin set, or decide not to import one from xochtil, you will be prompted to create a pin. You may choose to use the device with no pin.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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

fret - Screenshot daemon

Will automatically start up and wait for right button long presses, at which time it will request a screenshot be taken and stored to /home/root/screenshots. 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.

v2.1.1

17 Jan 05:35
a5378a9
Compare
Choose a tag to compare

Issues Fixed

  • #142 The lockscreen doesn't work properly when you specify "No PIN".

Known Issues

  • There have been some odd issues reported on the rM2 that haven't been fully validated yet. #123 #135 #115
  • #150 There have been some reports that sometimes after entering your pin, the screen will no longer respond to touch.
  • #147 Multiple button press actions do not work in remarkable-hacks

Warnings

If you change the launcher to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

If you change the lockscreen application to another application, it will need to make sure to launch the launcher application via the system service after validating the user.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb. Gestures are not supported yet (#111), but you can use genie to mimic the functionality.

Manual Upgrade

  1. Copy oxide.zip to your remarkable
  2. Decompress files onto the root of your reMarkable
  3. Reload systemd unit files: systemctl daemon-reload
  4. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.zip to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Disable the oxide service: systemctl disable --now oxide
  5. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

There are two other application specific configuration files that are not intended for user modification. You must stop the tarnish service before modifying either of them if you do:

  1. /home/root/.config/Eeems/tarnish.conf
  2. /home/root/.config/Eeems/decay.conf

Usage

Oxide consists of siz applications: the main launcher, the lockscreen, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

decay - Lockscreen

If xochitl has a pin set, you will be prompted to import it. If you don't have a pin set, or decide not to import one from xochtil, you will be prompted to create a pin. You may choose to use the device with no pin.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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

fret - Screenshot daemon

Will automatically start up and wait for right button long presses, at which time it will request a screenshot be taken and stored to /home/root/screenshots. 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.

v2.1

09 Jan 06:10
741d1c3
Compare
Choose a tag to compare

New Features

  • #6 Added basic wifi network list. Does not allow for setting of wifi passwords yet.
  • #109 Added restart option to power menu
  • #15 #94 Added system wide lockscreen
  • #40 Further implement API that developers can use to interact with the device and the oxide ecosystem
  • #122 #112 Improve how applications can be registered by packaging solutions (toltec)
    • New better application registration file format
    • Specify specific user/group
    • Run application in chroot
    • Specify environment variables
  • #27 Notification drawer added to launcher
  • #82 Add option to show date in toolbar. Pressing on the date/time will open a popup with this month's calendar
  • #116 When applications are removed or added to tarnish, the launcher will automatically update
  • #4 Screenshots will now show a notification to alert you when they have happened. Screenshots will also be stored to /home/root/screenshots with a timestamp for the name instead of /tmp/fb.png

Issues Fixed

  • #59 Fix system service crash when wifi toggled in xochitl.
  • #69 #126 #91 Pausing KOReader will properly pause all child processes. Toltec will be updated so that it also properly handles reverting display resolution properly.
  • #92 Fixed auto suspend not disabling when starting and the device being plugged in.
  • #100 Fixed auto sleep settings not saving between reboots
  • Fixed issue where switching between applications on the rM2 behind rm2fb distorting the screen
  • #97 Resolved an issue where resuming would sometimes take a long time to show on the screen.
  • #125 Fix issue where buttons in the application popup are larger than the popup
  • #124 Wifi signal now reports the proper value instead of 0dBm
  • #106 Better handle when applications are registered with an empty bin= line.
    #104 rot would segfault when it should instead be printing help due to incomplete commands
    #105 Wifi icon no longer shows up on the suspend screen

Known Issues

  • #142 The lockscreen doesn't work properly when you specify "No PIN". You can work around this by either registering a dummy application as the lockscreen, or long pressing the left button.
  • There have been some odd issues reported on the rM2 that haven't been fully validated yet. #123 #135 #115

Warnings

If you change the launcher to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

If you change the lockscreen application to another application, it will need to make sure to launch the launcher application via the system service after validating the user.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb. Gestures are not supported yet (#111), but you can use genie to mimic the functionality.

Manual Upgrade

  1. Copy oxide.zip to your remarkable
  2. Decompress files onto the root of your reMarkable
  3. Reload systemd unit files: systemctl daemon-reload
  4. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.zip to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Disable the oxide service: systemctl disable --now oxide
  5. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

There are two other application specific configuration files that are not intended for user modification. You must stop the tarnish service before modifying either of them if you do:

  1. /home/root/.config/Eeems/tarnish.conf
  2. /home/root/.config/Eeems/decay.conf

Usage

Oxide consists of siz applications: the main launcher, the lockscreen, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

decay - Lockscreen

If xochitl has a pin set, you will be prompted to import it. If you don't have a pin set, or decide not to import one from xochtil, you will be prompted to create a pin. You may choose to use the device with no pin.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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

fret - Screenshot daemon

Will automatically start up and wait for right button long presses, at which time it will request a screenshot be taken and stored to /home/root/screenshots. 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.

v2.0.3-beta

07 Jan 03:28
49c1716
Compare
Choose a tag to compare
v2.0.3-beta Pre-release
Pre-release

Issues Fixed

  • #113 Suspend on reMarkable 2 causes a crash

Known Issues

  • #59 Disabling wifi in xochitl will crash the system service. (Will be fixed in v2.1)
  • #69 KOReader will not pause, and will instead cause the display resolution to get wonky. You can work around this by setting onPause/onResume. (Will be fixed in v2.1)
    • onPause=killall -STOP luajit || true && /opt/koreader/fbdepth -d 16 -r 1
    • onResume=/opt/koreader/fbdepth -d 8 -r 1 || true && killall -CONT luajit
  • #92 Auto suspend will still happen while plugged in while starting device. All you need to do is interact with the screen once and everything will start working normally.
  • #100 Auto sleep settings are not saved between reboots. (Will be fixed in v2.1)
  • Switching between applications on the rM2 behind rm2fb will distort the screen. (Will be fixed in v2.1)

Warnings

If you change the startup application to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb. Gestures are not supported yet, so some sort of background startup program to handle them will need to be created in order to emulate the button long press actions.

Manual Upgrade

  1. Replace the oxide, rot, erode, fret, and tarnish binaries on your device.
  2. Disable the oxide service: systemctl disable --now oxide
  3. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Disable the oxide service: systemctl disable --now oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.zip to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Disable the oxide service: systemctl disable --now oxide
  5. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /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", "bin": "/path/to/executable", "icon": "/path/to/icon.png"}'

You have the following configuration options available to pass in:

  • bin: Path to the executable to run.
  • name: Unique name of the application.
  • displayName: Name to be displayed for the application to the end user.
  • description: Description of the application.
  • icon: Path to the icon to display for the application.
  • type: Application type, possible values are:
    • 0: The application is intended to only run in the foreground. Send a STOP to the application when switching.
    • 1: The application is intended to only run in the background. Never send a STOP to the application.
    • 2: The application can run in both the foreground and the background. When pausing the application send a USR2 signal to the application. If it fails to respond with a USR2 signal in 1 second send a STOP signal to the application. When resuming the application send a USR1 signal to the application.
  • onPause: Command to run right before pausing the application
  • onResume: Command to run right before resuming the application
  • onStop: Command to run right before killing the application.
  • flags: String array (e.g. ["flag1","flag2"]) of application flags. Possible values are:
    • autoStart: This background or backgroundable application should be automatically started when the system service is first starting up. Backgroundable applications will be moved to the background immediatly.
    • system: This is a system application. System applications cannot be unregistered.
    • hidden: This application should not be shown to the user.

You can also manually modify configuration while tarnish is not running by modifying /home/root/.config/Eeems/tarnish.conf

Usage

Oxide consists of five applications: the main launcher, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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

fret - Screenshot daemon

Will automatically start up and wait for right button long presses, at which time it will request a screenshot be taken and stored to /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.

v2.0.2-beta

07 Jan 00:47
6f3d9a9
Compare
Choose a tag to compare
v2.0.2-beta Pre-release
Pre-release

Issues Fixed

  • #130 Make Process Manager list update much faster.
  • #131 Add some padding to the Process Manager to make it easier to see.
  • #133 Greyscale suspend images no longer look bad.

Known Issues

  • #59 Disabling wifi in xochitl will crash the system service. (Will be fixed in v2.1)
  • #69 KOReader will not pause, and will instead cause the display resolution to get wonky. You can work around this by setting onPause/onResume. (Will be fixed in v2.1)
    • onPause=killall -STOP luajit || true && /opt/koreader/fbdepth -d 16 -r 1
    • onResume=/opt/koreader/fbdepth -d 8 -r 1 || true && killall -CONT luajit
  • #92 Auto suspend will still happen while plugged in while starting device. All you need to do is interact with the screen once and everything will start working normally.
  • #100 Auto sleep settings are not saved between reboots. (Will be fixed in v2.1)
  • Switching between applications on the rM2 behind rm2fb will distort the screen. (Will be fixed in v2.1)

Warnings

If you change the startup application to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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)). You can install more timezones through toltec by installing the various zoneinfo-* packages.

reMarkable 2 support requires rm2fb. Gestures are not supported yet, so some sort of background startup program to handle them will need to be created in order to emulate the button long press actions.

Manual Upgrade

  1. Replace the oxide, rot, erode, fret, and tarnish binaries on your device.
  2. Disable the oxide service: systemctl disable --now oxide
  3. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Disable the oxide service: systemctl disable --now oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.zip to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Disable the oxide service: systemctl disable --now oxide
  5. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /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", "bin": "/path/to/executable", "icon": "/path/to/icon.png"}'

You have the following configuration options available to pass in:

  • bin: Path to the executable to run.
  • name: Unique name of the application.
  • displayName: Name to be displayed for the application to the end user.
  • description: Description of the application.
  • icon: Path to the icon to display for the application.
  • type: Application type, possible values are:
    • 0: The application is intended to only run in the foreground. Send a STOP to the application when switching.
    • 1: The application is intended to only run in the background. Never send a STOP to the application.
    • 2: The application can run in both the foreground and the background. When pausing the application send a USR2 signal to the application. If it fails to respond with a USR2 signal in 1 second send a STOP signal to the application. When resuming the application send a USR1 signal to the application.
  • onPause: Command to run right before pausing the application
  • onResume: Command to run right before resuming the application
  • onStop: Command to run right before killing the application.
  • flags: String array (e.g. ["flag1","flag2"]) of application flags. Possible values are:
    • autoStart: This background or backgroundable application should be automatically started when the system service is first starting up. Backgroundable applications will be moved to the background immediatly.
    • system: This is a system application. System applications cannot be unregistered.
    • hidden: This application should not be shown to the user.

You can also manually modify configuration while tarnish is not running by modifying /home/root/.config/Eeems/tarnish.conf

Usage

Oxide consists of five applications: the main launcher, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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

fret - Screenshot daemon

Will automatically start up and wait for right button long presses, at which time it will request a screenshot be taken and stored to /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.

v2.0.1-beta

06 Dec 20:05
af869c6
Compare
Choose a tag to compare
v2.0.1-beta Pre-release
Pre-release

Features Added

  • Initial support for reMarkable 2 using rm2fb

Known Issues

  • #59 Disabling wifi in xochitl will crash the system service.
  • #69 KOReader will not pause, and will instead cause the display resolution to get wonky. You can work around this by setting onPause/onResume.
    • onPause=killall -STOP luajit || true && /opt/koreader/fbdepth -d 16 -r 1
    • onResume=/opt/koreader/fbdepth -d 8 -r 1 || true && killall -CONT luajit
  • #92 Auto suspend will still happen while plugged in while starting device. All you need to do is interact with the screen once and everything will start working normally.
  • #100 Auto sleep settings are not saved between reboots.
  • Switching between applications on the rM2 behind rm2fb will distort the screen.

Warnings

If you change the startup application to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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)).

reMarkable 2 support requires modifying the service file to use rm2fb. Gestures are not supported yet, so some sort of background startup program to handle them will need to be created in order to emulate the button long press actions.

Manual Upgrade

  1. Replace the oxide, rot, erode, fret, and tarnish binaries on your device.
  2. Disable the oxide service: systemctl disable --now oxide
  3. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Disable the oxide service: systemctl disable --now oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Disable the oxide service: systemctl disable --now oxide
  5. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /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", "bin": "/path/to/executable", "icon": "/path/to/icon.png"}'

You have the following configuration options available to pass in:

  • bin: Path to the executable to run.
  • name: Unique name of the application.
  • displayName: Name to be displayed for the application to the end user.
  • description: Description of the application.
  • icon: Path to the icon to display for the application.
  • type: Application type, possible values are:
    • 0: The application is intended to only run in the foreground. Send a STOP to the application when switching.
    • 1: The application is intended to only run in the background. Never send a STOP to the application.
    • 2: The application can run in both the foreground and the background. When pausing the application send a USR2 signal to the application. If it fails to respond with a USR2 signal in 1 second send a STOP signal to the application. When resuming the application send a USR1 signal to the application.
  • onPause: Command to run right before pausing the application
  • onResume: Command to run right before resuming the application
  • onStop: Command to run right before killing the application.
  • flags: String array (e.g. ["flag1","flag2"]) of application flags. Possible values are:
    • autoStart: This background or backgroundable application should be automatically started when the system service is first starting up. Backgroundable applications will be moved to the background immediatly.
    • system: This is a system application. System applications cannot be unregistered.
    • hidden: This application should not be shown to the user.

You can also manually modify configuration while tarnish is not running by modifying /home/root/.config/Eeems/tarnish.conf

Usage

Oxide consists of five applications: the main launcher, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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

fret - Screenshot daemon

Will automatically start up and wait for right button long presses, at which time it will request a screenshot be taken and stored to /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.

v2.0-beta

26 Sep 20:53
e2316d8
Compare
Choose a tag to compare
v2.0-beta Pre-release
Pre-release

Features Added

  • New APIs for application developers to work with (API overview)
  • 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.
  • Automatic suspend moved to the system service so it will work when any application is running.
  • Suspend when the power button is pressed from any application.
  • Suspending will now always show your suspend screen, even when done from the command line.
  • Wifi Menu added. For now it doesn't fully support connecting to networks you haven't configured in Xochitl.
  • True multitasking support. Applications will by default be stopped/resumed when switching, but developers have the option to make backgroundable applications that will not be stopped.
  • Added a background application to handle screenshots (fret).
  • Added indicator in the launcher when an application is running.
  • Added the ability to kill running applications from the launcher screen. Long press on a running application to open the information dialog. There will be a new kill button present there.
  • With the new Application API you can change your startup application to be something other than the oxide launcher.
  • You can also indicate that a background, or backgroundable application should be automatically started on boot. These applications will be started before the startup application, and then moved into the background.
  • You can hide applications from the launcher. There is currently no way to do so in the UI.
  • Added ability to automatically start an application on boot from the launcher.

Issues Fixed

#53 Xochitl suspend not properly handled
#45 Touch bleeds through erode to xochitl

Known Issues

#59 Disabling wifi in xochitl will crash the system service.
#69 KOReader will not pause, and will instead cause the display resolution to get wonky. You can work around this by setting onPause/onResume.

  • onPause=killall -STOP luajit || true && /opt/koreader/fbdepth -d 16 -r 1
  • onResume=/opt/koreader/fbdepth -d 8 -r 1 || true && killall -CONT luajit

#92 Auto suspend will still happen while plugged in while starting device. All you need to do is interact with the screen once and everything will start working normally.
#100 Auto sleep settings are not saved between reboots.

Warnings

If you change the startup application to something other than the built-in launcher, this application will need to be able to request other applications be launched by the system service. Currently, there are no built-in shortcuts to provide a generic application switching mechanism.

When importing applications from draft, it will fail to import applications that have configured the call= option to use arguments. This is due to oxide only supporting pointing at a single file for an application without arguments.

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. It's been quite a few releases and nobody has said anything though, so you are likely fine.

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

  1. Replace the oxide, rot, erode, and tarnish binaries on your device.
  2. Copy the new fret binary to your device.
  3. Disable the oxide service: systemctl disable --now oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade
  3. Disable the oxide service: systemctl disable --now oxide
  4. Enable the tarnish service: systemctl enable --now tarnish

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide
  4. Disable the oxide service: systemctl disable --now oxide
  5. Enable the tarnish service: systemctl enable --now tarnish

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /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", "bin": "/path/to/executable", "icon": "/path/to/icon.png"}'

You have the following configuration options available to pass in:

  • bin: Path to the executable to run.
  • name: Unique name of the application.
  • displayName: Name to be displayed for the application to the end user.
  • description: Description of the application.
  • icon: Path to the icon to display for the application.
  • type: Application type, possible values are:
    • 0: The application is intended to only run in the foreground. Send a STOP to the application when switching.
    • 1: The application is intended to only run in the background. Never send a STOP to the application.
    • 2: The application can run in both the foreground and the background. When pausing the application send a USR2 signal to the application. If it fails to respond with a USR2 signal in 1 second send a STOP signal to the application. When resuming the application send a USR1 signal to the application.
  • onPause: Command to run right before pausing the application
  • onResume: Command to run right before resuming the application
  • onStop: Command to run right before killing the application.
  • flags: String array (e.g. ["flag1","flag2"]) of application flags. Possible values are:
    • autoStart: This background or backgroundable application should be automatically started when the system service is first starting up. Backgroundable applications will be moved to the background immediatly.
    • system: This is a system application. System applications cannot be unregistered.
    • hidden: This application should not be shown to the user.

You can also manually modify configuration while tarnish is not running by modifying /home/root/.config/Eeems/tarnish.conf

Usage

Oxide consists of five applications: the main launcher, the background service, the process manager, the settings manager, and the screenshot handler.

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 open up the wifi menu.

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.

Press on an application to launch, or return to an application. Long press on it to see more information about the application. If the application is running you will also be presented with a button to kill the application. There will be a button to toggle if this application should be launched on startup. This will automatically disable launch on startup from another application.

tarnish - Background service

Press and hold the left button to switch back to the startup application.

Press and hold the middle button to launch the process manager.

Press the power button to suspend the device.

Right button and power button long presses are also recorded, but by default no action is taken.

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 informatio...
Read more