mm0zct / Oculus_Touch_Steam_Link

SteamVR driver to enable Oculus Touch controllers with other headsets
MIT License
63 stars 20 forks source link

Pulse haptics issue in Ghosts of Tabor #37

Open Aim392 opened 1 week ago

Aim392 commented 1 week ago

Controllers provide no haptic feedback when calling for one, two, or three vibrations via the mag check mechanic in ghosts of tabor. (Shake a controller, recieve haptics as a response for current mag capacity) Shooting and other haptic events provide feedback, although often weak or delayed, which is not a gameplay issue, but the inability to check mag capacity could be.

Playing native through the CV1 works correctly, so it's not a hardware issue with my controllers/haptics. I've tried messing with all the haptic settings provided, as well as installing older releases of Oculus_Touch_Steam_Link, no luck.

This is a minor thing, and I understand this project is only maintained through goodwill at this point since it's no longer your primary play method, perhaps someone else has any advice?

Using a Pico Neo Link 3 with CV1 controllers. This is what the console looks like with one of these haptic events happen, it posts around 15-30 lines of this. image

mm0zct commented 3 days ago

Hi, I've gone back to the drawing board a bit on the haptics front, this approach seems hopeful, you can get the latest build binaries it of github if you want to test my in-progress version. I'll try and post a link here.

I also want to add a feature to capture haptics traces so I can get traces from folk like you to test without having to own and fire up the game

Aim392 commented 2 days ago

EDIT: Installed it properly after checking the git again, finding the correct ovrtest, driver.dll and config.dat. Tested in ghosts of tabor and my original issue is resolved with this version, Haptics are now plenty strong and work in every case I can find, although they are still delayed (Nbd). Thanks! this now has every feature of a native setup for me.

Tried testing the in progress version, SteamVR was not detecting my CV1 controllers anymore, despite them showing 0xf in OVRtest. The Oculus section in space calibrator showed no Cv1 devices either. Touch steam link was active in steamVR plugins.

Most likely this was user error on my part, to install I just extracted the contents of Oculus_Touch_Steam_Link-main\ReleasePackage\OculusTouchLink from the current git into SteamVR\drivers\OculusTouchLink

Reinstalling the last release and it functions again. Sorry for my ignorance here, is their a different way I'm meant to install your changes? Thanks for taking the time to look into this! I understand if its not worth the effort to troubleshoot through me rather then your own setup.

mm0zct commented 1 day ago

Can you please try the official release I just pushed? It should be very close to the official oculus implementation now, finally :) Certainly Beat Saber, Pistol Whip, Alyx and HL2-VR all feel much better now. It's based on what you just tested, but I have found the sweet spot for buffer levels and how much to extend the duration of very short events so it feels like the oculus version.

Aim392 commented 1 day ago

Just tested it, works very well, and arguably has advantages over native since you can fine tune haptic settings with ovrTest. Haptics are still a little delayed for me, but thats not an issue for my usecase, and I'm assuming thats something that cannot be resolved or may even be something with my setup. Are the haptics slightly delayed for your setup/other users as well?

mm0zct commented 50 minutes ago

I understand why the test version had a bit of a delay, this release version should be minimal. How many cpu cores/threads do you have? Side by side with the official version there might be a very slight extra delay, but no more than 1/20th of a second, I only buffer up to 16 samples and it runs at ~320 samples per second. If the haptic thread is getting a bit starved that might cause your issues though, and I could probably fold it back into my main thread and trust ovr_test from 2 to 1 thread. My two machines are an amd 5700x which is 8 cores / 16 threads, and an Intel core ultra 9 185 which has something like 20 threads, so I'm not lacking dedicated resources for the haptic thread when I test.