[compiz] Problems with _NET_WM_FULLSCREEN_MONITORS and screen refreshing

Danny Baumann dannybaumann at web.de
Tue May 26 00:49:37 PDT 2009


Hi,

>         1) When an application requests a topology change via
>            _NET_WM_FULLSCREEN_MONITORS, Compiz does honor the topology
>         change, but it
>            does not refresh any monitor that has changed since the
>         last
>            _NET_WM_FULLSCREEN_MONITORS topology. If the application
>         requests to
>            change from fullscreening monitor 1 to cover both monitors
>         1 and 2, the
>            window is resized and can still be interacted with, but the
>         display still
>            shows a frozen image of what was previously on the second
>         monitor, for
>            example.

I can not reproduce that using your test program. I have seen a similar
problem on rare occasion, though: Window contents, especially of larger
windows, were stuck at that time and could be recovered only by
unmapping and re-mapping (minimize, shade) them.
Unfortunately I didn't find a good reproduction scenario so far, and I
really don't know what should cause that.
Are you using Nvidia's drivers, by any chance?

Another shot in the dark: You can try playing around with the "Force
synchronization between X and GLX" option in the workarounds plugin.
Perhaps it's just the sort-of-well-known redraw issue caused by race
conditions in the X damage protocol.

>         2) When a window has fullscreened and used
>         _NET_WM_FULLSCREEN_MONITORS, if
>            any tooltips are used in that window (as this simple
>         application does),
>            Compiz will cause the screen to flash repeatedly until the
>         user stops
>            hovering over the originating widget and the tooltip goes
>         away. This can
>            be demonstrated in this simple application by hovering over
>         the button in
>            the window. As an interesting aside, when Compiz causes the
>         screen to
>            flash, it will refresh the monitors that were previously
>         stale from #1
>            above.

You want to disable "Unredirect fullscreen windows" (in ccsm it's under
General options). Ubuntu enables it by default (both settings have
problems: enabling it causes the problem you're seeing, disabling it
causes speed loss in fullscreen OpenGL apps, e.g. games).

Regards,

Danny




More information about the compiz mailing list