Hija, Finally, a progress report. As you might have read on his blog, Daniel Stone's laptop was stolen from a hotel room in Barcelona. Unfortunately all work he had been doing on HAL-based hotplug detection in the X server (which is decided to be the way to go, no GVM-like daemon) was only available on this machine in a local git branch, and he got no backups anywhere else. Result: most of the work had to be redone, although he still had a patch somewhere. As this is a core component for my SoC project, and he had to sort out some other things first, I restarted to implement this myself. I added initial code to my local xserver branch, but this did not compile (autofoo problems). I decided to use -svn, -git and alike builds of the software I use where possible. Compiling gnome-control-center (which I also need) from svn didn't work though as the glib version of my system's glib is too old. So I built glib in a local tree and installed it somewhere under my home directory, then wanted to rebuild gnome-cc, which failed as (my system's) gtk+'s .la file hard-included /usr/lib/libglib-2.0.so, etc, I hope you get the picture. So I decided to run jhbuild. Unfortunately, this gave lots of problems too with libraries included in the libtool --mode=link stage, but were not installed inside the jhbuild environment. Result: lots of manual dependency-resolution and rebuilds so the system .la files weren't used anymore. Anyway, after a lot of cursing I got a working jhbuild environment (well, I don't actually run it as a desktop, just as a build environment and to run some of the applications I need to patch/write). Anyway, back to the HAL-xserver thing. Unfortunately writing this wasn't very easy: integrating D-Bus code when you got a GMainLoop isn't too hard, when you haven't got a mainloop is somewhat harder. I wasn't very familiar with the X code/functions neither, so writing the initial support was kinda hard, but I did learn quite a lot. Some days later though I talked to Daniel and read some of his mails on the HAL list, turned out he had implemented more than I did, so I stopped that work. While doing this I submitted a minor header file patch to the xorg list. Meanwhile I found out HAL does not recognize my touchpad as a "input.mouse" device, just as an "input" device, so it wouldn't be auto-detected by the server. So I created a patch for HAL to detect synaptics touchpads and give them the "input.mouse" and "input.touchpad" capabilities. After some input from the list (thanks mjg59) ALPS support was added too. The final patches aren't merged (yet) though, and DavidZ did not provide any feedback. Then I started to dig into XInput to be able to get a list of input devices from the server. Getting a list isn't too difficult, but there are some issues here, the main one being not to be able to know whether a device is actually connected to the system: when you configure some USB mouse as an evdev device in xorg.conf, and you plug it in, it's added to the device list. When you remove the device, it's still in the list though :( Meanwhile I've been bugging Daniel to provide a tree of his hal-enabled xserver. He didn't really want to as code needs to be cleaned up, but this implies I can't do any testing neither. Yesterday he provided me some patches, but they can't be applied to the current xserver master branch as some files he got aren't in there yet :-/ I hope he'll push his changes really soon now. Once I was able to fetch a list of mouse devices from the server, I added code to my local git-svn branch of gnome-cc to create such a list. I need to get in touch with the maintainer of gnome-cc to figure out how he'd like to allow the user to do per-device configuration UI-wise. As I'll need to run xserver-git once the HAL stuff lands, and fglrx doesn't work with this (I'm stuck with an ATI X1600), I wanted to try the new xf86-video-avivo driver. Seems my GPU and/or laptop panel doesn't really like this driver, so I'm debugging the driver with it's main author. Doing this without ssh access to my own machine is, well, not very convenient though. Last days I've been working with bluez to write code to detect BT HID devices using the new D-Bus interface. I got code now which lists adapters, discovers devices on request, finds my mouse, but in the end connecting to it doesn't work: a connection is made, an input device is created, but then the thing immediately disconnects. I have no clue what causes this, as the older hidd method did work. Investigating. I also sent a mail to the desktop-devel list today as proposed by my mentor regarding the "Discover BT devices" GUI. That's it for now. I'm *really really really* waiting for Daniel's hal-branch push. If you see him, poke ;-) That's about it for now. Unlike planned, I'm not at GUADEC, which I frankly hate (the not being there), can't change anything about it though. Regards, Nicolas
Attachment:
signature.asc
Description: This is a digitally signed message part