In the midst of post-release bug fixing, we've also added a fair number of new features to our stack. As usual, new features span a number of different components, so integrators will have to be careful picking up all the components when, well, integrating.
PS3 clones joypads support
Do you have a PlayStation 3 joypad that feels just a little bit "off"? You can't find the Sony logo anywhere on it? The figures on the face buttons look like barbed wire? And if it were a YouTube video, it would say "No copyright intended"?
Bingo. When plugged in via USB, those devices advertise themselves as SHANWAN or Gasia, and implement the bare minimum to work when plugged into a PlayStation 3 console. But as a Linux computer would behave slightly differently, we need to fix a couple of things.
The first fix was simple, but necessary to be able to do any work: disable the rumble motor that starts as soon as you plug the pad through USB.
Once that's done, we could work around the fact that the device isn't Bluetooth compliant, and hard-code the HID service it's supposed to offer.
Bluetooth LE Battery reporting
Bluetooth Low Energy is the new-fangled (7-year old) protocol for low throughput devices, from a single coin-cell powered sensor, to input devices. What's great is that there's finally a standardised way for devices to export their battery statuses. I've added support for this in BlueZ, which UPower then picks up for desktop integration goodness.
There are a number of Bluetooth LE joypads available for pickup, including a few that should be firmware upgradeable. Look for "Bluetooth 4" as well as "Bluetooth LE" when doing your holiday shopping.
gnome-bluetooth work
Finally, this is the boring part. Benjamin and I reworked code that's internal to gnome-bluetooth, as used in the Settings panel as well as the Shell, to make it use modern facilities like GDBusObjectManager. The overall effect of this is, less code, less brittle and more reactive when Bluetooth adapters come and go, such as when using airplane mode.
Apart from the kernel patch mentioned above (you'll know if you need it :), those features have been integrated in UPower 0.99.7 and in the upcoming BlueZ 5.48. And they will of course be available in Fedora, both in rawhide and as updates to Fedora 27 as soon as the releases have been done and built.
GG!
Showing posts with label ps3. Show all posts
Showing posts with label ps3. Show all posts
Friday, 15 December 2017
Wednesday, 20 September 2017
Bluetooth on Fedora: joypads and (more) security
It's been a while since I posted about Fedora specific Bluetooth enhancements, and even longer that I posted about PlayStation controllers support.
Let's start with the nice feature.
Dual-Shock 3 and 4 support
We've had support for Dual-Shock 3 (aka Sixaxis, aka PlayStation 3 controllers) for a long while, but I've added a long-standing patchset to the Fedora packages that changes the way devices are setup.
The old way was: plug in your joypad via USB, disconnect it, and press the "P" button on the pad. At this point, and since GNOME 3.12, you would have needed the Bluetooth Settings panel opened for a question to pop up about whether the joypad can connect.
This is broken in a number of ways. If you were trying to just charge the joypad, then it would forget its original "console" and you would need to plug it in again. If you didn't have the Bluetooth panel opened when trying to use it wirelessly, then it just wouldn't have worked.
Set up is now simpler. Open the Bluetooth panel, plug in your device, and answer the question. You just want to charge it? Dismiss the query, or simply don't open the Bluetooth panel, it'll work dandily and won't overwrite the joypad's settings.
And finally, we also made sure that it works with PlayStation 4 controllers.
Note that the PlayStation 4 controller has a button combination that allows it to be visible and pairable, except that if the device trying to connect with it doesn't behave in a particular way (probably the same way the 25€ RRP USB adapter does), it just wouldn't work. And it didn't work for me on a number of different devices.
Cable pairing for the win!
And the boring stuff
Hey, do you know what happened last week? There was a security problem in a package that I glance at sideways sometimes! Yes. Again.
A good way to minimise the problems caused by problems like this one is to lock the program down. In much the same way that you'd want to restrict thumbnailers, or even end-user applications, we can forbid certain functionality from being available when launched via systemd.
We've finally done this in recent fprintd and iio-sensor-proxy upstream releases, as well as for bluez in Fedora Rawhide. If testing goes well, we will integrate this in Fedora 27.
Let's start with the nice feature.
Dual-Shock 3 and 4 support
We've had support for Dual-Shock 3 (aka Sixaxis, aka PlayStation 3 controllers) for a long while, but I've added a long-standing patchset to the Fedora packages that changes the way devices are setup.
The old way was: plug in your joypad via USB, disconnect it, and press the "P" button on the pad. At this point, and since GNOME 3.12, you would have needed the Bluetooth Settings panel opened for a question to pop up about whether the joypad can connect.
This is broken in a number of ways. If you were trying to just charge the joypad, then it would forget its original "console" and you would need to plug it in again. If you didn't have the Bluetooth panel opened when trying to use it wirelessly, then it just wouldn't have worked.
Set up is now simpler. Open the Bluetooth panel, plug in your device, and answer the question. You just want to charge it? Dismiss the query, or simply don't open the Bluetooth panel, it'll work dandily and won't overwrite the joypad's settings.
And finally, we also made sure that it works with PlayStation 4 controllers.
Note that the PlayStation 4 controller has a button combination that allows it to be visible and pairable, except that if the device trying to connect with it doesn't behave in a particular way (probably the same way the 25€ RRP USB adapter does), it just wouldn't work. And it didn't work for me on a number of different devices.
Cable pairing for the win!
And the boring stuff
Hey, do you know what happened last week? There was a security problem in a package that I glance at sideways sometimes! Yes. Again.
A good way to minimise the problems caused by problems like this one is to lock the program down. In much the same way that you'd want to restrict thumbnailers, or even end-user applications, we can forbid certain functionality from being available when launched via systemd.
We've finally done this in recent fprintd and iio-sensor-proxy upstream releases, as well as for bluez in Fedora Rawhide. If testing goes well, we will integrate this in Fedora 27.
Thursday, 6 July 2017
Gaming hardware support
While my colleagues are working on mice that shine in all kinds of different colours, I went towards the old school.
For around 10 units of currency, you should be able to find the uDraw tablet for the PlayStation 3, the drawing tablet that brought down a company.
The device contains a large touchpad which can report one or two touches, for right-clicking (as long as the fingers aren't too close), a pen interface which will make the cheapest of the cheapest Wacom tablets feel like a professional tool from 30 years in the future, a 4-button joypad (plus Start/Select/PS) with the controls either side of the device, and an accelerometer to play Marble Madness with.
The driver landed in kernel 4.10. Note that it only supports the PlayStation 3 version of the tablet, as the Wii and XBox 360 versions require receivers that aren't part of the package. Here, a USB dongle should be provided.
Recommended for: point'n'click adventure games, set-top box menu navigation.
The second driver landed in kernel 4.12, and is a primer for more work to be done. This driver adds support for the Retrode 2's joypad adapters.
The Retrode is a USB console cartridge reader which makes Sega Mega Drive (aka Genesis) and Super Nintendo (aka Super Famicom) cartridges show up as files on a mass storage devices in your computer.
It also has 4 connectors for original joypads which the aforementioned driver now splits up and labels, so you know which is which, as well as making the mouse work out of the box. I'd still recommend picking up the newer optical model of that mouse, from Hyperkin. Moving a mouse with a ball in it is like weighing a mobile phone from that same era.
I will let you inspect the add-ons for the device, like support for additional Nintendo 64 pads and cartridges, and Game Boy/GB Color/GB Advance, and Sega Master System adapters.
Recommended for: cartridge-based retro games, obviously.
Integrated firmware updates, and better integration with Games is in the plans.
I'll leave you with this video, which shows how you could combine GNOME Games, a Retrode, this driver, a SNES mouse, and a cartridge of Mario Paint. Let's get creative :)
For around 10 units of currency, you should be able to find the uDraw tablet for the PlayStation 3, the drawing tablet that brought down a company.
The device contains a large touchpad which can report one or two touches, for right-clicking (as long as the fingers aren't too close), a pen interface which will make the cheapest of the cheapest Wacom tablets feel like a professional tool from 30 years in the future, a 4-button joypad (plus Start/Select/PS) with the controls either side of the device, and an accelerometer to play Marble Madness with.
The driver landed in kernel 4.10. Note that it only supports the PlayStation 3 version of the tablet, as the Wii and XBox 360 versions require receivers that aren't part of the package. Here, a USB dongle should be provided.
Recommended for: point'n'click adventure games, set-top box menu navigation.
The second driver landed in kernel 4.12, and is a primer for more work to be done. This driver adds support for the Retrode 2's joypad adapters.
The Retrode is a USB console cartridge reader which makes Sega Mega Drive (aka Genesis) and Super Nintendo (aka Super Famicom) cartridges show up as files on a mass storage devices in your computer.
It also has 4 connectors for original joypads which the aforementioned driver now splits up and labels, so you know which is which, as well as making the mouse work out of the box. I'd still recommend picking up the newer optical model of that mouse, from Hyperkin. Moving a mouse with a ball in it is like weighing a mobile phone from that same era.
I will let you inspect the add-ons for the device, like support for additional Nintendo 64 pads and cartridges, and Game Boy/GB Color/GB Advance, and Sega Master System adapters.
Recommended for: cartridge-based retro games, obviously.
Integrated firmware updates, and better integration with Games is in the plans.
I'll leave you with this video, which shows how you could combine GNOME Games, a Retrode, this driver, a SNES mouse, and a cartridge of Mario Paint. Let's get creative :)
Friday, 22 May 2009
Sixaxis support in BlueZ
Getting the Sixaxis PlayStation 3 joypad to work with Linux (in Bluetooth mode) is a bit of a pain. There were my various attempts at cleaning up the code lying around on the Internet, and hacks involving hidd.
The way to set the pad up in Bluetooth mode is fairly straight forward:
First up, detecting the device being plugged in. I wanted to use DeviceKit's GObject helper library, but it uses the D-Bus DeviceKit daemon which will be going away (note, this is just the DeviceKit daemon itself, not the -power, or -disks "sub"-daemons), in favour of libudev usage.
So I ported devkit-gobject to use libudev directly. Patch is currently being reviewed (it's in DavidZ's inbox), and it should show up soon in udev-extras under a different namespace.
After a bit of work, I had a bluetoothd plugin that detected PS3 pads being plugged in, and did the necessary work to make bluetoothd recognise it on plug.

Next, finishing up the libudev GObject helper library, and getting the bluetoothd plugin reviewed. And it would be nice to finally get the extra functionality merged into a hid driver in the kernel.
PS: Any info on the PS3 Headset or the keypad?
The way to set the pad up in Bluetooth mode is fairly straight forward:
- Open the USB device
- Get the device's Bluetooth address through magic USB commands
- Write your Bluetooth adapter's address in the pad (magic USB commands again), and then give the device back to the USB HID driver, so that it works as a pad through USB.
- Set up the internals of bluetoothd so it recognises the device, and allows it to connect to your computer
- When the device connects through Bluetooth, poke at it with magic commands again to enable its HID mode (code is already in bluetoothd's input plugin)
First up, detecting the device being plugged in. I wanted to use DeviceKit's GObject helper library, but it uses the D-Bus DeviceKit daemon which will be going away (note, this is just the DeviceKit daemon itself, not the -power, or -disks "sub"-daemons), in favour of libudev usage.
So I ported devkit-gobject to use libudev directly. Patch is currently being reviewed (it's in DavidZ's inbox), and it should show up soon in udev-extras under a different namespace.
After a bit of work, I had a bluetoothd plugin that detected PS3 pads being plugged in, and did the necessary work to make bluetoothd recognise it on plug.

Next, finishing up the libudev GObject helper library, and getting the bluetoothd plugin reviewed. And it would be nice to finally get the extra functionality merged into a hid driver in the kernel.
PS: Any info on the PS3 Headset or the keypad?
Saturday, 4 October 2008
FIFA '09 clubbing
If you're playing FIFA '09 on the PS3, join the club! It's called "FreeFA", the shortname is "FFA".
Friday, 7 December 2007
Remix your brain
Yesterday, I was trying to help out someone who was having problems using his Bluetooth mouse with Fedora 8. Turns out he's got a Toshiba laptop, and the Bluetooth adapter wasn't showing in Linux. You need some sucky code to get it working.
Hobbling to the ToshBT website, I noticed a PS3 theme extractor. Grand!
In between cleaning up my backlog of bugs and TODOs, I implemented setting your ~/.face as the icon for Rhythmbox' UPNP shares.

PS: Best pangram ever: Sex-charged fop blew my junk TV quiz
Hobbling to the ToshBT website, I noticed a PS3 theme extractor. Grand!
In between cleaning up my backlog of bugs and TODOs, I implemented setting your ~/.face as the icon for Rhythmbox' UPNP shares.
PS: Best pangram ever: Sex-charged fop blew my junk TV quiz
Saturday, 1 December 2007
Friday, 30 November 2007
Of old age and diseases
Old age...
After doing my ankle about 6 weeks ago (trying to be all youthful rollerblading in Hyde Park), I thought I'd knackered my back on Tuesday. Turns out it was probably a knock, or a bit of muscle tenderness as it seems to have died down on its own after 2 days. When is science giving me new body parts then?
I also did my birthday dinner in London, in advance, with Mr. Burtonini, and he's feeling the old age just as well as I am: he didn't know the young band I got him a mixtape of, despite them being in the Guardian's guide 6 months ago. And it's all MP3s on there, no crummy DRM'ed audio formats.
...and diseases
Thanks to the Italian man mentioned above and his lovely (and young!) wife, I caught Ninja Gaidenitis. The game is hard as hell, but sometimes I'm a dumbass, which makes the adventure parts a bit trickier. I remember when it was just a bad Shinobi on the SMS.

I'm at level 3 after a week of play, in contrast to the great, but too easy, Ratchet and Clank which I finished in 4 days (that's not continuous gameplay by the way).
Update: My local team beats your new-age web-based communist/capitalist idea of a football team's butt.
After doing my ankle about 6 weeks ago (trying to be all youthful rollerblading in Hyde Park), I thought I'd knackered my back on Tuesday. Turns out it was probably a knock, or a bit of muscle tenderness as it seems to have died down on its own after 2 days. When is science giving me new body parts then?
I also did my birthday dinner in London, in advance, with Mr. Burtonini, and he's feeling the old age just as well as I am: he didn't know the young band I got him a mixtape of, despite them being in the Guardian's guide 6 months ago. And it's all MP3s on there, no crummy DRM'ed audio formats.
...and diseases
Thanks to the Italian man mentioned above and his lovely (and young!) wife, I caught Ninja Gaidenitis. The game is hard as hell, but sometimes I'm a dumbass, which makes the adventure parts a bit trickier. I remember when it was just a bad Shinobi on the SMS.

I'm at level 3 after a week of play, in contrast to the great, but too easy, Ratchet and Clank which I finished in 4 days (that's not continuous gameplay by the way).
Update: My local team beats your new-age web-based communist/capitalist idea of a football team's butt.
Labels:
defective bodyparts,
ebbsfleet united,
hadouken,
ninja gaiden,
old age,
ps3,
ratchet and clank,
shinobi,
woking
Wednesday, 21 November 2007
Le Tango PS3 theme
The nice people at ps3-themes.org have updated their copy of the Tango theme to link to this blog, and credit me properly (thanks Jason).
I'm not too fussed about being credited as it's mostly work by the Tango artists (special mention to Jakub and Ulisse for the Sony hardware related icons) appearing (took me 2 evenings to do, still), but rather the fact that people don't get the whole story going to a resource website like that one.
No updates, no copyright information, no links to sources.
FYI, the source code is:
I'm not too fussed about being credited as it's mostly work by the Tango artists (special mention to Jakub and Ulisse for the Sony hardware related icons) appearing (took me 2 evenings to do, still), but rather the fact that people don't get the whole story going to a resource website like that one.
No updates, no copyright information, no links to sources.
FYI, the source code is:
- Under the GPL for icons copied from gnome-icon-theme-extras and gnome-icon-theme, as well as the background derived from gnome-backgrounds
- Creative Commons Attribution-ShareAlike 2.5 License for the icons copied from tango-icon-theme and tango-icon-theme-extras
- Composite icons are under the most restrictive license of the icons used as sources
- The left-over icons are under whichever license Sony released their sample theme (unused in the final theme)
Thursday, 15 November 2007
Tango PS3 Theme
Sony recently released a tool that goes along with the 2.00 firmware for the PS3, allowing users to create and set themes. Despite the original application being written in Python (you can see that by not passing any arguments to the application, and seeing that they forgot to check for the length of the ARGV before trying to poke at it), the converter to their home-grown image format (GIM) isn't written in that language. A wine install and a couple of DLLs later, I can run the tool on the sample theme.
It's been done before on the PSP. So here's my take on the Tango icon theme for the PS3:

