It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
How do I configure or enable controller support for this game in Linux? I can see with strace that the game is probing the controller, but it doesn't seem to see what it's looking for. I tried looking for information on how Unity deals with controllers, and it's all apparently user-unconfigurable by default. I'm thinking of just using uinput to make a fake xbox 360 controller in the hopes that will work instead of trying to deal with this crap, but I don't know if that will even help. It will help for some other games that also think they know my controller better than I do, so I guess I'll have to, anyway. Why do people to this day still refuse to allow user input configuration?

Edit: I got it working. Another game (Aragami) had worse issues (the game would just stop responding and act wonky if the gamepad was connected), and I discovered that deleting the DualShock 4's extra event device nodes (motion sensors and touchpad) cured it. It also sort of cured AER, although the fact that neither AER nor the hid-sony driver support key remapping I ended up using my uinput solution anyway. My uinput thing supports basic remapping and also does the removal of the extra devices and relays vibration requests and supports hot plugging, although it's still way too simplistic for anything more useful.

I guess this post's Q flag will now be permanent, since I can't answer my own question.
Post edited April 25, 2019 by darktjm
No posts in this topic were marked as the solution yet. If you can help, add your reply
avatar
darktjm: Edit: I got it working. Another game (Aragami) had worse issues (the game would just stop responding and act wonky if the gamepad was connected), and I discovered that deleting the DualShock 4's extra event device nodes (motion sensors and touchpad) cured it. It also sort of cured AER, although the fact that neither AER nor the hid-sony driver support key remapping I ended up using my uinput solution anyway. My uinput thing supports basic remapping and also does the removal of the extra devices and relays vibration requests and supports hot plugging, although it's still way too simplistic for anything more useful.

I guess this post's Q flag will now be permanent, since I can't answer my own question.
Hey can you post your solution? I've been having issues with AER as well - either it crashes when I start it up or doesn't actually pickup any controller.
avatar
nhOmega: Hey can you post your solution? I've been having issues with AER as well - either it crashes when I start it up or doesn't actually pickup any controller.
I thought I did. Maybe I wasn't clear enough. I have a DualShock 4, and that was the main issue. The DualShock 4 presents the main controller device and several additional devices for the touchpad and accelerometers. To get AER to work, I deleted those extra event device nodes. The easiest way to find the other devices is using evtest. Run it without parameters to see the name of every event device, and delete any with "Wireless Controller" in the name with other stuff after it. For example, if you see:

...
/dev/input/event13: Sony Interactive Entertainment Wireless Controller Touchpad
/dev/input/event14: Sony Interactive Entertainment Wireless Controller Motion Sensors
/dev/input/event15: Sony Interactive Entertainment Wireless Controller
...

just delete /dev/input/event14 and /dev/input/event13.

It's not what I do, though. Instead, I use the following script to delete the extra motion sensor node for bt or usb:
------------- gog will destroy all formatting below this line ------------
#!/bin/sh
test 0 = `id -u` || exec sudo "$0" "$@"

for x in /sys/class/input/event*/device/name; do
case "`cat $x`" in
*"Wireless Controller Motion Sensors")
ev=${x#*input/}
ev=${ev%%/*}
echo Removing $ev
rm /dev/input/$ev
exit 0
;;
esac
done
exit 1
-------------------------------

I use an identical script, with Motion Sensors replaced by Touchpad to delete the touchpad device, which fewer games need so I don't do it unless needed. To delete both every time, just remove the "exit 0" and replace Controller Motion Sensors" with Controller "*.

If this isn't enough to make it work for you, maybe you need more work. For example, making the controller look more like an X-Box 360 controller. The game doesn't appear to support remapping of any kind, so you may need some sort of remapper, anyway. As I mentioned, I have one that uses uinput, but I'm in the middle of a major mostly-rewrite. If you think you need it, I guess I can post an older version on bitbucket for you to play with.
avatar
nhOmega: Hey can you post your solution? I've been having issues with AER as well - either it crashes when I start it up or doesn't actually pickup any controller.
avatar
darktjm: I thought I did. Maybe I wasn't clear enough. I have a DualShock 4, and that was the main issue. The DualShock 4 presents the main controller device and several additional devices for the touchpad and accelerometers. To get AER to work, I deleted those extra event device nodes. The easiest way to find the other devices is using evtest. Run it without parameters to see the name of every event device, and delete any with "Wireless Controller" in the name with other stuff after it. For example, if you see:
.
.
.
If this isn't enough to make it work for you, maybe you need more work. For example, making the controller look more like an X-Box 360 controller. The game doesn't appear to support remapping of any kind, so you may need some sort of remapper, anyway. As I mentioned, I have one that uses uinput, but I'm in the middle of a major mostly-rewrite. If you think you need it, I guess I can post an older version on bitbucket for you to play with.
Yeah I tried removing the extra nodes(also DualShock 4) - only thing that changed is that AER actually started without crashing and that it sorta recognizes it has a controller - but no button works or anything. If you can post it somewhere I'd appreciate it!

Thanks!
Post edited June 11, 2019 by nhOmega
avatar
nhOmega: Yeah I tried removing the extra nodes(also DualShock 4) - only thing that changed is that AER actually started without crashing and that it sorta recognizes it has a controller - but no button works or anything. If you can post it somewhere I'd appreciate it!
I uploaded it to my gog-related bitbucket page. Look for indrv in the README.md (at the bottom of the web page). Play with indrv.map if needed. Complain about it not working if needed.
avatar
nhOmega: Yeah I tried removing the extra nodes(also DualShock 4) - only thing that changed is that AER actually started without crashing and that it sorta recognizes it has a controller - but no button works or anything. If you can post it somewhere I'd appreciate it!
avatar
darktjm: I uploaded it to my gog-related bitbucket page. Look for indrv in the README.md (at the bottom of the web page). Play with indrv.map if needed. Complain about it not working if needed.
Thank you soooo much! This worked on the first go out of the box for AER. Other then directing it to a different name(since I'm using it plugged in) but otherwise - no issues.(and on top of that another FVWM user :o).