Xbox One controller via Bluetooth
-
Thanks for this, I fought with this configuration for several hours the last time that I tried to get it working. Found this thread when I was re-building my pi setup and managed to get it working within a few minutes.
I'm running RetroPie from OSMC using the RetroOSMC script. In order to get things working I needed to add the disable_ertm line to a different script since "/opt/retropie/configs/all/autostart.sh" doesn't exist for me. Adding the disable_ertm command to line 13 of "/home/osmc/Retropie/scripts/retropie.sh" did the trick.
Hopefully this helps someone.
-
Does anyone know how to use the code submitted by @halcyon without waiting for the pull request to be merged? I'd like to see about fixing the select button soon and not have to wait. Also, is the guide button working for others? It doesn't do anything for me unlike when i use USB with the controller, I can map it.
-
Any updates on this thread? I just bought an Xbox One Controller with Bluetooth. Updated the firmware via Windows - Xbox Accessories. And I can't get the SELECT button to register. However, when I use the USB cable, all the buttons work. In the links above, there seem to be fixes for this, that are dated back to 2016. Just not sure what is going on...
Thanks,
~Aaron -
@memphis2k I can tell you that my controller was working perfect with the select button, then I updated the firmware to the newest version through Windows 10 and now the select button can't be used. So this seems to be a firmware issue with the controller.
Hopefully this helps narrow down a fix in the future.
-
Anyone got this working??
-
I'd very much like to know this too!
Does anyone have a fully functioning Xbox One S / Bluetooth controller set up with Retropie - including the Select button?
-
@eggsnbacon: A (potential) firmware problem also gives me headaches. I recently tried to use a brand new xbox one wireless controller with retropie. No luck so far. I did, as all posts mentioned that I could find about it (including this one). The steps:
- A firmware upgrade to the controller. If you don't have an XBox One, this one has to be done using windows. If you are on OSX or Linux, well, Virtualbox might help (as in my case).
- Disable bluetooth ertm setting "/sys/module/bluetooth/parameters/disable_ertm" to "Y"
- Then go to Blootooth and pair the device.
My problem: The XBox Controller appears there, but not with the correct name. The device just shows up in the bluetooth setup as: "6F:AC:C1:21:94:E5 6F:AC:C1:21:94:E5". So there is the BT id twice but no assignment to a human readable configuration. I can pair it but then the device can not be configured.
Hence I think it is time to get some more detailed info about when it should work and under what conditions. In all posts I could find nobody actually talked about the systems and versions they were using which is of no help if you are debugging. Hence here is min (which is not working):
Controller:
- Microsoft Xbox One Wireless Model 1708
- Firmware version 3.1.1221.0
Firmware update system
- Windows 10 Enterprise V1704, Build 15063.540
- XBox Accessory App (No version available)
System
- Raspberry Pi 3 B
- Linux 4.9.35-v7+ armv7l GNU/Linux
- Emulationstation V2.1.5RP
-
I have no problems getting my Xbox (One) Wireless Controller to pair with either internal BT or a dongle - allowing me to setup input in Emulationstation. However, when starting a game it takes a long time for the controllers to become active.
It does register immediately with “Xbox wireless controller on port #0” but sometimes takes a few minutes of butting mashing before it becomes usable. Obviously in USB mode they work fine.
Does anyone have any thoughts?
-
@KAJed I have the same problem, i have to either turn the controller off and on again,
OR just press right trigger, then somehow the controller responds in game (At least better than mashing random buttons).
Xbox One (1708) -
I had issues with the standard method for configuring an X-Box One S Pad for wireless. It'd get picked up as a 360 controller, vibration -would not - work in the default PSX emulator. Additionally, I had a trouble with the "Home" button being recognized correctly. Triggers were goofy too, if I remember correctly. I ended up reimaging my device (had issues removing the configs, must have missed some) and switched to corded ONLY. Vibration and the "Home" button work, triggers are better but still wonky in the autoconfig via Emulation Station. Good luck!
-
Doing that didn’t work at all for me. I have an Xbox One S controller that is Bluetooth compatible. (Yes I am absolutely sure of this, don’t ask me if it is, because I checked.) I changed the internal settings to disable emtr and the only thing that pops up when trying to add a Bluetooth device is my speaker and four other options with a series of letters and numbers. (Somewhat like this: A1-B2-C3-D4-E5-F6) Can someone please help?
-
This thread has 67 THOUSAND views! This seems to be a popular controller, is it just not being used by the people who matter?
-
Hi peeps, first post on here after getting my Pi yesterday.
So, Xbox One S controllers eh, who knew they would be so much trouble? I've been tearing my hair out since yesterday, but found a solution to my issue, so hopefully someone else will find this post helpful!
It's been well documented that in order to pair or connect a modern Xbox One S controller (bluetooth) you have to disable the ertm option, and I'd had success when running this from the command line after boot up...
sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'
cat /sys/module/bluetooth/parameters/disable_ertm
(the second command will return 'Y' when ertm is disabled, and 'N' when still enabled)However I could not get it to persist using the suggested method i.e. adding it to /opt/retropie/configs/all/autostart.sh directly before the 'emulationstation #auto' line, so I would have to log in with puTTY and run the command manually every single time I wanted to use the Xbox controller! (super annoying).
So, happily I finally found another way to disable ertm for bluetooth.
-
Create a new file using nano...
sudo nano /etc/modprobe.d/bluetooth.conf -
Add a single line to the new file...
options bluetooth disable_ertm=Y -
Exit nano, saving the file in the process.
For reference, I'm using the latest release of Raspbian Stretch and RetroPie at time of going to press (December 2018), on a Pi 3 Model B+.
-
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.