This is a custom headset driver for SteamVR that allows the MeganeX superlight 8K to operate as a native SteamVR headset. In the future this will provide tools to modify any SteamVR device.

- Download the latest release from the releases page
- Extract the whole folder within the zip to a place you want it.
- Run
custom-headset-gui.exeinCustomHeadsetGUIto finish the installation and configure settings.
Manual Driver Installation
You do not need to do this if you installed the driver with the GUI.- Copy the
CustomHeadsetOpenVRfolder from inside the zip intoC:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers - Disable the MeganeXSuperlight driver in SteamVR
- Restart SteamVR
- Download the latest release from the releases page
- Extract the whole folder within the zip to a place you want it.
- Run
custom-headset-gui.exeinCustomHeadsetGUI - Go to the about page and install the new driver.
Run custom-headset-gui.exe to configure settings.
Almost all settings will be immediately applied when the file is saved without restarting SteamVR.
Enter %APPDATA%/CustomHeadset into the file browser top bar to get to the settings folder.
Edit the settings.json file based on the Config header file
Distortion profiles go in a folder named Distortion and they are referenced by their name.
- Clone the repository wit
git clone https://github.com/sboys3/CustomHeadsetOpenVR.git - Navigate to the repository folder with
cd CustomHeadsetOpenVRin the terminal. - Pull the submodules with
git submodule update --init --recursive - Open the solution in Visual Studio.
- Change the configuration to Release.
- Build the solution. It will create the driver folder in
outputand copy it to the SteamVR drivers folder.
To pull the latest changes, run git pull --recurse-submodules
- MeganeX
- Running as a native headset
- Ignore other headsets
- Code to generate the distortion mesh
- Darken the display when no motion is detected
- Support for non square outputs to light edges of the display
- A good default distortion profile
- A near perfect default distortion profile
- Multiple distortion profiles
- Hidden area mesh
- Custom Shader
- Replace SteamVR compositor shaders at runtime
- Configure contrast, chroma, and gamma
- Subpixel shifts for the MeganeX and Vive
- sRGB color correction for the MeganeX
- Remove mura correction or black clamp for any native headset
- Support all native headsets
- Config
- Define the structure of the config file
- Create MeganeX section
- Read config file
- Hot reload when the config is changed
- Load custom distortion profiles
- Define the structure for the overrides section
- GUI
- Create a Tauri project
- Create a Angular project within it
- Configure MeganeX settings
- Edit distortion profiles my dragging points on a curve
- Create overrides for any headset
- Install the driver
- Change physical MeganeX settings
- Driver
- Linux build support
- Override any property of any SteamVR device based on the config
- Change device types
- Apply presets to devices ex: Vive tracker or generic headset
- Output json file with information about SteamVR and devices for configuration utilities to use.
This project is licensed under the GPLv2 license. See the LICENSE file for more details. I may relicense this project for to allow for use that GPLv2 does not allow for so be aware of that when you contribute
By committing to this repository you give me the right to relicense your code for others to use. If you want to make a significant contribution but do not want to comply with this, mark your code as such and let me know so I will be able to remove it if I need to.
Try to keep the coding style consistent with existing files. But other than keeping tabbing consistent, I will not enforce strict guidelines.
Thanks to everyone who has shown appreciation to me for this project. It has been an amazing experience having so many people thank me for my work. I really appreciate the kind words you all had for me and I have a special appreciation to those who went a step further and donated.
If you want your info displayed, send me a message on the platform you donated on. You can tell me where to get an icon, a name to display when hovered, and a link to wherever you want. You can provide any combination of the 3 and I will add it. Alternatively you can remain autonomous as a generic icon. I can always change it for you in the future, but it will stay in github history.










