VRIK Hands in Skyrim VR now properly match the controller locations and rotations have been fixed. They should now track like in SteamVR. Contains transforms for HP Reverb G2 and Oculus currently. However, only HP Reverb G2 has been tested since that is all I have. Note: Ignore the White opencomposite object hands that appear in the main menu, they are still off sync from the controllers (doesn't really matter to me).
Will no longer crash on Character Creation name input screen. It will skip the keyboard entirely and put your name defaulted to "Adventurer" and continue the game. Note: You currently can't change your name to anything else until an actual on screen keyboard is ported to OpenXR in OpenComposite. I may try to at least make it configurable later.
Weapon Throw VR now works with new controller mappings.
I made a new custom OpenComposite openvr_api.dll and uploaded it to the Miscellaneous section in Files.
This is my BETA branch for various SkyrimVR/OpenComposite/ReverbG2 issues.
Currently Fixed: HP Reverb G2 Controller position and rotation offsets. VRIK hands should now track like they do in SteamVR. Ignore the weird open composite white hands in the main menu. Was able to leverage already completed work for the Occulus controllers in a stale branch that wasn't merged into master, fix some bugs, and use it for the HP Reverb G2 controllers.
Looking at next: Weapon Throw VR incompatibility
Feel free to test it out and let me know if you find any bugs with it or other things that you think should be fixed not related to the controller tracking.
I just started looking at OpenComposite code a couple days ago, so still will take me time to figure other things out.
EDIT: I put my changes in a merge request, so hopefully the Reverb G2 syncing fix gets pushed to the main release soon as well.
New Version that should now work is in Files section.
I was wondering why it wasn't working for anyone...
With help in debugging on another user's computer, I finally figured out that the problem was that I compiled it in Debug mode which added debug dependencies that don't exist on most people's computers unless they install them specifically.
I have now compiled it in Release mode and the other user verified that it now works on their machine as well.
PSA for OpenXR users (basically everyone who this mod is for).
Reshade (default dxgi.dll in main SkyrimVR folder) VRPerfKit(also defaults to dxgi.dll in main SkyrimVR folder)
Both of these are not supported and do not work using OpenXR. I believe OpenOVR supported reshade, but I believe that branch is Oculus only now. WMR headsets can only use the OpenXR branch for OpenComposite.
Before testing this fix out to enable ENB, make sure you have dxgi.dll and d3d11.dll removed from your main SkyrimVR folder and that you can start the game in this state with OpenComposite. Then try adding the fix and enb dll to enable ENB.
My bad coldbomb! I misunderstood the instruction, i thought renaming the old dll means to disable it, so I simply threw it out, not knowing it's still needed. It's a habitual thinking that many mods simply replace dlls, this is the first mod I encountered that needs both the old dll and modded dll in the folder. My apologies.
Could the character name be changed by temporary switching to Steam VR? I also like to change timescale in console. Would also love to see Quest Pro controller pictures since it's based on Oculus anyway.
Yes, if you switch to Steam VR, you can use their Virtual Keyboard to change your name / enter your name at character creation, then switch back. Console can still be used by typing on your physical keyboard. The great controller mapping pictures were actually created and supplied by Benjamin100. I don't really have the artistic ability to create nice ones for Oculus controllers haha. If you happen to make some, I'd be glad to post them.
I'm using the Minimalistic Overhaul and it already comes with the ability to turn on your custom openvr_api.dll in MO2, however it only worked with OpenComposite without OpenXR Tookit untill I used this d3d11.dll. Just in case, what is the proper uninstall process for both mods?
Strange problem: when I try to start the game, simply NOTHING happens. I have done all the steps you tell here, and of course, I replaced the "openvr_api.dll" with one for openXR (many other games work for me in openXR by the way). Headset is HP G2. When I go back to the original files (for running it in steamVR), all works fine again. There are two protocol files created though. The content of "SkyrimVR_d3d11" is to large to dump it here, but there is a shidd ton of waring sentences like: warn: D3D11Device::OpenSharedResourceGeneric: Handle not found: 0xc0001ac2
My guess is that you have either reshade or vrperfkit installed, which do not work with OpenXR. To check, the default dll file for both of these is dxgi.dll. Try removing dxgi.dll (back it up first) from the main SkyrimVR directory and try it again.
Thanks for your help. I had installed the performance kit in the past, and the log was a remaining. No ReShade installed, ever.
Anyway; the thing is, with your updated mod, it now works immediately! Crazy how smooth the game now runs without all the steamVR overhead, what a perfomance leap. Thanks for this!
But now at this point, I'm facing the same problem like other people here: There is a mismatch between the virtual hands and the real motion controller. There is both a spatial offset as well as a out-of-center rotation. I hope this can be solved...
I checked out the branch yesterday and started working on figuring out the misaligned hands. It's a bit of a learning curve but I've learned a lot about how it works now. Hopefully I can figure out a fix soon.
I noticed also, that the controller bindings are different when the game is running in openXR. Thats no surprise because I used a custom steamVR binding profile. May that be related to your issue with no more weapon throw?
I would think if that was the cause that it wouldn't work in SteamVR either. I need to look at the source code for weapon throw and see what inputs it is expecting.
I just put up a custom openvr_api.dll file to use that should now fix the mismatch between the virtual hands and the real motion controller. The weird white hands / index model at the main menu is still glitchy, but the VRIK hands in the game now should match the HP Reverb G2 controller locations like in the SteamVR version.
It's in Files under Miscellaneous.
Edit: Need to fix a bug with it first. Should hopefully be done soon. Wasn't a bug, my headset itself needed to be reset lol. File is up again, should be working.
Edit: Ah woops thought this was on a different mod. It may work if ENB works the same for falloutvr. Let me know if you try it out. Would be nice to know.
Sorry, I was confused as to what this mod did. I thought this mod got ENB working for Skyrim VR because there was previously no ENB for Skyrim. There's no ENB for Fallout 4, and I thought this could be used to force ENB to run.
94 comments
I moved the custom openvr_api.dll to it's own mod here:
Skyrim VR OpenComposite Bug Fix Custom Build
It contains the following bug fixes.
Current Bug Fixes:
- VRIK Hands in Skyrim VR now properly match the controller locations and rotations have been fixed. They should now track like in SteamVR. Contains transforms for HP Reverb G2 and Oculus currently. However, only HP Reverb G2 has been tested since that is all I have. Note: Ignore the White opencomposite object hands that appear in the main menu, they are still off sync from the controllers (doesn't really matter to me).
- Will no longer crash on Character Creation name input screen. It will skip the keyboard entirely and put your name defaulted to "Adventurer" and continue the game. Note: You currently can't change your name to anything else until an actual on screen keyboard is ported to OpenXR in OpenComposite. I may try to at least make it configurable later.
- Weapon Throw VR now works with new controller mappings.
Feel free to try it out!
I made a new custom OpenComposite openvr_api.dll and uploaded it to the Miscellaneous section in Files.
This is my BETA branch for various SkyrimVR/OpenComposite/ReverbG2 issues.
Currently Fixed: HP Reverb G2 Controller position and rotation offsets. VRIK hands should now track like they do in SteamVR. Ignore the weird open composite white hands in the main menu. Was able to leverage already completed work for the Occulus controllers in a stale branch that wasn't merged into master, fix some bugs, and use it for the HP Reverb G2 controllers.
Looking at next: Weapon Throw VR incompatibility
Feel free to test it out and let me know if you find any bugs with it or other things that you think should be fixed not related to the controller tracking.
I just started looking at OpenComposite code a couple days ago, so still will take me time to figure other things out.
EDIT: I put my changes in a merge request, so hopefully the Reverb G2 syncing fix gets pushed to the main release soon as well.
New Version that should now work is in Files section.
I was wondering why it wasn't working for anyone...
With help in debugging on another user's computer, I finally figured out that the problem was that I compiled it in Debug mode which added debug dependencies that don't exist on most people's computers unless they install them specifically.
I have now compiled it in Release mode and the other user verified that it now works on their machine as well.
Sorry for the trouble!
Reshade (default dxgi.dll in main SkyrimVR folder)
VRPerfKit(also defaults to dxgi.dll in main SkyrimVR folder)
Both of these are not supported and do not work using OpenXR. I believe OpenOVR supported reshade, but I believe that branch is Oculus only now. WMR headsets can only use the OpenXR branch for OpenComposite.
Before testing this fix out to enable ENB, make sure you have dxgi.dll and d3d11.dll removed from your main SkyrimVR folder and that you can start the game in this state with OpenComposite. Then try adding the fix and enb dll to enable ENB.
However this mod doen't seem to fix VR enb v0.495/457:
launching skse and it silently quits..
Look at the modded dll size, it's only 12KB. normal d3d11.dll is 3MB from enb.
I highly suspect the uploaded file is corrupted.
Hope it can be fixed so we can continue using enb with opencomposite...
I misunderstood the instruction, i thought renaming the old dll means to disable it, so I simply threw it out, not knowing it's still needed.
It's a habitual thinking that many mods simply replace dlls, this is the first mod I encountered that needs both the old dll and modded dll in the folder.
My apologies.
Also not sure if you meant to comment on this mod instead: Skyrim VR OpenComposite Fixes Custom Build
This will give you just ENB without the fix. To remove ENB completely, remove both files.
I use vortex though. MO2 may be re-adding files on run and you may need to find where it pulls those files from to fully remove them.
https://sketchfab.com/3d-models/meta-quest-pro-right-controller-76a1fbb0530842eea882019bcfe51b79
Thank you.
warn: D3D11Device::OpenSharedResourceGeneric: Handle not found: 0xc0001ac2
and in "SkyrimVR_dxgi" is written:
info: Game: SkyrimVR.exe
info: DXVK: v2.0
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
info: OpenXR
info: OpenVR: could not open registry key, status 2
info: OpenVR: Compositor interface found
info: Enabled instance extensions:
info: VK_KHR_external_memory_capabilities
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: AMD Radeon RX 6800:
info: Driver: 2.0.233
info: Vulkan: 1.3.217
info: Memory Heap[0]:
info: Size: 7892 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Type[5]: Property Flags = 0xc6
info: Memory Type[7]: Property Flags = 0xce
info: Memory Heap[1]:
info: Size: 16368 MiB
info: Flags: 0x3
info: Memory Type[0]: Property Flags = 0x1
info: Memory Type[2]: Property Flags = 0x7
info: Memory Type[4]: Property Flags = 0xc1
info: Memory Type[6]: Property Flags = 0xc7
info: Game: SkyrimVR.exe
info: DXVK: v2.0
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
info: OpenXR
info: Enabled instance extensions:
info: VK_KHR_external_memory_capabilities
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: AMD Radeon RX 6800:
info: Driver: 2.0.233
info: Vulkan: 1.3.217
info: Memory Heap[0]:
info: Size: 7892 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Type[5]: Property Flags = 0xc6
info: Memory Type[7]: Property Flags = 0xce
info: Memory Heap[1]:
info: Size: 16368 MiB
info: Flags: 0x3
info: Memory Type[0]: Property Flags = 0x1
info: Memory Type[2]: Property Flags = 0x7
info: Memory Type[4]: Property Flags = 0xc1
info: Memory Type[6]: Property Flags = 0xc7
warn: DXGI: MakeWindowAssociation: Ignoring flags
Any ideas?
Also do you have crashlogger? Does it give you a crash log at all?
Anyway; the thing is, with your updated mod, it now works immediately! Crazy how smooth the game now runs without all the steamVR overhead, what a perfomance leap. Thanks for this!
But now at this point, I'm facing the same problem like other people here: There is a mismatch between the virtual hands and the real motion controller. There is both a spatial offset as well as a out-of-center rotation. I hope this can be solved...
https://www.nexusmods.com/skyrimspecialedition/mods/27782?tab=bugs
"GetSkyrimDevicePosition" Doesn't seem to return the proper controller coordinates in world
related...?
It's in Files under Miscellaneous.
Edit: Need to fix a bug with it first. Should hopefully be done soon.
Wasn't a bug, my headset itself needed to be reset lol. File is up again, should be working.Could not get openxr to run however when I removed dxgi.dll from the skyrim main folder BAM it works!
Thanks.
https://github.com/fholger/openvr_fsr
I don't hate Open XR Toolkit, just feels a bit intrusive being system wide and requires extra install and UI.
Key was to remove dxgi.dll from VR Performance Kit, it hard crashes on start-up with this mod. Without this mod it just doesn't do anything.