[LE 9.0] Xbox One S Gamepad - no inputs are recognized

  • Hi Guys :)


    I have installed Libreelec 9.0.0 (fresh - w/o any plugins or any old stuff) and wanted to connect my Xbox One S Gamepad (newest revision with Bluetooth builtin) to my Rpi3 to test the new "Retro Gaming Feature.

    I have connected the gamepad over bluetooth successfully but it doesnt regognized any buttons / axis / dpad / trigger.


    What I have done:

    • In Libreelec Addon: Enabled Bluetooth and Disabled OBEX
    • created '/storage/.config/autostart.sh' and made it executable
    • put the following in autostart.sh = bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'
    • then restarted my Rpi3
    • Then again in Libreelec Addon (Bluetooth): Paired my Gamepad (with no errors)
    • In Kodi Settings / System / Input / Driver-Settings / Joystick Support: I choosed the Linux driver


    And now the gamepad stays connected over bluetooth and also reconnect auto after LE has restarted - but dont recognize anything no buttons etc...


    cat /proc/bus/input/devices shows the following (cutted):

    I: Bus=0005 Vendor=045e Product=02fd Version=0903

    N: Name="Xbox Wireless Controller"

    H:Handlers=kbd js0 event0


    I: Bus=0005 Vendor=045e Product=02fd Version=0903

    N: Name="Xbox Wireless Controller Consumer Control"

    H: Handlers=kbd event1


    I also made "cat /dev/input/event0" and "cat /dev/input/event1" directly and tried to pressed some buttons - no luck

    So now I am at end with my linux gamepad experience and hope somebody can help me out of this ;)


    Have a nice day!

  • No one an Idea ? :(


    EDIT: I connected the Gamepad directly thru USB (bluetooth disabled). Libreelec then just detects the gamepad with xhe xpad linux driver and works flawlessy and all buttons are recognized and also can assign buttons in kodi.


    Then I disconnect USB cable and re-enable bluetooth -> Gamepad connects like always thru bluetooth and stay connected - but no buttons recognized like before...


    I then checked "btmon" command on putty and then If I press any buttons on the Gamepad: it shows the keypresses...

    When I make a cat command like: "cat /dev/input/event0" or on event1 -> Keypresses not recognized (like I said above).


    Seems to be no linux driver will be used on libreelec when gamepad is connected thru bluetooth or maybe the xpad driver is not supported with bluetooth connection ?

    Is there a way to implement xpadneo drivers: GitHub - atar-axis/xpadneo: Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)


    Need help from a Libreelec developer to track it down and maybe get to work in the future - would be nice :)

    Edited once, last by MisterT: new testings made ().

  • I am also having the same problem. The only difference is that one of the buttons work, that is the Select (or View) button. In my case, it worked like a "back" button, returning navigation to previous menu.

  • Hey all. Same problem here. Everything which was written. Connected, but nothing worked except the large X button as "back" button.


    Like MisterT sayed. Any possibility to add support for xpadneo? Or another driver? or another profile? or an bruteforce controller setup?


    Needed! i cant't play :-(

  • Same here. Xbox One S controller. Wired is good, bluetooth is bad. Only the back button works.


    Still nothing after all this time? Alternatives?

    My RP4 is too far away tu use wired *sadface*

  • Same here, wired controller works flawlessly but via bluetooth only select button works.


    I just opened an account here to say this hehe.

  • The problem is in the Kodi 18 switching to libinput. It handles keyboards and mice but doesn’t handle joysticks so you need to tell the libinput to ignore this device by assigning the LIBINPUT_IGNORE_DEVICE flag to it.


    Updated quick solution:

    nano /storage/.config/udev.rules.d/99-gamepad.rules


    Copy this 2 lines and replace “Gamepad” with your device name (for me it is "Xbox Wireless Controller") (check that the ENV part is kept on the same line and is not wrapped like on the forum):

    SUBSYSTEM=="input", ATTRS{name}=="Gamepad", KERNEL=="event*", MODE="0666", ENV{LIBINPUT_IGNORE_DEVICE}="1"

    SUBSYSTEM=="input", ATTRS{name}=="Gamepad", KERNEL=="event*", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"


    Then reload udev:

    udevadm trigger

  • Same Error when connecting the Xbox Elite Wireless Controller.

    Solution from ManuStrozor is not working.



    I: Bus=0005 Vendor=045e Product=0b05 Version=0903

    N: Name="Xbox Elite Wireless Controller"

    P: Phys=dc:a6:32:4d:03:15

    S: Sysfs=/devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:045 E:0B05.0003/input/input5

    U: Uniq=98:7a:14:5c:b9:b4

    H: Handlers=kbd js0 event1

    B: PROP=0

    B: EV=1b

    B: KEY=4000000 0 0 7fff0000 0 10000 0 0 40000000 0 0 0 10000000

    B: ABS=30627

    B: MSC=10


    I: Bus=0005 Vendor=045e Product=0b05 Version=0903

    N: Name="Xbox Elite Wireless Controller Consumer Control"

    P: Phys=dc:a6:32:4d:03:15

    S: Sysfs=/devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:045 E:0B05.0003/input/input6

    U: Uniq=98:7a:14:5c:b9:b4

    H: Handlers=kbd event2

    B: PROP=0

    B: EV=13

    B: KEY=1000 0 0 0 0 0

    B: MSC=10


    I: Bus=0005 Vendor=045e Product=0b05 Version=0903

    N: Name="Xbox Elite Wireless Controller Keyboard"

    P: Phys=dc:a6:32:4d:03:15

    S: Sysfs=/devices/platform/soc/fe201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:045 E:0B05.0003/input/input8

    U: Uniq=98:7a:14:5c:b9:b4

    H: Handlers=sysrq kbd event3

    B: PROP=0

    B: EV=100013

    B: KEY=e080ffdf 1cfffff ffffffff fffffffe

    B: MSC=10


    My /storage/.config/udev.rules.d/99-gamepad.rules

    SUBSYSTEM=="input", ATTRS{name}=="Xbox Elite Wireless Controller Keyboard", KERNEL=="event*", MODE="0666", ENV{LIBINPUT_IGNORE_DEVICE}="1"

    SUBSYSTEM=="input", ATTRS{name}=="Xbox Elite Wireless Controller Keyboard", KERNEL=="event*", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"