moonlight-stream / moonlight-qt

GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
GNU General Public License v3.0
11.04k stars 643 forks source link

Bug: Controller virtual mapping and disconnecting not working properly #832

Open sentix001 opened 2 years ago

sentix001 commented 2 years ago

Windows 10 Moonlight version 4.1.0 Graphics Drivers: latest as of this dat

OK, so the issue is like this if I select settings and disable force gamepad always connected once connected it sets up 3 virtual devices instead of 1 - See screenshot below also after disconnecting the moonlight session and EXITING the session it doesn't release the virtual device properly and it shows 3 gamepad still connected. Also the hardware xbox360 controller on the main pc host connects on light 3 instead of 1 as it usually does when I turn it on after a restart before using moonlight

Note the gamepad on the host pc is always off when i connect to moonlight

Option 2: If i set to force gamepad always connected option the virtual device is setup correctly and 1 device only and works OK, the problem is when disconnecting and exiting session it doesn't release the virtual device on the main pc so so the hardware xbox360 controller on the main pc host connects on light 2 instead of 1 as it usually does when as it usually does when I turn it on after a restart before using moonlight

NOTE the android version on my android TV handles all this properly as it should only the windows version is doing it Tried restarting multiple times to no avail both laptop and host pc

Screenshot - 7_31_2022 , 5_32_57 PM e

sentix001 commented 2 years ago

Moonlight-1659048194.log Moonlight-1659280941.log

sentix001 commented 2 years ago

Screenshot - 31-Jul-22 , 6_02_24 PM How the gamepad shows up on client laptop

cgutman commented 2 years ago

Please try this development build and see if the problem persists.

https://ci.appveyor.com/project/cgutman/moonlight-qt/builds/44345676/job/rkhj5kr6fr9ea51s/artifacts

sentix001 commented 2 years ago

what was this intended to fix? not disconnecting the virtual xbox device after exiting session or showing up as 3 virtual gamepads when force gamepad always connected is disabled?

the 3 devices one isnt fixed on that version

cgutman commented 2 years ago

It was meant to see if it fixed the 3 devices issue. The failure to delete devices after quitting the session is not a Moonlight bug. It's GeForce Experience (specifically nvstreamer.exe)'s responsibility to do that.

Are you trying to connect this to your PC via Bluetooth or USB? Does the behavior differ between Bluetooth and USB?

sentix001 commented 2 years ago

USB yes, so the 3 devices bug in that version not fixed. I will also test out how a bluetooth gamepad is handled

sentix001 commented 2 years ago

bluetooth does the same

The failure to delete devices after quitting the session is not a Moonlight bug. It's GeForce Experience (specifically nvstreamer.exe)'s responsibility to do that.

So it means yours acts the same ?

sentix001 commented 2 years ago

I have the same nvstreamer as everyone else no?

cgutman commented 2 years ago

So it means yours acts the same ?

No, mine does delete the devices correctly, which is why I'm thinking there's something else going on with your system.

There have been third party application compatibility issues in the past such as https://github.com/moonlight-stream/moonlight-qt/issues/304 that have led to issues with nvstreamer destroying virtual controllers. I suspect that something like that is going on for you.