[virt-tools-list] [PATCH virt-viewer] Disable CSD to avoid rendering issues

Fabiano Fidêncio fidencio at redhat.com
Wed Aug 10 06:35:49 UTC 2016


Pavel,

On Tue, Aug 9, 2016 at 5:29 PM, Pavel Grunt <pgrunt at redhat.com> wrote:
> On Tue, 2016-08-09 at 15:57 +0100, Daniel P. Berrange wrote:
>> On Tue, Aug 09, 2016 at 04:40:02PM +0200, Pavel Grunt wrote:
>> >
>> > On Tue, 2016-08-09 at 15:12 +0100, Daniel P. Berrange wrote:
>> > >
>> > > On Tue, Aug 09, 2016 at 04:09:15PM +0200, Pavel Grunt wrote:
>> > > >
>> > > >
>> > > > Due to recent changes in gtk+ the content of window is not rendered
>> > > > properly in Windows 10 when the client side decorations are used.
>> > > >
>> > > > It is possible to disable the client side decorations using
>> > > > the GTK_CSD="0" environment variable.
>> > > >
>> > > > Keep them disabled to avoid issues.
>> > > >
>> > > > Related:
>> > > > https://bugzilla.redhat.com/show_bug.cgi?id=1352216
>> > >
>> > > Can you provide the actual GTK bug report for this issue.
>> >
>> > I am working on reproducer for the issue. Apparently only remote-viewer has
>> > problems.
>> > >
>> > >
>> > > >
>> > > >
>> > > > ---
>> > > > I know it is not a solution. virt-viewer should learn to work properly
>> > > > with
>> > > > CSD
>> > > > ---
>> > > >  src/virt-viewer-util.c | 2 ++
>> > > >  1 file changed, 2 insertions(+)
>> > > >
>> > > > diff --git a/src/virt-viewer-util.c b/src/virt-viewer-util.c
>> > > > index 0491f73..1b0335d 100644
>> > > > --- a/src/virt-viewer-util.c
>> > > > +++ b/src/virt-viewer-util.c
>> > > > @@ -295,6 +295,8 @@ void virt_viewer_util_init(const char *appname)
>> > > >          }
>> > > >      }
>> > > >  #endif
>> > > > +    /* FIXME: avoid rendering issues with csd - used by default in
>> > > > Win10*/
>> > > > +    g_setenv("GTK_CSD", "0", TRUE);
>> > >
>> > > At the version least you should make this hidden behind G_OS_WIN32,
>> > > even better if you can make it only happen on Win10 at runtime.
>> >
>> > I wanted to keep it for every OS so it is harder to forget about fixing it.
>>
>> Nope that'll break virt-viewer when run under Wayland, since AFAIK, the
>> Wayland compositors all request CSD
>
> GTK_CSD is ignored under Wayland/when cannot be used. But I can of course move
> it up to the G_OS_WIN32 to make it more clear.

I also prefer inside a G_OS_WIN32 ifdef.
Another thing is that this solution is a temporary hack. So, I'd like
to suggest to apply it only in the 4.0-maint branch.

Best Regards,
--
Fabiano Fidêncio




More information about the virt-tools-list mailing list