-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xbox Series X controllers detect no or incorrect batterie levels when connected via BT #49
Comments
Hey, |
The controller works in all games (just like the old XB1 controller). The app detects the controller but it's waiting for data. It shows that message no matter if I wait several minutes and I press some buttons. BTW, I'm using the official Play & Charge Kit instead of the 2 batteries (I don't know if it matters). I obviously don't use the cable (the new USB-C cable) until I need to charge the kit. I can see the current battery level in my bluetooth devices list but I'd like to see this info in the taskbar. And yes, Steam also shows the warning battery icon but it’s not very useful. |
K, thanks for the info. Since it works everywhere there should be no API changes. And when Steam can show the battery level, polling it should also work in general. So, the thing is: until someone else who also uses the XBOne-X controller on windows via BT reports back if it works for them, I can't say if it's a general issue with those controllers or just a problem on your side... |
Ok, let's wait for more reports. One thing I want to highlight is the fact that I had to update W10 recently. W10 didn't correcly detect this controller in previous versions. My current OS version is: W10 Pro x64 20H2 (19042.630). I think iit's the latest one. Also, regarding Steam, I have to use the beta version which recently added support to this new XBOX controller via wireless (it's still recognized as an XB1 controller but it works well). So I guess something must have changed. |
@javsp I can confirm that this is happening to me too. The app constantly waits for data but when plugged in, the app says battery is at 100% (which it is not). The Bluetooth panel jumps between 80%-90% charged (I've been plugging in and out a few times for testing and have left it to charge for 1 hour). Even Microsoft's own "Gamebar" (Win Key + G) reports erroneous information as it might be using the old API too: |
@tandrasi Yeah, Microsoft's Gamrbar also reports the same thing to me. In fact, I have no way to check the battery level on W10. I think the guide button light is orange while charging on console and turns white when it's fully charged but I don't have the console, :( |
@javsp yup, really sucks. I too don't have the console, just the new controller and no reliable way of checking battery in W10. Sigh |
Thanks for reporting back tandrasi, since it affects at least you 2 it's (for now) safe to assume that it is in fact a general issue. Flagged as bug for now until I find out more. Like I said before, since I can't try it myself (still using "classic" XBOne controllers) it'll be a shot into the dark until I find more info about if there were any changes that can cause this. |
Thanks @NiyaShy! |
Thanks. I guess Microsoft has also changed something in the protocol with this new controller and that's why it's not correctly reporting the remaining battery level. First, they need to fix that and then (maybe) the 3rd party software will work fine again. |
I have this issue as well with the new controller via BT. I don't know if this will help, but when looking at the properties in Windows ( Pro x64 20H2 19042.630) under "Device Information" compared to the old XBOne controller, the new "Model" is "Bluetooth LE Device" with a 12 digit hex number. Not sure if the hex number is device specific. |
Hello, |
Thanks for the feedback and for the info that it only affects BT and not the XB dongle. I'm already trying out one possible option for tackling this, but that can take a while. For context if anyone is interested: the component/plugin that is currently used for addressing the XInput API (SharpDX) was discontinued over a year ago. So if there were any changes/updates on the API, they won't get integrated there. I already found an alternative (Vortice.Windows), but using it will require some major changes on the code base. So far the program was based on .NET framework 4.5.2 (or higher), but Microsoft also more or less discontinued it a while ago and wants to migrate to the new variant .NET core which is cross-platform compatible (aka, it can be used on systems that don't run Windows). tl;dr: I'm experimenting with migrating the program to .NET core, when that works I can switch to Vortice.Windows which should include possible updates to the XInput API which might help with the problem. As I said, it's a blind shot and not guaranteed to have any effect, but it's worth a try. |
I tested BT connection with XBox One controller and battery level displays correctly. Basically, xinput api does not changing so often. Currently it has 3 versions and no new version released for Series X controller. SharpDX and Vortice use the same dlls and methods. |
What it surprises me is that the DS4 controller, for example, has a very good wireless support over bluetooth. Of course you need a 3rd party software (basically a XInput controller emulator) to benefit from all these features. On the other hand, it seems this new XBOX controller was designed for the new console in mind and the only reason why it works on W10 is because it has native XInput support (just like the old XBOX controllers). But this support is far from perfect (specially via BT). I hope Microsoft releases a new firmware to improve the compatibility of this controller on W10. Also, @NiyaShy thanks for the info. I'm following this thread to get informed about this issue. |
I have the same issues with the new controller, game bar and this app, but interestingly in the 'bluetooth and other devices' window the battery is shown correctly |
@cannockwolf while the 'bluetooth and other devices' windows does show the battery, it is highly inaccurate. From my testing, it seems there is a 10% variance (margin of error) in its reporting (regardless of device). So as it stands, there is no accurate way of getting the battery level :(. |
Damn 😞 |
Same issue here with Xbox Series X controller. |
I bought the xbox wireless adapter, had to manually update the drivers though to get it to work 🙄 and connectivity had been 100% rock solid with no issues the battery level with your app seems to look right too, although I have no way of checking it 100% but it's perfect for me to know when to swap out the rechargeables so I'm a happy bunny now |
Would it be possible to add an option to get this value and show it on taskbar? It's not very accurate but at least you would know it's time to charge/replace the battery when that value is (let's say) < 20%. It would be even more great if it shows some kind of warning each time this happens. |
Possible: probably. But since Bluetooth connections are a completely different subsystem... Getting the value from your screenshot on the other hand would require to specifically look for bluetooth controllers and asking them about their battery level via whichever API is used for that. |
Battery level work fine with Xbox Series X controller when you will connect it via Microsoft Wireless Adapter. Wireless Adapter is best option way batter than Bluetooth because controller connect way faster instant, also it can send audio to controller, I heard that also is lower input lag. But I noticed bug in XB1ControllerBatteryStatus, maybe it's not a bug but problem, when I use program reWASD with Virtual controller mapping then XB1ControllerBatterystatus shows wired connection instead of battery level. |
There are 2 problems with the Microsoft Wireless Adapter: 1- The most important one. Microsoft stopped selling this product some years ago. It's really hard to find it (al least the official one). If they had the intention that PC players used this controller via bluetooth, damn, make it fully compatible. 2- That adapter is a monolith compared to any current BT dongle. |
No, new small adapter is available. It's even sell with new Xbox Series X controller as pack. Check Microsoft Store. New adapter is small, compare to typical small USB pendrive, of course much bigger thant Bluetooth nano adapters. Bluetooth connection is much worse, I tested Series X connection with USB Dongle Asus BT-400, and neweset BT-500 Bluetooth 5.0 adapter and this controller connect very long until establish connection 4-9 flashes on controller. |
I didn't know Microsoft released a new Wireless Adapter with this new controller. Unfortunately it's out of stock on the Microsoft Store (at least in my country). I'm not experiencing any of those disconnections, the controller connects in about 5-6 secs (I can deal with it) and I don't connect any headset to the controller but the impossibility to precisely check the battery level with every app it's annoying. I will be aware of the restock of this new Adapter. |
Nice to hear, good choice, same with my, work perfect since two months. |
Blame Mircosoft for their poor to no work at all on their BT driver support. |
Thanks for all the feedback folks, really seems like MS did a bad job on the BT implementation and that causes the issues... I'll leave this open so others can easily find it and report back once MS maybe improves the situation. |
@outlawjake08 This program has nothing to do with Microsoft's Game Bar nor Microsoft itself. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@teknoblast868 will you actually contribute to the issue/discussion for once and not just copy text and re-post pictures from other people please? |
This comment has been minimized.
This comment has been minimized.
Hi. Through the "gamepad battery status" (application from the microsoft store), the charge of the xbox SX gamepad is displayed. Tested on the Xbox Play and Charge Kit and the batteries that came with the controller. |
@Artstup just tested and it does not work. Please do not spam this thread. |
From all I've heard in this thread so far the battery level reported by any program when the controller is connected via BT is totally random/off, so unless Microsoft finally did something to fix that, no chance. |
Just adding my report: On Windows via Bluetooth, my Xbox series controller randomly pauses games, flashes, and disconnects, and always shows "HID compliant game controller: Critical" in the game bar app even when using brand new AAs, fully charged AAs, or a fully charged Microsoft rechargeable lithium ion battery pack. I've tested 4-5 known-good battery sets. I'm using the latest controller firmware. No problems when I'm plugged in via USB, but wow is that annoying. |
Almost 6 months have passed since the acquisition of a Microsoft Wireless adapter. I can definitely say I've had 0 problems with it. Even with games that only support XBOX controllers via cable and not via wireless (like Kingdom Hearts) it perfectly works when you use the adapter (wirelessly and with no input lag). It's sad that a controller that is natively recognized by Windows has a bad support when you connect it via Bluetooth. I guess Microsoft wants you buy this adapter instead of fixing its bluetooth drivers. At least they could avoid saying: this contrroller is fully compatible with bluetooth which is not true (for now). |
Just to point this out, there's other problems with the Bluetooth connection. In some games (for example Final Fantasy 14) it will scramble the button layout and the sticks are hyper sensitive. It also has intermittent connectivity issues (for example, in Assassin's Creed Valhalla the game stutters when a controller is connected or disconnected. With the Xbox controller in Bluetooth, it's basically constantly stuttering). These issues seem to stem from their implementation of Bluetooth. Microsoft's forums are full of their representatives telling people to update their controller firmware, but that doesn't do anything. This has all been going on since the controller was released almost a year ago now, and there's no solution forthcoming. The point being, this isn't a software bug. It seems to be a hardware defect, and it will likely remain an issue until the next hardware revision or beyond. |
@truehatch It's a driver issue not hardware to my believe, MS are too amateur to program the BT driver to emulate Xinput, but no, using totally different driver, in which when you plug the controller via USB while it's connected on BT, it shows 2 controllers plugged in. I mean look at MS games, they can't make games for their own windows without tons of crashing and problems. |
Who else still waiting for a solution to see the status from xbox series controller, someone make an app like the battery indicator that you can see the battery status on bluetooth from xbox series s/x controller: https://github.com/tommaier123/XBatteryStatus/tree/V1.0.1 It works well, the only problem is that you can close it only in task manager, but it's a good solution to people that can't acquire an adapter. |
Interesting. As long as it works that's good for you guys, but from all I've read in this discussion the BT implementation itself that MS uses is buggy/unstable, so it will be hard to tell if the values XBatteryStatus displays are true or just as random as other tools have shown. |
@NiyaShy From what i have tested here, apparently is correct, when it warns up that my batteries was low, i put it to recharge(i have a intelligent recharger of batteries), i see that was really low, so it's working. I don't know if the values are correct, but I should know if they could be wrong. |
Good to know, thanks for testing. So it seems the buggy behaviour only happens when you have the controller connected via BT and then try to poll the battery level via XInput. If your tests are correct, they seem to report correct values via the BT API. If that's really the case... Nah, not gonna implement BT support just for that, especially since I'm not even sure if those 2 systems can work together and if I'd be able to match a controller detected via XInput with its BT profile... Sure, it sucks for those who want to use them via BT, but as long as they work fine via the proprietary dongle I'm not willing to spend time on fixing/circumventing Microsofts f*ckups. |
Great solution. Really works) |
It detects the controller (I use bluetooth) but it won't show the battery level.
The text was updated successfully, but these errors were encountered: