-
Notifications
You must be signed in to change notification settings - Fork 6
Setup Instructions
- Download release
chmod +x WlxOverlay-*.AppImage
- With SteamVR running:
./WlxOverlay-*.AppImage
After running once, the app will be registered to auto-start with SteamVR. You can disable this in the SteamVR startup settings or in config.yaml
(see below).
Look here for frequently encountered issues: Troubleshooting
See the README for known issues and their workarounds!
Grab yourself a copy of the config file:
mkdir -p ~/.config/wlxoverlay
cd ~/.config/wlxoverlay
wget https://github.com/galister/WlxOverlay/raw/master/Resources/config.yaml
The config file is self-documenting, so give it a peek and you'll surely find what you're looking for!
WlxOverlay ships with bindings for Index and Oculus controllers. If you do have a different controller and need help with bindings, feel free to reach out.
Extra bindings can be found here!
Instructions to create your own bindings:
-
Click
: keyboard typing and clicking on the screen. set this to your triggers. -
Grip
: for moving overlays.- Recommended:
Grip
input with pressure mode, pressure 70%. Release pressure 50%
- Recommended:
-
Pose
: set this to the controller tip, if you have that option. -
Scroll
: set this to your joystick, and choose smooth mode -
ShowHide
: Show/hide the current layout.- Recommended: DoubleClick on B / Y on your non-dominant hand
-
AltClick
: push-to-talk or arbitrary shell execute, optional.config.yaml
to configure. -
ClickModifierRight
: bind this to a capacitive touch action, if able -
ClickModifierMiddle
: bind this also to a capacitive touch action-
ClickModifierRight
takes precedence, so this can be a button that you may accidentally touch while reaching forClickModifierRight
-
If you can't bind the modifiers due to lack of buttons, see the config.yaml
for alternatives.
If you're left handed, set primary_hand: Left
in config.yaml
.
Pull the original bindings into your config folder:
mkdir -p ~/.config/wlxoverlay
cd ~/.config/wlxoverlay
wget https://github.com/galister/WlxOverlay/raw/master/Resources/actions.json
wget https://github.com/galister/WlxOverlay/raw/master/Resources/actions_binding_knuckles.json
wget https://github.com/galister/WlxOverlay/raw/master/Resources/actions_binding_oculus.json
wget https://github.com/galister/WlxOverlay/raw/master/Resources/actions_binding_vive.json
Now you can edit the bindings file that corresponds to your controller.
Bindings from here will only be loaded if actions.json
is also present in this folder.
If you need to add a new type of controller, don't forget to add it in the default_bindings
section of actions.json
.
The layout can be changed using a custom keyboard.yaml
file:
mkdir -p ~/.config/wlxoverlay
cd ~/.config/wlxoverlay
wget https://github.com/galister/WlxOverlay/raw/master/Resources/keyboard.yaml
You are then free to edit this file.
If you do end up making a layout, please submit it with a pull request, in order to so save others the trouble.
WlxOverlay has 2 optional native components:
- wlxshm for X11 capture
- wlxpw for Pipewire capture
Both of these are built via the prebuild.sh
script. If either of these libraries are not present when dotnet build
is ran, the given capture methods will not be supported at runtime. You may also build these manually and copy the resulting .so files next to the main WlxOverlay executable.
Depending on the platform you'll be using WlxOverlay on, you will need different components:
- wlroots: none necessary
- Mir: none necessary
- KWin: wlxpw
- Mutter: wlxpw
- Weston: wlxpw
- X11: wlxshm
- libpipewire-0.3
- libspa-0.2
- libxcb
- libxcb-randr
- libxcb-shm
- libxcb-xinerama
In addition to the dependencies above, you'll also need the dotnet-6.0 SDK (or later?) installed
git clone https://github.com/galister/WlxOverlay.git
cd WlxOverlay
./prebuild.sh
dotnet build
Then, run with:
cd bin/debug/net6.0
./WlxOverlay
(Start SteamVR before running this.)