PROBLEM: EDID regression results in color banding on Lenovo G50 series laptops [fix proposition]

Mario Kleiner mario.kleiner.de at gmail.com
Mon May 15 16:49:49 UTC 2017


On 05/09/2017 09:50 AM, Jani Nikula wrote:
> On Mon, 08 May 2017, Tomasz Papież <tmszpp at gmail.com> wrote:
>> Since the introduction of kernel 4.8 I've been experiencing color
>> banding on my Lenovo G50-80 notebook. I also had reports of the same
>> symptoms on the G50-70 model.
>>
>> I figured out that the problem had been introduced by commit
>> 210a021dab639694600450c14b877bf3e3240adc
>
> commit 210a021dab639694600450c14b877bf3e3240adc
> Author: Mario Kleiner <mario.kleiner.de at gmail.com>
> Date:   Wed Jul 6 12:05:48 2016 +0200
>
>     drm/edid: Set 8 bpc color depth for displays with "DFP 1.x compliant TMDS".
>
> Cc: Mario.
>
>
>>
>> The G50-80's LCD panel supports 6bpc, but is now set to 8bpc,
>> and the system probably falls back to 6bpc
>> without any dithering, which result in heavily banded gradients.
>>
>> I fixed it for myself by adding an EDID quirk for that particular LCD
>> panel (see the attached patch). It's unknown to me, however, if there
>> are any other panels affected by the issue, so maybe a more general
>> solution might be desirable.
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index fad3d44e4642..ee3124bcae87 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -147,6 +147,9 @@ static const struct edid_quirk {
>>  	/* Medion MD 30217 PG */
>>  	{ "MED", 0x7b8, EDID_QUIRK_PREFER_LARGE_75 },
>>
>> +	/* Fix for Lenovo G50 */
>> +	{ "SDC", 18514, EDID_QUIRK_FORCE_6BPC },
>> +
>>  	/* Panel in Samsung NP700G7A-S01PL notebook reports 6bpc */
>>  	{ "SEC", 0xd033, EDID_QUIRK_FORCE_8BPC },

This patch is

Reviewed-by: Mario Kleiner <mario.kleiner.de at gmail.com>

once it has a proper sign-off and commit message.

Given that the current code handles panels with non-faulty EDID 
properly, minus such quirks, i think it would make sense to add 
connector properties to intel-kms, so users can en/disable dithering or 
select dither depth manually via xrandr if the panel reports bogus stuff 
via EDID. nouveau and radeon/amdgpu do this, NVidia blob does it, also 
on Windows.

thanks,
-mario

>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>


More information about the dri-devel mailing list