PROBLEM: EDID regression results in color banding on Lenovo G50 series laptops [fix proposition]
Subsystems (2)
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
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.
drivers/gpu/drm/drm_edid.c +3 -0
@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 6 lines · Tomasz Papież
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 <[email protected]> Date: Wed Jul 6 12:05:48 2016 +0200
drm/edid: Set 8 bpc color depth for displays with "DFP 1.x compliant TMDS".
Quoted 27 lines
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.
drivers/gpu/drm/drm_edid.c +3
-0@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Mario Kleiner
Reviewed-byQuoted 34 lines · Jani Nikula
Quoted 6 lines · Tomasz Papież
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
210a021dab639694600450c14b877bf3e3240adccommit
210a021dab639694600450c14b877bf3e3240adcAuthor: Mario Kleiner <[email protected]> Date: Wed Jul 6 12:05:48 2016 +0200drm/edid: Set 8 bpc color depth for displays with "DFP 1.x compliant TMDS".
Cc Mario.Quoted 17 lines
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.
drivers/gpu/drm/drm_edid.c +0
-0@@ -147,6 +147,9 @@ static const struct edid_quirk {/* Medion MD 30217 PG */ { "MED", 0x7b8, EDID_QUIRK_PREFER_LARGE_75 },
Quoted 5 lines
drivers/gpu/drm/drm_edid.c static const struct edid_quirk { · line 154
Quoted 5 lines
drivers/gpu/drm/drm_edid.c +3
-0+/* 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
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
Quoted 6 lines
Quoted 5 lines
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH 1/1 EDID quirk for Lenovo G50-80 (force 6bpc)
drivers/gpu/drm/drm_edid.c +3 -0
@@ -152,6 +152,9 @@ static const struct edid_quirk {/* Medion MD 30217 PG */ { "MED", 0x7b8, EDID_QUIRK_PREFER_LARGE_75 }, +/* Panel in Lenovo G50-80 */ + { "SDC", 18514, EDID_QUIRK_FORCE_6BPC }, +/* Panel in Samsung NP700G7A-S01PL notebook reports 6bpc */ { "SEC", 0xd033, EDID_QUIRK_FORCE_8BPC },
Signature · 6 lines
2.13.0 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel