OpenVR-InputEmulator icon indicating copy to clipboard operation
OpenVR-InputEmulator copied to clipboard

Fix SteamVR driver bug in the new motion smoothing beta

Open DiThi opened this issue 6 years ago • 74 comments

Fixes #127 .

The driver for Vive implements both IVRServerDriverHost_004 and IVRServerDriverHost_005. Since the Vive driver is always included with SteamVR, it makes no sense to have more than one interface version. The v4 sends garbage and made the driver crash, so we're just ignoring that call when we get a string with a very small pointer, or a device class that is not a small positive number.

DiThi avatar Oct 26 '18 14:10 DiThi

Seeing how the motion smoothing beta just got released, it would be nice to see some movement around this PR, before there is a flood of issues on how Input Emulator "mysteriously" doesn't work anymore.

SplitPixl avatar Nov 28 '18 00:11 SplitPixl

Agreed, I’m nervous this may be broken at some near point. Too bad there’s no way to prevent Steam VR from auto updating.

On Nov 27, 2018, at 4:44 PM, SplitPixl [email protected] wrote:

Seeing how the motion smoothing beta just got released, it would be nice to see some movement around this PR, before there is a flood of issues on how Input Emulator "mysteriously" doesn't work anymore.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

flash66 avatar Nov 28 '18 00:11 flash66

For a temporary workaround until a release is made with this branch, I made a build that people can use easier without having to spend 3 hours installing Visual Studio and Boost and Qt like I did.

To install it, extract the attached folder to C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers and move anything else in the folder called inputemulator to somewhere else.

Note: I only made a build for 64 bit windows systems, and you're probably gonna want to remove this after an official release of input emulator with this PR merged in comes out.

SplitPixl avatar Nov 28 '18 05:11 SplitPixl

I'm trying your temporary workaround but Input Emulator doesnt seem to be working. I'm trying to run PlaySpace Mover and it says it doesnt detect it.

ShadowtheUltimate avatar Nov 28 '18 15:11 ShadowtheUltimate

@ShadowtheUltimate Did you copy it in while SteamVR was running? Also, maybe try restarting your computer?

SplitPixl avatar Nov 28 '18 15:11 SplitPixl

Still nothing. I'm probably doing it wrong, then. in my \Steam\steamapps\common\SteamVR\drivers there's a folder called 00vrinputemulator. What am i doing with that in relation to your fix?

ShadowtheUltimate avatar Nov 28 '18 15:11 ShadowtheUltimate

Ah, You should move that 00vrinputemulator folder to somewhere else. I couldn't remember the actual name of the folder when writing my first comment.

SplitPixl avatar Nov 28 '18 15:11 SplitPixl

Still nothing. Am I supposed to keep your extracted folder named driver_vrinputemulator?

ShadowtheUltimate avatar Nov 28 '18 16:11 ShadowtheUltimate

I left it as that and haven't had any issues.

If you open the driver_vrinputemulator folder, do you see a folder inside it with the same name? If you do, you should put that inner folder in the drivers folder instead.

SplitPixl avatar Nov 28 '18 16:11 SplitPixl

Nope. There's the regular files (bin, resources, src, driver.vrdrivermanifest and driver_vrinputemulator.vcxproj) directly inside. Is there any other software I needed to have installed?

ShadowtheUltimate avatar Nov 28 '18 16:11 ShadowtheUltimate

There shouldn't be any other software you need. Can you make sure that SteamVR isn't running in safe mode?

SplitPixl avatar Nov 28 '18 16:11 SplitPixl

It's not in safe mode, no. I'm unable to actually test to see if Input Emulator is showing up in the steamvr menu (im not at home so ive been teamviewering in to apply these fixes). So I'll just wait till I can properly test and see what's up. But if it looks good then it's possible that PlaySpace Mover can't detect Input Emulator after your fix for some reason. Would you be able to test to see if it works for you?

ShadowtheUltimate avatar Nov 28 '18 16:11 ShadowtheUltimate

