mm0zct / Oculus_Touch_Steam_Link

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

Steam Link support/something is wrong #20

Open mackandelius opened 11 months ago

mackandelius commented 11 months ago

I use TouchLink for its FBT capability and tried using it with the new Steam Link app yesterday (they put it on the Quest store and added VR support)

If OculusTouchLink is started before Steam Link (which it needs to be) then Steam Link reports that the session does not match the host session (or something along those lines, need to recheck), which crashes the session and made SteamVR block TouchLink and Space Calibrator, in my setup.

I don't know whose issue this would really be, but since TouchLink apparently counts as SteamVR (at least to Discord), my thinking (since I don't know the code) is that Touchlink is either detected by SteamLink as part of SteamVR, or it hooks into SteamVR too early.

mm0zct commented 11 months ago

Thanks for reporting this. I've got a q3 now, so I can look into this. The separate touch link process has no steam vr aspect though, it only uses the direct oculus api and a bit of shared memory, but whatever I'm doing in the steam vr part of my driver clearly doesn't work with the new steam vr streaming app.

Annoyingly the steam vr streaming doesn't see the q3 headset when you use the hotspot trick, which is how I normally connect my q3.

For now at least you can use VD or ALVR, I'll update this ticket once I've had a chance to investigate.

mackandelius commented 11 months ago

Trying to get logs of the bug is hard.

The vrlink driver only says, repeatedly

Warning: received packet with invalid session ID (ad75f6d6/01de0416/00d91411) Warning: received packet with invalid session ID (1e787d01/01de0416/00d91411) Warning: received packet with invalid session ID (7503d593/01de0416/00d91411) Warning: received packet with invalid session ID (a666e11a/01de0416/00d91411)

I can't find anything in the logs that say anything meaningful.

Interestingly, I guess, in the current beta, SteamVR most of the time seems to crash harder than Steam can understand, Steam thinks SteamVR is running even though there is no window or task still running,

LogMeIn-Hamachi commented 4 months ago

I can confirm it either fails to launch and gives errors as op describes.

Or if you get steamvr running somehow it will not initiate steam link and rather initiate the cv1 into steamvr.

I can confirm Virtual Desktop works. Probably ALVR aswell but have not tried that personally.

mm0zct commented 3 months ago

https://github.com/mm0zct/Oculus_Touch_Steam_Link/tree/main/ReleasePackage/OculusTouchLink/bin/win64 https://github.com/mm0zct/Oculus_Touch_Steam_Link/tree/main/ReleasePackage/OculusTouchLink

using the driver_OculusTouchLink.dll and the ovr_test.exe from this release folder should let you start steamvr before running ovr_test, allowing the controllers to be registered after steamvr is already up and running. This works for me, but please test for issues :)

LogMeIn-Hamachi commented 3 months ago

Cool will try. Thanks allot!!

mm0zct commented 3 months ago

There was a bug with the first commit, but it got fixed later in the day, so if everything crashes just make sure you have the latest copy from those links. Also make sure that ovr_test is not running until after steam vr is running.

LogMeIn-Hamachi commented 2 months ago

There was a bug with the first commit, but it got fixed later in the day, so if everything crashes just make sure you have the latest copy from those links. Also make sure that ovr_test is not running until after steam vr is running.

works perfectly now with your method!, tested using latest steamvr beta.

sometimes "vr_object" dont get activated on ovr_test launch. this is easely fixed by re-pairing "vr object" in oculus software > restart steamvr > launch "ovr_test"