Bug#600405: xserver-xorg-video-intel: changing to a non-native mode dims backlight
tags 600405 + patch
thanks
On Sat, 16 Oct 2010 at 23:05:51 +0100, Simon McVittie wrote:
> On Sat, 16 Oct 2010 at 22:01:15 +0100, Simon McVittie wrote:
> > This is on a Lenovo X200s. I've tried downgrading to xserver-xorg-video-intel
> > 2:2.9.1-4 from testing (with everything else the same), which doesn't
> > exhibit this bug. However, 2:2.13.0-1 from experimental still has the bug.
>
> Having tried this out in various versions from snapshot.d.o, it seems this
> regressed in 2:2.12.0+shadow-1. I've sent appropriate BTS control messages.
It turns out this can be worked around by reverting part of the "+shadow"
series. On the upstream bug, Chris Wilson thinks the correct fix is to improve
backlight setting in the kernel, though.
Regards,
S
>From a19836099da7e920137ee1c2bcae56f4b492df46 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Sun, 17 Oct 2010 12:17:45 +0100
Subject: [PATCH] Revert "display: outputs are enabled automatically by KMS"
This reverts commit 19c48d3b3f33582baa87a9b3a9189e320e4cea45.
Reverting this appears to work around
<https://bugs.freedesktop.org/show_bug.cgi?id=29716>.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29716
Bug-Debian: http://bugs.debian.org/600405
---
src/intel_display.c | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/intel_display.c b/src/intel_display.c
index d32224e..d9c4b5b 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -327,7 +327,7 @@ intel_crtc_apply(xf86CrtcPtr crtc)
uint32_t *output_ids;
int output_count = 0;
int fb_id, x, y;
- int i, ret = FALSE;
+ int i, ret;
output_ids = calloc(sizeof(uint32_t), xf86_config->num_output);
if (!output_ids)
@@ -378,14 +378,26 @@ intel_crtc_apply(xf86CrtcPtr crtc)
} else
ret = TRUE;
+ /* Turn on any outputs on this crtc that may have been disabled */
+ for (i = 0; i < xf86_config->num_output; i++) {
+ xf86OutputPtr output = xf86_config->output[i];
+
+ if (output->crtc != crtc)
+ continue;
+
+ intel_output_dpms(output, DPMSModeOn);
+ }
+
intel_set_gem_max_sizes(scrn);
if (scrn->pScreen)
xf86_reload_cursors(scrn->pScreen);
+ return ret;
+
done:
free(output_ids);
- return ret;
+ return FALSE;
}
static Bool
--
1.7.1
Reply to: