I’m running RetroArch on a TV box (MX9 with Rockchip RK3229).
1 - If I launch RetroArch from the TV box menu using the gamepad itself, it won’t work to navigate the menu unless I unplug it, plug it back and press the D-pad (any direction). If I press any other button, the gamepad is not recognized, even if I press the D-pad later. When I start a game, gamepad won’t work unless I repeat the procedure.
2 - If I launch RetroArch using any other device (keyboard or TV remote), once in the menu, if I press the D-pad in the gamepad, it’s recognized (I get the message “Microntek USB Joystick configured in port #0”) and it works to navigate the menu. If I press any other button, the gamepad is not recognized, even if I press the D-pad later. When I start a game, gamepad won’t work unless I unplug it, plug it back and press the D-pad again.
3 - If I launch RetroArch using any other device (keyboard or TV remote) and do not press any button in the gamepad when in the menu (navigate using the other device), when I start a game, gamepad will be recognized if I press the D-pad. If I press any other button, the gamepad is not recognized, even if I press the D-pad later.
Long story short: looks like RetroArch can’t “find” the controller if it’s used in the OS, and the core can’t find it if it’s used in the menu. Unplugging/plugging back the controller makes it work. I can also avoid using the controller in the OS and in RetroArch menu, so it’s still “available” to the core when emulation starts.
Option 3 is good enough for me. I hope this debugging helps to solve your problem or fix the issue.