Troubleshooting
If Joystick control cannot detect any devices, it means one of the following conditions is happening:
- there are no joysticks plugged in (we can simply rule that out by virtue of you being smart)
- the joystick is not properly configured on Linux
- you do not have permission to open the joystick device file
Typically, you will see one of the following error messages:


To solve this, you will need root (administrator) privileges. Follow each one of these three steps to fix this issue.
Configuring your joystick device
You need to load the appropriate driver for your joystick interface, and then load the appropriate driver for your joystick or gamepad. On recent kernels, this should automatically create the device files needed. One way to accomplish that on startup is adding the following lines to the /etc/modules file.
install joydev /sbin/modprobe --ignore-install joydev && /sbin/modprobe ns558 && /sbin/modprobe analog remove joydev /sbin/modprobe -r analog && /sbin/modprobe -r ns558 && /sbin/modprobe -r --ignore-remove joydev
(these are two separate lines) and then issuing the /sbin/modprobe joydev command on the command line. Replace analog with the appropriate joystick driver, and ns558 with the appropriate joystick interface driver (by the way, 99% of the time, ns558 is right).
Testing the joystick configuration
This is way simpler. With root privileges, try to run the following command:
cat /dev/input/js0
(older Linux versions might use /dev/js0 instead). You should see a bit of garbage, or perhaps nothing, until you press a button or pad, or move the rudder or a hat on your joystick, where more garbage should follow. Interrupt this with Ctrl+C.
If you are returned to the command prompt immediately, preceded by a “No such device” error, this means the wrong driver is installed. Check your distribution documentation or refer to other sources. If you see “No such file or directory” instead, you might need to manually make the device node yourself. You can accomplish this by using the command mknod /dev/input/js0 c 13 0 on the command line.