Message ID | aedceba6-f3d8-3377-6dd8-398603d5aef2@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 08 May 2017, Tomasz Papież <tmszpp@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@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 }, > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On 05/09/2017 09:50 AM, Jani Nikula wrote: > On Mon, 08 May 2017, Tomasz Papież <tmszpp@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@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@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@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel >
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 },