Multi-player Picade


Has anyone got a working configuration of Retropie working with both the Picade controller and a second USB one for player 2?

Picade works perfectly. I plugged in a USB X-Box 360 controller and configured that using the standard tools, and that works fine. The problem I have is that they both control player 1 and don’t appear as player 2 - so when I press start on either the Picade or the Xbox controller, the game pauses rather than adding player 2 as a new player.

I’ve tried manually adding the button configuration to retroarch.cfg but got nowhere with it - if I disable the autodetection then I get nothing working on the USB controller once I get into the games (RetroPie menu works fine, but the game doesn’t respond to anything).

Any ideas? There are some good two player games out there that would be great, and some not so good ones (eg Raiders of the Lost Ark on the Atari 2600 needs two controllers!)


I play with this configuration in MaME and neo-Geo. Player 1 Picade Joystick and player 2 Xbox-360 controller.

In Retropie-setup install xboxdrv too
You must auto-config you re 2 controller (picade controller and xbox-360)

go here for add lines in your retroarch.cfg : or for exemple :)


Thanks - I’ve tried that and still get the same results on the SNES (maybe it’s a SNES issue?)

I installed xboxdrv, autoconfigured the USB device and added the lines to retroarch.cfg in /opt/retropie/configs/all but I get no luck. The controller is detected fine as player 1, but not as player 2.

I tried commenting out the line “input_autodetect_enable = true” and that made no difference either - the controller still works fine but only as player 1, not as player 2.

So the keyboard input section of my retroarch.cfg file reads:

# Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely,
# rather than relying on a default.
input_player1_a = ctrl input_player1_b = alt input_player1_y = z input_player1_x = shift input_player1_start = s input_player1_select = c input_player1_l = space input_player1_r = x input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down input_player1_l2 = enter input_player1_r2 = escape
# input_player1_l3 =
# input_player1_r3 =

# Two analog sticks (DualShock-esque). ``# Bound as usual, however, if a real analog axis is bound, ``# it can be read as a true analog. ``# Positive X axis is right, Positive Y axis is down. ``# input_player1_l_x_plus = ``# input_player1_l_x_minus = ``# input_player1_l_y_plus = ``# input_player1_l_y_minus = ``# input_player1_r_x_plus = ``# input_player1_r_x_minus = ``# input_player1_r_y_plus = ``# input_player1_r_y_minus =

# If desired, it is possible to override which joypads are being used for user 1 through 8. ``# First joypad available is 0. ``# input_player1_joypad_index = 0 ``# input_player2_joypad_index = 1 ``# input_player3_joypad_index = 2 ``# input_player4_joypad_index = 3 ``# input_player5_joypad_index = 4 ``# input_player6_joypad_index = 5 ``# input_player7_joypad_index = 6
# input_player8_joypad_index = 7

``# Input device buttons.

``# You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction. 
``# E.g. "h0up"
``# input_player1_a_btn =
``# input_player1_b_btn =
``# input_player1_y_btn =
``# input_player1_x_btn =
``# input_player1_start_btn =
``# input_player1_select_btn =
``# input_player1_l_btn =
``# input_player1_r_btn =
``# input_player1_left_btn =
``# input_player1_right_btn =
``# input_player1_up_btn =
``# input_player1_down_btn =
``# input_player1_l2_btn =
``# input_player1_r2_btn =`
`# input_player1_l3_btn =`
`# input_player1_r3_btn =`

`# Menu buttons.`
`# menu_ok_btn          =
``# menu_cancel_btn      =
``# menu_search_btn      =
``# menu_info_btn        =
``# menu_default_btn     =`
`# menu_scroll_down_btn =`
`# menu_scroll_up_btn   =`

`# Axis for RetroArch D-Pad. 
``# Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number. 
``# Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
``# input_player1_left_axis =
``# input_player1_right_axis =
``# input_player1_up_axis =`
`# input_player1_down_axis =`

`# Holding the turbo while pressing another button will let the button enter a turbo mode`
`# where the button state is modulated with a periodic signal.
``# The modulation stops when the button itself (not turbo button) is released.
``# input_player1_turbo =`

`# Describes the period and how long of that period a turbo-enabled button should behave.`
`# Numbers are described in frames.
``# input_turbo_period = 6`
`# input_turbo_duty_cycle = 3`

`input_player2_joypad_index = "0"
input_player2_b_btn = "1"
input_player2_y_btn = "3"
input_player2_select_btn = "6"
input_player2_start_btn = "7"
input_player2_up_btn = "h0up"
input_player2_down_btn = "h0down"
input_player2_left_btn = "h0left"
input_player2_right_btn = "h0right"
input_player2_a_btn = "0"
input_player2_x_btn = "2"
input_player2_l_btn = "4"
input_player2_r_btn = "5"
input_player2_l2_axis = "+2"
input_player2_r2_axis = "+5"
input_player2_l3_btn = "9"
input_player2_r3_btn = "10"
input_player2_l_x_plus_axis = "+0"
input_player2_l_x_minus_axis = "-0"
input_player2_l_y_plus_axis = "+1"
input_player2_l_y_minus_axis = "-1"
input_player2_r_x_plus_axis = "+3"
input_player2_r_x_minus_axis = "-3"
input_player2_r_y_plus_axis = "+4"`

`# This goes all the way to user 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.`

That's pretty much the same as the example you have, although the values are slightly different they are the ones I generated from the joypad setup script so should be fine.

It may be a SNES issue (I've not tried it with anything else yet), but I can't see anything that I'm doing differently from you :(


Go to /opt/retropie/configs/all/retroarch-joypads and delete file here

reboot and test.


Thanks - that did the trick!


So sorry to revive this year-old thread, but I’m having significant difficulty with a very similar problem.

I’m trying to configure my Picade with the exact same setup (Player 1: Arcade controls, Player 2: Xbox 360 controller). I have the keyboard configured properly, have “input_autodetect_enable = true” commented out as well (not sure if that helps or hurts, but themattsearle did it so whatever).

I entered the other manual configs into my retroarch.cfg file to correspond to player 2. If I just do a simple restart, the P2 controller will navigate all retropie menus exactly as expected, but once I load any game the controller ceases to function (P1 functionality never seems affected, which is good) until I back out to the menu with P1. Also, every game that I start has a little popup yellow text message in the bottom left corner at the start: “Microsoft Xbox 360 pad blah blah is not configured”

If I open the retropie menu and “Configure Input” for the Xbox 360 controller, Player 2 inputs in games work perfectly as expected, but it has the same problem as mentioned in this thread with controlling P1 at the same time. If I delete the .cfg file named after the 360 pad in the /configs/all/retroarch-joypads (the only file in there) and restart emulationstation, I revert back to the menus working but ingame controls not.

I feel like I can’t win and it’s driving me mad. There has to be something simple that I’m missing and I can’t figure out what. I’m fairly new to Retropie and just built this cabinet a few weeks ago. I was hoping to bring it to a christmas party this Saturday to show off to everybody, but I really just want 2-player support to work with a minimum of fuss.

Edit: To follow up, I reset my retroarch.cfg file back to the default I saved after initially imaging the drive and I still encounter the same above issues. I also installed/enabled the xboxdrv package and that didn’t change anything other than making the system think that two Xbox controllers were connected. Still controls players 1&2 when configured in the GUI and doesn’t work in games at all after deleting the [controller name].cfg file and restarting.