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

Daniel P. Berrange berrange at redhat.com
Wed Aug 10 14:41:51 UTC 2016


On Wed, Aug 10, 2016 at 08:35:49AM +0200, Fabiano Fidêncio wrote:
> 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.

It is bad practice to apply a fix only to a maint branch, as that opens
the possibility of forgetting to fix it in master, which means users
would see a regression on the next release. Fixes should always go into
master first, and then stable branches, even if we intend to do a better
fix in master at some point in the future.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the virt-tools-list mailing list