/images/avatar.png

art – computer science – play

Xorg input thread - summary or something

This mail that I’ve sent to xorg mailing list tells the current state of my project.

  • cut here -

Hi guys.

As you might noted here [1], my GSoC’s project is to do a separate mouse thread for the X server. Now, I’m really stucked with it and I need some good ideas from you before go to the next steps.

Today the cursor lags in two situations on Xorg:

Moving the mouse handling code into a separate thread

(In a puny attempt to write my SoC project progress to my mentor, I decided to expand it and share my thoughts with you)

Today, we have two methods to register the pointer devices on Xorg server: (1) under SIGIO and (2) put they fd on EnableDevices set. There is also the silken mouse concept, which means updates fired during sigio handler (in the case of hw cursor).

We always try to prioritize silken - i.e. when the device emits a move event, it will be “painted” on the screen and the WaitFor loop still continue sleeping on select() - But the problem with SIGIO is that it can blocks if the main thread is wedged doing kernel stuff (like paging). It can’t interrupt a program in D state.

multiseat input hotplug

This week I spent a good time trying to understand the new input hotplug of devices on X and liked a lot. With this new subsystem the multiseat’s life will becomes easier. I’ll briefly explain here to you.

Before the hotplug sweetness, to add a new mouse/keyboad on X was only possibly on initialization time. Both of Xorg drivers, “evdev” and “mouse”, made a hack to try initializations “on the run”. This all was a mess and difficult a lot the configuration of the multiseats. But this world has changed.

Google Summer of Code 2007

Certainly, my great new is that I was accepted as a student of X.Org Foundation sponsored by Google, on Summer of Code 2007. The project’s name is Moving the mouse handling code into a separate thread and in this link you can see what does this mean specifically.

Possibly, for some time this blog will be filled with a lot of posts regarding this subject :D :D :D

FISL8

Here is the presentation I’ve given on 8th International Free Software Forum, at Porto Alegre. My first (really) public talk was really cool and I’ll show to you the video/photos when the organizers get it done.