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
710 stars 136 forks source link

Latest steam update broke Input Emulator #198

Open Activusto opened 3 years ago

Activusto commented 3 years ago

It just crashes SteamVR on start and then SteamVR blocks it. Don't know how to fix it.

H-t-Y commented 3 years ago

Same issue. Hopefully it’s just a simple bug in the new update. But I think that input emulator is failing to pick up devices and is crashing. But that’s just my theory.

auronx223 commented 3 years ago

Same issue here, it started happening sometime in beta and had to opt out of beta to get it working again, but now it affects the new released version.

Issue is most likely caused by IVRServerDriverHost_005 needs updating to IVRServerDriverHost_006 which was introduced in beta.

thoskee commented 3 years ago

Noticed this yesterday, I saw another solution implemented successfully for for Natural Locomotion, described fix here

"Seems like IVRServerDriverHost got updated to version 006 in the driver DLLs, so if you're lucky changing the hook to look for the new version string might be enough."

link https://steamcommunity.com/app/250820/discussions/3/2921102177260376761/

auronx223 commented 3 years ago

A new hotfix has been released for SteamVR which may fix the issue.

Bugfix: Fixed server crash when using certain older drivers.

thoskee commented 3 years ago

Hmm, just tried updating steam and steam beta, still not working. is there something I need to do to pick up this hotfix, or is it just "wait a bit" and it will become available?

fwenny commented 3 years ago

would be great if someone with some knowledge could release a fixed version. this is completely broken as of last update. :c

cubiclestorm commented 3 years ago

The project is abandoned sadly it may never be fixed

thoskee commented 3 years ago

Yeah, I even tried to grab the source code, searched and found the "IVRServerDriverHost_005 ", added a IVRServerDriverHost_006, saved it and now wtf do I do lol! Downloaded Microsoft Visual Studio, but that can't compile to an exe unless it's the commercial version, so I tried the free approach with minGNW, but holy cow that is not point and click it seems, so I wasted some serious time on what would seem to be a cakewalk for someone, anyone, in the know.... which is not me :)

I can't complain though, without the effort already donated by those before, we wouldn't have anything at all, so when they get to it, cool with me. And Thank You to matzman666 and those that contributed this, and all the other cool stuff!

fwenny commented 3 years ago

Yeah, I even tried to grab the source code, searched and found the "IVRServerDriverHost_005 ", added a IVRServerDriverHost_006, saved it and now wtf do I do lol! Downloaded Microsoft Visual Studio, but that can't compile to an exe unless it's the commercial version, so I tried the free approach with minGNW, but holy cow that is not point and click it seems, so I wasted some serious time on what would seem to be a cakewalk for someone, anyone, in the know.... which is not me :)

I can't complain though, without the effort already donated by those before, we wouldn't have anything at all, so when they get to it, cool with me. And Thank You to matzman666 and those that contributed this, and all the other cool stuff!

im not sure what it takes to compile this, but please dont give up! i believe in you :p

p1mp184 commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

RuneOcean commented 3 years ago

このdllを試してください。動作するはずです。 「SteamVR \ drivers \ 00vrinputemulator \ bin \ win64」に配置する https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dllが機能する かどうか知らせてください...

To p1mp184.

From what I've tested, what you've created is a complete repair of the OpenVR-InputEmulator that was broken in the SteamVR update. All those people who were having trouble with this issue will thank you.

fwenny commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

this works for me. thank you so much.

fwenny commented 3 years ago

question for people using vive, does it feel jittery and laggy for you when you move your head with input emulator running?

thoskee commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

Awesome, now I don't have to think! Works great, I thank you p1mp184, my wrists also thank you.

thoskee commented 3 years ago

question for people using vive, does it feel jittery and laggy for you when you move your head with input emulator running?

I had thought so on occasion, wasn't sure if it was this, or OPenVR advancedsettings, decided it may be both add a tiny bit?

thoskee commented 3 years ago

So is this something we need to do each time steam client updates, or only when the client occasionally changes the dll in question?

p1mp184 commented 3 years ago

So is this something we need to do each time steam client updates, or only when the client occasionally changes the dll in question?

This time we have been lucky, but who knows what the next steamvr update would break. I suggest to create a copy of the current complete steamvr folder, which works. In the future in case of issues it should be possible to replace the new steamvr folder with the old one and it should work again... Until the next update again... Glad it worked this time though

fwenny commented 3 years ago

i have a friend who gets really bad jitters when input emulator is running, and none while it is off. only started after latest steamvr update. wondering if someone else has that issue.

lithiumfrog commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

Weird interaction with playspace mover. Only my hands move and they move in strange directions. Not sure if you even have any control over this but I'd be grateful if you knew anything about it. Thanks!

