Tuesday 5 February 2008

Xglamo: the X server of the neo GTA02 device

The GTA02 hardware of the OpenMoko project sports amongst other things the Glamo3362 GPU from smedia.

I have been working on an Kdrive based X server, dedicated to that glamo chip: Xglamo.

I basically took over the job done by Chia-I Wu, aka Olv (man, get yourself a blog ;-) ) in putting together an X server for that chip.

I did hack on bringing support of hardware acceleration in areas like blitting, solid fills, RandR support and XVideo so far.

For blitting and solid fills, we did start using the Kaa acceleration architecture. It seems to be pretty robust and did speed up things like scrolling a fair bit.

For RandR acceleration I hacked the kernel framebuffer driver to make it support hardware assisted rotation and fleshed out its resolution setting code. With that setup, I just made the Xglamo RandR extension implementation use that shiny new kernel framebuffer rotation and resolution setting capabilities.

The XVideo extension driver exposes a textured video port that supports clipping and scaling for planar YUV 4:2:0 frames. I am still working on supporting parameters settings like brightness, saturation and so on. For now, I can play videos using mplayer on the device, or even launching totem on my desktop and making it display its output on Xglamo server running on the device. The basics are in the box.

All that code is already integrated in regular OpenMoko builds that you either compile yourself or grab from the daily builds directories.

There should be more to come on this topic in the coming days and weeks. In any case, I try to sent regular updates to the openmoko-devel list.

So stay tuned :-)

11 comments:

Ivo Anjo said...
This comment has been removed by the author.
Ivo Anjo said...

Cool, can't wait to get my hands on the GTA02.

Keep up the good work :)

Tim said...

That sounds great man, but I was under the impression that there was no driver for the GPU on the GTA02, and there wouldn't be for a while, because the manufacturer won't open up the device specifications.

Did you work around this, or has this changed?

Joe Smith said...

Sweetness :)

Thanks for all the hard work!

Anonymous said...

Will it include OpenGL support? Or is this aside of the server?

This is what prevents me from preordering the device right now...

Great work.

Dodji said...

reply to tim: well, for now the documentation of the chip is released under NDA. So the work we are doing at the kernel and Xglamo level should serve as a reference free software example of how to use the chip.

Dodji said...

[reply to bandoler]: Well, the glamo chip can do OpenGL. What I can say for now is that OpenGL support has not been ruled out from the plans ;-) But please keep in mind that there is are lots of basic things to get right before that stage. One thing is sure though, OpenGL support is definitely something we want to have.

Anonymous said...

Really nice. Wonderful. :)

Treviño said...

When some 3d tasks will be available?
I figure you'll need to hack also mesa3D, isn't it?

Moses said...

The writer is totally fair, and there is no question.
Denver hospitals | lemon trees | Amherst real estate

digital signature FAQ said...

A friend of mine pointed out your blog to me last summer and I have been following you ever since. I love all your diy posts. They are always full of innovative ideas and your tutorials are terrific!!