Firestorm SgeoMinVR 7.1.9

This blog post provides links and resources related to Firestorm SgeoMinVR which is still undergoing testing and revision.
The standard Firestorm VR Mod 7.1.9 can be found via this blog post.

Firestorm SgeoMinVR@Sgeo on Discord created a variant of Peter Kappler’s VR Mod code which sets the VR settings automatically for the various HMDs rather than needing the FN keys to set them up. Hence the F5/F6/F7 settings and adjustments are removed and no vrconfig.ini is saved as needed in standard Firestorm VR Mod. F3 provides enhanced VR HMD related information. Sgeo calls this his “minimal” VR build, close to P373R except not needing settings to be set.

The approach gives greater coverage than standard Firestorm VR Mod for VR HMDs which need vertical as well as horizontal image adjustment (including Meta Quest 3).

Download (via Discord P373R channel)

Firestorm VR Mod community Discord Discussion Channel:
P373R-WORKSHOP by p373r_kappler [Invite]

https://discord.com/channels/613119193734316042/613119193734316044/1260076127003869205
File: Phoenix-FirestormOS-SgeoMinVR-7-1-9-74748_Setup.exe (166.45 MB)

Caveats

  • No sound at present (a later GHA automated build will hopefully fix this).
  • This release needs openvr_api.dll added to the install directory (the GHA automated build will hopefully fix this). A copy can be taken from the usual Firestorm VR Mod release.
  • The FOV defaults to small. You can use the usual Firestorm keyboard shortcuts for FOV/Zoom: Out Ctrl+8, In Ctrl+0, Default Ctrl+9.
  • As in the usual Firestorm VR Mod the mouse can be moved to an edge or corner to shift the view to better access menus and buttons. The 3D view is distorted when the mouse isn’t in the middle.

Approach

Peter Kapplers VR Mod (P373R) code llviewerVR.cpp contains a line:

glBlitFramebuffer(bx, by, tx, ty, m_iTextureShift, 0, m_nRenderWidth + m_iTextureShift, m_nRenderHeight, GL_COLOR_BUFFER_BIT, GL_LINEAR);

Sgeo replaced that with

glBlitFramebuffer(bx, by, tx, ty, m_nRenderWidth * uMin, m_nRenderHeight * vMin, m_nRenderWidth * uMax, m_nRenderHeight * vMax, GL_COLOR_BUFFER_BIT, GL_LINEAR);

So instead of a horizontal texture shift, it’s adjusted and scaled by uMin/uMax and vMin/vMax, which are automatically calculated based on SL’s FOV and the VR projection matrix.

At least one (small) change is made to llviewerdisplay.cpp: gVR.m_fEyeDistance to gVR.eyeDistance()

Source Code and Changed Files

https://github.com/Sgeo/p373r-sgeo-minimal/

https://github.com/Sgeo/p373r-sgeo-minimal/blob/sgeo_min_vr_7.1.9/indra/newview/llviewerVR.cpp
https://github.com/Sgeo/p373r-sgeo-minimal/blob/sgeo_min_vr_7.1.9/indra/newview/llviewerVR.h
https://github.com/Sgeo/p373r-sgeo-minimal/blob/sgeo_min_vr_7.1.9/indra/newview/llviewerdisplay.cpp

llviewerVR.cpp and llviewerVR.h should be fully replaced as expected, although Sgeo suggests that it would probably be a good idea to fix up the weird way it’s pointing to OpenVR, llviewerdisplay.cpp has one very small change from the P373R version.

Testing

Sgeo tested on Quest 3 via Steam Link. It should work fine on other headsets and in other ways to use PC VR via Quest.

Austin tested on Oculus Rift DK2 and Oculus Rift CV1 and the image looks crisp. Using SteamVR 2.7.4 and Meta Quest Link app version 68.0. The field of view is very narrow on startup and needed three presses of Ctrl+8 to look more like the FOV in the standard Firestorm VR Mod.

SgeoMinVR - FOV - Initial SgeoMinVR - FOV - 3 X Ctrl+8

This entry was posted in OpenSim, Second Life, VR and tagged , , , , . Bookmark the permalink.

One Response to Firestorm SgeoMinVR 7.1.9

  1. bat says:

    In Second Life/OpenSim viewers the Field of View (FOV) is available via Advanced -> Debug Settings -> CameraAngle. It is expressed in Radians.

    (Degrees X PI) / 180 = Radians

    60° = 1.04 Radians (default)
    90° = 1.56 Radians
    100° = 1.73 Radians
    105° = 1.82 Radians (approx. correct FOV for Oculist Rift DK2 VR – 3 X Ctrl+8)

Comments are closed.