I was using PlaySpace Mover last night, I had a few issues where moving was a lot less smooth than it used to be, but no issues where it would outright refuse to connect. I won't be able to test this again for another few hours.

SplitPixl avatar Nov 28 '18 17:11 SplitPixl

Alright. And I just checked the Task Manager. I see that OpenVR-InputEmulatorOverlay.exe is running, so it must be working. No idea what my problem is. I applied the fix PlaySpace Mover linked to as well.

ShadowtheUltimate avatar Nov 28 '18 17:11 ShadowtheUltimate

Hi Split - I unzipped your patch to the file destination and tried to use OpenVR to no avail - just error 306, even after multiple attempts to come out of Safe Mode. Also tried an uninstall and reinstall of OpenVR which did not work.

Iovebug avatar Nov 29 '18 00:11 Iovebug

@imPoggers did you remove the 00vrinputemulator folder?

Also @ShadowtheUltimate, did you ever get it working on your machine?

I'm testing it on my main computer and it seems to work fine, but that's not an acceptable answer if i want to let other people use this as a temporary fix. I'm gonna see if i can get SteamVR installed on a different computer and if my patched build works there.

SplitPixl avatar Nov 29 '18 01:11 SplitPixl

@SplitPixl Sadly nothing yet. Can't think of the reason why it wont work. Do you have Advanced Settings installed as well?

ShadowtheUltimate avatar Nov 29 '18 01:11 ShadowtheUltimate

@SplitPixl I did not have that folder, as well as when I reinstalled OpenVR there was no 00inputemulator folder in drivers.

Iovebug avatar Nov 29 '18 01:11 Iovebug

I do have advanced settings installed, haven't had any issues with it.

Can both of you check C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\driver_vrinputemulator\bin\win64\driver_vrinputemulator.log, and maybe post it in a gist? This will probably be the best place to start looking for a solution.

SplitPixl avatar Nov 29 '18 01:11 SplitPixl

Here ya go. I hope you find something ><

ShadowtheUltimate avatar Nov 29 '18 01:11 ShadowtheUltimate

Doesn't seem to be anything wrong there that I can tell. Maybe we could have a look at SteamVR's logs? ( There's a bunch of different things to look at under C:\Program Files (x86)\Steam\logs)

SplitPixl avatar Nov 29 '18 02:11 SplitPixl

oops.

here ya go - https://gist.github.com/imPoggers/7ea3c08f1a6724f7c73637d41f5e7145 this is from vrclient_OpenVR-InputEmulatorOverlay.txt in Logs

Iovebug avatar Nov 29 '18 02:11 Iovebug

Um, @imPoggers, could you edit your post so it's a link to a gist or something? It makes it nicer when reading the comments so people don't need to scroll through a giant wall of text.

SplitPixl avatar Nov 29 '18 02:11 SplitPixl

I'm still digging around the logs folder because i'm not super familiar with how SteamVR works behind the scenes, but vrserver.txt seems like it might have some clues for us, as it seems to be logging information from devices and drivers. Here's mine for a reference.

Also i'm not insane and this is Playspace Mover running on the latest version of SteamVR, right?

right???

SplitPixl avatar Nov 29 '18 02:11 SplitPixl

Welp, there's a problem. I wonder what file it's trying to find but can't?

SplitPixl avatar Nov 29 '18 02:11 SplitPixl

Huh.. No idea. I even tried renaming the original folder to yours, and merged your files with that. Still no go

ShadowtheUltimate avatar Nov 29 '18 02:11 ShadowtheUltimate

Alright, I found this issue on OpenVR. My build is not built in release mode, so it would make sense it fails trying to load debug libraries that you probably don't have installed.

Here's a build in Release mode: driver_vrinputemulator_release_hopefully.zip

SplitPixl avatar Nov 29 '18 02:11 SplitPixl

Yes! It seems to be working now. Thank you so much! :D

ShadowtheUltimate avatar Nov 29 '18 02:11 ShadowtheUltimate

Awesome, I'll update my original comment.

SplitPixl avatar Nov 29 '18 02:11 SplitPixl