I'm testing VirtualHere to use an Xbox controller when streaming UWP games between two Windows 10 PCs, both running the latest fully updated version of Windows 10 v1703. One is a desktop gaming PC (VirtualHere client), and the other is a laptop (VirtualHere server).
So far I've got VirtualHere functioning for various USB devices. For instance an iPhone which synced fine with the desktop's iTunes when plugged into the laptop. The problem is with my Xbox One wired controller: The controller is a brand new Xbox One "PC" variant, which comes with a USB cable but also works on the PC via Bluetooth. Obviously for VirtualHere I need to run it wired for it to register as a USB device.
The controller is running the latest firmware according to the Xbox Accessories Windows 10 store app. When it is hooked into the laptop, it works perfectly. It shows a valid ("latest") driver in "device manager", shows up in "set up usb controllers" screen to calibrate, and works fine in games. I've tried various non-UWP games streamed through Steam in-home streaming from desktop to laptop and it performs exactly as expected.
When I pass the controller through to the desktop PC via VirtualHere, I see the following behavior:
- The controller shows up correctly in the list of USB devices on both client and server VirtualHere interfaces.
- When the controller is plugged into the laptop, the rumble motors buzz and then the Xbox light turns on and remains on: It has a good connection.
- When I select "use this device" on the desktop, the controller light goes out. After a couple of seconds, the VirtualHere client software shows that it has stopped control of the controller, and I see the light go back on, showing that the controller is back under control of the laptop directly.
- I can select "auto-use device" and this stops the device immediately going back to the control of the laptop, but the controller light stays off.
- When in this state, looking in the desktop's Device Manager it shows the Xbox Controller listed with a valid driver, appearing to be fully functional exactly the same as on the laptop. However the controller never appears in "set up usb controllers" control panel screen.
- I can push the Xbox button on the controller, but the light just starts flashing for about 30 seconds or so then goes out again. This symptom is the same whether I'm doing in-home streaming or not.
- I tried adding custom event handler: onReset.$VENDOR_ID$.$PRODUCT_ID$= as listed in another thread, but that didn't change any of the behavior.
- I've tried connecting the controller through the laptop's sole USB 3.0 port and also through a USB 2.0 unpowered hub attached to that USB 3.0 port. No difference in behavior.
Looking in the VirtualHere server log, I see the following events:
2017-10-09 08:09:19 INFO :Found Full speed device [045e:02ea] "Microsoft, Controller" at address 8
2017-10-09 08:10:20 INFO :Device 8 [045e:02ea] BOUND to connection 1
2017-10-09 08:10:21 INFO :Executed empty hook for onReset.045e.02ea
2017-10-09 08:10:21 WARNING :Failed to release claimed device USB\VID_05E3&PID_0608\5&2C705BFE&0&1,USB\VID_045E&PID_02EA\3032363030313030333237373132,3 while uncapturing, The device does not recognize the command. (0x00000016)
2017-10-09 08:10:23 INFO :Device 8 [045e:02ea] SURPRISE UNBOUND from connection 1
2017-10-09 08:10:23 INFO :Unmanaging device 8 [045e:02ea]
2017-10-09 08:10:23 WARNING :Warning, device being removed with ops outstanding
2017-10-09 08:10:23 INFO :Found Full speed device [045e:02ea] "Microsoft, Controller" at address 8
I've not managed to find any other suggestions or tips to go on from here, and would appreciate guidance as to what to do next.