Does anyone have experience with connectivity issues with VirtualHere and 8bitdo pro controllers? I have 2x controllers connecting to my desktop (xinput mode) via a Shield Pro. When it works, it works well including rumble. However, I had a slew of problems last night while my gf and I tried to play some games. Controller dropout and really struggled to re-connect; I went to the other room and removed the 8bitdo from Bluetooth in windows altogether, took a couple of tries and it eventually reconnected. It periodically dropped the Bluetooth connection. My moonlight stream itself was fine. But lots of issues with stability.
Not sure what's going on. Is there a place for logs or something that gives me better clues as to what is going on? I can try to look into some way to disable the Nvidia's BT; there doesn't seem to be a native way to disable BT but perhaps there's an app that does it.
I viewed EventViewer on Win10, I see these errors sprinkled in there from time to time.
"Windows cannot store Bluetooth authentication codes (link keys) on the local adapter. Bluetooth keyboards might not work in the system BIOS during startup."
"Initial connection to Bluetooth HID device failed. The device has been removed as a personal or paired device. You must reinstall the device."
Could this be a clue? Is there a way to perform some sort of bluetooth stability check for virtualhere - like something that does a functional test. I did try the Win10 bluetooth troubleshooting tool and it seems to disable/re-enable the adapter.
just for fun, I connected my Tplink BT 5.0 adapter directly to my PC. I was able to connect 2x 8bitdo controller like 10+ times in a row without any real trouble. I can't do that with Virtualhere and Nvidia Shield... I always have to give multiple attempts for the BT to connect (i.e. turn on and off the controller...when it works, it usually connects in a quick 1-2 seconds).
I don't know if this gives us clues. But it seems like using Virtualhere is when I start encountering issues - I don't know if there's some setting or something I should be doing differently. I know Ethernet is probably best, but I'm using WiFi6 with a higher end Asus ax89x router that is pretty solid.
Is there a way to test, see statistics or anything to help diagnose this further? I'll eventually upgrade the house for ethernet. It's a bit frustrating that Virtualhere almost works for me and is a potential solution: when it works, it works fine (latency is imperceptible, rumble works, multiple controllers connect, etc.). To be honest, I'm not sure if Ethernet could even solve my problems with Virtualhere; when I have more time, I can try to connect the Shield to ethernet and see if the behavior is any different.
I just have no idea why it can potentially fail. My 4k60 Nvidia gamestream works just fine, so I think WiFi6 is up to the task there. I'm on the 5ghz WiFi which shouldn't cause interference with BT's 2.4Ghz signaling. I'd like to think there'd be some sort of statistics I can run on Windows that shows uptime/latency/dropped packets/events/logs/etc.
I don't see anything that shows statistics. The only "about" shows the license. At best, I found something that shows uptime measured in seconds (which isn't in hours, so maybe there are disconnects at some point in time?)
Here are bunch of screen captures trying to navigate the GUI:
Update: I've installed ethernet in the house. It's seemingly a nice upgrade, but I still have connectivity problems. It's really seems to be just one of the 8bitdo Controllers, the Pro Version 2 has issues connecting - it just seems unreliable on the front. It appears the Pro Version 1 is fine and connects like it's supposed to.
I do have a curious note and made a video of the error - I'm not sure if there are others have unique issues with Pro Controller Ver2 controllers with Virtualhere. I don't know if there's something unique in the bluetooth stack that causes this, but perhaps there are other devices with this issue. I'm not sure how the BT controller is presented to the Win10 OS or what exactly happens... but maybe the Ver2 controller has a different BT connection algorithm or mode that has issues?
The thing is - as far as I can tell, the ver2 controller will pretty much either "almost connect" or "connect". If it successfully connects, the ver2 controller is the one that has a tendency to drop its BT connection.
Interesting. When using the 8bit do version 2 via VirtualHere, on the client PC open Windows Device Manager ->View By Connection -> VirtualHere USB 3 eXtensible Host Controller and find the 8Bit-Do under there.
I've gone into device manager and found the only related device to turn off power management. It technically doesn't spawn under the Pro Ver2 controller. But it creates a listing under "Bluetooth Xinput compatible input device" and that's where I turned it off. The HID-compliant game controller it spawns, there is no power management option to turn off.
I don't know if this changed anything. I've tried turning off/on the controller - it still "almost connects" and fails. Or it eventually connects after several tries. Not sure if it helps with the longer term bluetooth compatibility but I can test that next time I have a long term multiplayer gaming session with gf. Not sure what to do with this "almost connects" situation - it seems the BT controller is doing some sort of handshake but it fails for some reason under Virtualhere.
They might be willing to work with me to get it going. They might be able to run some tests via virtualhere to see if they know the problem. I dont know what the firmware inside their device is doing, but they would have full access to that, and that might help a lot.
All major controllers are supported by Batocera. EmulationStation uses an internal database so that most of them work out of the box, no configuration required. For controllers not in this database yet, Batocera will prompt you to manually map its buttons.
For advanced setup and better error detecting it's recommended to connect the Bluetooth controller manually. If you are still having issues, it might be possible that the Bluetooth dongle you are using is having issues. Troubleshoot for that on the Bluetooth section on the troubleshooting page.
For newer models, X-input is activated by shifting the mode switch from S to X on the bottom of the controller. The following information may or may not be specific to the M30 controller but is useful if you are having issues with the directional pad.
8bitdo controllers get excellent support from their manufacturer, so it might be worth to visit their support page and get the newest firmware installed. Users report Bluetooth connection improvements after updating the firmware.
Requires the use of a proper adapter. Most commonly, these adapters are made with the intention of using PS2 controllers on PS3, these work fine for both PS2 and PS1 controllers when connecting to Batocera. There were no official first-party adapters for this purpose, only third-party.
You may recall PS2 controllers have pressure sensitive buttons. These technically work fine in older Linux kernels, however at one point the pressure-sensitivity was patched out to behave more like standard controllers.
DualShock PS3 controllers are supported. In case of issues, it is often the dongle which is not supported by Linux or an empty battery of the controller (sometimes it is helpful to reset the controller by pressing the small button on the backside with a toothpick for a few seconds). To pair a PS3 controller:
You may recall PS3 controllers have pressure sensitive buttons. These technically work fine in older Linux kernels, however at one point the pressure-sensitivity was patched out to behave more like standard controllers.
Older Xbox 360 controllers and Xbox-like PC gaming controllers use X-input, Microsoft's older input API. Newer Xbox One and later controllers use WinRT's Windows.Gaming.Input, which is included by default on Windows 8/10 and above. Both APIs are supported by Batocera, the matter is usually connecting the controller in the first place.
Xbox 360 controllers are supported. If you have a wired version, just plug it in via USB. For the wireless version you need the RF dongle of the Xbox 360 Wireless Controller (wireless Xbox 360 controllers are not Bluetooth).
As reported by some users, like many other controllers, if you experience issues with your Xbox One controller, make sure its firmware is up to date. It requires access to a Windows machine to upgrade XBox One controller's firmware.
Batocera v34 and below require the use of the official wireless dongle (which can be ordered together in a bundle direct from Microsoft). Newer versions of Batocera can use these controllers paired via standard Bluetooth LE connection, provided your hardware actually supports that.
The Switch Pro Controller, Switch GameCube Bluetooth Controller and Switch Joy-Con (Joy-Cons specifically since v33) are supported. The only action to do is to pair the controller by going in the menu to CONTROLLER SETTINGS > PAIR A BLUETOOTH DEVICE, then put the controller in discovery mode using the Bluetooth button on the controller. Once the controller is detected, you can configure the button mapping as usual.
With the sunsetting of Google Stadia, Google released an optional firmware update for its controllers to make them function as generic Bluetooth controllers. The update is performed through the browser on this page (Google initially stated that the Bluetooth update will be available only until December 31st, 2023, which they have now extended to December 31st, 2024). This controller is supported in Batocera v36 and higher.
Although Retro-Bit specializes in producing controllers designed for use with the original systems they imitate, they create USB and wireless versions of those controllers, which are all compatible with Batocera.
93ddb68554