Commit Graph

30 Commits

Author SHA1 Message Date
Devin Bernosky 20bd0b6435 Add Horizon Lock: track only horizontal (yaw) head movement
Adds a "Horizon lock" toggle that flattens the head pose to yaw-only,
ignoring pitch (vertical) and roll (tilt). The display then only pans
horizontally as you turn your head, staying level and at a fixed height.

This is a comfort/nausea aid — particularly on glasses such as the Viture
Pro, where pulse and micro-movement jitter on the pitch/roll axes makes the
display visibly wobble (see #80, #114). Unlike smooth follow, which chases
those noisy axes, horizon lock removes them from the rendered orientation
entirely.

Implementation: a swing-twist decomposition about the NWU up-axis (Z),
applied to the pose quaternions in DeviceDataStream, so the shader,
look-ahead and follow logic all inherit the yaw-only orientation. Exposed
as a GtkSwitch in the GNOME settings (Features group) and wired through the
shared gschema.
2026-06-27 15:15:19 -07:00
wheaney 3fc4dcefd9 Add dead-zone controls to UI, v2.6.4 2026-01-21 10:59:14 -08:00
Wayne Heaney f4fecdc3e5
Finalize Vulkan and GNOME 6DoF (#144)
* Pull in the latest driver with VITURE SDK and 6DoF improvements
* Add SteamOS vulkan build artifact
* Unifies "display size" setting
2026-01-08 10:30:00 -08:00
wheaney 13d5d6bf8e Add neck-saver controls for GNOME and KWin apps 2025-10-03 16:04:34 -07:00
wheaney 53afe9e71d Add better handling of pipewire GStreamer dependency missing case, in UI and setup, pull in the latest driver version 2025-05-07 12:45:12 -07:00
wheaney ada60201f1 Add "cursor to focused display" shortcut, v2.1.0 2025-03-16 22:35:27 -07:00
Wayne Heaney a2eb0023dc
Add curved display support, v2.0.15 (#103)
* Add curved display support
* Add GNOME 48 support
* Update backport build and setup process, add a GNOME-45 backport build
2025-03-16 14:15:04 -07:00
wheaney 82f88b3121 Improve dependency checking on setup 2025-03-12 09:00:06 -07:00
wheaney 30c1c87a3c Update custom resolution UI, v2.0.11 2025-03-11 10:32:11 -07:00
wheaney 12664762b5 Add support for custom display resolutions, v2.0.10 2025-03-10 15:47:45 -07:00
wheaney 427dbef704 Pull in smooth follow fix to avoid gimbal locking behavior, small UI adjustment, v2.0.7 2025-03-08 14:45:00 -08:00
wheaney 1b45e00a9d Add follow tracking options, v2.0.5 2025-03-07 15:11:02 -08:00
wheaney b96427914e Add option to change default viewport center away from glasses' display, fix GNOME 48 issue, v2.0.4 2025-03-07 11:00:21 -08:00
wheaney 1b671c906e Add option to remove all displays when the effect is turned off 2025-03-06 22:32:52 -08:00
wheaney 7630a8b5c3 Add all displays follow mode option, v2.0.2 2025-03-06 19:45:59 -08:00
wheaney a3807f247a Update UI to prefer columns on the primary tab, prevent it from getting too long 2025-03-06 15:32:46 -08:00
Wayne Heaney 8a2926890d
Add multi-monitor support (#89)
Rewrite of Breezy Desktop to support multiple virtual displays
2025-03-05 15:58:07 -08:00
wheaney b0e2b5cca3 Move config interactions to new ConfigManager class, add enable and widescreen switches when device isn't connected 2024-10-22 13:27:40 -07:00
wheaney 1c4fc94999 Fix threading usage in the connectedevice widget 2024-10-22 10:11:05 -07:00
wheaney 5e47386d23 Add error handling on extensions service call during shutdown, add GLib version check for deprecated flags constant 2024-10-21 13:39:35 -07:00
Wayne Heaney 1718986793
Add shortcut to allow for toggling the XR Effect on and off (#63) 2024-10-18 11:57:09 -07:00
Wayne Heaney e24fc43bd0
Add text scaling slider (#57) 2024-10-01 14:12:29 -07:00
wheaney 8ef0b04db4 Add localization 2024-08-16 12:26:16 -07:00
Wayne Heaney 3a7d5feb88
Add Rokid support (#42) 2024-08-13 10:10:10 -07:00
wheaney da00d032e2 Update controls to suppport case where the driver doesn't support SBS for the connected device 2024-08-01 11:06:36 -07:00
wheaney 04edf2eecc Add refresh rate and fast SBS mode switching settings 2024-07-17 22:58:45 -07:00
Wayne Heaney 7843d4d385
Widescreen/SBS support (#28)
Squashed 28 commits
2024-07-08 15:02:04 -07:00
wheaney ad6aa96000 Add check for granted productivity features, messaging and disable inputs if not granted 2024-05-24 13:31:18 -07:00
wheaney 0d3f9ff757 Add the follow threshold control 2024-05-23 21:57:55 -07:00
Wayne Heaney e9b10838ba
Breezy GNOME support (#22)
* Adds a gnome subdirectory with the Breezy GNOME extension source
* Adds a 'ui' subdirectory with the Gtk UI app source, currently with the Breezy GNOME view implemented, eventually will support Breezy Vulkan
* Adds all the necessary package and setup scripts for the full GNOME build
* Pulls in the latest driver with the BREEZY_DESKTOP build support
2024-05-16 12:26:59 -07:00