From nobody Fri Oct 2 04:41:55 2026 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3A82453A33 for ; Wed, 5 Aug 2026 12:11:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.160.171 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785931893; cv=pass; b=Yt6taAaKE+BmZwmWEYE9ioePmZsgPLuxsGDjGlczm7JSZyjecxCiyrROdiUc3ToQGFe3frk0PiLx1UH34Id1mIQo0KfWKq/+feXCa7YEP3ojMNRPkHSUWTjtHBnR9T0sqecPB+ea9qF3hBT85S9RF9CiY3Wn0h0HnagV0e1bQeM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785931893; c=relaxed/simple; bh=LxHMfPHiN03nNXFk1GX/VMG9Z4DXTehDUG4kXGHurpE=; h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=XCNM5m42xZ9ch9swwpGSwgHYJEDF8z1MDMFhwizPMz4nnmYeJd3iX2I3HgethkVyuyN2CB/dBdy3s5Sge5HyafPP2JIankdh3HHtUBl/1c6xbMnt8gLvt1PGC3in1h6kiQ5OqMONm0nW46pCD70BBsfXbCRc3iMsnmvkTE6WNH4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EUfrMJix; arc=pass smtp.client-ip=209.85.160.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EUfrMJix" Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-51c149c5722so7385941cf.0 for ; Wed, 05 Aug 2026 05:11:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1785931890; cv=none; d=google.com; s=arc-20260327; b=hXgOlpFLpLu/jst075AKmsGi8YMy5g3rL+QEm31oaqp1O6Hr2cbYVu+z9/66tA2ubx ZoxJRDU5ZVtAOM54hLcM6/nqxsiI/bSrZjZMEmCYt/Q3mAop+/VtqOYo7V06/pqrDcDS zKGuN1VeL2Vv9hCI6QFBE0aU9b7KL7616oBPjpWLvdk8yG9F+p8vg/fn+sHbIvyoBjdq 0VzECZiXcdALDUr/nA5EJuPfggIb7ep84DlIR2qPl0QP9iUVCksKnfCMiSwE/kG/EcMp bdeGwimYH1+QzCAmtYImzKJmrDfNinP9ApsTQWIVZ/BYqcZm6iGlPRiVNTlckrpwZ0h2 gcKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :mime-version:dkim-signature; bh=Yh8Y1BiTgmyGQ7eJlQNoWIHTHPxj/tNmLoeAhpI9wOw=; fh=avOwZXF5YIh4j8lZcRZwLE6lrkzQTR2TjG5aqdnn2SY=; b=JCmhg+LvL6HZAN6tnFA7u3RE8GpikmTqdUIuAGFn3x21pPid5QvdUQye8T/25Djs5M NPCGp89B9XQPr8RicLt7MjSy7KtnWSPFHyTp0FRMkPJXCjLcFpJ28gNko6EDQ0BwHc9t KHNjOCwPv5qy5hAMw7AQb4njcT8DsKvweCtTDNc/FUZ8TTaMxx3bEhWiZX52I46/NBtH vZdm4GWoCKt+G55IeF8PSfLAcq/B833vR+hcpDVf0szqIgJC1Iu+S0FidHVADMjc9ycH mBlmk1I7abvGrPuz5u4qqgNEPK2YE+yVGdpPdmrpvJwLwvC5pztw0+QmqOJiFPFTHT3Z 3Zfw==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785931890; x=1786536690; darn=vger.kernel.org; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Yh8Y1BiTgmyGQ7eJlQNoWIHTHPxj/tNmLoeAhpI9wOw=; b=EUfrMJixPL6rieQJAhMY5Xch2vw3MpySQ104tQu2gSj9GO6xY/wCpLhLuENhesEm2H ScTWWY6xdN4oCbEqXO7MSwuEIrDU0lcpuPgH6sW1YfhYPUBCVrWC+i9K4BRHYvIC/hKS Dk5Dy+o+u2iwFiRwm7cbcQXip7lHSA6GhTpcmQO4xW3qcIai7EjCX9fS08+msN73vb4A qR9uwwD452C8YVto+M4vBtFjsqgr7OzaDkQ+ysJXfxtp6lo+ik4kVmXfKsp8WzAfGoiS wZf2d5P6YDpu90YqnK6lBgNnVtqxU8N871KR9YOLtVkywnFG+lyA+yxqNwiJHVaaXX0K RtKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785931890; x=1786536690; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=Yh8Y1BiTgmyGQ7eJlQNoWIHTHPxj/tNmLoeAhpI9wOw=; b=crdZRiAUCMXgpXDVSuFIsXwg8lHZLJ6sLfZJHKJaJBbFaM1s86yjzfVdnR1W7DJwXB 9eGr69jNuPdrzfGxS5z8PPshnMyOydX7mPHUv7KBay4jTV3yuSOhh/Z9LDVkwIea83HY NooYjHe8225ilRGKm6Wit9cSHADhLoC1q+eRs2zNoi66s83XC3Tb3wq+GjYWIduGShn1 VnneCHPm6W4DzogkG1wsQTWvWehAmKR49oZ7LSlxp4XQEFVLGniGUQ3H11Aq8hq0bmVZ fTP9yVqMgT06b0J+ruUqR7PgG/bDHxP1rTXknN0L4Lm9iAsS4wxsSsc93MaP7xcCqapm ou7g== X-Gm-Message-State: AOJu0YwOtuwtpy1sFGwv1x8foQkJlAg4qJ0RxsEWogn/cXw7LZpNRliN 94T+Nm4l3AGDOMita67qTidqrhnVYdql7AbRJwyPvocllx2OLwmffNk8N4IkGbiowwihyJUuLZG iLGsMteaLw2qlooy/dtyu0emw5zhDLGM= X-Gm-Gg: AR+sD13kvuf2HlOPsgLpMaiIXXINVLOHljKFKfpUyo+SYsxjyFMdQQD34Dpbbu44zUg 845KzcAnCuqfzXmEypgij/ilOIe2PgmQLUfZg1iP/L6SQkWQcMwJNroJebWoUTlGPRr5qlCyEfW 19zuXhhgQS7IPmLJqGfVoPmdLXYu4oontLruOH4rRhVl7rJoBm4FY2xIutQxg+cKP1nzJpZud3x 6pjcxCIXrrkjPRu0wuZLUKU1F66X9gXXUr0QgnwZ/ArWxF6i8NjbF5rWRco8D7Zg4tpB21XxGik ufUve13qUywTKOFV4wBLBVw8JeCo3yqRWVZKimh90fn3cgLdPwx4NEiK2lrMt6fHO4jBkSA0dWA 9FpXzRDM= X-Received: by 2002:a05:622a:1794:b0:527:7756:3ee9 with SMTP id d75a77b69052e-52cd31858fbmr134305051cf.0.1785931890551; Wed, 05 Aug 2026 05:11:30 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Kareem Nedzmee-Seid Date: Wed, 5 Aug 2026 15:11:17 +0300 X-Gm-Features: AUfX_mxqvpaMZ6ykCE7jScFBgGGcwu8ZP52lOrKv0eopPPGutUfCiVgZxwcsTOQ Message-ID: Subject: REGRESSION: i915 Haswell 6 bpc dithering broken (watercolor color banding) To: intel-gfx@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, vsyrjala@linux.intel.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" i have a severe issue where haswell era graphics render colors terribly on linux. the i915 driver seems to fail dithering on 6 bit laptop displays, and colors get super washed out/banded because the system treats it like an 8 bit panel when it's actually 6 bit. when watching movies or videos, these jagged lines come out of nowhere and ruin the image ;-; i already have the patch file written by ville, but i don't know how to safely compile a driver myself and i can't risk breaking anything on this machine since i rely on it daily for schoolwork. could the dev team please review and merge this patch into mainline kernel / stable releases so it gets pushed out through official distro updates? thank you! :) original issue: https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/16045 here is original patch code as it is: From f94b29912b124d729caed9e4c6474c480a5f9cc1 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Ville=3D20Syrj=3DC3=3DA4l=3DC3=3DA4?=3D Date: Thu, 14 May 2026 18:46:54 +0300 Subject: [PATCH] drm/edid: Ignore the "DFP 1.x" bit for non-TMDS outputs MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit Limit the "DFP 1.x" EDID bit parsing to connector types that use a DFP compatible interface, namely DVI and HDMI. This avoid populating info->bpc for other output types, allowing for driver specific fallbacks to kick in. In this particular case we have a 6bpc eDP panel where we need to rely on the bpc override from the Intel Video BIOS Table (VBT) to determine the proper color depth. Unfortunately the VBT override can't be generally trusted because it tends to be left at the default 6bpc value regardless of the color depth of the panel. So we only trust it if the EDID doesn't specify a color depth explicitly. Cc: Mario Kleiner Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/16045 Fixes: 210a021dab63 ("drm/edid: Set 8 bpc color depth for displays with "DFP 1.x compliant TMDS".") Signed-off-by: Ville Syrj=C3=A4l=C3=A4 --- drivers/gpu/drm/drm_edid.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 404208bf23a6..ee99f680e8f5 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -5693,6 +5693,19 @@ void drm_edid_cta_sad_set(struct cea_sad *cta_sad, const u8 *sad) cta_sad->byte2 =3D sad[2]; } +static bool connector_is_dfp_compatible(struct drm_connector *connector) +{ + switch (connector->connector_type) { + case DRM_MODE_CONNECTOR_DVII: + case DRM_MODE_CONNECTOR_DVID: + case DRM_MODE_CONNECTOR_HDMIA: + case DRM_MODE_CONNECTOR_HDMIB: + return true; + default: + return false; + } +} + /* * drm_edid_to_eld - build ELD from EDID * @connector: connector corresponding to the HDMI/DP sink @@ -6783,6 +6796,7 @@ static void update_display_info(struct drm_connector *connector, * extensions which tell otherwise. */ if (info->bpc =3D=3D 0 && edid->revision =3D=3D 3 && + connector_is_dfp_compatible(connector) && edid->input & DRM_EDID_DIGITAL_DFP_1_X) { info->bpc =3D 8; drm_dbg_kms(connector->dev, --=20 2.52.0