A collection of utilities to assist with sleeping in virtual reality
This is the main repository for Oyasumi. It is an open source tool to assist with sleeping in virtual reality.
Note: Currently, Oyasumi is in its very early stages. The current functionality is likely to still contain several bugs and issues.
Getting started
Grab the latest installer over on the Releases page.
Features
-
🔧 Turning off all trackers and/or controllers with a single click. -
💤 Manage your sleep state in various ways with automations:- Fall asleep:
- When a controller or tracker battery percentage falls below a threshold
- When turning off your controllers
- On a time schedule
- Wake up:
- When turning on a controller or tracker
- On a time schedule
- Fall asleep:
-
🔋 Battery automations:- Automatically turn off trackers and/or controllers:
- When you go to sleep
- When putting them on the charger
- Automatically turn off trackers and/or controllers:
-
🔌 GPU Automations:- Automatically tweak your power limits when you go to sleep and when you wake up.
-
🗺️ Multi language support- English
- Dutch
If you would like to help out with adding more languages and/or missing translations, please check out the wiki page on adding translations for instructions on how to get started!
Here is an example use case of these features combined:
I go to sleep in full body tracking. When one of my trackers reaches 50% battery, Oyasumi enables sleep mode. Because sleep mode is enabled, all my controllers and trackers are turned off and power limits are set for my graphics card to reduce the power usage. When I wake up, I turn on my controllers, so Oyasumi disables sleep mode. This restores the default power limits for my video card, giving me full performance again. My trackers and controllers still have plenty of the battery left to continue playing!
Built With
Oyasumi has been built with Angular and Tauri.
Supported Devices
Battery Automations
Currently Oyasumi supports battery automations for all SteamVR devices that:
- Support reporting for battery levels and charging status
- Support being turned off via SteamVR.
This includes, but is not limited to the following devices:
- HTC Vive Controllers/Wands
- Index Controllers/Knuckles
- Vive Trackers (1.0/2.0/3.0)
- Tundra Trackers*
This means that any Oculus controller is unlikely to work, and SlimeVR trackers are unsupported unless they implement this functionality in their OpenVR driver.
(*) Tundra trackers have very delayed reporting of battery levels and charging status. This means that while automations will still work, they will be very delayed (minutes in the double digits), unless Tundra fixes this in their tracker firmware. (https://forum.tundra-labs.com/t/firmware-issues/746)
GPU Automations
Currently, only NVIDIA cards are supported for setting power limits. AMD and Intel cards are not yet supported.
For AMD support, please see the following issue.
Development
To start development on Oyasumi, start by following Tauri's prerequisites (Installing Rust). Make sure to grab the nightly, as Oyasumi uses some functionality that is not yet available in the current stable release of Rust.
After you have followed the guide and installed Rust, install NodeJS.
It could be helpful to install the Angular CLI globally.
Once you have set up these dependencies, you can continue as follows:
- Check out Oyasumi on your machine.
- Run
npm run install
oryarn
, depending on whether you prefer usingnpm
oryarn
. - Run
npm run build
oryarn build
at least once.
From here, you can run npm run tauri dev
or yarn tauri dev
to run the application locally.
License
Oyasumi is available under the MIT license.