[argyllcms] Re: Dispwin vs. xscreensaver

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Tue, 03 Mar 2015 11:07:12 +1100

Geoff Kuenning wrote:

Hi,

> It appears that on modern RandR setups, dispwin uses XRRSetCrtcGamma to
> set the gamma curve.  However, xscreensaver uses XF86VidModeGetGammaRamp
> to read the current gamma, and the XF86VidModeSetGammaRamp to perform a
> fadeout.  Unfortunately, it seems that GetGammaRamp doesn't return the
> ramp set by SetCrtcGamma.  So the SetGammaRamp works like "dispwin -c".

Right.

> My feeling is that this is either an X server bug (on the theory that
> the two interfaces should be compatible) or an xscreensaver bug (on the
> theory that it should use SetCrtcGamme if it's available.  But I also
> think that I'm more likely to find the necessary expertise on this list,
> so I'm starting here.

Both theories have merit. In practice though, XRandR is pretty fundamental
to a modern X11 server, while XF86VidModeSetGammaRamp is part of the
XVidMode extension. So to make these two be consistent implies
making the XVidMode extension XRandR aware. I would guess that
the XVidMode extension is tweaked with each HW implementation,
and is in a "legacy maintanence" mode with the arrival of XRandR,
so getting this updated would seem to be hard.

xscreensaver on the other hand, is a stand alone application
that (presumably) is still being maintained, so I think that
making it XRandR aware would be the appropriate and practical
fix.

Hope that helps,

Graeme Gill.

Other related posts: