protonscr

[Steam Big Picture Mode] Xbox 360 Wireless controller causes spurious input forever

steamclosed reviewed
ValveSoftware/steam-for-linux#4165 · opened 2015-12-04 by vially · updated 2016-02-27 · 5 comments · github
Vvially 2015-12-04 github

How to reproduce using the xpad driver

  1. Start Steam Big Picture Mode when a Wireless Xbox 360 Controller is connected.
  2. Wait one or two seconds
  3. Big Picture begins receiving spurious input events which move the cursor/selection completely to the left and/or sometimes up. The UI move sound also plays repeatedly.

How to reproduce using the xboxdrv driver

  1. Start Steam Big Picture Mode when a Wireless Xbox 360 Controller is connected.
  2. Half-Press and hold the right trigger. Try to keep it steady at around 50% value for one or two seconds
  3. Big Picture begins receiving spurious input events which move the cursor/selection completely to the left and/or sometimes up. The UI move sound also plays repeatedly.

Additional Info

From my testing it seems that the spurious events start to occur when both axes #3 and #4 (as reported by evtest) have a value near the middle of their range (which is the 0 value [-32768, 32767] as reported by evtest).

When both these axis hold a value close to zero for one or two seconds the spurious events start to occur regardless of the driver being used (xpad or xboxdrv).

Also, if at least one of these two axes have a value equal to either their min or max value (-32768 or 32767) then the spurious events do not start.

This also explains why the xpad driver does have this issue without touching any buttons (because xpad maps the right stick to the axes #3 and #4 which have a value of 0 at rest) while the xboxdrv does not have this issue unless you half-press the right trigger (because xboxdrv maps the right trigger to the #4 axis which has a value of -32768 at rest).

Other issues that might be related to this one

#3384, #3943

System information

Processor Information:
    Vendor:  GenuineIntel
    CPU Family:  0x6
    CPU Model:  0x2a
    CPU Stepping:  0x7
    CPU Type:  0x0
    Speed:  2900 Mhz
    4 logical processors
    2 physical processors
    HyperThreading:  Supported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Unsupported
    SSE41:  Supported
    SSE42:  Supported

Network Information:
    Network Speed:

Operating System Version:
    "Arch Linux" (64 bit)
    Kernel Name:  Linux
    Kernel Version:  4.2.5-1-ARCH
    X Server Vendor:  The X.Org Foundation
    X Server Release:  11800000
    X Window Manager:  xmonad
    Steam Runtime Version:  steam-runtime-release_2015-06-12

Video Card:
    Driver:  Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2

    Driver Version:  3.0 Mesa 11.0.6
    OpenGL Version: 3.0
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 59 Hz
    VendorID:  0x8086
    DeviceID:  0x126
    Number of Monitors:  2
    Number of Logical Video Cards:  1
    Primary Display Resolution:  1920 x 1080
    Desktop Resolution: 3840 x 1080
    Primary Display Size: 20.08" x 11.42"  (23.07" diag)
                                            51.0cm x 29.0cm  (58.6cm diag)
    Primary VRAM Not Detected

Sound card:
    Audio device:

Memory:
    RAM:  15964 Mb

Miscellaneous:
    UI Language:  English
    LANG:  en_US.UTF-8
    Microphone:  Not set
    Total Hard Disk Space Available:  111734 Mb
    Largest Free Hard Disk Block:  3984 Mb

Installed software:

Recent Failure Reports:
?ghost 2015-12-06 github

This is not a bug, Arch has the joystick set up to move the mouse by default. You have to turn it off.

https://wiki.archlinux.org/index.php/Gamepad#Disable_Joystick_From_Controlling_Mouse

After that, BPM will run fine.

Bbenmoran56 2015-12-08 github

No, you're wrong. Arch has no such "default". The only way this happens is if a user goes out of their way to install the xf86-input-joystick package, in which case it wouldn't work in any game.

This is a bug, and it's appeared since the controller configuration was changed to suite the Steam Controller.

?ghost 2015-12-09 github

@benmoran56 Sure, I wrote a whole Arch wiki page years ago preparing for this Github thread in 2015. Think before you post, please.

Bbenmoran56 2015-12-10 github

That's great that you contributed to the wiki, but you're still wrong about this. The xf86-input-joystick package is not installed by default on Arch, and, even if it were, it's not responsible for this particular bug. What you're talking about is a completely unrelated thing.

To add to the bug report, this occurs with DualShock 4 controllers as well, tested over Bluetooth.

Vvially 2016-02-27 github

Apparently this only happens when you have a wireless Microsoft keyboard/mouse plugged in. I've fixed it by using these udev rules.

I'm closing this issue now because it seems it's a kernel issue although it would be nice if steam could handle it in userspace.

Nothing extracted yet.