v2.1
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
- Copy oxide.zip to your remarkable
- Decompress files onto the root of your reMarkable
- Reload systemd unit files:
systemctl daemon-reload
- Enable the tarnish service:
systemctl enable --now tarnish
Automated Upgrade
- Run
opkg update
- Run
opkg upgrade
- Enable the tarnish service:
systemctl enable --now tarnish
Manual Installation
- Copy oxide.zip 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
- Disable the oxide service:
systemctl disable --now oxide
- Enable the tarnish service:
systemctl enable --now tarnish
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.
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:
/home/root/.config/Eeems/tarnish.conf
/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
- 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.
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.