[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Compositing manager
From:       Rivo Laks <rivolaks () hot ! ee>
Date:       2006-07-17 21:29:03
Message-ID: 200607180029.03843.rivolaks () hot ! ee
[Download RAW message or body]

Ühel kenal päeval (esmaspäev 17 juuli 2006 9:37 pm) kirjutas Fredrik Höglund:
> On Monday 17 July 2006 13:43, Rivo Laks wrote:
> <snip>
>
> > So I managed to compile and start kwin (on top of Xgl). It worked, but it
> > usually froze as soon as I tried to do something with it such as changing
> > active window. KWin's window menu (the one you get after RMB on window's
> > titlebar) also didn't work correctly, it opened, but I couldn't click on
> > any of the menu items. Moving windows worked though and showed the new
> > effects ;-)
> >
> > I think the first think that needs to be done for OpenGL support is
> > writing code to initialize OpenGL. Does anyone have any experience with
> > that or does anyone know if we can use QGL? If not, maybe we could use
> > compiz's initialization code, at least for now?
>
> I don't think it's a good idea to borrow the code for this from compiz,
> because the way compiz is currently written it only works with Xgl,
> and KWin needs to work with AIGLX.

According to it's wikipedia page, Xgl works with AIGLX, though with some 
modifications.

> Metacity would be a better choice to borrow code from, but the
> procedure for initializing GLX and creating a GLXWindow should be
> well documented. I'm not sure if we can use QGLWidget in KWin.

I downloaded Metacity source code (2.15.8), but I didn't find any OpenGL code 
in it, besides a repaint() function in c-screen.c . Maybe it's using 
something else to initialize OpenGL?

> I'd also like to remind everyone that if you copy code from another
> project to KWin, that you first make sure the license is compatible,
> and second that you remember to credit the original authors in the
> copyright header.

Compiz is licenced under GPL, so that's not a problem.

> What KWin needs to do with regards to GL that's specific to a
> composite manager is to first create a composite overlay window,
> (XCompositeGetOverlayWindow.)
>
> You can't specify a visual for this window, so you have create a
> separate GLXWindow as a child window of the overlay window.
> The GLXWindow will be the window on which you render the scene.
>
> Now the window parameter in XCompositeGetOverlayWindow is
> supposed to be the root window on the screen on which you want
> to create the overlay window. I'm only mentioning this here,
> because I don't believe it's documented anywhere.
>
> You probably need to set the shape input region for both the
> GLXWindow and the overlay window to an empty region to allow
> input events to pass through to underlying windows.
>
> It's also important that KWin uses indirect rendering, rather than
> direct rendering, since otherwise the EXT_tfp extension won't work.

Thanks for the info.

Rivo
_______________________________________________
Kwin mailing list
Kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic