Commit Graph
87 Commits
Author SHA1 Message Date
matzmanandClaude Opus 5.5 5a10cdf7ca Wrap-up documentation after the first tests on the Steam Frame
README: status, new Steam Frame facts (Steam's generated app manifest,
OpenVR library, display and font metrics) and open points. PROGRESS:
partial results of T1, T2 and T4, and what is open next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 00:21:52 +02:00
matzmanandClaude Opus 5.5 7f14551a6a Record the Frame test of the Fusion style fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 00:20:05 +02:00
matzmanandClaude Opus 5.5 ff4ea8f455 Use the Fusion Quick Controls style; drop the Material import
On the Steam Frame, the fixed 1200x800 layout lost about its bottom
quarter. Measured with --snapshot: fonts and DPI are as intended, but
the controls ran in the Material style. The qt6 branch changed
mainwidget.qml's "import QtQuick.Controls" into
"import QtQuick.Controls.Material", which fixes Material for all
controls and even overrides QT_QUICK_CONTROLS_STYLE. Material's insets
and padding make the navigation buttons 65 px tall instead of 45 px
(Fusion) or 49 px (Basic, Qt 5's default style renamed); nothing in the
file uses Material.

mainwidget.qml imports QtQuick.Controls again, and main.cpp sets Fusion
explicitly, so the sizes are the same on every platform instead of
depending on Qt 6's per-platform default. With Basic the last navigation
button is still cut off on the Frame; with Fusion everything fits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 00:14:57 +02:00
matzmanandClaude Opus 5.5 d664f86945 Add layout diagnosis: font metrics in the log, --snapshot option
On the Steam Frame, the fixed 1200x800 QML layout overflows: about the
bottom quarter is cut off and the navigation icons overlap their text.
Forcing 96 DPI and switching the Quick Controls style didn't help, so the
cause has to be measured rather than guessed.

- SetWidget() logs the application font (family, pt, px), what 20 pt
  (MyText) is in px, the screen's DPI and the device pixel ratio.
- --snapshot <file> writes the rendered overlay (RenderBackend::readback)
  as PNG at most once per second while it is visible. A time interval,
  because OVRAS only renders when the scene changes. Written to a
  temporary file and renamed, so readers never see a partial file.
- run.sh passes arguments after the graphics API to the program.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 00:06:09 +02:00
matzmanandClaude Opus 5.5 bbb3d1ba0e Log debug output only in builds with debugSymbolsAndLogs
On master, easylogging's Debug level was disabled unless OVRAS was built
with debugSymbolsAndLogs (ENABLE_DEBUG_LOGGING). The qt6 branch switched
to qDebug() and lost that: debugLoggingEnabled was left unused, and all
debug output reached the log. On the Steam Frame it filled with
"updateAllPulseData done." about every 11 ms, as the audio tab reads the
microphone's mute state on every tick.

setUpLogging() now disables debug output through a logging filter rule.
QT_LOGGING_RULES="*.debug=true" takes precedence and turns it on again
for troubleshooting without a rebuild.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 23:32:00 +02:00
matzmanandClaude Opus 5.5 ec82b5fead Register the manifest when Steam already lists the app key
Steam writes every VR app the user owns into its generated
steamapps.vrmanifest, installed or not. Whoever owns OVRAS on Steam
therefore always has steam.overlay.1009850 registered, as a steam:// URL
without a working directory, and --force-install-manifest failed with
"Could not find working directory of already installed application:
VRApplicationError_PropertyNotSet" (found on the Steam Frame).

Such an entry has no manifest file to remove, so OVRAS now leaves it
alone and adds its own manifest. Whether SteamVR accepts a second
manifest for the key, and which entry it then uses, is not documented:
logApplicationEntry() logs what SteamVR reports for the key after
installing, so a test on the Frame shows it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 23:25:57 +02:00
matzmanandClaude Opus 5.5 317db6831d Use the OpenVR SDK's bin/linuxarm64 library on aarch64
On the Steam Frame, VR_Init failed with "Installation path could not be
located": the SDK's lib/linuxarm64/libopenvr_api.so (2.15.6) reads the VR
path registry from the fixed path /data/work/openvrpaths.vrpath instead
of ~/.config/openvr. The SDK's bin/linuxarm64 library of the same version
uses ~/.config/openvr; the vrdashboard template ships it and was verified
on the Frame. It is added as a new file (third-party/openvr had no
bin/linuxarm64, and "bin" is gitignored, hence force-added), and aarch64
builds link against and ship it. x86_64 and Windows are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 23:13:47 +02:00
matzmanandClaude Opus 5.5 537539ab5e Run the manifest commands without a display
The first deploy to the Steam Frame aborted in install.sh: OVRAS creates
its QApplication before it handles --force-install-manifest, and Qt's
default platform plugin (xcb) aborts when there is no display, as over
SSH. Registering and unregistering draw nothing, so the generated
install.sh and uninstall.sh now run them with QT_QPA_PLATFORM=offscreen.
The normal start keeps DISPLAY=:0, as rendering needs a real context.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 23:08:10 +02:00
matzman 6da9e724c0 Updated Readme, project file and installer. 2017-08-15 21:55:47 +02:00
matzman f48b583aca Reimplemented sound effects.
Added chaperone proximity warnings.
Other bugfixes and improvements.
2017-08-15 21:44:29 +02:00
matzman 0bc693c76b Added push-to-mute for microphone. 2017-08-09 00:41:26 +02:00
matzman 08c5b19ffc Added supersampling profiles. 2017-08-09 00:39:11 +02:00
matzman 9fc3d9f145 Merge pull request #86. 2017-07-30 22:06:56 +02:00
matzman 0960394335 Fixed Restart SteamVR functionality (May crash the Steam overlay when SteamVR Home is running when you restart. Therefore I advice that you close SteamVR Home before restarting).
Completely disabled sounds to see whether this fixes crashes some people are still experiencing.
Added "Enable Advanced Supersample Filtering" toggle.
2017-05-21 14:24:24 +02:00
matzman 5f7fb405ca Updated readme and version to 2.4. 2017-05-19 19:18:15 +02:00
matzman 00276522ee Updated OpenVR to version 1.0.7. 2017-05-19 19:01:53 +02:00
matzman e8948a1545 Fixed crash caused by SteamVR Beta 1495144709. 2017-05-19 19:00:04 +02:00
matzman d1f36437b4 Added option for proximity sensor to mute/unmute the microphone. 2017-05-19 18:58:17 +02:00
matzman 58cfa8d3a1 Added support for new supersampleScale setting. Old RenderTargetMultiplier setting for applications will not work anymore. 2017-05-19 17:41:39 +02:00
matzman 133f3cc379 Merge pull request #52 from Armada651/patch-2
SteamVRPage: Always-on reprojection does not require a restart.
2017-05-19 17:34:05 +02:00
matzman d1a9a45b0b Merge branch 'master' of https://github.com/matzman666/OpenVR-AdvancedSettings 2017-05-19 17:33:23 +02:00
matzman fcc0d6c9f0 Fixed retrieval of default audio devices. 2017-05-19 17:19:35 +02:00
matzman ca5edd49cf Merge pull request #42 from Armada651/patch-1
Update Readme.md
2017-02-23 10:38:48 +01:00
matzman 2baee40630 Updated readme.
Updated version to 2.3.
Some bug-fixes and improvements.
2017-02-16 22:45:36 +01:00
matzman 8da0ab734e Fixed and improved audio device selection. 2017-02-15 22:22:32 +01:00
matzman ec04bbcc2d Changed upper limit of supersampling sliders to 2. 2017-02-13 22:23:09 +01:00
matzman c8d089957d Added combo-boxes to allow audio device selection. 2017-02-13 22:19:42 +01:00
matzman 22af8b9633 Added reprojection ratio to statistics page. 2017-02-11 23:54:55 +01:00
matzman 9b05d7ffd4 Updated to OpenVR 1.0.6. 2017-02-11 22:27:27 +01:00
matzman beb0b9fce4 Added "ToggleDelay" option to Revive menu. 2017-02-11 21:50:54 +01:00
matzman c6f71f08dd Merge branch 'mklim-accessibility_tab' 2017-02-09 23:56:57 +01:00
matzman 9265829aff Fixed possible endless loop caused by round errors when passing float values between C++ and Javascript.
Increased granularity of the offset slider.
Textfield now accepts arbitrary values.
2017-02-09 23:56:11 +01:00
matzman 927be598d7 Merge branch 'mklim-toggle_y_offset' 2017-01-30 20:52:06 +01:00
matzman 2cd04f906e Some GUI layout corrections, some tidying up, and it's better to make PttController::getSettingsName() pure virtual. 2017-01-30 20:50:55 +01:00
matzman 6c7240fcf6 Added steam desktop overlay width slider. 2017-01-27 23:53:02 +01:00
matzman ff885b63ce Added don't annoy me toggle to alarm clock.
Changed version to v2.2.1.
2017-01-12 00:06:01 +01:00
matzman 4cfcb933c5 Fixed revive grip mode reset bug on startup. 2017-01-12 00:01:57 +01:00
matzman f497a30629 Improved and fixed installer. No more indiscriminately deleting files. 2017-01-11 02:06:20 +01:00
matzman ae23563723 Update Readme.md 2017-01-07 22:34:58 +01:00
matzman 6b65b66f8e Fixes an application crash when Revive is not installed. 2017-01-07 18:54:49 +01:00
matzman e930a63546 Updated Readme. 2017-01-07 16:42:42 +01:00
matzman 3a2472db2e Updated Readme.
Changed default logging settings.
2017-01-07 16:32:18 +01:00
matzman b71e5936b8 Added new/updated screenshots. 2017-01-07 15:26:52 +01:00
matzman b4bfd0f744 Fine-tuned granularity of spinner boxes on revive page.
Added check for outdated OpenVR installation.
Changed version string to v2.2.
2017-01-07 15:26:16 +01:00
matzman 2a2f747518 Updated to OpenVR 1.0.5
Added simple alarm clock to utilities page.
Bugfixes and Improvements.
2017-01-05 18:28:54 +01:00
matzman 4667165463 Bugfixes. 2016-12-29 16:03:47 +01:00
matzman 93484d2bdc Added keyboard input utilities. Allows to send text input as emulated key strokes to the active application. 2016-12-29 16:02:17 +01:00
matzman 950ebf5b08 Added granularity of some Revive spinner buttons. 2016-12-29 13:35:38 +01:00
matzman 342f4795df Added "Force Revive Page" checkbox to application settings. 2016-12-24 15:56:21 +01:00
matzman 3f53235b1b Bugfixes and Improvements. 2016-12-22 00:51:17 +01:00
matzman 613610c050 New chaperone/audio profile now replaces an already existing one with the same name. 2016-12-21 20:10:58 +01:00
matzman 7179023cdb Revive controller settings can be saved into profiles. 2016-12-21 20:08:31 +01:00
matzman 930c99a341 Floor Fix now works correctly regardless of controller facing up or down. 2016-12-20 20:31:54 +01:00
matzman a93bdeb063 Outsourced matrix math code into separate header. 2016-12-20 20:30:42 +01:00
matzman 3000e129e3 Added installer support & installer script. 2016-12-19 21:57:22 +01:00
matzman b937d04791 Improved reset handling & bugfixes 2016-12-18 22:22:34 +01:00
matzman 215227405e Reset button and calibrate height button for revive tab & bugfixes. 2016-12-18 21:04:10 +01:00
matzman f4603e9515 Improved text field 2016-12-17 02:07:52 +01:00
matzman f922b97e5b Bugfixes and Improvements. 2016-12-17 00:39:48 +01:00
matzman 129c6e3db1 First more or less complete version of Revive tab. 2016-12-17 00:39:17 +01:00
matzman 3fce6e8521 Fixed floor calibration messing up chaperone bounds y-coordinates. 2016-12-14 21:57:06 +01:00
matzman 496c8a26f8 Added TextFields to SteamVR page. 2016-12-14 21:56:12 +01:00
matzman 10b1518bdb Added height slider and textfields to chaperone page. 2016-12-14 21:55:35 +01:00
matzman 7949ad4f43 Added MyTextField and overhauled Playspace page. 2016-12-13 20:28:57 +01:00
matzman 7fafebcd47 First GUI mockup of Revive page. 2016-12-12 22:31:30 +01:00
matzman 072d39b771 Updated Readme and some other fixes. 2016-12-09 23:24:59 +01:00
matzman c54ee1b4c0 Some fixes more log statements, and changed version to v2.1. 2016-12-09 22:07:13 +01:00
matzman 765dcd0408 Who would have thought that QApplication::exit() does return and does not exit the program immediately. 2016-12-09 01:29:19 +01:00
matzman 0c69a3b942 Removed qt deployment files from repository and added bat script for creating them. 2016-12-09 00:30:10 +01:00
matzman 68cfa664e3 Fixed crash on exit. 2016-12-09 00:17:38 +01:00
matzman 57e941d44c Renamed manifest file to avoid confusion. 2016-12-09 00:16:56 +01:00
matzman c14867ad41 Added -nomanifest command line argument that disables vrmanifest
registration.
2016-12-05 00:56:34 +01:00
matzman 72ce9f5a6d Removed accidentally committed development code. 2016-12-04 23:55:11 +01:00
matzman b766dc72cc Added desktop and no-sound modes.
When -desktop is given on the command line then the settings menu is shown on
the desktop instead of an vr overlay.
When -nosound is given on the command line then there are no sound
effects.
2016-12-04 23:37:00 +01:00
matzman 4e15b9dea8 A possible fix for the 0.1 supersampling value problem. 2016-12-04 22:48:56 +01:00
matzman 000afb9790 New (now hopefully unambiguous) checkbox style. 2016-12-04 22:32:53 +01:00
matzman bb7ce53f49 Fix for high dpi monitors. 2016-11-01 21:37:10 +01:00
matzman 2bf12a4264 The current vr runtime path is now passed as argument to
restartvrserver.bat instead of being hardcoded.
2016-11-01 21:35:06 +01:00
matzman 4e6e610648 Updated readme 2016-10-28 20:06:02 +02:00
matzman e39c240ff5 Complete GUI overhaul (from Qt Widgets to Qt Quick Controls 2)
Added chaperone profiles
Added separate supersampling sliders for applications/compositor
Added asynchronous reprojection on/off switch
Merged in Microphone Control Overlay
Added Push-to-Talk profiles
Updated to OpenVR 1.0.3
Requires at least SteamVR beta 1477423729.
2016-10-28 18:38:05 +02:00
matzman 8e815b0ce4 Downgraded the OpenGL context version to 2.1. Qt's QOpenGLPaintDevice is
not compatible with OpenGL versions >= 3.0. NVIDIA does not care, but
unfortunately AMD does.
Also tweaked some other qt & opengl settings for more pleasant visuals.
2016-09-22 00:16:35 +02:00
matzman 439a46ec82 Updated Readme. 2016-09-17 13:49:39 +02:00
matzman af956a8702 Updated Readme and added files missing from last commit. 2016-09-16 21:52:34 +02:00
matzman b8cac9fb69 Added missing platform dlls.
Refractoring and bugfixes.
Added SteamVR tab: Supersampling and reprojection settings and restart
button.
Added Statistics tab: rotation counter, performance statistics and others.
Updated Move Playspace tab: Rotation and Seated mode support.
2016-09-16 21:22:29 +02:00
matzman 2f9473b78f Added Readme. 2016-09-11 22:21:47 +02:00
matzman 13552f2753 Added licenses. 2016-09-11 21:47:46 +02:00
matzman de0fdb3e1f Inial commit v1.0. 2016-09-11 21:42:12 +02:00