You are not logged in.

#1 2016-02-25 21:43:47

kittenclaws
Member
Registered: 2016-02-24
Posts: 7

Xbox 360 Controller works in Steam Big Picture but not in games..

First week in Arch Linux, loving it, but running into a curious problem..

My Xbox 360 Afterglow wired usb controller works like a charm out of the box using the kernel's xpad drivers.

It's detected by Steam Big Picture (Xinput), and I can navigate with it.  Then I installed Dolphin and PCSX2, and the controller works perfectly with them as well, allowing me to map my buttons and joysticks to work with the emulators.

But any linux native Steam game that has full controller support cannot find my controller.  For example, the Controller option in the Serious Sam 3 BFE Edition is completely grayed out and to hover my mouse over it states no controller could be found.

If I install the package xf86-input-joystick then I can even use the joysticks of the controller to navigate around in my DE (cinnamon), which I found to be super annoying so I uninstalled it immediately afterwards.

[kitten@valhalla ~]$ ls /dev/input
by-id  by-path  event0  event1  event10  event11  event12  event13  event14  event15  event16  event17  event18  event2  event3  event4  event5  event6  event7  event8  event9  js0  mice  mouse0

So /dev/input/js0 exists

[kitten@valhalla ~]$ lsmod | grep xpad
xpad                   24576  0
ff_memless             16384  1 xpad
led_class              16384  2 xpad,input_leds
usbcore               196608  8 uas,xpad,usb_storage,ehci_hcd,ehci_pci,usbhid,xhci_hcd,xhci_pci

xpad appears to be loaded by the kernel and is being used

If you were experiencing this problem, what steps would you take next to troubleshoot?  I can't seem to find any help for this, not even on Steam. sad

I can confirm I had the exact same problem in both Ubuntu and Mint, so it's not specific to Arch.  Am I missing a setting in X's configuration somewhere to define Xinput as /dev/input/js0 or some similar setting somewhere I've overlooked?

Last edited by kittenclaws (2016-02-26 04:25:28)

Offline

#2 2016-02-26 00:36:07

kittenclaws
Member
Registered: 2016-02-24
Posts: 7

Re: Xbox 360 Controller works in Steam Big Picture but not in games..

This was an absurdly simple problem to fix once I found the right information, which, when searching for a problem like I was encountering isn't as easy to do as one might think considering people who have had issues getting their gamepads to work either have them 100% working or 100% disfunctional.  The Arch Gamepad wiki did provide the solution, sadly in the wrong section of the wiki.   This was intended to fix xf86-input-joystick (which I reinstalled lol), controlling the mouse movement in the desktop environment.

Section "InputClass"
        Identifier "joystick catchall"
        MatchIsJoystick "on"
        MatchDevicePath "/dev/input/js*"
        Driver "joystick"
        Option "StartKeysEnabled" "False"       #Disable mouse
        Option "StartMouseEnabled" "False"      #support
EndSection

Well it didn't keep xf86-input-joystick from controlling my mouse, but it did make my controller work with Steam games.  I did not believe I needed to add anything to the xorg configuration file since xpad worked out of the box, and already worked in xorg.  Apparently games will look in your xorg.conf to find your gamepad though.

If moderators feel like it this topic may be deleted, in the meantime I will add [SOLVED] to it.

Last edited by kittenclaws (2016-02-26 00:48:13)

Offline

#3 2016-02-26 00:54:59

headkase
Member
Registered: 2011-12-06
Posts: 1,976

Re: Xbox 360 Controller works in Steam Big Picture but not in games..

Actually, far from being deleted I hope you added your information to the correct spot in the Wiki.

Offline

#4 2016-02-26 01:36:27

kittenclaws
Member
Registered: 2016-02-24
Posts: 7

Re: Xbox 360 Controller works in Steam Big Picture but not in games..

headkase wrote:

Actually, far from being deleted I hope you added your information to the correct spot in the Wiki.

I've actually never edited a wiki before in my entire life despite using them a whole lot.  Haha.  I'll go take a peek at it to see if I can make the changes. smile

Edit... so okay, looks simple enough to change. smile

I've added the following to the Xbox 360 Controller section:

