Bug#432553: xserver-xorg-video-intel: Outputs seems to be shifted up by 1/2 pixel on DVI monitor
forcemerge 432425 432553
thank you
>> Note: The upper and the lower lines seem to be ok. In the middle of the
>> screen the text seems to be worst. It's like someone scaled the picture
>> by one pixel.
>>
>> According to git-bisect the following commit is respsonsible for the
>> breakage:
>>
>> e2e301348b4168aeed38b3fdc6b0e43d5678a86 is first bad commit
>> commit 1e2e301348b4168aeed38b3fdc6b0e43d5678a86
>> Author: Keith Packard <keithp@dulcimer.keithp.com>
>> Date: Sat Jun 30 12:45:24 2007 -0700
>>
>> Fix load detection to use border region instead of blanking.
>>
>> Make sure there is some border area to use by changing how the pipe is
>> configured, then pick a scanline in the middle of the border for load
>> detection. This lets the load detect code use an active pipe instead of
>> requiring an idle one.
>>
>
> Other regressions have been reported after this patch, so I think Keith
> is aware of it.
>
The following patch should help for now (the #if 0 might be changed into
something like if (i8xx) for a proper fix).
Brice
diff --git a/src/i830_display.c b/src/i830_display.c
index ebde525..28be1ab 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -1055,12 +1055,14 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
OUTREG(vtot_reg, (adjusted_mode->CrtcVDisplay - 1) |
((adjusted_mode->CrtcVTotal - 1) << 16));
+#if 0
/*
* Give us some border at the bottom for load detection
*/
adjusted_mode->CrtcVBlankStart = adjusted_mode->CrtcVSyncStart;
if (adjusted_mode->CrtcVBlankEnd - adjusted_mode->CrtcVBlankStart < 3)
adjusted_mode->CrtcVBlankStart = adjusted_mode->CrtcVBlankEnd - 3;
+#endif
OUTREG(vblank_reg, (adjusted_mode->CrtcVBlankStart - 1) |
((adjusted_mode->CrtcVBlankEnd - 1) << 16));
Reply to: