I'm trying to use my PS3 controller over USB. I've ran into a host of problems and I'm extremely frustrated at this. I'm using xboxdrv and nothing is happening. The system is recognizing there is a controller attached. I get the following when I'm running it with detach-kernel-driver.
Controller: PLAYSTATION(R)3 Controller
Vendor/Product: 054c:0268
USB Path: 001:028
Controller Type: Playstation 3 USB
Starting without uinput
Your Xbox/Xbox360 controller should now be available as: /dev/input/js0 /dev/input/event4
Press Ctrl-c to quit, use '--silent' to suppress the event outputNothing happens when I'm using the controller. I press the PS button before I run xboxdrv, and the controller skips a blink and continues blinking.
I'm running Elementary OS, which is Ubuntu 12.04. I found that there was a kernel issue with supporting the PS3 controller so I installed the latest Kernel (3.14). I thought this would solve the issue but nothing.
I tried running the controller over Bluetooth, but I'm also having issues with it. This is due to the on-board bluetooth also not being supported by the kernel, and it is conflicting with a Bluetooth USB dongle that I got.
The is a perfect fake of the PS one. I asked another person that bought it and he said it worked perfectly with his PS3. I don't think this is the issue plaguing me. I will try and get an original one to try it out. I also ran Ubuntu 14.04 in virtual machine, and nothing as well.
Up for suggestions and help!
2 Answers
Chances are fairly high that the kernel version of Elementary OS is out-of-date. Updating to a more stable version of Ubuntu, such as 14.04, would be advisable. Once you've done that, have a look at the recommendations provided by Game Imps. They suggest running the xboxdrv command as such:
sudo xboxdrv --detach-kernel-driverIf this does not work, try removing your Bluetooth dongle and utilizing bluez with the 14.04 installation's kernel installed.
Your other, more costly, option, is to purchase a controller that supports Linux natively, such as the Logitech F710. This controller has out-of-the-box wireless support for most Linux distros, especially Ubuntu distributions, as it pairs not with Bluetooth, but with a dedicated USB 2.0 dongle (included with the controller).
This worked for me:
- Press the Playstation button on the controller
- Plug controller in via USB
- Pair with bluetooth whilst USB is plugged in
- Start
xboxdrvwhilst USB is plugged in - Unplug USB whilst
xboxdrvis running
I know it seems weird, but it's the only way it worked for me.
Also, the buttons change when on bluetooth, so run evtest and find what the /dev/input/event__ is for your controller. Then edit this to include the correct /dev/input/event__ and run it:
sudo xboxdrv --evdev /dev/input/event__ KEY_#300=y,KEY_#302=a,KEY_#301=b,BTN_DEAD=x,BTN_TOP=start,BTN_TRIGGER=back,KEY_#704=guide,BTN_BASE6=rb,BTN_BASE5=lb,BTN_TOP2=du,BTN_BASE2=dl,BTN_BASE=dd,BTN_PINKIE=dr,BTN_THUMB=tl,BTN_THUMB2=tr --evdev-absmap ABS_#49=rt,ABS_#48=lt,ABS_X=x1,ABS_Y=y1,ABS_Z=x2,ABS_RZ=y2 --axismap -Y1=Y1,-Y2=Y2 --calibration RT=0:127:255,LT=0:127:255 --mimic-xpad-wireless