Kudos to the Tango artists for their nice looking icons, and particularly Jakub who provided me with some icons that weren't readily available. Sources are here. It's still missing a few icons, can't say the theme format is well documented...
It's been done before on the PSP. So here's my take on the Tango icon theme for the PS3:

Kudos to the Tango artists for their nice looking icons, and particularly Jakub who provided me with some icons that weren't readily available. Sources are here. It's still missing a few icons, can't say the theme format is well documented...
Friday, 5 October 2007
Hmmm, networking multimedia
After working around (read: that's not a proper fix) some stupidness in MythTV's frontend, my DVB-T experience just got a lot better, as I can finally watch the stuff I record. That includes recording all the Match Of The Day shows (just in case), as well as the kinky Secret Diary Of A Callgirl.
After switching the Mac Mini to wired, the network is fast enough for the MythTV sources in GStreamer to stream to Totem, as well as streaming via UPNP to the PS3. The UPNP framework in MythTV doesn't export a lot of the things it could, such as a thumbnail, the length of the movie, etc.
Just like chpe, I've been getting increasingly frustrated at the Web going to Flash Video for streaming, instead of sticking to the embedded movie player. I guess that targetting one platform (Flash) as opposed to the big three (WMP, Real and Quicktime), is a boon for Web developers. And that's how EA pushes the online replays from FIFA.
And to the PS3 again, with Frank's help, I've fixed up Rhythmbox' UPNP source.
So, on the TODO list:
After switching the Mac Mini to wired, the network is fast enough for the MythTV sources in GStreamer to stream to Totem, as well as streaming via UPNP to the PS3. The UPNP framework in MythTV doesn't export a lot of the things it could, such as a thumbnail, the length of the movie, etc.
Just like chpe, I've been getting increasingly frustrated at the Web going to Flash Video for streaming, instead of sticking to the embedded movie player. I guess that targetting one platform (Flash) as opposed to the big three (WMP, Real and Quicktime), is a boon for Web developers. And that's how EA pushes the online replays from FIFA.
And to the PS3 again, with Frank's help, I've fixed up Rhythmbox' UPNP source.
So, on the TODO list:
- Better UPNP in Rhythmbox
- Finishing MythTV support in Totem
- More work on the browser plugin
Saturday, 29 September 2007
Simple additions

I got my copy of FIFA08 this morning, and I'm having plenty of fun. The gameplay is much less robotic, and pretty flowing once you get used to it, the online play doesn't lag on bit (unlike the mode tacked on the FIFA07 PS2 version). PES fanatics should try it before they knock it. For music lovers, the EA Trax include stuff like Yonderboi, Travis, CSS. I particularly like The Hoosiers and Wir sind Helden. The Play like a Pro mode, where you play a single player in a game is also quite something. Get sick like in an FPS when the screen starts shaking and your view narrowing when you're sprinting the ball at your feet.
I've been playing with the rest of the PS3 as well. Rhythmbox' UPNP plugin doesn't work yet, seems to be something related to the way Coherence sets up its mainloop, but I've been able to play a few recordings direct from my MythTV machine (although the MPEG-2 decoder of the PS3 seems to be sub-par for slightly broken streams).
I'm hadessuk on there, if you fancy a game of FIFA, or a conversation typed at the speed of a tortoise.
Subscribe to:
Posts (Atom)




