Solved Second pad not recognised by the game (SNES)
#1
I'm using Kodi 20.1 on CoreELEC. I try to play to player games. I have working both controllers in KODI menu - those are ps3 controllers. The issue is that after launching a game the second pad is not recognized by the game and is controlling the KODI UI insteadof the game. I believe that when I was using Kodi 19 I could use two pads in the game without issues, after update to 20.1 not possible to play two player games :/
What can I do to troubleshoot the issue ?
Reply
#2
I got it working !!!
I switched the controller input driver from linux to udev and configured controllers again.
I see in kodi.log that the difference between linux and udev drivers is that linux driver causes 4 joystick inputs to appear (additional two are labeled Motion sensors). With udev driver I get only two joysticks.
Reply
#3
How did you switch the input driver in Kodi? In a standalone emulator these things are pretty easy, but Kodi seems to hide a lot of the features that would make things easier.
Reply
#4
(2023-06-21, 02:28)Taskr36 Wrote: How did you switch the input driver in Kodi? In a standalone emulator these things are pretty easy, but Kodi seems to hide a lot of the features that would make things easier.

You can change the input driver via "Settings" -> "System" -> "Input" -> "Driver settings".

Agreed, a lot of things needed for emulation can be hidden in Kodi, due to its history as a movie player. I'm always looking to make emulation more of a first-class citizen in Kodi, so I appreciate any tips you could provide.
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#5
(2023-06-24, 23:52)garbear Wrote:
(2023-06-21, 02:28)Taskr36 Wrote: How did you switch the input driver in Kodi? In a standalone emulator these things are pretty easy, but Kodi seems to hide a lot of the features that would make things easier.

You can change the input driver via "Settings" -> "System" -> "Input" -> "Driver settings".

Agreed, a lot of things needed for emulation can be hidden in Kodi, due to its history as a movie player. I'm always looking to make emulation more of a first-class citizen in Kodi, so I appreciate any tips you could provide.
Thanks. Unfortunately, the only options there are toggles for Enable Xinput, and Enable Directinput. I'm just trying to get an SNES controller to work with the SNES emulator, but that seems strangely impossible. No matter what emulator I use, and how I try to configure different controllers, my classic NES controller is the only one that works in any emulator.
Reply
#6
This sounds like something we can solve. Joysticks are troublesome due to quirks on all operating systems, something I affectionately refer to as "joystick driver fuckery".

To battle this problem, I've added a bunch of logging to the debug log that can show where input works and where input gets dropped.

Can you upload a debug log showing the NES controller working, and a debug log showing the SNES controller not working?
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#7
Here's the NES controller working

https://paste.kodi.tv/emosukisen.kodi

Here's the SNES controller not working.

https://paste.kodi.tv/goveqoxuhe.kodi
Reply
#8
I think I've tracked down the problem, a bug introduced in v20. In your SNES log I see:

Code:
info <general>: AddOnLog: peripheral.joystick: Initialized joystick 0: "Xbox 360-compatible controller", axes: 6, hats: 0, buttons: 15
info <general>: AddOnLog: peripheral.joystick: Initialized joystick 1: "USB Gamepad ", axes: 6, hats: 0, buttons: 10
info <general>: AddOnLog: peripheral.joystick: Initialized joystick 2: "Logitech Cordless RumblePad 2", axes: 4, hats: 1, buttons: 12

info <general>: PERIPHERALS::CPeripheralAddon::Register - new joystick device registered on addon->peripheral.joystick/0: Xbox 360-compatible controller
info <general>: PERIPHERALS::CPeripheralAddon::Register - new joystick device registered on addon->peripheral.joystick/1: USB Gamepad 
info <general>: PERIPHERALS::CPeripheralAddon::Register - new joystick device registered on addon->peripheral.joystick/2: Logitech Cordless RumblePad 2

Kodi sees three controllers, but doesn't assign them to the right ports. I think that the Xbox controller is getting port 0, etc.

In v19, port 0 would get whatever controller is activated last. If you start the game with a SNES controller, port 0 gets the SNES controller, as expected. This approach isn't perfect, but it worked well enough in v19, so I'm restoring the behavior which should fix this problem: https://github.com/xbmc/xbmc/pull/23482

You can try the fix out in my test builds: https://github.com/garbear/xbmc/releases

Note that I added a new window, the "View Players" window, which will let you see what Kodi thinks which controllers go to which ports.

Image
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#9
@Taskr36 Can you give my latest 2023-07-08 builds a try?

EDIT: Or even better, my 2023-07-09 builds (see changelog)
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#10
Reported solved in this thread: https://forum.kodi.tv/showthread.php?tid=373533
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
#11
Thread marked solved.
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply

Logout Mark Read Team Forum Stats Members Help
Second pad not recognised by the game (SNES)0