-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong mapping after arch update #379
Comments
Gamepad Tester in Chrome is known broken, it should work in Firefox. For games, please disable Steam Input. There will come a fix in v0.10 or v0.11, see #286 |
It is firefox on my video. I've already disabled steam input |
I also have this issue with my Xbox Series X/S controller. With cable connection it works great, but when i switch to bluetooth, mappings go crazy. Nothing worked: it comes from xpadneo. |
I was able to fix my button mappings on Arch by adding |
hello, thanks for your replay, tho it doesn't seem to work on my pc... |
@SpidFightFR Try disabling Steam Input for Xbox controllers in Steam. Almost no game explicitly needs Steam Input to detect the controller (there are only a very few). Also, check if the hidraw device created by xpadneo has read permissions - it should not. It seems there are some rogue udev rules out there that enable hidraw permissions unconditionally. |
@kakra hello, steam input is plain disabled for the game i’m trying (Devil may cry 5), it changed nothing… |
DMC-5 worked fine for me: Steam Input disabled and hidraw permissions revoked - just revoking the permissions is probably enough as it disabled the broken hidraw path in SDL (SDL doesn't honor our HID descriptor when bypassing the driver via hidraw). |
Well DMC5 worked just fine until now, i’m really confused… |
Crazy thing: when i connect the controller with bluetooth, it goes crazy, but when i connect it in usb, it goes normal again… |
I'm also suffering from this exact issue. Everything worked great until I installed an update that must have come out within the past 2 weeks I believe. I'm on pop_os, Kernel version 5.19.0-76051900-generic. Setting |
For me xpandeo stop working after an upgrade Kubuntu from 20.04 to 22.04.01 With kernel driver mapping is OK. |
This may not be sufficient, the devices may have ACLs applied instead of just plain unix permissions only: Try |
Let me know if there's anything else I can pass along to help trouble shoot this. |
It's probably not a kernel issue because I'm using kernel 5.15 LTS (as you asked especially for kernel 5.13+ before the edit). I think it's rather a udev rule issue, Kubuntu may ship with Steam Input udev rules which enable hidraw access. The original file is here: But it seems like some distributions add more controllers to it although those actually don't need hidraw access. So you could inspect your udev rules to inspect if they add hidraw access for Xbox controllers. Another pitfall may be RGB and QMK software which (at least in versions a few months old) adds hidraw permissions to all HID devices unconditionally. Uninstalling such software (at least for the sake of confirming a conflict) could help, too. For the issue of @RTbecard I am not sure what actually may be happening. @RTbecard Please confirm, the hidraw device you're inspecting is actually the one created by xpadneo by looking at the dmesg output after turning the controller on. Please also let me know which SDL version you are running so I can check if there are any incompatible changes in SDL. |
If that can help, i use |
Same issue for me on Arch. Please let me know what I can do to help with finding the problem. Edit: Connecting by USB isn't fixing the issue. |
Same issue as OP (seems to be the exact same "swapped mapping") Disabling steam input, I'd be happy to provide any additional information. Info:
|
Here's a confirmation of the no read access hidraw listing. Also my
My swapped controls are the exact same as in the video posted, notably, the left trigger is mapped to x axis of r-stick. This issue is both in all steam games and web-based gamepad testers in firefox. |
Does the behavior change if you load the xpadneo module after a reboot but before connecting the controller? |
Nope, same thing. |
Yeah I've been having this exact issue. |
Just tried manually loading with modprobe before connecting with bluetooth (see below, let me know if I'm doing this wrong). The issue still persists.
|
So we should not be seeing the udev bug which was previously seen (and fixed in b6c0708). But your version looks awkward: Where did you get this xpadneo version from? Doesn't look like any of the pull requests, and probably neither one of the forks here on Github. |
my version of xpadneo is |
Ah, sorry. Yes, I was using a local fork which had merged with the latest master. When I originally cloned the master branch from here, the To eliminate any confusion, I've removed my local repo and installed the current master. I reran the exercise, and the issue still persists.
|
The installer script will generate the version file on demand - as long as you added the trust path option. The current installer script will tell you which command to run to make the version file generation work again. It's an issue with newer git versions which fixed a security flaw in git: |
Well, is there anything at all we can do to help to locate the issue? Don't get me wrong, I'm not trying to push at all, but it's kinda sucks to live without gamepad :D |
Welp, i’m gonna try it later on. What distro do you use? |
I use Arch Linux. |
What kernel then ? That's weird... |
i just tried and recompiled the module from the sources, reinstalled it, rebooted just in case. But it's not use, inputs are still broken. |
Switching to PID 0x028E seems to successfully evade the mappings in Proton, and thus probably SDL. Proton seems to do the same for Steam virtual controllers, and it seems to also fix gamepad handling in Chrome. Maybe-fixes: atar-axis#379 Maybe-affects: atar-axis#385 Maybe-affects: ValveSoftware/steam-for-linux#8463 (comment) See-also: atar-axis#283 See-also: ValveSoftware/wine@7ea1cc2 Fixes: atar-axis#373 Signed-off-by: Kai Krakow <kai@kaishome.de>
Can confirm, everything works fine now. |
I’m going to try this later on today, anyways: if it indeed works, nice! |
I didn't try yet if it also fixes usage with Steam Input enabled because the one game I tried, didn't detect the controller at all if Steam Input was enabled. |
Which game? Can try and help |
I tried Assassin's Creed Odyssey with Proton Experimental 7. |
welp, for starters, my controller is detected as xbox 360 controller in steam now (It should be series x|s controller) is it the same for you? |
That's expected but it shouldn't matter to games because the Steam virtual controller (that one you're using through Steam Input) itself is offered to games as Xbox 360 controller (in Windows and in Proton). Currently, that's tagged as a hack in Proton but at least it should work. As the virtual controller also supports the Elite 2 paddles, these should work, too - but we may need some remapping then, I didn't investigate that yet. See: ValveSoftware/wine@7ea1cc2 According to that commit, I decided to go with the same PID - and to my surprise, it fixed the Chrome gamepad API, too. SDL also works fine with this. It should also fix the controller for all users of retro emulators. So everyone should be happy. |
does it affects Triggers haptic feedback ? Or will it be the same as before ? |
It should be the same because we do not support explicit trigger feedback yet (the kernel does not support this yet). This has to be retested after the kernel got the new API. Please consider that rumble through Steam Input doesn't seem to work properly for a lot of users, so don't expect it to work while Steam Input is enabled for a game. |
in global settings, do you advise us to enable or disable steam input ? |
disable it unless the game isn't working properly or detecting the controller for example, then you force it on for this game, because steam is really random with controller configs and often breaks haptics mostly Speaking of games that needs steam input forced, ETS works fine with steam input. |
okay, thanks for the tip ! |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
I can confirm that the issue has been solved, good job everyone ! |
Note for people one Arch, to get the fix (just in case):
|
Stable backport to v0.9 is already queued... Just want to do some more testing. |
Not sure if I have missed something but after upgrade to latest master 48f4b11 all is working good at my kubuntu 22.04.01. THX! Not sure if it's relevant but I have also done downgrade->upgrade firmware in my X1S. |
For a reason i don't know, disabling Steam Input brings back controller vibrations. cool, i guess ! |
Switching to PID 0x028E seems to successfully evade the mappings in Proton, and thus probably SDL. Proton seems to do the same for Steam virtual controllers, and it seems to also fix gamepad handling in Chrome. Maybe-fixes: #379 Maybe-affects: #385 Maybe-affects: ValveSoftware/steam-for-linux#8463 (comment) See-also: #283 See-also: ValveSoftware/wine@7ea1cc2 Fixes: #373 Signed-off-by: Kai Krakow <kai@kaishome.de>
So, i got just that but on fedora 36 and my xbox controller just nor work anymore on bluetooth even with 0.9.5 and SDL_JOYSTICK_HIDAPI=0 or disabling steam input. Don't know what to do anymore, i use usb because that work but why the last update didn't solve that for my ? X don't work, right trigger and left joystick too. So yeah don't know if i post here or open a new issue.. because it's barely the same |
Could you share the output of dmesg when loading the driver and connecting the gamepad? Also, dmesg will tell your about a hidraw device that was created (it's Then try running You should open a new report for it because this one is closed. The report wizard also shows instructions for each of the steps needed to collect information. For a start, the above steps are sufficient but feel free to also do the other steps. |
Version of xpadneo
Controller Model
Connection mode
Installed Software
Protocol Information
Please help us identify at which layer the problem can be found if you want
to report mapping errors or if the controller fails to be detected:
evtest
is showing issues (describe the issues below)BTN_NORTH
andBTN_WEST
are intentionally swappedjstest
is showing issues (describe the issues below)gamepad-tool
is showing issues (post console output below)everything works fine except down button
Please describe how it is failing below in the next sections.
Severity / Impact
Describe the Bug
My gamepad's mapping is wrong after i updated my system. I have xpadneo installed as aur package. I also tried installing it from source but that didn't fix the issue.
Steps to Reproduce
Install xpadneo
connect xbox series x controller
Expected Behavior
Screenshots / GIFs / Videos
Video demonstrating the issue
System Information
# xxd -c20 -g1 /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor | tee >(cksum)
Controller and Bluetooth Information
https://termbin.com/dk4d
https://termbin.com/xhjf
Additional Context
The text was updated successfully, but these errors were encountered: