alvr-org / ALVR

Stream VR games from your PC to your headset via Wi-Fi
MIT License
5.43k stars 483 forks source link

Controllers not properly detected / not working in some games (Aperture Hand Lab, Accounting+, Rick morty, tales of wedding rings vr) #80

Closed orangpelupa closed 4 years ago

orangpelupa commented 4 years ago

In all of them the controllers are properly detected as oculus touch but only the trigger button works.

The A/B button didn't work.

In tales of wedding rings vr, the games keeps getting confused and thrown you into the pause menu

Maybe related to the vive craft controller bug?

I already tried the experimental v8, still the same issue in Rick morty and tales of the wedding rings vr

Edit:

In Rick morty case, it does work when I use AMD relive VR and tell it I use HTC vive

JackD83 commented 4 years ago

While most games do work without any problems, some do only work partially or not at all. This includes

headset not found warped image controller not tracking buttons not working ... Most of the time its the overly specific initialization of the game towards a specific headset that breaks the game. For example, Vivecraft broke because ALVR reported the headset manufacturer as "Oculus driver 1.38.0" and not as "Oculus". In general, this is a rather bad practice as all relevant data can be accessed trough SteamVR and the game should not make assumptions based on the manufacturer of the hmd. There are many different fields that a game could require to run.

Nonetheless, we want to play and support those games. Problem is, that we don't own all games. This is a Open Source without any funding. We can not buy any games just to fix a bug. In the case of Vivecraft, one user (thanks @Avencore) was generous to gift us a copy and the bug could be fixed. There are no guaranties! Neither on the time it will take nor if the bug will ever be fixed! Please contact us before buying anything.

orangpelupa commented 4 years ago

As a workaround, how about adding an option to ALVR to identify itself as HTC vive?

Currently my workaround was pretty cumbersome

Then I'll remove relive vr driver from SteamVR, install ALVR driver again, play games that works just fine with ALVR.

Because your work with ALVR is simply awesome. It's way more responsive than relive vr, so I prefer it.

JackD83 commented 4 years ago

Emulating a vive could be a workaround, but not a solution. Do those games support the rift s? Does the quest link work with them? If yes, there is a better way to solve this issue.

orangpelupa commented 4 years ago

https://store.steampowered.com/app/692360/Tales_of_Wedding_Rings_VR/

it doesn't have oculus rift listed but the in-game controller do appear as oculus controller when using ALVR

Haven't tried oculus lonk as i have amd gpu

JackD83 commented 4 years ago

Ah, and that's the thing. Oculus is not officially supported and its 30min "VR experience" that I don't own. I won't spent time implementing a workaround, but as always, pull requests are welcome!

Rick & Morty is something else. It should be supported and working. I don't own it, but a friend does

orangpelupa commented 4 years ago

Maybe my windows is borked or something. This issue, and the sword angle issue #81 should not be an issue as it was already fixed long ago.

Hopefully this week or next week I can try ALVR on a different computer (currently using asus gl702zc)

Thank you for maintaining this project

JackD83 commented 4 years ago

com polygraphene alvr-20191127-141141 I tested Rick and Morty: Virtual Rick-ality with ev8 and SteamVR 1.8.21. Works perfectly including the "touch" parts of the controller.

Sp4iK commented 4 years ago

Hi JackD83, I've noticed that Natural Locomotion does not detect controllers when launched through ALVR, but it does work well with Link. What could be the difference that causes that situation?

orangpelupa commented 4 years ago

Reporting in:

Aperture Hand Lab: Both controllers are not tracked but i suspect buttons are detected because you can spawn a "teleport line" by pressing left thumbstick

Accounting+ Controllers are not detected. At begining, the game tell you to hold TRIGGER. Holding TRIGGER did nothing.

com polygraphene alvr-20191127-141141 I tested Rick and Morty: Virtual Rick-ality with ev8 and SteamVR 1.8.21. Works perfectly including the "touch" parts of the controller.

can you touch the start game after inserting the disc?

orangpelupa commented 4 years ago

btw tested accounting+ on oculus link and it works just fine

Rumik commented 4 years ago

I'm having a related issue - buttons all work, but game detects the controller incorrectly and so displays the wrong controller layout in the UI. Works fine over Oculus Link.

TurinTur commented 4 years ago

I have the same problem, in some games the Touch Controllers aren't properly mapped. In my case, I noticed games like Blade & Sorcery unable to start, and in Gorn, somehow the right joystick doesn't work for snap turning, but it works for smooth turning.

It's so strange, given that from SteamVR options, it's detected perfectly as Touch controllers and the right joystick also works in the test option. I also have a usb cable to use Oculus Link, and with that it all works perfectly, so it's something with ALVR implementation.

JackD83 commented 4 years ago

I also have a usb cable to use Oculus Link, and with that it all works perfectly, so it's something with ALVR implementation.

That's a common miss conclusion. Oculus Link is running trough the Oculus Runtime while ALVR directly implements a SteamVR driver. The issue here is, that some games do not expect the emulated Rift S directly in SteamVR and do not work properly.

If the controllers work in SteamVR and the SteamVR input test and the game is not starting, showing wrong controllers or inputs are not working, its most likely the games fault!

I realized lately that most games won't fix this and we started to add some workarounds for individual games like DCS World, Tomb Raider or Boneworks

As I stated in an earlier comment here, we don't own all games and I'm not willing to buy games to fix them.

Games I checked:

Games I can check:

Games I do not own:

TurinTur commented 4 years ago

Yes, I know you implement directly the SteamVR driver. The problem is there ^_^U. Steam games usually will use SteamVR, and the information the Oculus runtime provide data to SteamVR vs your own SteamVR drive implementation seems different.

There are more games with issues, for example, I just tried another game, and discovered another issue: 'Realities' in Steam, it's free, search it. The A/B buttons aren't working as it should.

Funnily enough, if I select in ALVR the option to emulate a htc vive the issue in Gorn is solved, an in Realities I can 'hit' A by pressing down the joystick (which isn't ideal, it's actually a pain in the ass).

JackD83 commented 4 years ago

Yes you are right. Oculus runtime & SteamVR and ALVR & SteamVR is different.

But for example setting a joystick value i done by:

vr::VRDriverInput()->UpdateScalarComponent(m_handles[ALVR_INPUT_JOYSTICK_X], c.trackpadPosition.x, 0.0);

Where c.trackpadPosition.x is a value between -1 and 1.

Somehow that's not OK for Gorn if the Headset is a "Oculus Rift S". But if the headset is a "HTC VIVE" then the exact same input and same code is working. Be reminded that is the name of the Headset, not the controller.

If the controller work in Steam VR and not in a specific game, the game is broken. We are able to emulate the specific requirements for the game, but probably on a game to game basis. So dig in and find out what Gorn and Realities expect as input so we can implement it.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

orangpelupa commented 4 years ago

Anyone have virtual desktop and check whether those problematic games works with VD?

If they work with VD, even newly released titles, maybe we can investigate how VD did those

JackD83 commented 4 years ago

Aperture Hand Lab should work with the changes made for boneworks in #135

JackD83 commented 4 years ago

@orangpelupa please retest the games with ev10. At leased aperture hand labs should be fixed now

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

orangpelupa commented 4 years ago

@JackD83 thankyou! its working on tales of wedding rings VR now.