Intel 2.4.0 dithering problem

Peter Clifton pcjc2 at cam.ac.uk
Sun Aug 10 09:27:28 PDT 2008


Hi,

I've just spent about a day playing with the git head Intel driver,
mesa, drm (kernel patches etc..). (After the drm-gem merge)

I have things basically working, EXA acceleration enabled (not UXA, that
appeared to break things).

What I immediately noticed was a problem with colour banding across my
display. I tried forcing 24bit LVDS signalling, which turned out not to
be the cause (and gave pretty colour patterns), and then started digging
into the 8->6 bit dithering.

I've no idea why, but the i830_bios.c detects that the panel shouldn't
be dithered. Forcing dithering on:


diff --git a/src/i830_bios.c b/src/i830_bios.c
index fe55d23..58e818c 100644
--- a/src/i830_bios.c
+++ b/src/i830_bios.c
@@ -100,7 +100,7 @@ parse_panel_data(I830Ptr pI830, struct bdb_header
*bdb)
     if (!lvds_options)
        return;
 
-    pI830->lvds_dither = lvds_options->pixel_dither;
+    pI830->lvds_dither = 1;// lvds_options->pixel_dither;
     if (lvds_options->panel_type == 0xff)
        return;
 

Returns the display to it's previous level of banding on gradients
(display looks pretty good, no hugely obvious banding).


Does anyone have any idea why this is detecting wrong, or if something
else is wrong?

I tried poking about with bios_reader to look into this further, but
bios_dumper isn't able to grab a ROM image. (libpciaccess returns ROM
size is zero).


The only other changes I've noted, is that I can't run GL applications
which require a double-buffered visual, since none are available
(according to glxinfo non of my visuals are double-buffered). Is this
expected for any reason?


-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)




More information about the xorg mailing list