So for linux (and pc use in general) would you all recommend the ps3 sixaxis or the xbox360 controller?
Announcement
Collapse
No announcement yet.
Anybody knows if the Dual Shock 3 or the PS3 Sisaxis works in Linux?
Collapse
X
-
Originally posted by xav1r View PostSo for linux (and pc use in general) would you all recommend the ps3 sixaxis or the xbox360 controller?
If you're only playing analog direction input games, the xb360 pad is still a good option because of the position of the left analog. It's mostly a matter of preference, try to test both and take the one that feels the best (you just need to try the xb360 pad, since it's hard to imagine you never ever got a PS pad in your hands ).
Comment
-
Originally posted by xav1r View PostSo for linux (and pc use in general) would you all recommend the ps3 sixaxis or the xbox360 controller?
Comment
-
Originally posted by broccoliSeeing as the non-dual shock version is hard to come by I was wondering if you (or anybody else?) have tried the DS3 with Bluetooth? Bluetooth functionality really is the deal breaker for me.
I am doing all work on a Debian/Sid machine, so pretty recent software.
Unfortunately there seems to be little information available on the 'Net about the topic (it's still a relatively new product in the EU/US so this may have something to do with it)...
Anyway, I found out these three sites:
Of course, there is also this link to a forum catering to "other" operating systems, although one can find some interesting information there (funny how they use a lot of FOSS software to get the thing going in xp)...
Well, all that being said, I managed to do the following (mostly with help from the pabr.org site):
1. On USB, the controller works pretty decent -- it registers as /dev/input/js0, and any game that is joystick-aware can use it. I also ran into the duplicated-button-press issue, which I believe is due to the fact that each button actually is not only a button but an axis as well -- if you noticed in the logs, the thing has 28 (!) axis, actually that's 6 real ones and the rest are buttons (and some not used). The PS3 games can actually use the buttons in analog mode (for example, pressing on "UP" can accelerate a car depending on the pressure applied) and not just digital on/off switches like normal PC pads. This is kinda cool and useful, however linux games (or perhaps the driver?) are not prepared to deal with it properly. The solution I found was to use either:
a) joy2key (it's in the repositories for Debian/Ubuntu, otherwise go to http://interreality.org/~tetron/technology/joy2key/ ), or
b) jkeys from https://jkeys.googlecode.com/
Both have advantages and disadvantages, but they serve well to actually convert the joystick actions into keypresses, excellent for games/emulators that don't work well in the default way. I was able to play frozen-bubble, xfuse-sdl and xmame games quite well.
I also tried the xsixhidtest.c program from pabr.org, and it's very impressive... now if we could only get that info via the driver somewhat... still *very* fun for testing.
2. On Bluetooth, things aren't as rosy... I managed to get the device to connect (using sixpair.c from the same place), I get the
Code:[36627.996624] input: Sony Computer Entertainment Wireless Controller as /class/input/input19
Interestingly enough, by using hcidump I can actually "see" the button presses and axis movement being registered... so they *are* sent to the computer quite nicely, they just don't arrive at the joystick driver. I also couldn't find a way to access the hidraw device via bluetooth (it seems none is created?)
Other than this, there is some talk on the above links about configuring an X input driver for the joypad, however I haven't had time to try that yet. If anyone else has, please share your experience...
UPDATE: I got some spare time to play more with this, and I configured X.Org according to https://help.ubuntu.com/community/Sixaxis... The good news is that is works wonderfully (with the stock 1.3.2 driver available on lenny/sid) and it provides for a much cleaner experience than the joy2key and jkeys kludges. Basically the joypad appears as a keyboard/mouse combo to X, and it's events become X events. By default, the left thumb-stick controls the mouse + click, the right one controls scrolling + rightclick and some buttons have bindings like Return/BackSpace/Escape. You can reconfigure everything up to acceleration and repeat rate, all except the X/Y Rotation axis (the gravity-controlled ones). It would obviously be wonderful if all this worked via Bluetooth Anyway, there is one snag I've found so far: in kdm the keybindings are as I've configured them in xorg.conf... however, as soon as KDE loads, they are changed to numbers from 0-9, signs, etc... Anyone have any idea why this is happening?
Best regardsLast edited by mgc8; 03 October 2008, 07:11 PM.
Comment
-
Originally posted by mgc8 View PostIt would obviously be wonderful if all this worked via Bluetooth
Once I did that (i.e. run the patched hidd instead of the distro one) everything works perfectly even in Bluetooth mode! That means all I said above still holds, but with wireless freedom
To summarise:
- once the correct patches are applied, the DualShock3 gamepad works perfectly in Linux as a joystick and even as a mouse/keyboard combo for X.Org
- you can run it either via USB (straightforward) or via bluetooth (recompilation required)
- with a good BT dongle (I've got a 2.0, class 1) you can even use the gamepad through walls -- I've tested this and it works at least up to 10m and through one masonry wall therefore it doubles as a radio remote for your HTPC; the buttons can be reassigned easily in xorg.conf, providing convenient control of any multimedia application
- it works wonderfully with MAME (use sdlmame, it's the best right now) and FUSE (I used xfuse-sdl).
What doesn't yet work:
1. Gyro/Accelerometer axis. They are sent correctly to the HID layer, but the joystick driver is unable to interpret them. You need to use a hidraw device (with a patch for bluetooth) in order to get the values, but once there a lot of interesting possibilities emerge
2. Vibration (in the case of the DualShock, the vanilla SixAxis doesn't have any) -- not extraordinarily important, but still a missing feature which could be useful in combination with gyro control -- think force feedback when the virtual object that's being controlled viers off-course or is about to crash.
3. Leds -- they blink continuosly once the device is connected, instead of lighting up only the correct one (1 for /dev/input/js0, 2 for js1 etc.)
There is one other issue, although it's not a shortcoming of either Linux or the gamepad -- many applications are not prepared to deal with the combined analog/digital buttons of this gamepad. While they offer a lot of possibilities, the extra functionality can be a burden for simple games like frozen-bubble (where you can't redefine controls properly). Solutions exist: sdlMAME for example has a special mode for the Sixaxis, while for the others one can use the button-keybindings setup in xorg.conf.
Well, that about covers it. Now I'll go back to some quality time-wasting MAME styleLast edited by mgc8; 06 October 2008, 06:32 PM.
Comment
-
Originally posted by tuppe666 View PostAny update to this! It seems borked in karmic. I would have thought the above issues would have improved by now.
Comment
-
Originally posted by Raider0001 View PostPS3 pad with linux is useless
Comment
Comment