KWin runs on OpenGL ES

Last weekend I could announce that KWin compiles with OpenGL ES headers. This weekend I was able to proceed even more: I got the first windows composited using OpenGL ES 2.0. Not everything is working and there is still lot’s of work to be done and it has not yet been tried on actual devices (yes you can use OpenGL ES on a desktop), but nevertheless it’s a very important step.

As it just looks like normal desktop compositing with rendering artefacts, I don’t show a screenshot. This has to wait till Present Windows (or preferable Cube) works on a mobile device 🙂

I think it is important to give some credits to those who helped me directly or indirectly:

  • Fredrik for providing a nice example application showing how texture from pixmap works on OpenGL ES and for all the help on IRC
  • Mesa/Gallium for providing ES libraries for desktop systems
  • Nouveau for making it possible to use ES on my notebook. Without Nouveau it would have been very difficult to do any testing on ES.
  • Debian for packaging Nouveau with 3D support in the experimental repository
  • Linaro for investigating about the possibilities for texture from pixmap on OpenGL ES
  • Addison Wesley for donating a copy of the fifth edition of the OpenGL SuperBible. Really a great help if you want to develop for the core profile.
  • Marco and Alexis for nagging about missing ES support
  • Marco for promising to trying out the patches on actual devices

It is incredible how clean the ES code looks compared to the glx backend. I’m really looking forward to be able to drop the legacy OpenGL code and I hope to have the ES port in a state that users can use it as a runtime replacement on desktop systems as well. It would be nice to provide users a modern compositing backend.

Powered by Blogilo

24 Replies to “KWin runs on OpenGL ES”

    1. It does not only help, it is a must have to start working for Wayland. So to say it’s the first part of the KWin port to Wayland 😉

  1. When dropping default backend, make sure it won’t stop working on other OS drivers 🙂 (not sure how OpenGL/ES is working on ATI r600/r700 drivers).

    1. ES works fine with all Gallium drivers. And no, I’m not planning to actually dropping the current backend, I just want to provide an alternative for those wanting to give it a try

  2. OK, so you do plan on running KWin over Wayland? That’s nice. If I recall correctly, in one of your recent blog posts or comments to a recent blog post your opinion on Wayland was a bit different – well, no offense, it’s really inspiring that even the most skeptical devs on Earth – the KDE devs – support Wayland and want to work with it.

    On a more serious note, it’s really nice to see someone work like that, behind the scenes, and then come with a result – “it works” – to work on something steadily and reliably and without much fuss.

    1. I don’t remember that I wrote anything about Wayland ever. The only thing might be that I said that Wayland is no argument for client-side-decorations as Wayland is not there yet. But that does not mean that I would be against Wayland. In fact I am looking forward to Wayland as it would get us rid off X 😉

      1. Well basically yes, that’s what you said, but you must have said it in a way that would at the same time imply “come back in ten years with Waylan working” or something like that, at least that’s how I understood it back then. My fault after all, actually.

        Yes, invaders……… sorry, X must die. WE’ll miss it, however.

              1. Well I don’t know all about it, but judging by Phoronix news posts only, a lot of people seem to have turned to Wayland after those words on “plans to integrate W in Ubuntu”

          1. thorGT: Shuttlworth just did what he always does: blah blah
            It was fedora (i think) and now intel (i guess because of meego) who are putting real effort in it and don’ just talk

  3. How is called the texture from pixmap extension ?
    I’m afraid nvidia tegra’s opengles doesn’t implement it :'(

    1. I’ve tried mesa texture_from_pixmap opengles1 demo, and it doesn’t work, the extension is not found
      BUT, just bypassing the check works 🙂
      So I might have some fun with kwin opengles 😀 (on my Toshiba AC100, a tegra 2 netbook)

      1. would be nice to see some feedback 😉 The code currently does not even check for the Extension, so that shouldn’t be a problem. Code is planned to hit git directly after git transition.

        1. Would you mind making a new blog post when code is actually available ? 😀
          (Or even better, highlight me on IRC, but well.)

  4. Congratulations on getting TFP working on GLES! This reminds me that I really need to learn shaders so I can help you guys out in porting all of your other code to the core profile too!

  5. He’s doing the marketing, redhat is usually doing the hard work.

    It’s quite interesting when you look at patches and packages how well maintained it is in fedora and you’ll the good patches there. Ubuntu / debian/ what one ones are most often (not always) clunky at best.

    That said the marketing is also needed. I’d never hear of wayland if it wasnt for ubuntu..

  6. Hi,

    You say “Debian for packaging Nouveau with 3D support in the experimental repository”, however the package description says “these packages do not include any 3D support”. Who has it right?


    1. Both are right. The nouveau package itself does not provide 3d, but there is another experimental package which provides 3D

Comments are closed.