thoskee commented 3 years ago

Additional question unrelated to this particular fix, as it existed before, and I was just reminded by the previous poster, so when I switched to the HTC Vive and Index controllers, from Rift S, the X Y Z offsets were drastically different in there effective axis between left and right controllers, as well as vastly different from Rift S, which the Rift S was exactly as you would have visualized. I understand the axis between controllers are going to behave different, however the index controllers would be different by a seemingly random shift of degrees for X Y and Z, and all different (the axis and the degrees)

thoskee commented 3 years ago

I assume it's related to the particular Base Station being referenced, and the two are positioned slightly different, opposite corners, but is there a better way to help me picture the shift in position needed?

p1mp184 commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

Weird interaction with playspace mover. Only my hands move and they move in strange directions. Not sure if you even have any control over this but I'd be grateful if you knew anything about it. Thanks!

Uhm...I do not know "playspace mover". The only thing I did was to re-trace the hook previously defined as "IVRServerDriverHost_005" to "IVRServerDriverHost_006" and then re-compile. Maybe some other applications still need the "IVRServerDriverHost_005" hook. I should try to keep also the old hook and re-compile. Big problem is that my PC is without a GPU now and therefore cannot be switched on at all.

CAYOK commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

Can someone say the full directory. I can't seem to find the folder.

fwenny commented 3 years ago

should be in your SteamVR folder (Steam\SteamApps\Common\SteamVR)

overdrive-ostrich commented 3 years ago

Still crashes for me, only when I try to connect my Quest. Tried uninstalling and reinstalling, verifying the .dll file. Any ideas? driver_vrinputemulator.log Edit: I think I've narrowed it down to me using ReLive to wirelessly connect to my (AMD) computer. Does anyone else have this issue and what can be done to solve it? Thanks!

TagPlaysTV commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

Hey, is there any chance you can also do this for the Space Calibrator driver? My system is broke as the Calibrator driver will not load with the latest SteamVR. :-/

RISCy79 commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

Perfect! I am building a motion rig and without this, I could not play in VR. Thanks so much

phutflesz commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

You are a life safer! Like so many I'm using InputEmulator for a motion sim rig, thank you so much for your work. Is there any way I can buy you a coffee or a beer for your efforts?

p1mp184 commented 3 years ago

hi.

I corrected some things in the dll. Maybe now it works better. Here's the link. https://drive.google.com/file/d/1kBEdyLRKxEtB5nLOKDfs_JpmkMj4fwHY/view?usp=sharing

ilmatematico commented 3 years ago

hi.

I corrected some things in the dll. Maybe now it works better. Here's the link. https://drive.google.com/file/d/1kBEdyLRKxEtB5nLOKDfs_JpmkMj4fwHY/view?usp=sharing

Hey man, could you commit the amazing changes you made in a new branch on the repo? It would be awesome

p1mp184 commented 3 years ago

hi. I corrected some things in the dll. Maybe now it works better. Here's the link. https://drive.google.com/file/d/1kBEdyLRKxEtB5nLOKDfs_JpmkMj4fwHY/view?usp=sharing

Hey man, could you commit the amazing changes you made in a new branch on the repo? It would be awesome

Hi! Actually I am not a code expert, and I would not even know how to do it. My coding is very basic and "error&trial" based. If you want I can send you the source files so that you can check it improve it and also publish it. So far I am working in order to make motion compensation work with Pimax (because I saw so far it is not working due to "overcompensation")...

vandal07 commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

That did it for me, thanks!

phutflesz commented 3 years ago

Hi! Actually I am not a code expert, and I would not even know how to do it. My coding is very basic and "error&trial" based. If you want I can send you the source files so that you can check it improve it and also publish it. So far I am working in order to make motion compensation work with Pimax (because I saw so far it is not working due to "overcompensation")...

Hi @p1mp184! It seems I got a SteamVR update again which broke InputEmulator for me once more. Forward/backward pitching of the tracker results in up/down movement-corrections of the HMD, instead of forward/backward. I encountered some build issues trying to get it running the other day. Since you already implemented important fixes for the last couple of updates, can you upload your progress so far to your Google Drive or something? Also, which version of Qt are you using? The suggested version 5.7 in the readme isn't available for download any more. I'd appreciate it if you could package up your project working directory and the necessary installers or links to the versions you are using.

flash66 commented 3 years ago

That’s funny, about 9 months ago I tried the pimax several times with my 6dof platform and it worked perfectly. I haven’t tried it since but I would imagine reverting to whatever steam version that was around that time, it should still work?

Sent from my iPhone

On Dec 12, 2020, at 11:33 AM, phutflesz notifications@github.com wrote:

 Hi! Actually I am not a code expert, and I would not even know how to do it. My coding is very basic and "error&trial" based. If you want I can send you the source files so that you can check it improve it and also publish it. So far I am working in order to make motion compensation work with Pimax (because I saw so far it is not working due to "overcompensation")...

Hi @p1mp184! Since you already implemented important fixes for the last couple of updates, can you upload your progress so far to your Google Drive or something? Would be much appreciated, then we can try and integrate it into a new fork here on GitHub to continue working on it

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

p1mp184 commented 3 years ago

Hi! Actually I am not a code expert, and I would not even know how to do it. My coding is very basic and "error&trial" based. If you want I can send you the source files so that you can check it improve it and also publish it. So far I am working in order to make motion compensation work with Pimax (because I saw so far it is not working due to "overcompensation")...

Hi @p1mp184! It seems I got a SteamVR update again which broke InputEmulator for me once more. Forward/backward pitching of the tracker results in up/down movement-corrections of the HMD, instead of forward/backward. I encountered some build issues trying to get it running the other day. Since you already implemented important fixes for the last couple of updates, can you upload your progress so far to your Google Drive or something? Also, which version of Qt are you using? The suggested version 5.7 in the readme isn't available for download any more. I'd appreciate it if you could package up your project working directory and the necessary installers or links to the versions you are using.

Hi there.

PLease find at the following link:

https://drive.google.com/drive/folders/1YosOmNH6CGzbSj2qC4mOv5C1UfgPiPH1?usp=sharing

I have 2 folders because I have pimax, my friend rift cv1. The software is modified for us since we have the joystick placed at same height of head but behind the wheel (about 50cms away). In the file "motioncompensationmanager" I do the math needed to compensate correctly. In the openvr_math file I added some more functions for playing around with quaternions and rotations. Please apologize the functions names and variabless names. They are completely nonsense.

Note: the program is modified so that when you hit "apply" in the GUI, then it stores the current rotational angles of the tracker and the whole math is done on the differences between the current orientation aand the one stored when hitting "apply". Therefore the actual initial orientation of the tracker should not matter (unless it is close to some singularity angles).

Note 2: I have never been able to compile the complete project. I just compile the driver (dll file as output) and then put it into the correct SteamVr folder.

Hope it can help anyonee with better skills than me, to make something useful ffor the community.

Ciao,

Paolo

phutflesz commented 3 years ago

Thanks! Did you also notice problems recently with the motion compensation where the axes of the trackers seem to be switched, or is it only me?

trueA1M2 commented 3 years ago

Try this dll please, it should work. https://drive.google.com/file/d/1gXVxXRuNq0yIJpClagKKyWHBCcG0zfPy/view?usp=sharing dll to be put in "SteamVR\drivers\00vrinputemulator\bin\win64" let me know if it works...

It did now my hand controllers are just losing connection all the time

trueA1M2 commented 3 years ago

https://github.com/matzman666/OpenVR-InputEmulator/issues/198#issuecomment-717839513

This now works without crashing my controllers

trueA1M2 commented 3 years ago

https://github.com/matzman666/OpenVR-InputEmulator/issues/198#issuecomment-716082593

This one works

dirhim commented 2 years ago

Hello, the download link for opener seems to not be working, are there any other ways to fix openvr?

Erimelowo commented 2 years ago

I have merged the modified code provided by p1mp184 into a fork if anyone wants to use it. https://github.com/Louka3000/OpenVR-InputEmulator-Fixed

It also contains boost. You just need to install QT on your system: https://drive.google.com/file/d/1wusSARPuTwFMS_PDUUmX8iAN5jE0B3tO/view?usp=sharing

Only the drivers builds. Build the driver and replace the .dll in the driver folder (C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\00vrinputemulator\bin\win64) after installing OpenVRInputSimulator (https://github.com/matzman666/OpenVR-InputEmulator/releases/download/v1.3/OpenVR-InputEmulator-v1.3.exe)

Already built version is here: https://drive.google.com/file/d/1kBEdyLRKxEtB5nLOKDfs_JpmkMj4fwHY/view?usp=sharing by p1mp184

thoskee commented 2 years ago

Is the installer operational? .nsi file, not sure what to do with it, but thanks for pulling it together!

Erimelowo commented 2 years ago

Is the installer operational? .nsi file, not sure what to do with it, but thanks for pulling it together!

I don't know how to make the installer work, I just made a fork and replaced the files p1mp184 said they changed :3

Erimelowo commented 2 years ago

Note 2: I have never been able to compile the complete project. I just compile the driver (dll file as output) and then put it into the correct SteamVr folder.

I fixed p1mp184's code and made it so everything can compile correctly if anyone wants to figure out how to make the installer thing work btw.