[strike]"Please note that additional xorg configuration will be required for the Xbox 360 controller to be found by some Steam games. If Steam Big Picture recognizes your controller, but your games do not, then it may be necessary to apply the xf86-input-joystick fix (see below), to your xorg configuration file. If you used nvidia-xconfig to generate your xorg.conf, then this step is required for your controller to be recognizable by some or all Steam games."[/strike]

I didn't like my original wording on the wiki, so I've changed it to:

If you intend to use your Xbox 360 controller to play native linux supported games from Steam with full controller support, it will be necessary to define the correct joystick device in xorg.conf.  If you used nvidia-xconfig to generate your xorg.conf then most or all games available on Steam will not be able to locate your controller.  Manual edits are required.

The fix itself has nothing to do with xf86-input-joystick but rather the lack of a joystick definition in xorg.conf.

Hope this helps some person in the future to avoid frustration. smile

Last edited by kittenclaws (2016-02-26 02:53:10)

Offline

#5 2016-02-26 01:54:24

nstgc
Member
Registered: 2014-03-17
Posts: 393

Re: Xbox 360 Controller works in Steam Big Picture but not in games..

Heh, thanks! I have having problems with Saints Row IV. Currently it's the only Linux game I have with controller support for which the controller isn't working. I'll give it a shot tomorrow.

Offline

#6 2016-02-26 02:05:28

kittenclaws
Member
Registered: 2016-02-24
Posts: 7

Re: Xbox 360 Controller works in Steam Big Picture but not in games..

nstgc wrote:

Heh, thanks! I have having problems with Saints Row IV. Currently it's the only Linux game I have with controller support for which the controller isn't working. I'll give it a shot tomorrow.

No problem! big_smile  Keep in mind the fix did not solve xf86-input-joystick from controlling my mouse's movement.  But this does not require the xf86-input-joystick package either, it's safe to remove that unless you actually need it for desktop environment controller support.  I ended up removing it as for today I'm tired of trying to figure out problems and I'm ready to relax with some games. smile  TF2 here I come!

Offline

#7 2016-02-26 04:23:48

kittenclaws
Member
Registered: 2016-02-24
Posts: 7

Re: Xbox 360 Controller works in Steam Big Picture but not in games..

Oookay.  Sooo.  Bad news, everybody!

After uninstalling xf86-input-joystick my Xbox controller stopped working in SS3:BFE.

So it's not merely the xorg.conf defining the joystick device that's allowing the game to locate my controller, but also something to do with that specific package.  For this reason I've removed what I added to the Gamepad wiki since I do not want to provide false information to others.

A few questions to help me continue troubleshooting this, unless somebody already knows the solution which would help me a great deal in advance. smile

First, does xorg load the configuration files located in /usr/share/X11/xorg.conf.d by default, or are these example configurations? 

If those configs are loaded by default then I already had a joystick device defined (even if it's pointing to /dev/input/event* rather then at js*).  I am currently operating under the impression that xorg is not loading those, and those are example configurations since my xorg.conf's true location is at /etc/X11/xorg.conf and nowhere in my xorg.conf is stating to include other configuration files from other locations.  I am however aware there are some applications and servers that will simply load all confs in a certain directory, I just don't know enough about X to know whether it also does that as well.

At least I have narrowed it down to figuring out that xf86-input-joystick has become a dependency of SS3:BFE.  Also there is some relation to the xorg.conf because without the Section including the xf86-input-joystick mouse fix, the package by itself does not allow the game to recognize my controller.

So my controller works now, but I'm plagued by the problem of the analog stick moving my mouse around making trying to play anything with controller support neigh impossible.

Are there any other solutions to disabling the mouse moving around with the analog sticks?

        Option "StartKeysEnabled" "False"       #Disable mouse
        Option "StartMouseEnabled" "False"      #support

The above not disabling the mouse movement, unless maybe it's being overriden by /usr/share/X11/xorg.conf.d/50-joystick.conf which I am unsure or not whether is being loaded...

Again I could use a nudge in the right direction please, I've been at this all day sad

EDIT:  After 12 hours of banging my head against a desk, reading wiki after wiki, other documentation, trying to get information here on the Arch forum, my solution to this problem became quite simple.  Uninstall Arch Linux. sad  Farewell.

Last edited by kittenclaws (2016-02-26 05:35:05)

Offline

Board footer

Powered by FluxBB