04/22/2015 at 22:39 #95920
So after buying my RPI2 back in January and learning more and more about the device/ RetroPie I have gotten much better at problem solving. That being said I think it would be good to have sticky’s devoted directly towards specific controllers. This is for the RPI2 version 3.0.
In order to setup Xbox 360 controllers you will need two things.
#1 a 360 wireless controller
#2 a microsoft wireless dongle
I have heard of issues with 3rd party controllers so sticking with the brand names will make things moderately easier.
Before doing anything take make sure to install the Xbox drivers either via command
sudo apt-get install xboxdrv
or on the RetroPie setup menu where the binaries are located.
From here there are 3 DIFFERENT ways of configuring the controllers BUT the first method is both the easiest and most convenient. It will also solve the following issues with two extra commands.
–Configure controllers for RetroArch emulators.
–Remove flashing/ blinking lights.
–Recognize 4 controllers for co-op play.
–setup the dpad to be recognized as buttons.
#1 as the setup guide says, we have to install the drivers. This can be done through the Retro-Pie menu or via command
sudo apt-get install xboxdrv
#2 only perform method number 1 from the guide. performing multiple methods can create problems with button mapping, RetroPie recognizing controllers, Jstest mis-numbering controllers and plenty of other things. If you performed more than one step simply go back to the folders mentioned in the setup and ONLY delete what was pasted there in the first place. It will save much more time than clearing your SD card.
#3 once you have run method #1 we have to do run the following command
sudo nano /etc/modprobe.d/raspi-blacklist.conf
And add: blacklist xpad
this will remove flashing lights from appearing on the controllers.
#4 if you want the Dpad to appear as buttons which you probably do if you like playing any Gameboy Advance games through Gpsp then do the following.
Go back into the file where you performed method #1 it should be called /etc/rc.local
For each controller we need to add the following –dpad-as-button
So now for each controller it should look like this.
xboxdrv --trigger-as-button --wid 0 --led 2 --dpad-as-button --deadzone 4000 --silent & sleep 1
And that is it, no Player1, Player2, Player3 etc setup needed as this setup will work for all 4 players, in RetroArch anyway. I have tested it with version 3.0 and I haven’t done anything more than the following described.04/22/2015 at 22:51 #95925
I think the biggest reason why people keep having issues, and why I had so many issues with my 360 controllers was because I ran multiple methods to setup the controller and never removed it. Even after clearing my SD card Jstest would recognize 6 controllers but the 1st was controller #3.
Just remember if you want to change your controller setup for different RetroArch emulators the folder location is
Just make sure to edit the retroarch.cfg file in the specific emulator AND at the top change the default location from ALL to it’s newly edited location.
And here is my RetroArch Xbox 360 wireless controller mapped out.
button(4) = A
button(5) = B
button(6) = X
button(7) = Y
button(12) = Back
button(13) = Start
button(14) = Guide Button
button(8) = Left Bumper
button(9) = Right Bumper
button(10) = Left Trigger
button(11) = Right Trigger
button(15) = Left Analog Stick Press
button(16) = Right Analog Stick Press
button(0) = D-Pad Up axis
button(1) = D-Pad Down
button(2) = D-Pad Left
button(3) = D-Pad Right
axis(-0) = Left Analog Stick Left
axis(+0) = Left Analog Stick Right
axis(-1) = Left Analog Stick Up
axis(+1) = Left Analog Stick Down
axis(-3) = Right Analog Stick Up
axis(+3) = Right Analog Stick Down
axis(-2) = Right Analog Stick Left
axis(+2) = Right Analog Stick Right
Also some various hotkeys.
input_enable_hotkey_btn = “12”
input_exit_emulator_btn = “13”
input_save_state_btn = “8”
input_load_state_btn = “9”
input_state_slot_increase_btn = “10”
input_state_slot_decrease_btn = “11”
Remember this is only for RetroArch emulators, so GPSP, Mupen and other outside emulators use their own configurations.05/02/2015 at 04:08 #96649
I just finished my Retropie, pi2, and RP2b2.
I first tried option 3 of the xbox controller setup, but, although jstest correctly identified my controller, no button pushes registered. So, I renamed the xboxdrv files, and tried option 1, which worked perfectly. Just a data point.
I did find that for Mario Kart, I had to remap via the AutoInitcfg.ini, the “Z” button trigger (which I mapped to the RT), and also the start button. In mupen64plus.cfg, I mapped the “exit emulator” to “JOB10”, which is the big “X” button in the center of the xbox 360 controller.
Mario Kart now works fine, and I can exit no problem.
For the record, I have experimented with SNES-type controllers, N64 (Retrolink) controllers, and Logitech F310 controllers along with MS xbox360 wireless controllers. The xbox 360 wireless controllers are (by far) the most elegant solution. The Retrolink controllers are horrible. The SNES controllers are good for little kids, and work well with Sega, Atari 7800, NES and SNES games.
Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/