[Spice-devel] Spice bug62033, Gnome bug 680195 rework: new inhibitors for desktop effects

Fedor Lyakhov fedor.lyakhov at gmail.com
Sat Nov 2 17:50:27 CET 2013


Bastein, Hans,

We need an agreement on this topic so I can implement something - and
have it accepted in both Spice and Gnome eventually.

There are 2 possible approaches conflicting here:
(i) (spice-proposed) DEs to export API for toggling effects
(preferable inhibitor-styled). Spice to actively use this API as it
sees fit.
(ii) (gnome-proposed) Spice to export API about its internal state,
DEs to recognize Spice and use that API as they want (e.g. disable
effects).

Both approaches can work, and second one seems to be easier to
implement for Spice/Gnome stack.
Main arguments pro (i):
1. It seems right for Spice to be in an active position, deciding what
to do. DEs are merely environments providing APIs and means for
applications to achieve their goals.
2. Spice aims to support many DEs, not only Gnome (mainly under
freedesktop, ofc). Making other DEs to recognize Spice usage and
implement appropriate logic seems to be incorrect approach, which may
be not acceptable from their PoV.

To address Bastein's concern about new inhibitors: we want them to be
system ones, similar to existing idle and other inhibitors. Not
something in the user space of Spice. They should be useful for other
remoting applications like VNC, and maybe some other apps (cannot
think up other real use cases right now).


On Thu, Oct 31, 2013 at 9:31 PM, Bastien Nocera <hadess at hadess.net> wrote:
> On Thu, 2013-10-31 at 14:44 +0400, Fedor Lyakhov wrote:
>> Hi Bastien,
>>
>> I'm working on a bug/enhancement for Spice reported by Zeeshan:
>> https://bugs.freedesktop.org/show_bug.cgi?id=62033 (Means to detect
>> local-only). It is related to Gnome bug
>> https://bugzilla.gnome.org/show_bug.cgi?id=680195 (Disable animations
>> when on slow VNC or spice)
>>
>> We've discussed possible solutions for this issue in the spice-devel
>> mailing list (the last message in the thread -
>> http://lists.freedesktop.org/archives/spice-devel/2013-September/014562.html).
>>
>> Summary of the issue:
>> Need to disable desktop effects (animation, wallpaper, font smoothing)
>> when user is connected via Spice over slow network.
>>
>> Proposed solution:
>> (i) Use existing "--spice-disable-effects" option which works for
>> Windows guests already: implement such functionality for Linux guests.
>> The feature can be invoked from oVirt, so it will be useful.
>> (ii) Implement the feature via inhibitors: Spice vdagent to call
>> DE-provided inhibitor-styled D-Bus API to inhibit animation, wallpaper
>> and font smoothing. This way the feature will be supported at any DE
>> which provides such API - hopefully we can get support for Gnome3, KDE
>> (5?) and Unity (minimum list).
>>
>> Does the solution seem reasonable for you? Any comments would be appreciated.
>
> The only thing that spice needs to do is export the fact that it's
> running on a slow link. gnome-settings-daemon will take care of reading
> that and acting accordingly.
>
> There's no need for spice to know what the desktop environment will make
> of it.
>
>> I have few additional questions:
>> 1. I know you have been involved into Inhibitor API discussions with
>> KDE folks about a year ago (I've seen only
>> http://lists.freedesktop.org/pipermail/xdg/2012-November/012580.html
>> thread). Could you please summarize the current status of this API in
>> Gnome and maybe KDE (including all inhibitors, not only screen saver)?
>> I cannot find any relevant documentation about this...
>
> The specification website is currently broken, but that's what I had:
> http://people.freedesktop.org/~hadess/idle-inhibition-spec/index.html
>
> It's only for enabling idle inhibition, nothing else.
>
>> 2. What do you think about adding new inhibitors for our needs? Where
>> should I start from? Is the implementation need to be added to
>> gnome-desktop-settings?
>
> It's a system plumbing issue, and inhibitors are for applications, so
> I'd be against it.
>
> Cheers
>



-- 
Best regards,
Fedor


More information about the Spice-devel mailing list