Space Calibrator 2.0 is a major update that's been in the works for over a year. It is a rewrite of the entirety of Space Calibrator, and introduces many features / changes and an overhauled UI.
You can try the beta out by selecting the beta branch in Steam by going to Space Calibrator, settings -> Game Versions & Betas -> select "beta".
This beta is a full rewrite of the app. It aims to improve overall robustness and consistency, and will eventually replace the default build that's currently on Steam as Space Calibrator 2.0.
Information is now logged to %APPDATA%\\space-calibrator\\logs\[/c]. Each session will produce 2 pairs of logs, overlay and driver, both of which will be required for any serious troubleshooting going forward. Logs older than a month will be deleted whenever the app is opened.
The app now supports localisation. If you're interested in localisation, please let me know via the Steam Discussions or open an issue on the GitHub repository! Currently supported languages are:
English (UK)
English (US)
French
Italian
Hungarian
Polish
Norwegian
Russian
Japanese
Chinese (Simplified)
Spanish (Spain)
Calibrations are now more streamlined. The logic has been simplified to try minimising the chances of erroneous data being injected into a calibration sequence yielding a poor calibration. Furthermore, general overall improvements are also present, such as improved tracker / controller prediction!
Continuous calibration, work has being done to minimise the frequency of random mis-calibrations, aiming to make them a thing of the past.
Relative calibrations (REQUIRES CONTINUOUS CALIBRATION). The aim is to re-formulate how a calibration is stored so that it's now relative to your headset, so that when you headset drifts, your trackers drift with it, hiding the drift entirely.
Added support for minimum rotational variance. When gathering samples for calibration the app will only accept data that is unique enough to be useful for a calibration. This means that if you stay still for a long period of time the app will simply ignore most data so that it doesn't generate a bad calibration. This is enabled by default.
Linux support. The rewrite aims to make the app more OS agnostic so that it will work on Linux. Builds have been tested albeit not as thoroughly as with Windows, please report anything weird as more eyes on this are better.
Changing the renderer to DirectX 11 (Windows) / Vulkan (Linux). This is because OpenGL is really buggy, and notorious for causing issues for certain users. OpenGL rendering is still available under a command line switch (add --renderer <opengl|dx11|vulkan> to your launch flags to override graphics APIs. DirectX is not available on Linux.)
Added Base Station Management. You are now able to control Base Station 1.0s and 2.0s directly from Space Calibrator, provided you have a supported BLE adapter.
UI overhaul. The UI has been revamped to make it cleaner, clearer and easier to manage the app compared to the current version.
Support for more hardware. Space Calibrator 2.0 has been designed from the ground up to be more resilient to the differing hardware ecosystems so that whatever you throw at it just works.
Device quirks. Space Calibrator will going forward apply fixes to devices with poor tracking to help you get the most of your hardware.
And more I'm probably forgetting.
Screenshots:
Rewrote the entire app. The codebase shares very little with prior versions.
Redesigned the UI. The UI has been revamped to be cleaner and easier to navigate compared to the current version.
Simplified settings. Most settings for the app have been removed to simplify things.
Added a button to reset settings to their defaults. This is a PERMANENT change and recovery after resetting settings is not possible.
Added a status card to show you what calibration state you're in. This is always visible.
Added a card that informs the user whether Stage Tracking is disabled when using Virtual Desktop and to encourage them to enable it. This requires a Quest headset and usage of Virtual Desktop to be visible.
Gave checkboxes larger hitboxes.
Added support for multiple rendering APIs. You may select between OpenGL, DirectX11 (default on Windows), and Vulkan (default on Linux). You can override the selected graphics API by adding --renderer <opengl|dx11|vulkan> to the launch arguments. The DirectX11 backend is unsupported on Linux.
Added a Learn page to explain how to use the app.
Added support for localisation. Currently supported languages are: English (UK), French, Italian, Hungarian, Polish, Norwegian, Russian, Japanese, Chinese (Simplified), Spanish (Spain).
Fixed an issue where the continuous calibration button would sometimes not be visible.
Added Advanced Settings. Some settings / features require you to enable Advanced Settings to be visible as they are irrelevant for most people.
Added support for Linux.
Added support for logging data, stored at %APPDATA%\\space-calibrator\\logs on Windows, and $HOME$/.local/share/space-calibrator/logs on Linux.
Added crash dump generation. Upon the overlay crashing it should now generate a minidump at %APPDATA%\\space-calibrator\\dumps\\SpaceCalibrator-overlay-{TIME}.dmp. Crash dump generation is currently unavailable on Linux.
Improved calibration quality.
Improved calibration error detection, this should improve continuous calibration quality.
Added support for managing Base Station 2.0s and 1.0s via any supported BLE 5 adapter. If your computer can handle Bluetooth you can probably use this feature.
Added the ability to turn on / turn off Base Station 1.0s via BLE.
Added the ability to turn on / turn off Base Station 2.0s via BLE.
Added the ability to manage Base Station 2.0 channel via BLE.
Added the ability to turn on / turn off all visible Base Stations.
Added the ability to give Base Stations nicknames.
Added a check that will offer you a button to fix several Base Station 2.0s occupying the same channel.
Added the ability to automatically power turn on and turn off Base Stations when Space Calibrator starts up, and when SteamVR is closed while Space Calibrator is running. You can control the behaviour to your liking in Settings. Disabled by default.
Base Station Management can detect faulty Base Station 2.0s. If a 2.0 Base Station has a red light the app will let you know which one it is. It will still allow you to control it as if it's working however.
Added improved support for Virtual Desktop users. Now the actual headset model should be shown in most cases. (If your HMD name doesn't match that's beyond my control unfortunately).
Made some changes to the rejection algorithm for continuous calibration.
Added support for minimum rotational variance. When gathering samples for calibration the app will only accept data that is unique enough to be useful for a calibration. This means that if you stay still for a long period of time the app will simply ignore most data so that it doesn't generate a bad calibration. This is enabled by default.
Made calibrations keep track of a small window of "good" poses only for error tracking purposes. This should improve the trustworthiness of computed error terms reducing the frequency of bad calibrations.
Added support for relative calibrations (REQUIRES CONTINUOUS CALIBRATION). This makes it so that your trackers are now anchored with your headset, and makes it such that if your headset drifts your trackers will drift with it, which should eliminate a whole class of issues. Defaults to off.
Added the ability to automatically detect devices based on movement. Simply select it and move the two devices you wish to pick together for 5 seconds and the app will select them.