I applied this patch on v3.10 and I confirm it works fine.
I had a look at the source code. Now you use /dev/input/by-id to get the devices. But the two joypad I have have the same id because they are the same model. Therefore they are shown only once. $ ll /dev/input/by-id/ [..] lrwxrwxrwx. 1 root root 9 28 dic 09.56 usb-Microsoft®_Microsoft®_SideWinder®_Game_Pad_USB-event-joystick -> ../event5 lrwxrwxrwx. 1 root root 13 28 dic 09.55 usb-Microsoft®_Microsoft®_SideWinder®_Game_Pad_USB-hidraw -> ../../hidraw0 lrwxrwxrwx. 1 root root 6 28 dic 09.56 usb-Microsoft®_Microsoft®_SideWinder®_Game_Pad_USB-joystick...
I'm using Fedora 43 on x86_64. This bug is in the GTK port. The SDL port shows two joypads and they work fine.
If I connect 3 devices (the two Sidewinders and c64 joystick connected via a USB adapter), 2 devices are listed (a sidewider and the c64 joystick). I.e. the problem seems to be that the device have the same name.
Only one PC joypad available
Broken again in v3.7.7. It seems that removing the tab in line 86 solves the problem.
configure --disable-selfrep broken
Desktop file error