++ gnome-screensaver-2.30.2/debian/patches/13_nvidia_gamma_fade_fallback.patch Description: Fall back to XF86VM gamma fade if XRANDR gamma fade is not supported Author: Chris Coulson Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/522806 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=610294 Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=610294 Index: gnome-screensaver-2.30.2/src/gs-fade.c =================================================================== --- gnome-screensaver-2.30.2.orig/src/gs-fade.c 2010-11-15 17:13:12.730491003 +1100 +++ gnome-screensaver-2.30.2/src/gs-fade.c 2010-11-15 17:13:16.838491003 +1100 @@ -572,6 +572,10 @@ GdkDisplay *display = gdk_display_get_default (); GdkScreen *screen = gdk_display_get_screen (display, screen_idx); struct GSFadeScreenPrivate *screen_priv; + GnomeRRCrtc **crtcs; + GnomeRRCrtc *crtc; + gboolean res; + int gamma_size; screen_priv = &fade->priv->screen_priv[screen_idx]; @@ -584,6 +588,19 @@ return; } + crtcs = gnome_rr_screen_list_crtcs (screen_priv->rrscreen); + + while (*crtcs) + { + crtc = *crtcs; + res = gnome_rr_crtc_get_gamma (crtc, &gamma_size, NULL, NULL, NULL); + if (res == FALSE || gamma_size == 0) { + screen_priv->fade_type = FADE_TYPE_NONE; + return; + } + crtcs++; + } + screen_priv->fade_type = FADE_TYPE_XRANDR; screen_priv->fade_setup = xrandr_fade_setup; screen_priv->fade_finish = screen_fade_finish;