OpenTPCast rumble only on one controller

19 posts / 0 new
Last post
rdpeake
OpenTPCast rumble only on one controller

I'm using an OpenTPCast to connect an oculus rift to a windows 10 PC. I'm asking this here rather than the tpcast discord as i think this is a virtual here issue?

The base TPCast runs with linux kernel version 4.9, but i have updated that to use 4.14 hoping that may result in better experience. I eventually found that upping the servers CompressionLimit to 800, up from the base 384 resulted in better tracking and somewhat better rumble response.

My issue is though, i am only ever able to get rumble from 1 touch controller at a time (at least in the game beat saber) when wired i can get both to function as expected. with a mod (which seems to be the solution many have found in the opentpcast forum) i can get a somewhat better experience, but that is simply because the the mod sends more vibrations allowing the 2 touch controllers to vibrate more interleaved.

Is this likely to be an issue with virtual here, or a limitation of the tpcast hardware (which is basically a raspberry pi 3, with usb 5ghz wifi) and is there anything i can do to help work out where the issue may lie?

Michael
.

Do you have more information about the "mod"? e.g a url or something

rdpeake
This is the mod - https:/

This is the mod - https://github.com/Ibodan/RumbleEnhancerOculus/tree/master/RumbleEnhance...
It doesn't allow the sabers to work together all the time, but it does for some specific cases - presumably when it requires constant updates of the vibration.

Michael
.

Are you using the tpcast router or your own router? I think its probably a latency issue. Although i havent heard of this issue before so it might be specific to your setup. If possible you could use your own router if you havent already. It might be better than the tpcast one as you have better control over the channel.

rdpeake
-

I am using the tpcast router - however i have seen multiple comments about this on the discord - it is the reason i even know about the mod option to reduce the issue. I also have the ability to control the 5ghz wifi band on the tpcast router? is there any test i should run to confirm the latency issues?

Michael
.

In the virtualhere client, right click on the TPCast Hub and select Properties and click "Latency" and it will draw a graph. You want 5-10ms and as flat as possible

rdpeake
-

On Idle, i have a consistent connection between 1ms and 2ms - see this image: https://www.dropbox.com/s/iv3zwo7be97j6dj/virtualhere%20latency.PNG?dl=0

Michael
.

Ok thats good, can you take another screenshot when you are using the rumble on the controllers

rdpeake
-

Beat me to it - was in the process of doing so. in game and actively eperiencing the issue have a minor bip above 2ms - but that is before the actual issue is experienced (i believe) see here: https://www.dropbox.com/s/2sc3m6pi95qz9cp/virtualhere%20latency%20in%20g...

rdpeake
-

No idea if you have either an Oculus, or a TPCast/linux box to test with - but the simplest way to reproduce the issue is to open a song with obstacles and put both sabers into an obstacle. When running wired, both sabers will vibrate for as long as the sabers are in an obstacle. On tpcast - they vibrate very briefly then stop (how brief is extended by the mod i attached). However the moment you remove 1 saber from an obstacle the other one will restart vibrating like it would on the wired connection - and it doesn't matter which one you leave in, or take out. as long as there is only 1 in an obstacle it will vibrate as expected.

Michael
.

In windows, open Task Manager then Details and find vhui64.exe and right click and select Set Priority -> High

see if that makes a difference

rdpeake
-

Settings of high, or realtime didn't seem to make a difference (or if there was one it was only minor in terms of how long it was before the vibration ceased) however 1 saber still works, but 2 was not able to work.

rdpeake
-

For further test - i remove the rumble enhance mod - this indicates that there is no improvement as touching the 2 sabers together produces next to no vibration with high priority

Michael
.

OK im not sure what else to try. The latency seems ok as its consistent and 1-2ms should be ok. VirtualHere will pass all the signals it gets from the controllers so its definitely not dropping anything. You could turn off server compression or make it much higher threshold like 16384 instead of 800. Also you could use renice e.g -19 and see if that helps for the vhusbdtpcast process.

rdpeake
-

I have gone up as high as 2000 without seemingly any improvement (but i did need to increase it from the default to get better tracking) - i shall give a significantly higher value a try later (wasn't game enough to try that before as i wasn't entirely sure of the consequences). I shall also give renice ago and see what impact that has. I have spotted someone having issues with this on wired when they had connected the rift headset to a usb 3.1 (or 3.2) port on their mother board and connecting it via a 3.0 or 2.0 solved their issue.

I have also downloaded the oculus SDK and modified one of the examples given to cause both controllers to vibrate - and when doing that both were able to vibrate with no issue. This means the issue could lie in the OpenVR standard, or the Unity implementation which beat saber uses - but the problem doesn't seem to occur on wired so i still assume there is something involved in the virtual here which causes the dropout when 2 vibration calls are issued in game.

thanks for you help - i will get back to you on my results.

rdpeake
-

Running with renice -19, and 16384 compression did not change any thing - possibly some minor loss but the latency was still 1-2ms. As the tpcast is usb 2.0 and the virtual here virtual port registers as a usb3 device i connected the oculus wired via an active usb2.0 cable into a usb 3.0 header this however worked unlike the virtual here solution.

If i can help by collecting any logs for usb/network data i'm happy to help in that regard - i don't however know how to read them.

Michael
.

I had an idea, maybe its a power issue. Perhaps with two vibrating things its pulling too much power from the usb port. Maybe thats why it worked when there was a hub between...

rdpeake
-

Given that the tpcast is rated to supply 1.5A per connection (headset and video recieve) and the touch controllers are wirelessly connected to the headset and therefore run on their own battery - i'm not sure that would be the case. Not only that the oculus is barely rated to need the usb2.0 spec of 500ma power draw. whilst i can't say your wrong - i don't think power is the issue. Also when using the raw SDK i was able to have both vibrate at the same time - i am downloading the unity SDK to see if it is related to the unity sdk - or if it is game specific.

rdpeake
-

Running a very basic script in unity (which beat saber uses to my knowledge) has successfully caused vibration - so it does seem to be unique to beat saber - but it is also unique to virtual here and the tpcast.

Log in or register to post comments