Cursor’s update inside kernel only

One thing that I learned with open communities is when you send a proposal idea and no one replies. This seems to be odd at first but it _isn’t_. If you did something strange or wrong then at least someone will reply. OTOH if you did something that can be promiser _and_ no one objects, then great! 99% that you did something interesting :)

Given that I’ll not work towards this cursor’s shortcut idea soon, I’m posting a mail that I recently sent to dri list and didn’t see much excitement there. So the bits are preserved here for future references.

Under KMS, we can build a feature to update the cursor directly to screen without the continuous intervention of the userspace application (X server, wayland, etc). It’s a fastpath for DRM based cursors obtained by short-circuit the kernel input layer and DRM module. This would solve all cursor’s latency issues that we have in our current model.

This series of patches implement such feature using Xorg as the application. Through an ioctl, Xorg tells which devices are responsible for cursors’ updates and the kernel evdev driver will spit the events to DRM. DRM will take care about the event informations and also screen limits, and then will draw the cursor on screen. Very intuitive.

Right now a thing that is annoying me is how others cursors, sw rendered, could be implemented. I want to avoid two different sets of the same code in different contexts. IMHO conceptually all these cursor update things must be in-kernel. Painting a cursor image seems to be quite hard as we have to save/restore areas under the cursor. I remember that anholt had an idea concerning this, but I do not remember details.

Well, the patches are far from ready to go upstream, but it deploys a system working on this way. So, for now, this mail has two goals:
– to people comment on and see in what kind of world we can move.
– get a feedback how we can proceed in the case of sw cursors.

Please, comment on. The patches can be found here.

4 Responses to “Cursor’s update inside kernel only”

  1. choeger Says:

    GUI stuff in kernel? Isn’t that too redmondish ;)?

    You should probably think of some kind of generalization interface to handle some of those “hey just change my bitbuffer” code-paths out there. (I think there are quite a lot of blinking icons that just switch between predefined buffers).

  2. aderjay Says:

    Um detalhe, visite esse post
    Muito interessante para você que tem um blog com fundo escuro.

  3. Mike Says:

    Just passing by.Btw, your website have great content!

    Making Money $150 An Hour

  4. New blog interface « Tiago Vignatti Says:

    […] time ago someone posted a comment, complaining about the white fonts over the dark background in my blog, which makes the read be […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: