Controller doesn't work properly(detected but, wrong inputs)

I have a controller, gulikit kingkong 2 pro. It was working fine on my system, but at some point I noticed that binding are incorrect. Not just in games, no - on the system, I can see via gamepad testers. If I’m trying to use R1 or L1 for example - it’s actually moving right stick left to right. Same stuff in all 4 modes of the controller(different bindings, but not the right ones). Funniest thing - I had it before Manjaro. I returned to Manjaro only a few days ago, after my journey with Fedora, and I had same problem there. So basically I now have completely new system and the problem still persist.

I don’t know what to do.
Controller works fine on another device(Windows), so it’s definitely not a controller problem.

I think problem is in how my controller recognized on linux. Unfortunately I’m not aware what is the driver responsible for this…

Basically before it was recognized correctly(and still is, on windows):

And now it’s:

Is there a way to manually configure all inputs and name for the controller and etc, like it’s supposed to be? System wide, so that I do it one time and it works properly everywhere.

I have this one, too. NS09 to be precise, since I’m (thankfully) a little late to buy. I don’t use it on the desktop, only on Steam, and I can configure each button and trigger according to my liking. And oh, I use the XInput mode.

This is what dmesg spits when it’s connected:

[785027.559383] input: GuliKit Controller XW as /devices/pci0000:00/0000:00:08.1/0000:35:00.4/usb3/3-3/3-3:1.0/bluetooth/hci0/hci0:1/0005:045E:02E0.003B/input/input79
[785027.559481] hid-generic 0005:045E:02E0.003B: input,hidraw8: BLUETOOTH HID v9.03 Gamepad [GuliKit Controller XW] on 74:c6:3b:51:61:c6

I’m on the latest firmware, but AFAIR on the firmware before I didn’t have any binding problem as well. In KDE Game Controller, all buttons and triggers are detected correctly.

One thing I remember, though, a minimum kernel version of 6.1 is required, since that’s the version having proper support for this controller.

Well, my kernel is older, so problem certainly isn’t it. Also didn’t change version of my firmware, it’s the same that worked before…

I mean using steam input is kinda of a solution, but not really. I would rather fix the problem. But doesn’t seem like anybody knows anything. Found an old post about same problem here on the forum - no solution. Unless moving to another distro might be considered one…

Wait. If that’s the case, it’s actually the problem. If you have older kernel version, then it doesn’t have proper support for it.

It will be useless unless that another distro uses kernel 6.1 or newer. Hardware support is kernel thing, very rarely distro matters.

My bad, I mean newer* :slight_smile:
But I also tried 5.15 LTS and it didn’t work too.
It worked a long time ago when 5.15 was last LTS though, so… I don’t know what could’ve happen that my controller doesn’t work properly only on Linux(at least on Fedora and Manjaro, didn’t try more. Windows works), on kernels that both worked before.

Hmm… in that case, unless it’s detected differently proven by dmesg from what I’ve shown above in XInput mode, I have no idea. Maybe try updating the firmware just in case? Or try DInput mode? Or even just the classic unpair-repair from bluetooth. Though it sounds weird that the same controller that we both have behave differently, the possibility is not 0, due to multiple factors.

I updated the firmware, but it didn’t help. And to “unpair-repair from bluetooth” - it’s same in wired mod too :slight_smile:

It’s a perfectly working controller(NS09 btw) that worked and one day suddenly stopped to. It’s still works on Windows, but binds are messed up on Fedora and Manjaro, even that it’s completely different systems.

Alongside with binds I also noticed that it’s detected incorrectly. can no longer show a visualization of my actions and controller name is shown like a UUID, rather than proper name.

What driver is responsible for controller support Xbox 360 in Manjaro by default?

I have a controller problem, where all of a sudden it stopped working as supposed to. On Fedora, on Manjaro… But works fine on Windows.
My controller is Gulikit KingKong 2 Pro, NS09 and it was working fine, until all binding got broken. In all 4 controller mods(I’m most interested in one that mimics xbox 360 controller) and both wired and bluetooth.

