Intel - Dithering on a 6 bit panel

Stephane Marchesin marchesin at icps.u-strasbg.fr
Wed Mar 11 00:52:50 PDT 2009


On Tue, Mar 10, 2009 at 23:34, Adam Jackson <ajax at nwnk.net> wrote:
> On Fri, 2009-03-06 at 18:28 -0500, Benjamin M. Schwartz wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Eric Anholt wrote:
>> > On Tue, 2009-03-03 at 23:57 +0000, James Legg wrote:
>> >> Hello,
>> >>
>> >> I have an Asus X58L laptop, which has Intel GM965 graphics. The
>> >> framebuffer configurations reported by glxinfo all have 8 bits for each
>> >> of the colour channels. However, the output looks like 6 bits with
>> >> static 2 by 2 spatial dithering. Assuming the display is actually 6
>> >> bits, is there any way I can get temporal dithering?
>> >
>> > Yeah, your panel is likely only 6 bits.  I've never seen any knobs for
>> > better dithering.
>>
>> If you're looking for a project, you could add a setting to the driver to
>> do the temporal dithering in software, on the GPU.
>>
>> That would be a terrific hack.
>
> I have difficulty imagining any implementation of this that wouldn't
> absolutely murder your battery life.
>

Well, right now the video quality on intel is quite horrible because
of that regular 2x2 dithering pattern, even on a laptop it would be
nice to have the option. And if your machine is not a laptop it
doesn't matter anyway how long your battery lasts. FWIW I gave it a go
and tried to change PFIT_CONTROL bits but none seems to affect the
dithering more than just on/off.

An alternate solution I experimented with is to use the overlay, and
add/remove 1 to the brightness 60 times a second (or whatever your
vrefresh is). That results in temporal dithering and makes the ugly
regular dithering pattern mostly invisible. However properly
implementing this in the driver is another matter...

Stephane



More information about the xorg mailing list