Wednesday, December 10, 2008

Two X servers and a microphone

Oh, ok, so getting X.org running under Wayland was easier than expected. Or I guess, it was as easy as expected, which is usually never the case.

What's running here are two X.org servers, side by side under Wayland. It's not Xnest or Xephyr, it's the full X server with DRI2, GLX, Xv and UXA acceleration. The only difference is that the server passes its front buffer handle to Wayland instead of passing it to kernel modesetting and it receives input events from Wayland instead of evdev. And Whenever the Intel DDX driver flushes its batchbuffer it now also sends a damage event to Wayland.

There's some weird transparency going on, and the reason is that the X servers window pixmap doesn't have a well-defined alpha channel. Which doesn't matter when the hardware is scanning it out to a display, but in this setup it causes some unintended transparency.

The Wayland server transforms the input events to the surface coordinate system of the client surfaces, which means that the X servers are fully functional, and you can click the icons and move the tiny windows around. It's all very cute. Keyboard input isn't working yet, but it shouldn't be too hard, since I think can get away with just passing the scan codes to the X server.

17 comments:

Entropy said...

BRAVO!

mupuf said...
This comment has been removed by the author.
mupuf said...

It is impressive how fast you work on the project.
To me, it will be a wonderful base to create a new graphic server !

What about performance loss ? If it is almost nothing, this will be a joy to try it out !

Anonymous said...

Holy crap, krh! Wicked! What's the preformance you get from this setup? Are you running this on your i965 MacBook Air?

Best regards ...

MacSlow

Anonymous said...

Great! But does that also mean you're already able to start the X servers without root privileges?

Anonymous said...

Excelent

keep up the work and try to make this project as big as possible (try to get support and/or developers from companies)

The foss need a modern graphics environment

Anonymous said...

best luck with this proyect i know it's too soon but i would love to have all this new staff in my laptop hope someday in the near future

Michael Krog said...

It is just plain cool.

I get a weird feeling that this is just about what Apple did back in the nineties - ditched the X server for better performance and used X as just another GUI application.

This IS the way to go - we want all that BANG and FLASHY stuff to be available - and Xorg will always be a blocker.

Anonymous said...

Great work! Thanks.

Anonymous said...

Sounds interesting. What about performance and stability? I guess it might be slower than running a 'native' X server or am I wrong.

Merry Christmas.

Michael Krog said...

If you dont need the X-features(display via network) and your application instead uses Wayland directly(via fx GTK or QT when ported), you should get much better perfomance with Wayland compared to X.

X server is not build with composited displays in mind - wayland is. They both use the same drivers for the gfx cards.

Anonymous said...

keep up the good work -- i am really excited about wayland!

Anonymous said...

Here is what you should do.

Make Wayland small enough (not bloated) and add the newer stuff to it, when this is done make Wayland the default X server of this era, and merge Wayland back to Xorg upstream, or rename it to Xorg, or use the Wayland codebase in the upstream Xorg project.

This will help a lot, thanks for your hard work.

Anonymous said...

BTW

Correct the link to the wayland google groups site

(in the coolstuff section)

regards

Alejandro said...

It's been 11 days since last commit to git. Is Wayland project still alive? KMS just got merged into 2.6.29 and I can't wait to test some new cool stuff :)

mupuf said...

You're lucky Alejandro, i'm using xf86-video-ati. DRI2 and KMS are not really ready to be merged yet. Phoronix thinks it will be ready for the 2.6.30.
Hopefully.

But, I can't wait to ! What's happening ?
Are you helping on something else for red hat ?

Marco said...

Is Wayland GPL'ed? I think the worst thing with Xorg (besides being old) is the license.