Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
a71aca6
Initial move to direct presentation with common 3D formats
oneup03 Apr 25, 2026
4fdee90
Add LeiaSR output; update other modes
oneup03 Apr 26, 2026
32f897e
Initial DX9 Nvidia output mode
oneup03 Apr 26, 2026
36b560c
Keep fullscreen DX9
oneup03 Apr 26, 2026
b748966
Fix DX9 crashes?
oneup03 Apr 26, 2026
fbfab7b
Allow DX9 minimize when game disconnected
oneup03 Apr 27, 2026
f222144
DX9 Crash fix attempt 2
oneup03 Apr 27, 2026
79c4856
Add Auto-Lightboost for Nvidia DX9 mode
oneup03 Apr 27, 2026
6288fa4
Code cleanup
oneup03 Apr 29, 2026
4eb3e94
Add WIP Framepacked modes;
oneup03 Apr 30, 2026
f3d268f
Disable LeiaSR when unfocused
oneup03 May 1, 2026
7d34861
Add SR tracking
oneup03 May 1, 2026
0172681
Add ImGUI based OSD
oneup03 May 2, 2026
6c02ec4
Create proper screenshot function
oneup03 May 2, 2026
0bd3452
Auto-Recenter
oneup03 May 2, 2026
76d433e
Increase OSD font size
oneup03 May 2, 2026
2f22059
Fix auto_focus logic
oneup03 May 2, 2026
5b75572
Initial Auto-Depth feature
oneup03 May 2, 2026
702d8c4
Rework user hotkeys
oneup03 May 2, 2026
99eb9a3
Update headers
oneup03 May 2, 2026
ebde57b
Cleanup logging
oneup03 May 3, 2026
42fa0df
WibbleWobble IPC version
oneup03 May 3, 2026
3cfa3a0
Fix WibbleWobble presenter
oneup03 May 3, 2026
47820bb
Fix WW OSD Flicker
oneup03 May 3, 2026
703676c
Small GUI fixes
oneup03 May 4, 2026
ea0dae7
Cleanup code and GUI
oneup03 May 5, 2026
f17627b
Update submodules
oneup03 May 5, 2026
1b1e56e
Add installer
oneup03 May 5, 2026
8e8fd82
Update installer
oneup03 May 5, 2026
a37a83d
Update Installer
oneup03 May 5, 2026
93c8caa
Update installer
oneup03 May 5, 2026
698dffd
Add missing OSD settings;
oneup03 May 5, 2026
bd8db4b
Update installer to choose VRto3D release
oneup03 May 5, 2026
8def3e1
update installer & readme
oneup03 May 5, 2026
85ca605
Update Readme
oneup03 May 5, 2026
1aa07aa
Code Cleanup & Readme update
oneup03 May 5, 2026
4f5121c
Update readme
oneup03 May 6, 2026
009fe49
Fix DPI scaling bug
oneup03 May 6, 2026
422537f
Update Wukong
oneup03 May 7, 2026
2bc1faa
Recenter on tracking disable
oneup03 May 7, 2026
7c87615
Fix WW starting on top
oneup03 May 8, 2026
c812418
Update process blacklist
oneup03 May 8, 2026
6272aa1
Tweak OSD
oneup03 May 8, 2026
6552cd0
Update Installer & readme
oneup03 May 8, 2026
e3b6537
Add LeiaSR submodule
oneup03 May 11, 2026
ae620b4
Add PAT for LeiaSR
oneup03 May 11, 2026
b1776d8
Update installer to WW7.2
oneup03 May 11, 2026
e1c483e
Update WibbleWobble to Beta 8
oneup03 May 14, 2026
fca2a95
Add auto_exit option under System Misc
oneup03 May 18, 2026
e63c6f4
Bump WW to Beta9
oneup03 May 25, 2026
429bc3e
Add Alt+F4 handling
oneup03 May 25, 2026
fcd0c1b
Fix WibbleWobble focusing
oneup03 May 25, 2026
916b74e
Switch to full direct mode; Improve tracking performance; Remove blac…
oneup03 May 30, 2026
7134085
Fix some screenshots being black
oneup03 May 30, 2026
b0c4c40
Fix OSD cutoff
oneup03 May 30, 2026
2e3a7d5
Attempt AMD FramePack mode; Cleanup Frame Packed modes
oneup03 May 31, 2026
9004024
Adjust UI scaling
oneup03 May 31, 2026
a6571c4
WW ring buffer to fix OSD flicker
oneup03 Jun 1, 2026
35932e8
Fix UEVR not rendering and stuttering
oneup03 Jun 1, 2026
d09d437
Fix DX9 colors
oneup03 Jun 1, 2026
5822937
Fix DX9 crashes; Wait longer for recenter
oneup03 Jun 2, 2026
9fe44ff
Improve DX9 perf
oneup03 Jun 2, 2026
a5ed601
Cleanup lightboost
oneup03 Jun 3, 2026
0fcf2a4
Retry pose recenter
oneup03 Jun 3, 2026
e7eecfb
Fix Screen Tearing
oneup03 Jun 4, 2026
a4697d0
Fix multi-layer sizing issues
oneup03 Jun 5, 2026
d57a7b3
Add guards for DX9 freeze
oneup03 Jun 5, 2026
1fde0bb
Fix Recenter
oneup03 Jun 5, 2026
c91e573
Fix RealVR rendering
oneup03 Jun 6, 2026
29df1c2
Make Async-Reprojection toggle dynamic
oneup03 Jun 6, 2026
0ba5779
Allow user focus to override auto focus
oneup03 Jun 6, 2026
a92b4c7
Add OSD Gamepad controls
oneup03 Jun 6, 2026
20ade19
Fix RealVR reconnect; Make Auto Focus consistent
oneup03 Jun 6, 2026
5ffcaf2
Filter out tiny layers
oneup03 Jun 6, 2026
1938db6
Cleanup OSD hotkey
oneup03 Jun 6, 2026
a412013
Only foreground once out of OSD
oneup03 Jun 6, 2026
2ca8cf3
Fix config resets in GUI
oneup03 Jun 7, 2026
b08988d
WIP GoWR
oneup03 Jun 7, 2026
ecf9ba7
Fix external overlay crash
oneup03 Jun 10, 2026
2a861cd
Add button to open screenshot folder
oneup03 Jun 10, 2026
81b96f9
Improve DX9 3D mode
oneup03 Jun 12, 2026
e5fa80f
Remove 3DV warning text about unsupported 3D mode
oneup03 Jun 12, 2026
3635c55
Remove 3DV profile text; Block 3DV hotkeys
oneup03 Jun 12, 2026
6ef5928
update dx9 readme
oneup03 Jun 13, 2026
ffcc525
Expand exit to vrserver
oneup03 Jun 14, 2026
6a3cabd
Change kill to 5s
oneup03 Jun 14, 2026
dd3dd98
Prevent auto depth from corrupting manual depth value
oneup03 Jun 20, 2026
d6f6cc7
Swap +Shift depth hotkey logic to always resync projection
oneup03 Jun 20, 2026
6c16ff8
Add option to log auto depth samples
oneup03 Jun 27, 2026
9ed950f
Add hide and lock cursor options
oneup03 Jun 27, 2026
5ff09fc
Add Shader options to OSD to allow gamma and contrast adjustments
oneup03 Jun 27, 2026
9432b6d
Switch to SR-Lib
oneup03 Jun 30, 2026
759ef14
Update WibbleWobble to Beta 10
oneup03 Jun 30, 2026
f45ea8e
M0: Linux direct-mode spike β€” GO verdict
oneup03 Jul 4, 2026
f11f981
Linux port: platform gating, Vulkan renderer core, evdev input, OSD, …
oneup03 Jul 4, 2026
8b823ee
Point VRto3DLib submodule at linux_port branch
oneup03 Jul 4, 2026
54d2c81
Linux port: Wayland/X11 presenters, presenter factory, platform_linux…
oneup03 Jul 4, 2026
3b078a8
Fix: enable C language in CMake so wayland protocol sources compile
oneup03 Jul 4, 2026
a67c6ec
Fix: link libopenvr_api.so on Linux for the client-API TU (vr_recenter)
oneup03 Jul 4, 2026
4149a60
Fix dark output: byte-preserving gamma-space present chain
oneup03 Jul 4, 2026
770be0d
M6: WibbleWobble output mode β€” stream SbS to WibbleWobbleLinux (wwser…
oneup03 Jul 5, 2026
ea13bf3
x11: mark the presenter window non-focusable (ICCCM No-Input)
oneup03 Jul 5, 2026
aa8abe6
linux input UX: click-through overlay, menu-tied capture, always-on-t…
oneup03 Jul 5, 2026
7f0e875
linux focus: mirror Windows auto-focus (start lowered, raise on app c…
oneup03 Jul 5, 2026
31e8542
fix(dark): sRGB swapchain to encode the compositor's linear eye pixels
oneup03 Jul 5, 2026
f123afd
profiles: migrate all shipped game profiles to portable key names
oneup03 Jul 5, 2026
3403bd4
refactor: SwapchainPresenterBase (#1) + shared FocusPolicy (#3)
oneup03 Jul 5, 2026
580b986
Add Vulkan image-allocation helpers; bump VRto3DLib (hotkey dedup)
oneup03 Jul 6, 2026
921bde8
Controller-only recovery: Start+DPad-Up on-top chord + Reset Defaults
oneup03 Jul 6, 2026
a32ad6a
Remove one-shot profile migration tool
oneup03 Jul 6, 2026
2267efc
Log focus transitions + ignored scene-app connects (diagnose stuck-on…
oneup03 Jul 6, 2026
0a264cc
Fix overlay stuck on top after game exit: run focus block before fram…
oneup03 Jul 6, 2026
cc03bf1
remove linux build artifacts
oneup03 Jul 8, 2026
1915c92
Remove probe experiment code
oneup03 Jul 10, 2026
2feb7f3
Cleanup Linux port
oneup03 Jul 10, 2026
f73b96f
Pipeline fixes
oneup03 Jul 10, 2026
bcab97b
Small bug fixes
oneup03 Jul 11, 2026
a978752
Add flag to disable SR Tracking
oneup03 Jul 11, 2026
4e78309
Auto-Depth adustments
oneup03 Jul 11, 2026
e404a08
Fix hotkey settings not going live
oneup03 Jul 12, 2026
e45df86
linux hotkey fix
oneup03 Jul 12, 2026
ae28a39
Update linux readme
oneup03 Jul 12, 2026
38e4cc5
Add NV3D-Lib submodule (nv3d-glass branch, pinned 834f239)
oneup03 Jul 12, 2026
7314337
Rewrite NvStereoDx9Presenter as NV3D-Lib wrapper; drop suppressor + m…
oneup03 Jul 12, 2026
139f014
Fix NvidiaDX9 OSD interaction + startup visibility (bump NV3D-Lib to …
oneup03 Jul 17, 2026
250fa27
Converge LeiaSR + WibbleWobble focus loops onto ComputeWantOnTop
oneup03 Jul 17, 2026
445b28e
update installer
oneup03 Jul 17, 2026
2e446dd
Update NV3D-Lib
oneup03 Jul 17, 2026
33ce6cb
Add confine/lock & hide cursor as well as stereo cursor per-profile
oneup03 Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Shell scripts must stay LF even on Windows checkouts (they run on Linux).
*.sh text eol=lf
28 changes: 28 additions & 0 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,22 @@ env:
STEAM_PATH: temp

jobs:
Linux64:
uses: ./.github/workflows/BuildLinux.yml
secrets: inherit

Win64:
runs-on: windows-2022
# The release step below attaches the Linux tarball, so wait for it.
needs: Linux64
steps:

- name: Checkout repo and submodules
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
token: ${{ secrets.SHARED_PAT }}

- name: Get current date, commit hash and count
run: |
Expand Down Expand Up @@ -86,12 +93,31 @@ jobs:
- name: Zip vrto3d_profiles folder
run: Compress-Archive -Path vrto3d_profiles/* -DestinationPath vrto3d_profiles.zip

- name: Install Inno Setup
run: choco install innosetup --yes --no-progress
shell: pwsh

- name: Compile installer
run: iscc installer\VRto3D-Installer.iss
shell: pwsh

- name: Upload zip artifact
uses: actions/upload-artifact@v4
with:
name: "VRto3D-${{env.CommitHashShort}}"
path: output/${{github.event.repository.name}}.zip

- name: Upload installer artifact
uses: actions/upload-artifact@v4
with:
name: "VRto3D-Installer-${{env.CommitHashShort}}"
path: installer/Output/VRto3D-Installer.exe

- name: Download Linux tarball
uses: actions/download-artifact@v4
with:
name: vrto3d-linux64

- name: GitHub pre-release
uses: "marvinpinto/action-automatic-releases@latest"
with:
Expand All @@ -101,7 +127,9 @@ jobs:
title: "[${{env.CurrentDate}}] ${{github.event.repository.name}} r${{env.CommitCount}}@${{env.CommitHashShort}}"
files: |
output/${{github.event.repository.name}}.zip
vrto3d-linux64.tar.gz
vrto3d_profiles.zip
installer/Output/VRto3D-Installer.exe
README_combined.jpg
changelog_combined.jpg

53 changes: 53 additions & 0 deletions .github/workflows/BuildLinux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Build Linux

on:
push:
branches:
- linux_port
pull_request:
branches:
- main
workflow_dispatch:
# Called by Build.yml on main so the release ships the Linux tarball.
workflow_call:

jobs:
Linux64:
# Oldest supported LTS: binaries link the runner's glibc, so building on
# 22.04 (glibc 2.35) keeps the tarball running on older distros and SteamOS.
runs-on: ubuntu-22.04
steps:
- name: Checkout repo and submodules
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
token: ${{ secrets.SHARED_PAT }}

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y ninja-build libvulkan-dev libx11-dev \
libxrandr-dev libwayland-dev wayland-protocols libxkbcommon-dev \
libdrm-dev

- name: Configure
run: cmake -S vrto3d -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo

- name: Build
run: cmake --build build

- name: Package driver + installer
run: |
mkdir -p package/vrto3d-linux64
cp -a build/output/drivers package/vrto3d-linux64/
cp installer/install.sh package/vrto3d-linux64/
cp LICENSE README.md package/vrto3d-linux64/
chmod +x package/vrto3d-linux64/install.sh
tar czf vrto3d-linux64.tar.gz -C package vrto3d-linux64

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: vrto3d-linux64
path: vrto3d-linux64.tar.gz
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ bld/
[Ll]og/
[Ll]ogs/
output
vrto3d/build

# Visual Studio 2015/2017 cache/options directory
.vs/
Expand Down Expand Up @@ -240,6 +241,7 @@ ClientBin/
*.pfx
*.publishsettings
orleans.codegen.cs
.claude

# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
Expand Down
17 changes: 17 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,20 @@
[submodule "external/VRto3DLib"]
path = external/VRto3DLib
url = https://github.com/oneup03/VRto3DLib.git
[submodule "external/nvapi"]
path = external/nvapi
url = https://github.com/NVIDIA/nvapi.git
[submodule "external/imgui"]
path = external/imgui
url = https://github.com/ocornut/imgui.git
branch = master
[submodule "external/adl_sdk"]
path = external/adl_sdk
url = https://github.com/GPUOpen-LibrariesAndSDKs/display-library
[submodule "external/SR-lib"]
path = external/SR-lib
url = https://github.com/bo3b/SR-lib.git
[submodule "external/NV3D-Lib"]
path = external/NV3D-Lib
url = https://github.com/oneup03/NV3D-Lib.git
branch = nv3d-glass
14 changes: 11 additions & 3 deletions .vscode/build-driver.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ $ErrorActionPreference = 'Stop'
$repoRoot = Split-Path -Parent $PSScriptRoot
Set-Location $repoRoot

$steamPath = if ($env:STEAM_PATH) { $env:STEAM_PATH } else { 'C:\Program Files (x86)\Steam' }
$steamPath = if ($env:STEAM_PATH) {
$env:STEAM_PATH
} else {
# Fall back to the registry (Steam isn't always in Program Files).
$reg = (Get-ItemProperty 'HKCU:\Software\Valve\Steam' -ErrorAction SilentlyContinue).SteamPath
if ($reg) { $reg -replace '/', '\' } else { 'C:\Program Files (x86)\Steam' }
}

$msbuildCmd = Get-Command msbuild -ErrorAction SilentlyContinue | Select-Object -First 1
$msbuildExe = if ($msbuildCmd) { $msbuildCmd.Source } else { $null }
Expand All @@ -38,12 +44,14 @@ if ($LASTEXITCODE -ne 0) {
}

if ($Target -in @('Build', 'Rebuild')) {
cmd /c "xcopy \"vrto3d\\vrto3d\" \"output\\drivers\\vrto3d\" /S /Y /I"
# Call xcopy directly (no cmd /c) β€” nested cmd quoting mangles paths
# ("Invalid path"), and trailing backslashes must be avoided.
& xcopy 'vrto3d\vrto3d' 'output\drivers\vrto3d' /S /Y /I
if ($LASTEXITCODE -gt 1) {
exit $LASTEXITCODE
}

cmd /c "xcopy \"output\\drivers\\\" \"$steamPath\\steamapps\\common\\SteamVR\\drivers\\\" /S /Y /I"
& xcopy 'output\drivers' (Join-Path $steamPath 'steamapps\common\SteamVR\drivers') /S /Y /I
if ($LASTEXITCODE -gt 1) {
exit $LASTEXITCODE
}
Expand Down
Loading
Loading