4) Right-click on the device and choose the option to update drivers for it. 5) Choose the option to Browse my computer for driver software. 6) Choose the option to Let me pick from a list of device drivers on my computer. 7) Browse to Microsoft Common Controller for Windows Class. 8) Choose the option for XBOX 360 Wireless Receiver for Windows. This is because the Android OS has no official drivers for the Xbox 360 Wireless controllers as for the date of this publish your compatibility will vary from game to game under Android. Installing the driver for the Xbox 360 controller. Windows will begin installing drivers the moment the controller is properly powered on and paired up.
Wireless Receiver
To use wireless Xbox 360 controllers, you will also need a USB wireless receiver plugged into your Raspberry Pi. The Official Microsoft Xbox 360 receiver or a generic brand like zettaguard, VicTsing will work. You can pair multiple controllers to a single wireless receiver. Play and charging cables will not work.
To pair your controller(s) with the wireless receiver:
- turn on your wireless Xbox 360 controller (hold down the Guide button)
- press the connect button on the receiver (green light will start flash)
- then press the tiny connect button on the top of the controller
- you will need to repeat these steps to pair each additional controller
Automatic Configuration (Easiest)
Xpad Driver
Starting with the RetroPie 4.1 SD image, the Xpad driver is enabled by default and the following steps are unnecessary.
With the recent kernel issues of xboxdrv rendering images unusable, there is an updated xpad driver which will work just as well for Xbox controllers, it's possible it may also support Xbox One controllers.
You access the driver through Manage Packages >> Manage Driver Packages >> Xpad Driver and you'll install it from source. Reboot for good measure, reconfigure your controllers and the lights should work properly.
A complete working config (that was generated from the EmulationStation configuration) is listed below at /opt/retropie/configs/all/retroarch-joypads/Xbox360WirelessReceiver(XBOX).cfg
Xboxdrv Driver
Note! There are known incompatibilities with this driver when used in it's default configuration with the latest kernel. As such, the xpad drive is currently the best option to simply make an Xbox 360 controller operational in RetroPie.
Wired Xbox 360 Controller Amazon
However, these incompatibilities are not an issue when using xboxdrv as a calibration and key-mapping tool for almost any gamepad, including the Xbox 360 controller. When used this way, it's even possible for both xpad and xboxdrv to coexist together.
Access the RetroPie Setup Script and navigate to Manage Packages >> Manage Driver Packages >> xboxdrv
- Enable xboxdrv: This will install the driver and add a start-up configuration in /etc/rc.local
- Disable xboxdrv: This will disable the driver and remove the start-up configuration in /etc/rc.local
- Set Number of Controllers To Enable: Default number of controllers is 2 (If you have more than two controllers, set this first before you enable xboxdrv)
- Set Analog Stick Deadzone: Smaller number = more responsive, Larger number = less responsive.
- Set dwc_otg.speed=1 in /boot/config.txt: May help if controller is being glitchy.
- Remove dwc_otg.speed=1 from /boot/config.txt: Removes the config.
After you have enabled the driver and rebooted you'll need to reconfigure your controller(s) in EmulationStation as described on the first installation page
Alternatively if you prefer you can manually install it..
Manual Configuration
RetroPie 3.3 contains a newer xboxdrv at /opt/retropie/supplementary/xboxdrv/bin/xboxdrv - which is preferable over the older Debian package. On older RetroPie images you can install the Debian package.
install it by running
Then you must choose one of the 3 methods below
1 - Multiples instances of xboxdrv
You have to launch multiple instances of xboxdrv (one for each controller)
For example we can edit the file /etc/rc.local to start instances of xboxdrv during boot
Here is an example of what to insert in /etc/rc.local for 4 wireless pads (put this just before exit 0):
(replace the --wid
by --id
if you use wired controllers)You must swich-on your pads before booting the raspberry.
Notice the sleep 1
between each instance: this prevents the RPi from setting random controllers with random led status; adjust timing if necessary.
2 - Single command line
Another way is to specify this single command :
3 - init script
Xbox 360 Wired Controller Pc
The third possibility, you can use an init.d script with the daemon -D Option. Save the following content to /etc/init.d/xboxdrv:
sudo chmod +x /etc/init.d/xboxdrv
sudo update-rc.d xboxdrv start 90 2 3 4 5 stop 90 0 1 6
You will also need a default configuration file. Save the following content to /etc/default/xboxdrv:
To specifiy the amount of controller, edit the variable CONTROLLER_NUM. If you have a wired controller, replace all '-w' occurences with '-i'.
It is generally advisable to use the daemon mode, 'cause it uses less CPU and RAM instead of several xboxdrv processes for each controller.
Additional Configuration Information
Xbox 360 controller glitchy?
According to this post it might help to add the line dwc_otg.speed=1
to the file /boot/cmdline.txt
.
Outdated optional manual configs
Xbox 360 Controller button configuration for retroarch and final burn alpha
/home/pi/RetroPie/configs/all/retroarch.cfg
input exit emulator to exit the emulator and return to emulationstation. input menu toggle to show the retroarch menu (e.g. to set the aspect ratio, save/load the game, etc.)
/home/pi/RetroPie/emulators/pifba/fba2x.cfg
(or /opt/retropie/emulators/pifba/fba2x.cfg
in some versions)
Up until now, I didn't figure out how to change the configuration from the analog sticks to the digipad. To exit the emulator, press START and SELECT together.
Alternate Controller Configurations
This is what makes the Xbox 360 controller the best for this project.
Copy necessary files: First, copy the files above to your pi. (Remove the .txt extension first of course.) I placed them in /usr/local/ but they could go anywhere.
Edit rc.local: Next, you need to edit rc.local so that xboxdrv uses the config files. There a few different possibilities depending on how you are instantiating xboxdrv, so be careful.
2a. If you have this line:
change it to this:
2b. If you have this line (generated by the xboxdrv install from retropie_setup.sh):
change it to this:
2c. Or, if you are using separate lines like this:
Edit them so that they look like this:
File Permissions: The very last step is to make the .cfg files executable. So run these commands, changing them to reflect the location you placed the .cfg files.
Xbox 360 Controller Driver For Mac
Now, whenever you press the Xbox (guide) button on either controller 1 or 2, it will change the control scheme. For player 1, the controller starts up in normal mode. Hitting the Xbox button will change to player1.cfg. Hitting it again will enable mouse emulation. One more time will bring back normal operation. Controller 2 cycles between normal operation and player2.cfg. Controllers 3 and 4 are unaffected.
Here's a little explanation of xboxdrv_player1.cfg (player2 is similar):
The Xbox 360 console software is updated periodically with new features. If you're having one of the following problems, updating your console software might fix the problem:
- Dashboard themes don't appear.
- Avatars are missing.
- The Kinect sensor doesn't work (flashing green or red sensor light).
Note: The version of the console software available here is from 12 December, 2013.
Burn to a CD or DVD
You can update your Xbox 360 console software by downloading the update to your computer from Xbox.com, burning the update to a CD or DVD, and then installing the update on your console. Here's how:
- On your computer, download the update file.
- Click Save to save the console update .zip file on your computer.
- Unzip the file. If you are using Windows XP, Windows Vista, or Windows 7, double-click the .zip file to unzip it.
- If you are using Windows XP, Windows Vista, or Windows 7, double-click the .zip file to unzip it.
- If you are using an earlier version of Windows, you need to use a special software program to unzip the file (for example, WinZip).
- Insert a blank, writeable CD or DVD into your computer.
- Copy the contents of the .zip file to the root directory on your CD or DVD, and choose to write (burn) the files to the disc.
- Once the files have been burned to disc, remove that disc from your computer and insert it into the disc drive on your Xbox 360 console.
- Restart the console.
- When the console restarts, the installation program starts automatically. Select Yes when you are prompted to update the new console software.
- September 21, 2015
- Windows (all)
- 66,710 downloads
- 111 MB
- June 5, 2014
- Windows 7 / 8 64-bit
- 744,452 downloads
- 2.8 MB
- June 5, 2014
- Windows 7 / 8
- 58,151 downloads
- 2.3 MB
- January 9, 2011
- Windows 7 64-bit
- 516,691 downloads
- 7.5 MB
- January 9, 2009
- Windows 7
- 21,837 downloads
- 17.9 MB
- December 7, 2012
- Windows XP 64-bit
- 6,148 downloads
- 18.3 MB
- October 24, 2012
- Windows (all)
- 6,076 downloads
- 108.0 MB
- January 9, 2011
- Windows XP
- 66,559 downloads
- 7.1 MB
- January 9, 2011
- Windows 7
- 69,793 downloads
- 7.6 MB