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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/09/2017 09:50 AM, Jani Nikula wrote:
On Mon, 08 May 2017, Tomasz Papież <tmszpp@xxxxxxxxx> 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@xxxxxxxxx>
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@xxxxxxxxx>

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@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux