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