matzman666 / OpenVR-InputEmulator

An OpenVR driver that allows to create virtual controllers, emulate controller input, manipulate poses of existing controllers and remap buttons. A client-side library that communicates with the driver via shared-memory is also included.
GNU General Public License v3.0
718 stars 138 forks source link

1.1 Oculusfix2 - Crashing input mapping #45

Closed romkslrqusz closed 6 years ago

romkslrqusz commented 6 years ago

Both of the Oculusfix releases started crashing, on both beta and non-beta steamvr.

It happens when I choose "input mapping" and causes the OpenVR-InputEmulator to disappear from SteamVR.

poyungan commented 6 years ago

I am having the same problem. It seems several others are too. I have tried both beta and non-beta steamvr. I have installed and uninstalled several times.

romkslrqusz commented 6 years ago

What used to be beta may have been pushed live, breaking this.

Shame there is no way to roll back :/

poyungan commented 6 years ago

In the Steam VR overlay the Touch controllers can be identified and vibrate. In the Input settings when in VR they cannot be identified and do not vibrate.

If the Beta is now live wouldn't there be a lot more people now having issues?

So frustrating.

romkslrqusz commented 6 years ago

Good point.

Yeah, it's driving me crazy. Funny thing is I was using it without issue the day before.

Are you on Oculus Dash? Perhaps an update to that is what broke things.

poyungan commented 6 years ago

I had not used the Rift for about 9 months and reinstalled everything on a new rig so I assume all are the latest updates. That is curious that you had it working and now stopped. You can't remember if you changed anything?

romkslrqusz commented 6 years ago

Only change was trying to install oculusfix version 2 - and reverting that change left it with the same behavior

Eraile commented 6 years ago

Hey guys, it crashes because there must have been a SteamVR update that broke the way the VR Input Emulator talks to Steam... and it makes it crash... It needs a fix. Sadly idk how to help with that.

romkslrqusz commented 6 years ago

@Eraile I thought that might be the case, but reports of this issue aren't super widespread (yet?)

poyungan commented 6 years ago

I tried the new Steam VR Beta; no luck.

rekaXua commented 6 years ago

Have the same issue now and before the update. By some miracle I even get it to work for 1 day, just before the SteamVR update, but can't anymore. Here is a part of log file (I've just censored a part of serial, and what interesting, serial is the same):

[INFO ] 2017-12-21 00:31:35: Application started [INFO ] 2017-12-21 00:31:35: Log Config: D:\Program Files\OpenVR-InputEmulator\logging.conf [INFO ] 2017-12-21 00:31:35: Log File: C:/Users/Alexander_rekaX/AppData/Roaming/matzman666/OpenVRInputEmulator/VRInputEmulator.log [INFO ] 2017-12-21 00:31:35: Desktop mode enabled. [INFO ] 2017-12-21 00:31:35: Sound effects disabled. [INFO ] 2017-12-21 00:31:35: Settings File: C:/Users/Alexander_rekaX/AppData/Roaming/matzman666/OpenVRInputEmulator.ini [INFO ] 2017-12-21 00:31:37: VR Runtime Path: C:/Steam/steamapps/common/SteamVR/ [INFO ] 2017-12-21 00:31:37: sizeof(DigitalBinding) = 28 [INFO ] 2017-12-21 00:31:37: sizeof(DigitalInputRemapping) = 108 [INFO ] 2017-12-21 00:31:37: sizeof(AnalogInputRemapping) = 36 [INFO ] 2017-12-21 00:31:37: sizeof(ipc::Request) = 312 [INFO ] 2017-12-21 00:31:37: sizeof(ipc::Request::msg) = 296 [INFO ] 2017-12-21 00:31:37: sizeof(ipc::Reply) = 304 [INFO ] 2017-12-21 00:31:37: sizeof(ipc::Reply::msg) = 280 [ERROR] 2017-12-21 00:31:41: Could not connect to driver component: Could not open server-side message queue: boost::interprocess_exception::library_error [ERROR] 2017-12-21 00:31:41: Exception caught while getting device info: No active connection. [INFO ] 2017-12-21 00:31:41: Found device: id 0, class 1, serial WMHD314xxx0ZXE [ERROR] 2017-12-21 00:31:41: Exception caught while getting device info: No active connection. [INFO ] 2017-12-21 00:31:41: Found device: id 4, class 2, serial WMHD314xxx0ZXE_Controller_Left [ERROR] 2017-12-21 00:31:41: Exception caught while getting device info: No active connection. [INFO ] 2017-12-21 00:31:41: Found device: id 5, class 2, serial WMHD314xxx0ZXE_Controller_Right [ERROR] 2017-12-21 00:31:41: Exception caught while getting device info: No active connection. [ERROR] 2017-12-21 00:31:43: Exception caught while getting device info: No active connection. [ERROR] 2017-12-21 00:31:43: Exception caught while getting device info: No active connection. [ERROR] 2017-12-21 00:31:43: Exception caught while getting device info: No active connection. [ERROR] 2017-12-21 00:31:43: Exception caught while getting device info: No active connection.

But the most interesant is this: "[ERROR] 2017-12-21 00:31:41: Could not connect to driver component: Could not open server-side message queue: boost::interprocess_exception::library_error" To me looks like a bug in boost. It needs to be worked around by matzman666.

rekaXua commented 6 years ago

Oh, I've fixed it. The issue was: "Known Bugs: The shared-memory message queue is prone to deadlock the driver when the client crashes or is exited ungracefully." So by some demonic combination of rebooting and reinstalling Input Emulator I've managed to get it back to work!

poyungan commented 6 years ago

rekaXua, congratulations! Now please tell me what Steam VR version you are using and exactly what steps you took and I will be forever in your debt. Did you reinstall the Oculus software at all?

romkslrqusz commented 6 years ago

I was able to get mine working again thanks to @rekaXua ! @poyungan I shut down Steam and the Oculus Service while doing this, and did each reboot by hitting Alt+F4 from the desktop. Using the current, non-beta version of Steam. Uninstall OVRInputEmulator, reboot, install it again, reboot, and then it should work.

poyungan commented 6 years ago

Great news! I will try as soon as I get home. Thanks to you both.

poyungan commented 6 years ago

Still no joy. When you reinstall the Emulator then reboot, what do you start to open Steam VR? The Emulator.exe or open Steam VR directly. If i do the latter, the VR Input Emulator button does not show in the VR menu, only if I open through the Emulator.exe. Could you please tell me what settings you have in Steam VR?

rekaXua commented 6 years ago

You can try to launch Emulator in desktop mode, bud don't even try to launch it from .exe, because it kinda breaks stuff. And from my experience, if you don's see a Emulator button in VR - it's a good sign.

poyungan commented 6 years ago

I am a bit confused. What do you mean by Desktop mode and how can you change the inputs if the Emulator button is not showing?

romkslrqusz commented 6 years ago

@poyungan You should not have to manually launch the emulator.

Fire up any SteamVR game, and bring up the SteamVR menu. You should have a row of orbs towards the bottom - Mine are SteamVR, OpenVR AdvancedSettings, and OpenVR Input Emulator.

I'm going to close this issue since a workaround was found.

Resolved by uninstalling and reinstalling the software, with system restarts after each step.