Controller Issues Retropie X86
-
Pi Model or other hardware: i7 7500t Ubuntu 22.04 x86
RetroPie Version Used: 4.8.2
Built From: Setup Script downloaded according to this guide
USB Devices connected: Brawler 64/iBuffalo SNES controllers and wireless keyboard/mouse
Controller used:All three above
Error messages received:Android Gamepad 121/6172 not configured (Brawler 64), USB 2-axis 8-button Gamepad 1411/8288 not configured (iBuffalo SNES)
Verbose log (if relevant):runcommand log
Guide used: Retropie Setup from docs as above
File: (File with issue - with FULL path)
Emulator: lr-mupen64plus, mupen64plus-gliden64
Attachment of config files: Android Gamepad.cfg es_input.cfg Mupen 64plus InputAutoCfg.iniOk so just started trying to set up a new X86 Retropie install and am having controller issues. All three controllers worked fine on my previous pi4 retropie build. When starting non-libretro cores i can configure in ES and then use them in game with the exception being I can't exit (hotkey + Select(button 8 on the Android Gamepad)). I can still exit using the keyboard though.
Using libretro cores though both controllers show up when launching a game as not being configured and of course no buttons or combination of buttons will do anything. Keyboard still allows me to exit though.
Again to reiterate all three controllers work fine in emulationstation. The controllers also work in non-libretro cores except I can't exit using the hotkey combo except by using the keyboard. And lastly in libretro cores controllers show up as not being configured and don't function. Any help is aprreciated. Thanks guys and gals.
-
The new SDL2 gamepad name normalization strikes again :(.
Open the
.cfg
files for the controllers, located in/opt/retropie/configs/all/retroarch-joypads
and add the following lines:- for the Brawler config file:
input_vendor_id="121" input_product_id="6172"
- for the iBuffalo controller:
input_vendor_id = "1411" input_product_id = "8288"
No need to reboot, should work at the next game start with a libretro core.
... When starting non-libretro cores i can configure in ES and then use them in game with the exception being I can't exit (hotkey + Select(button 8 on the Android Gamepad))
That's normal,
Start + Select
is specific to libretro cores. I think the Mupen64Plus N64 emulator can use the combo to exit, but other emulator don't know about this (or don't support an input combo for exit). -
@mitu
Great I’ll give that a shot then. Love it when the solution is simple.And yeah start + select always exited non-libretto mupen on the pi4 so I was expecting it to do so on x86 as well. On the pi I could even save/load states with the hot key combos you’d just never get an onscreen notification.
I guess would have a suggestion for exiting non libretto cores then other than pulling out the keyboard? Something I could do in command line or something else?
-
@WhiteT982 said in Controller Issues Retropie X86:
And yeah start + select always exited non-libretto mupen on the pi4 so I was expecting it to do so on x86 as well. On the pi I could even save/load states with the hot key combos you’d just never get an onscreen notification.
it should do the same on x86. Post the configuration file for Mupen64Plus -
inputAutoCfg.ini
- from/opt/retropie/configs/n64
.I guess would have a suggestion for exiting non libretto cores then other than pulling out the keyboard? Something I could do in command line or something else?
As I said, it depends on the standalone emulator's capabilities. A few of them are configured automatically to exit with a key combo if they support it (Mupen64Plus is one of them), for others you can just exit from their menu (i.e. Fuse/Zesarux/Vice) and if they support toggling the menu with a gamepad, then you configure a gamepad button for it.
-
@mitu
It’s in the first post but here it is.Do I need to add
Select = button(8)
I thought I had tried it already and it didn’t work but maybe I’m not remembering correctly? My select does work in ES as well. The Android Gamepad.cfg is in the first post to and I had thought that’s where the hot key was stored. It does show hotkey=Select and Select=button(8).
-
You're right, but that's not how the exit combo is generated. It seems it's generated at runtime, based on RetroArch's configuration profile.
So you may have to rename the.cfg
files you modified:'USB,2-axis 8-button gamepad .cfg'
renamed toUSB,2-axis 8-button gamepad.cfg
.
and for the other one, I don't know the
.cfg
filename, but if it has spaces at the end/beginning, try to trim those and see if that adds the hotkey combo to exit back. -
@mitu
So first of all controllers are working in libretto cores now after using the vendor ids. However I still can’t exit standalone mupen64plus after removing spaces from the .cfg file names. I did find a video about a guy saying to change values in the mupen64plus.cfg. There is this line# Joystick event string for stopping the emulator Joy Mapping Stop = ""
And in between the parentheses he said type j0b plus the button number to exit. So I chose
”j0b10”
which is the left thumb press on my Brawler controller. But it still won’t exit and the file gets overwritten after starting the emulator.It also has sections for the keyboard like
# SDL keysym for save slot 0 Kbd Mapping Slot 0 = 48
So I tried just
10
without quotes or the j0b but not luck there either. -
@mitu
So looking at the mupen64plus.cfg on my pi4 the correct syntax should beJoy Mapping Stop = "J0B6/B7”
For hotkey=6 and Start=7. But still whenever I start the emulator the file gets overwritten. So next question is if there’s a way to stop the file from being overwritten?
-
@WhiteT982 said in Controller Issues Retropie X86:
For hotkey=6 and Start=7. But still whenever I start the emulator the file gets overwritten. So next question is if there’s a way to stop the file from being overwritten?
No, it's part of the start-up script - as I said in my previous post, the configuration is set at runtime.
Now looking more closely at said start-up script, I think the rename should be the other way around. The reason the script doesn't correctly set the hotkey (for exit/save & state) is because it doesn't find the controller name in the*.cfg
files that were auto-generated by EmulationStation.
It works like this:- script is looking at
/dev/input/js0
and find the name of the joypad usingudev
(i.e.USB,2-axis 8-button gamepad
- note the trailing spaces) - then it looks at which
.cfg
file contains the device name detected. Doesn't find any, since the name generated via SDL2 is8Bitdo SNES30 GamePad
(which is quite different) and has
input_device = "8Bitdo SNES30 GamePad" ...
- the end.
So I think the file renaming is not necessary, but you'd have to open the
.cfg
file and correct theinput_device
name.
Runcat /proc/bus/input/devices | grep Name
and see which are the names reported by each controller. Then open the corresponding
.cfg
file and replace thedevice_name
option with that name. E.g. instead ofinput_device = "8Bitdo SNES30 GamePad"
to be
input_device = "USB,2-axis 8-button gamepad "
Or, you can use the Mupen64plus libretro core and your controller would work without those configs.
- script is looking at
-
@mitu
Haha yeah I’m almost to the point of just using libretro but I like those texture packs with N64 and as far as I know they only work with Glide. But I will look at that tomorrow too and hopefully that’ll do the trick. -
@WhiteT982
Ok so change the names and now I can exit non libretro using only my Select button. So not entirely there but I guess it will work. Once again appreciate all of the help
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.