batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.99k stars 513 forks source link

a change in retroarch (1.10.2) breaks controller configuration. #5993

Closed biGdada closed 9 months ago

biGdada commented 2 years ago

since 1.10.2, there is no global configuration for input device type, it is per core now. (https://www.libretro.com/index.php/retroarch-1-10-2-release/) this means that input_libretro_device that is set by batocera is being ignored, this breaks atari800 and probably other emulators.

dragonasia commented 2 years ago

Retroarch has been updated yesterday, version 1.10.3, I think it will be quickly updated in Batocera.

biGdada commented 2 years ago

it's not the retroarch that should be updated, the controller configurator/generator script should be rewritten to reflect the changes in retroarch

nadenislamarre commented 2 years ago

i added it to my todo for analysis. thanks.

igno2k commented 2 years ago

Same here. Example: I have set default controller for PSX to Dualshock. When starting a game with core lr-swanstation this setting is ignored. I have to manually set controller type in Retroarch settings, which will not get saved.

nadenislamarre commented 2 years ago

i don't find a use case, step by step telling what to set in ra menu that is ignored. unable to reproduce.

igno2k commented 2 years ago

OK, here are the steps to reproduce on v34-beta:

  1. go to PSX games
  2. Press Select -> Advanced system options
  3. Set Controller 1 Type to "Analog Controller (Dualshock)"
  4. Start a game supporting Analog/Rumble feature expected behaviour: analog+rumble is working actual behaviour: rumble is not working

workaround: go to in-game RA menu (quick menu) go to Controls -> Port 1 Controls set device type from "Digital Controller (gamepad)" to "Analog Controller (DualShock)" return to game -> a pop-up message appears from RA that controller switched to analog mode - rumble is working

You have to do this everytime and the Batocera ES controller setting seems to be ignored completely by RA.

nadenislamarre commented 2 years ago

should be fixed. x86_64 and rpi4 beta builds coming in some minutes

igno2k commented 2 years ago

Great, thanks! Will check out this weekend!

igno2k commented 2 years ago

Just checked it on the latest beta (34-dev 2022/05/08 14:37).

The behaviour is still the same. Any idea where to look? Here are my psx relevant settings in batocera.conf:

psx.core=swanstation
psx.emulator=libretro
psx.duckstation_PatchFastBoot=true
psx.duckstation_resolution_scale=5
psx.gfxbackend=vulkan
psx.duckstation_antialiasing=2
psx.duckstation_Controller1=AnalogController

Retroarch still uses Digital controller when starting with above settings and has to be changed manually.

Hew-ux commented 2 years ago

I've checked in the latest beta 2022/08/11. Issue is fixed, controller type selected in advanced system options > controller 1 type is respected. This seems to have been rudimentarily worked around by copying the entire retroarchcustom.cfg file to common.rmp automatically, so if you already had a remap file for that core/folder/game (for example, system/configs/retroarch/config/remaps/pcsx rearmed/pcsx rearmed.rmp) you would need to erase that first for it to take effect.