Gamepad not detected on Ubuntu 24.04 but works on Windows

Asked by David Clark

I am using Ubuntu 24.04 on a standalone desktop and my USB gamepad is not being detected. The same controller works fine on Windows, but Ubuntu does not recognize it in Steam or in the system controller settings.

Here is what I have tried so far

Plugged the controller into different USB 2.0 and 3.0 ports

Tested another controller with the same result

Ran lsusb and the device shows up there

Installed joystick tools with sudo apt install joystick jstest-gtk

Tried reloading USB modules using sudo modprobe joydev and sudo modprobe hid_generic

Even after these steps, no /dev/input/js* device appears and jstest-gtk does not detect anything.

Is there any additional driver or configuration I need for Ubuntu 24.04 to detect the gamepad correctly

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu unity Edit question
Assignee:
No assignee Edit question
Solved by:
Daniel Foster
Solved:
Last query:
Last reply:
Revision history for this message
Best Daniel Foster (thedanielfoster) said :
#1

This issue is fairly common on Ubuntu 24.04. Since the controller appears in lsusb, the system is detecting it at the hardware level, but the correct input driver might not be loading.

Try running sudo dmesg -w right after you plug in the controller. That will show real-time messages from the kernel and help you see whether the device is being recognized as a generic HID or rejected for some reason. You can also use the evtest command to check if any new input devices appear.
 Sometimes gamepads show up under /dev/input/event* instead of /dev/input/js*.

If you are using a PlayStation controller, make sure the xpad or hid-playstation modules are loaded. Steam also has its own controller layer, so it is worth opening Steam, going to Settings, then Controller, and checking if anything shows up there.

Before you try changing drivers, you can test the controller input use some online tester https://gamepadtester.co that will let you confirm if the gamepad is sending input signals or not.

Revision history for this message
David Clark (davidclaarke) said :
#2

Running dmesg showed me that the controller was being detected as a generic HID device, and after checking it on that test page you mentioned, it started responding correctly. Looks like it was just a driver issue on Ubuntu’s side.
Appreciate the clear explanation

Revision history for this message
David Clark (davidclaarke) said :
#3

Thanks Daniel Foster, that solved my question.

Revision history for this message
Sophia Reed (sophiareed) said :
#4

Thanks for sharing your experience with creating desktop shortcuts on Linux. Your detailed steps are very helpful for users trying to run Windows games via Wine. For others interested in related tools and emulators, check out this resource on Delta Executor for iOS: https://www.deltaexecutorkey.com/delta-executor-for-ios/. It offers great solutions for running apps in different environments.

Revision history for this message
sienjoe5 (sienjoe5) said :
#5

If your gamepad works fine on Windows but isn’t detected on Ubuntu 24.04, the issue is likely due to missing drivers or incorrect input mappings in Linux. Start by checking https://soccer-tips.org/ if the system recognizes the device using the command lsusb or dmesg | grep -i gamepad. If it appears, install or update relevant joystick packages such as sudo apt install joystick and test it using jstest /dev/input/js0.