One Manjaro fresh install later and it’s still broken. I tried updating firmware on the controller, different kernels(5.15LTS and 6.1LTS) - nothing.

Here are 2 pics from from before and after(before picture is actually on windows, but was some on linux).

But, while reading arch wiki I noticed xboxdrv driver and installed it. It helped… But not really. Now sticks binding are better, but overall bindings are still wrong. Maybe If I’ll figure out what’s the default driver is I’ll be able to look at the config and map it correctly(+change the name to the right one).

I wasn’t able to find out what’s the default driver is on Manjaro, so please help to find out. If Manjaro uses more than 1 driver for it and it’s dependent on the type of a controller and if it’s wired or bluetooth mod - pls give me the name all such drivers that Manjaro uses.


Manjaro uses udev - part of systemd. Besides that you may need additional packages targeting non kernel devices.

1 Like

Same goes in dmesg?

Also, I forgot to ask whether it’s wired/wirelessly connected? Though mine can do both just fine (wireless has small circularity error while wired is almost perfect).

No, I’m a dummy :slight_smile:
While I was checking connected usb devices it was called Microsoft Xbox 360 Controller or something(WIndows mode).

Detected correctly, just displayed in testers incorrectly. You can see difference in our screenshots. Controller name is the same(for wired), but underneath it, where you have more details about controller - I have something else.

I’ve already gave up on that, just looking for the best way to configure bindings system wide. Preferably in the driver where it supposed to be.

Yes, but also no. I have same problem in both wireless and wired mod.

While struggling myself, trying to find out what driver is responsible for my controller(at least when it’s in wired mod) - I found out that it’s xpad. At least xpad is the one that shown responsible, when checking ‘usb-devices’ in terminal.

Unfortunately I have no idea how to remap it or if I even can, since apparently it’s a kernel package.

Probably take a look here at the README: GitHub - atar-axis/xpadneo: Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)

1 Like

And if you go that route, I suggest to install the DKMS package for it, so it rebuilds after each kernel update AUR (en) - xpadneo-dkms instead of doing manual install.

Well, I installed xpadneo as instructed on it’s github page, connected my controller the instructed way - nothing.

All the same.

Also didn’t get how to “configure” this driver. All options that ./ suggests are rumble related.
Can’t find any way to rebind actions or something. It uses same default ones as with the regular driver.

The instructions on the github page does not mention Manjaro - likely because Manjaro uses a different naming convention for kernels.

On Arch and Arch-based distros (like EndeavourOS), try sudo pacman -S dkms linux-headers bluez bluez-utils

So you need to install the correct kernel headers.

If you have added driver or files manually - you need to undo those changes - to avoid conflicting files.

To ensure the correct headers are installed - list your installed kernel(s)

 $ mhwd-kernel -li
Currently running: 6.3.11-1-MANJARO (linux63)
The following kernels are installed in your system:
   * linux61
   * linux63

Then install the dependecies and kernel headers - following the above output it would be (adding --needed - so installed packages are skipped)

sudo pacman -Syu {linux61,linux63}-headers dkms bluez bluez-utils --needed

Then build the AUR package

pamac build xpadneo-dkms

There is an instruction for Manjaro specifically on xpadneo | Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)

On Manjaro try sudo pacman -S dkms linux-latest-headers bluez bluez-utils

I was doing it with UI. But I also tried downloading repo from github and installing as instructed on the github page. Plus just now, just to be sure, installed via this command - nothing changed.

My problem isn’t that it didn’t build, my problem is that it doesn’t change anything for my situation. Do I need to start some service that isn’t mentioned on github page or what?

This package does not exist - it may be why you cannot make it work.

If I wouldn’t have headers for my kernel, wouldn’t xpadneo
just break while building?
Also I have headers for my system either way.


That depends on the package you build.

The xpadneo package makes assumption that xpadneo-dkms does not.

I suggest you clean your system from any xpad packages you have tried - clean up the system - do a full system sync using a current mirror - and rebuild according to my suggestion above.

If you system is up-to-date - you may simply do

pamac build xpadneo-dkms
1 Like