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.
Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts
Wednesday, 20 September 2017
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, 13 May 2016
Blutella, a Bluetooth speaker receiver
Quite some time ago, I was asked for a way to use the AV amplifier (which has a fair bunch of speakers connected to it) in our living-room that didn't require turning on the TV to choose a source.
I decided to try and solve this problem myself, as an exercise rather than a cost saving measure (there are good-quality Bluetooth receivers available for between 15 and 20€).
Introducing Blutella
I found this pot of Nutella in my travels (in Europe, smaller quantities are usually in a jar that looks like a mustard glass, with straight sides) and thought it would be a perfect receptacle for a CHIP, to allow streaming via Bluetooth to the amp. I wanted to make a nice how-to for you, dear reader, but best laid plans...
First, the materials:
That's around 10€ in parts (cables always seem to be expensive), not including our salvaged Nutella jar, and the CHIP itself (9$ + shipping).
You'll start by painting the whole of the jar, on the inside, with the acrylic paint. Allow a couple of days to dry, it'll be quite thick.
So, the plan that went awry. Turns out that the CHIP, with the cables plugged in, doesn't fit inside this 140g jar of Nutella. I also didn't make the holes exactly in the right place. The CHIP is tiny, but not small enough to rotate inside the jar without hitting the side, and the groove to screw the cap also have only one position.
Anyway, I pierced two holes in the lid for the audio jack and the USB charging cable, stuffed the CHIP inside, and forced the lid on so it clipped on the jar's groove.
I had nice photos with foam I cut to hold the CHIP in place, but the finish isn't quite up to my standards. I guess that means I can attempt this again with a bigger jar ;)
The software
After flashing the CHIP with Debian, I logged in, and launched a script which I put together to avoid either long how-tos, or errors when I tried to reproduce the setup after a firmware update and reset.
The script for setting things up is in the CHIP-bluetooth-speaker repository. There are a few bugs due to drivers, and lack of integration, but this blog is the wrong place to track them, so check out the issues list.
Apart from those driver problems, I found the integration between PulseAudio and BlueZ pretty impressive, though I wish there was a way for the speaker to reconnect to the phone I streamed from when turned on again, as Bluetooth speakers and headsets do, removing one step from playing back audio.
I decided to try and solve this problem myself, as an exercise rather than a cost saving measure (there are good-quality Bluetooth receivers available for between 15 and 20€).
Introducing Blutella
I found this pot of Nutella in my travels (in Europe, smaller quantities are usually in a jar that looks like a mustard glass, with straight sides) and thought it would be a perfect receptacle for a CHIP, to allow streaming via Bluetooth to the amp. I wanted to make a nice how-to for you, dear reader, but best laid plans...
First, the materials:
- a CHIP
- jar of Nutella, and "Burnt umber" acrylic paint
- micro-USB to USB-A and jack 3.5mm to RCA cables
- Some white Sugru, for a nice finish around the cables
- bit of foam, a Stanley knife, a CD marker
That's around 10€ in parts (cables always seem to be expensive), not including our salvaged Nutella jar, and the CHIP itself (9$ + shipping).
You'll start by painting the whole of the jar, on the inside, with the acrylic paint. Allow a couple of days to dry, it'll be quite thick.
So, the plan that went awry. Turns out that the CHIP, with the cables plugged in, doesn't fit inside this 140g jar of Nutella. I also didn't make the holes exactly in the right place. The CHIP is tiny, but not small enough to rotate inside the jar without hitting the side, and the groove to screw the cap also have only one position.
Anyway, I pierced two holes in the lid for the audio jack and the USB charging cable, stuffed the CHIP inside, and forced the lid on so it clipped on the jar's groove.
I had nice photos with foam I cut to hold the CHIP in place, but the finish isn't quite up to my standards. I guess that means I can attempt this again with a bigger jar ;)
The software
After flashing the CHIP with Debian, I logged in, and launched a script which I put together to avoid either long how-tos, or errors when I tried to reproduce the setup after a firmware update and reset.
The script for setting things up is in the CHIP-bluetooth-speaker repository. There are a few bugs due to drivers, and lack of integration, but this blog is the wrong place to track them, so check out the issues list.
Apart from those driver problems, I found the integration between PulseAudio and BlueZ pretty impressive, though I wish there was a way for the speaker to reconnect to the phone I streamed from when turned on again, as Bluetooth speakers and headsets do, removing one step from playing back audio.
Thursday, 18 September 2014
And now for some hardware (Onda v975w)
Prodded by Adam Williamson's fedlet work, and by my inability to getting an Android phone to display anything, I bought an x86 tablet.
At first, I was more interested in buying a brand-name one, such as the Dell Venue 8 Pro Adam has, or the Lenovo Miix 2 that Benjamin Tissoires doesn't seem to get enough time to hack on. But all those tablets are around 300€ at most retailers around, and have a smaller 7 or 8-inch screen.
So I bought a "not exported out of China" tablet, the 10" Onda v975w. The prospect of getting a no-name tablet scared me a little. Would it be as "good" (read bad) as a PadMini or an Action Pad?
Well, the hardware's pretty decent, and feels rather solid. There's a small amount of light leakage on the side of the touchscreen, but not something too noticeable. I wish it had a button on the bezel to mimick the Windows button on some other tablets, but the edge gestures should replace it nicely.
The screen is pretty gorgeous and its high DPI triggers the eponymous mode in GNOME.
With help of various folks (Larry Finger, and the aforementioned Benjamin and Adam), I got the tablet to a state where I could use it to replace my force-obsoleted iPad 1 to read comic books.
I've put up a wiki page with the status of hardware/kernel support. It's doesn't contain all my notes just yet (sound is working, touchscreen will work very very soon, and various "basic" features are being worked on).
I'll be putting up the fixed-up Wi-Fi driver and more instructions about installation on the Wiki page.
And if you want to make the jump, the tablets are available at $150 plus postage from Aliexpress.
Update: On Google+ and in comments of this blog, it was pointed out that the seller on Aliexpress was trying to scam people. All my apologies, I just selected the cheapest from this website. I personally bought it on Amazon.fr using NewTec24 FR as the vendor.
At first, I was more interested in buying a brand-name one, such as the Dell Venue 8 Pro Adam has, or the Lenovo Miix 2 that Benjamin Tissoires doesn't seem to get enough time to hack on. But all those tablets are around 300€ at most retailers around, and have a smaller 7 or 8-inch screen.
So I bought a "not exported out of China" tablet, the 10" Onda v975w. The prospect of getting a no-name tablet scared me a little. Would it be as "good" (read bad) as a PadMini or an Action Pad?
Vrrrroooom.
Well, the hardware's pretty decent, and feels rather solid. There's a small amount of light leakage on the side of the touchscreen, but not something too noticeable. I wish it had a button on the bezel to mimick the Windows button on some other tablets, but the edge gestures should replace it nicely.
The screen is pretty gorgeous and its high DPI triggers the eponymous mode in GNOME.
With help of various folks (Larry Finger, and the aforementioned Benjamin and Adam), I got the tablet to a state where I could use it to replace my force-obsoleted iPad 1 to read comic books.
I've put up a wiki page with the status of hardware/kernel support. It's doesn't contain all my notes just yet (sound is working, touchscreen will work very very soon, and various "basic" features are being worked on).
I'll be putting up the fixed-up Wi-Fi driver and more instructions about installation on the Wiki page.
Update: On Google+ and in comments of this blog, it was pointed out that the seller on Aliexpress was trying to scam people. All my apologies, I just selected the cheapest from this website. I personally bought it on Amazon.fr using NewTec24 FR as the vendor.
Thursday, 17 October 2013
More power management changes
As is becoming common, we will have some more power management changes in GNOME 3.12, though those changes will also affect other desktops, whether they use UPower's D-Bus interface, or libupower-glib, the helper library.
The goals of the exercise were simple:
Out with the old
The deprecated interfaces for Suspend, Hibernate, etc. are finally removed, after being obsoleted by logind. We've also removed the QoS interface that nobody was using, and the out-dated battery recall support. It's not that batteries don't explode any more, it's that they don't all come from known-bad batches.
In with the new
We have 2 new properties on each of the devices.
WarningLevel which uses daemon-side configurations to tell you whether a device's battery level is low, critically low, or whether we're about to take action on that critical level.
We also have IconName, which replaces some cut'n'pasted code between desktop components. If your desktop environment has many more icons for all types of devices on low battery, for example, you can ignore this property and use the code you always have.
Using those new properties usefully is the new DisplayDevice object. It groups all the batteries and UPSes in the daemon into one, easy to use object that you can use to display a single status icon in your shell chrome. Obviously, if you want to show more devices, the individual batteries and UPSes are still available through the usual means. And it obviously has the 2 new properties mentioned above, so your session daemon can get told when to show notifications for low batteries.
And finally, using that new combined DisplayDevice is the critical battery action policies. As mentioned above, multi-user systems could not hibernate without requiring the user to enter an administrator password, which is less than convenient when your machine is running out of UPS power fast. The configuration for that policy is now in the daemon itself, with sane defaults, and it will hibernate the machine for you.
And to the modernisation
libupower-glib now uses GDBus, even if the daemon doesn't. The daemon however sends PropertiesChanged signals which means that modern D-Bus bindings will automatically get the new values for properties, instead of polling the daemon. The DeviceChanged and Changed signals have thus been removed.
API changes
They are numerous, too many to mention here. I've posted to the device-kit mailing-list with a list of changes that were made, reply there if you have any questions regarding using UPower in your application or session daemons.
Miscellaneous
systemd >= 207 will save your brightness settings across reboots, and the upcoming systemd 209 will have support for saving keyboard backlight across reboots.
I've made attempts at supporting Intel Rapid Start in systemd, but this will actually require kernel changes. Hopefully we should be able to land this by the time GNOME 3.12 is released.
The goals of the exercise were simple:
- reduce wake-ups on the daemon and on the client side
- reduce code duplication amongst desktop environments, and even within the same environment (composite battery, anyone?)
- moving some policy actions to a lower level (one could not request hibernation or suspend when multiple users were logged in without interaction and passwords)
Out with the old
The deprecated interfaces for Suspend, Hibernate, etc. are finally removed, after being obsoleted by logind. We've also removed the QoS interface that nobody was using, and the out-dated battery recall support. It's not that batteries don't explode any more, it's that they don't all come from known-bad batches.
In with the new
We have 2 new properties on each of the devices.
WarningLevel which uses daemon-side configurations to tell you whether a device's battery level is low, critically low, or whether we're about to take action on that critical level.
We also have IconName, which replaces some cut'n'pasted code between desktop components. If your desktop environment has many more icons for all types of devices on low battery, for example, you can ignore this property and use the code you always have.
Using those new properties usefully is the new DisplayDevice object. It groups all the batteries and UPSes in the daemon into one, easy to use object that you can use to display a single status icon in your shell chrome. Obviously, if you want to show more devices, the individual batteries and UPSes are still available through the usual means. And it obviously has the 2 new properties mentioned above, so your session daemon can get told when to show notifications for low batteries.
And finally, using that new combined DisplayDevice is the critical battery action policies. As mentioned above, multi-user systems could not hibernate without requiring the user to enter an administrator password, which is less than convenient when your machine is running out of UPS power fast. The configuration for that policy is now in the daemon itself, with sane defaults, and it will hibernate the machine for you.
And to the modernisation
libupower-glib now uses GDBus, even if the daemon doesn't. The daemon however sends PropertiesChanged signals which means that modern D-Bus bindings will automatically get the new values for properties, instead of polling the daemon. The DeviceChanged and Changed signals have thus been removed.
API changes
They are numerous, too many to mention here. I've posted to the device-kit mailing-list with a list of changes that were made, reply there if you have any questions regarding using UPower in your application or session daemons.
Miscellaneous
systemd >= 207 will save your brightness settings across reboots, and the upcoming systemd 209 will have support for saving keyboard backlight across reboots.
I've made attempts at supporting Intel Rapid Start in systemd, but this will actually require kernel changes. Hopefully we should be able to land this by the time GNOME 3.12 is released.
Saturday, 20 July 2013
GUADEC[1] Hardware giveaway
I'm cleaning up my hardware chest, and giving away some hardware to a good home. I intend on travelling with those that I found a new home for at GUADEC. All of them are in good working condition. If there is a charger or power supply, it will be a UK one.
Drop me a mail with your intended usage (preferably GNOME or kernel related), or need some more info about the devices.
Up for grabs
Palm Pilot Tungsten E2

The predecessor to all your new-fangled smartphones. This one could even do Bluetooth syncing using gnome-pilot, all those years ago. Might be nice as a remote control of some sort, or legacy support for Pilots.
D-Link DIR-615 Wi-Fi N router

Works with DD-WRT. Would be great to work with DD-WRT or associated on a way to configure those through a GNOME UI à-la Airport base stations.
HP iPaq 914

Euro plug. Apparently this can't run Linux... Yet!
DXR3 card
Offload your MPEG2 decoding to this PCI card.
iPod Touch 2G
Too old to run any recent iOS, but good enough to show off your web apps skills, or work on Notes sync with IMAP servers.
Broadcom Crystal HD mini-PCIE 70015 and 70012
2 video decoder cards usable with Linux. You'd need to port the GStreamer plugin to GStreamer 1.0 to get those (or one of those at least).
Plantronics and Motorola Bluetooth headsets
Not the newest devices, but they work.
Red Hat branded power adapter
USB to Nokia/Motorola with this retractable extension lead.
On their way to a good home [2]
Logitech MX 5000 pack and diNovo keyboard
Space-age mouse and keyboard set. Benjamin Tissoires will be getting the (now not so much space age as grubby and outdated) pack to hopefully implement HID++ 1.0 in the kernel.
The diNovo keyboard is a nice little Bluetooth keyboard for a media PC or the likes, even has the tiniest of trackpads.
Logitech 9000, PS3 Eye and Creative OV511-based webcams
Hans de Goede will get those to make them work out-of-the-box in Fedora, and upstream, trying to clean up some hacks he gave me for those a long time ago.
No-name USB GPS dongle and Tom-Tom Bluetooth GPS
For Zeeshan, just in case he gets bored implementing geoclue2.
Nokia N82 and Palm Centro
For Dan Williams. ModemManager's testing gear is growing.
Belkin G and Dell 1450 Wi-Fi USB dongles
Giovanni and Jasper will enjoy those Wi-Fi dongles that will create bugs in gnome-shell's network menu and the new aggregate menu.
[2]: I made my pre-selection based on the possible uses for the hardware.
Friday, 23 July 2010
Travel preparations
I got myself a little Huawei E585 device, so that I can put in a data SIM card when travelling. My attempts at getting a 3G data subscription in the UK that wouldn't cost an arm and a leg when abroad completely failed, and I didn't fancy carrying a phone just to use as a modem when travelling (I use my usual handset through Bluetooth when in the UK).
Once in the Netherlands, I'll get a Pay-as-you-go 3G SIM card, top it up and subscribe to the cheapest data deal, and be done with it. Note that I needed to unlock the device for use with other carriers, using this dodgy looking website. But it worked as expected.
My attempts at finding the Linux code on the device failed (and this code doesn't seem to be it), so I also dropped a mail to Huawei's FOSS office.
See you online at GUADEC!
Thursday, 18 June 2009
I'm upstream!
Or at least, my Wacom Bluetooth tablet driver is. I was wondering in which tree it was lost. You'll still need a patch to bluetoothd though.
Saturday, 3 November 2007
Ross was right
It didn't take too long before people took offense from an idiot at the BBC saying there were 400 to 600 Linux users accessing BBC sites in the UK.
Friday, 5 October 2007
Free work?
While I can only applaud Greg-KH's Linux Driver Project, you have to wonder about the projects on offer. It seems to me like most of the work to be done is on embedded drivers, with companies skimming on driver development costs. I hope we see more offers for consumer hardware in the future.
Monday, 12 March 2007
Less connectivity please!
Today was mostly spent wondering why France couldn't repeat their Ireland heroics to snatch victory against England, and getting Linux installed on A's laptop, in place of the virus/malware/spyware/bloatware infested Windows.
I was quite lucky to manage to find Grub4DOS, and associated tools. The laptop's busted CD/DVD drive (it can only read pressed CDs, and not even that fast) didn't make things any easier, and thank fsck I have a floppy drive in my desktop machine. The first install, bootstrapped from WinXP using the NT version failed halfway through with a network error, leaving me with a bricked laptop. The second try was more successful after I managed to get FreeDOS installed on the hard disk, got all the Fedora images over via floppy, and finished the install over the network.
I also saw for the first time the ACPI error message telling me that the BIOS cutoff date was past (the BIOS claims to be from 1997, even though the machine is 5 years old). I still managed to get quite an impression after showing suspend-to-disk, and boot/login of under 5 minutes (Windows is so shit).
Some old film news: Hot Fuzz, Bienvenue chez les Rozes, The Italian Job
I was quite lucky to manage to find Grub4DOS, and associated tools. The laptop's busted CD/DVD drive (it can only read pressed CDs, and not even that fast) didn't make things any easier, and thank fsck I have a floppy drive in my desktop machine. The first install, bootstrapped from WinXP using the NT version failed halfway through with a network error, leaving me with a bricked laptop. The second try was more successful after I managed to get FreeDOS installed on the hard disk, got all the Fedora images over via floppy, and finished the install over the network.
I also saw for the first time the ACPI error message telling me that the BIOS cutoff date was past (the BIOS claims to be from 1997, even though the machine is 5 years old). I still managed to get quite an impression after showing suspend-to-disk, and boot/login of under 5 minutes (Windows is so shit).
Some old film news: Hot Fuzz, Bienvenue chez les Rozes, The Italian Job
Subscribe to:
Posts (Atom)





