KWin at GSoC 2011

At this years Google Summer of Code it is of course also possible to work on KWin. At the KDE ideas page we have three projects listed, but it’s also possible to come up with an own idea. I will shortly outline the three projects:

  1. Refactoring of KWin core: KWin core has grown over the last decade and the development had a shift from being a pure X11 window manager to an OpenGL compositor with X11 window manager and soon to be only a Wayland compositor. In order to get to this new field we need to refactor great parts of the Window Manager to reuse the code in the future. As a matter of fact for this project a very close communication with me and the other developers is required. This is clearly the most important GSoC project we propose and I will be very selective on the student to choose. Developing skills are not the most important factor here, but soft skills will highly influence my decision.
  2. Unit Testing Framework for the X11 Window Manager: Since 4.6 KWin includes a scripting component which now allows us to execute small pieces of JavaScript. This component should be extended into a framework to run automated tests against the window manager. As it is clear this project is especially important for the refactoring task to ensure that any code changes do not break existing code. The student who wants to work on this task needs to be in constant contact with the student working on the refactoring to know what tests are required, soon.
  3. Initial support for Wayland clients: This is a research project and code written in this GSoC would most likely not be merged into master. The idea is to add Wayland clients to the compositor, so that they can be rendered just as a normal X11 window. As Wayland is still a highly moving target including the code directly into master does not make sense yet. The project would help to understand what needs to be done to support Wayland in KWin and would help to outline the porting. To make it clear: a complete port of KWin to Wayland is not possible in the scope of a GSoC.
Additional to the KWin mentored projects, there is also a proposed project by OpenICC to provide colour management in KWin. This project will also require collaboration with the KWin developers as the functionality needs to be either implemented as an effect or in the compositor directly.
Further KWin related topics are in the area of Plasma. There are quite some features implemented in Plasma which should be moved into the Compositor for better performance or parts of KWin which need to be made available to Plasma. Possible areas are joined screen edge handling, a merged context menu for window decoration and tasks manager, better Tooltip transitions by using an effect or synchronising window tabs and task groups. Many more areas exist. If you are interested feel free to contact KWin and Plasma developers.
I hope to see many good proposals and are looking forward to work with you to make KWin rock even more!

Powered by Blogilo

12 Replies to “KWin at GSoC 2011”

  1. Wow, as a student currently studying IT, I’m really jealous of whoever gets to work on that project. It seems like a great way to get to know KWin and KDE better.

    In fact, that proposal had me seriously consider entering GSoC. Unfortunately I’m still in first year, and being from the South Africa, that means that GSoC overlaps with our exams. And even more of an obstacle, I’ve only started to explore programming. All my programs still consist out of only one .cpp file.

    But I’m learning as quickly as I can, and hopefully there will still be such awesome projects available next year when I’ve wizened up a bit.

    But, thanks for all the awesome work that you’re doing Martin. And best of luck to whoever gets to work on this!

    1. For many students not living in the US the exams are a problem. During my GSoC I also had to spend quite an amount of time on learning.

      1. How feasible would it be to set up a Winter of Code?

        I have no idea how many students would be interested in taking part of something like that, especially if Google isn’t going to support it financially.

        But, perhaps something slightly smaller scale, where a handful of students can contribute could work? I know that I, for one, would jump at the task even if there are no financial incentives.

        Or is it too much of a organizational challenge?

        But, even if it isn’t possible, I’m pushing myself to learn Qt and OpenGL. So, when MY summer holiday starts, I’ll gladly do any odd-jobs that you have lying around 😉

        P.S. Sorry if I sound a little bit like a seven year old on a sugar high, but like Kiril beneath this post, I also have a great passion for optimizing code until the final product can only be described as ‘elegant’. And that seems to be an area that you are particularly well-versed in.

        1. I think there are always people in KDE willing to mentor new developers. Though you might not get paid for it.

    2. I’m one step to the applying for the first project, but just like @Stephan I’m little worried by the fact, that I’ve never contributed for KDE and not sure if I could handle this task.

      The reason I want exactly this project is that I love refactoring over and over again my own code, make it sexier, cleaner and faster, but since that I’m Python/PHP developer and just a C++ and Qt lover… so NOT confident, enough.

      Anyway I’m going to fetch the KWin source code and try to understand most of it.

      1. Why don’t you just contribute to KDE then? Either you want to help KDE or you don’t.
        Entering SOC just because of the money and after more or less completing the task helps no one…

  2. First step migration to wayland would be X11 with wayland inside.

    Now tight to kwin so there is min overhead would be really nice.

    Latter down the track the reverse will have to be done. kwin backing onto wayland with X11 applications inside.

    Really research on how to make wayland and X11 applications play nice is progress.

    1. First step migration to wayland would be X11 with wayland inside.
      Now tight to kwin so there is min overhead would be really nice.
      Latter down the track the reverse will have to be done. kwin backing onto wayland with X11 applications inside.

      Really good analysis of the situation. Yes that’s more or less the road I’m planning to take.

  3. Kwin is a great window manager and it will become even more greater when it becomes a Wayland compositor. This is great news for Linux and FOSS. Thanks for your hard work.

    Three projects working together (Kwin + Wayland + Linux) == Amazing system.


Comments are closed.