[PATCH v1 5/5] drm: panel-backlight-quirks: Add Steam Decks

Antheas Kapenekakis posted 5 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v1 5/5] drm: panel-backlight-quirks: Add Steam Decks
Posted by Antheas Kapenekakis 1 month, 1 week ago
On the SteamOS kernel, Valve universally makes minimum brightness 0
for all devices. SteamOS is (was?) meant for the Steam Deck, so
enabling it universally is reasonable. However, it causes issues in
certain devices. Therefore, introduce it just for the Steam Deck here.

SteamOS kernel does not have a public mirror, but this replaces commit
806dd74bb225 ("amd/drm: override backlight min value from 12 -> 0")
in the latest, as of this writing, SteamOS kernel (6.11.11-valve24).
See unofficial mirror reconstructed from sources below.

Link: https://gitlab.com/evlaV/linux-integration/-/commit/806dd74bb225
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
---
 drivers/gpu/drm/drm_panel_backlight_quirks.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_panel_backlight_quirks.c b/drivers/gpu/drm/drm_panel_backlight_quirks.c
index 78c430b07d6a..5c24f4a86519 100644
--- a/drivers/gpu/drm/drm_panel_backlight_quirks.c
+++ b/drivers/gpu/drm/drm_panel_backlight_quirks.c
@@ -73,7 +73,22 @@ static const struct drm_get_panel_backlight_quirk drm_panel_min_backlight_quirks
 		.dmi_match_other.field = DMI_PRODUCT_NAME,
 		.dmi_match_other.value = "ONEXPLAYER F1 EVA-02",
 		.quirk = { .brightness_mask = 3, },
-	}
+	},
+	/* Steam Deck models */
+	{
+		.dmi_match.field = DMI_SYS_VENDOR,
+		.dmi_match.value = "Valve",
+		.dmi_match_other.field = DMI_PRODUCT_NAME,
+		.dmi_match_other.value = "Jupiter",
+		.quirk = { .min_brightness = 1, },
+	},
+	{
+		.dmi_match.field = DMI_SYS_VENDOR,
+		.dmi_match.value = "Valve",
+		.dmi_match_other.field = DMI_PRODUCT_NAME,
+		.dmi_match_other.value = "Galileo",
+		.quirk = { .min_brightness = 1, },
+	},
 };
 
 static bool drm_panel_min_backlight_quirk_matches(
-- 
2.50.1
Re: [PATCH v1 5/5] drm: panel-backlight-quirks: Add Steam Decks
Posted by Robert Beckett 1 month, 1 week ago
 ---- On Sun, 24 Aug 2025 21:02:02 +0100  Antheas Kapenekakis <lkml@antheas.dev> wrote --- 
 > On the SteamOS kernel, Valve universally makes minimum brightness 0
 > for all devices. SteamOS is (was?) meant for the Steam Deck, so
 > enabling it universally is reasonable. However, it causes issues in
 > certain devices. Therefore, introduce it just for the Steam Deck here.
 > 
 > SteamOS kernel does not have a public mirror, but this replaces commit
 > 806dd74bb225 ("amd/drm: override backlight min value from 12 -> 0")
 > in the latest, as of this writing, SteamOS kernel (6.11.11-valve24).
 > See unofficial mirror reconstructed from sources below.
 > 
 > Link: https://gitlab.com/evlaV/linux-integration/-/commit/806dd74bb225
 > Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
 > ---
 >  drivers/gpu/drm/drm_panel_backlight_quirks.c | 17 ++++++++++++++++-
 >  1 file changed, 16 insertions(+), 1 deletion(-)
 > 
 > diff --git a/drivers/gpu/drm/drm_panel_backlight_quirks.c b/drivers/gpu/drm/drm_panel_backlight_quirks.c
 > index 78c430b07d6a..5c24f4a86519 100644
 > --- a/drivers/gpu/drm/drm_panel_backlight_quirks.c
 > +++ b/drivers/gpu/drm/drm_panel_backlight_quirks.c
 > @@ -73,7 +73,22 @@ static const struct drm_get_panel_backlight_quirk drm_panel_min_backlight_quirks
 >          .dmi_match_other.field = DMI_PRODUCT_NAME,
 >          .dmi_match_other.value = "ONEXPLAYER F1 EVA-02",
 >          .quirk = { .brightness_mask = 3, },
 > -    }
 > +    },
 > +    /* Steam Deck models */
 > +    {
 > +        .dmi_match.field = DMI_SYS_VENDOR,
 > +        .dmi_match.value = "Valve",
 > +        .dmi_match_other.field = DMI_PRODUCT_NAME,
 > +        .dmi_match_other.value = "Jupiter",
 > +        .quirk = { .min_brightness = 1, },
 > +    },
 > +    {
 > +        .dmi_match.field = DMI_SYS_VENDOR,
 > +        .dmi_match.value = "Valve",
 > +        .dmi_match_other.field = DMI_PRODUCT_NAME,
 > +        .dmi_match_other.value = "Galileo",
 > +        .quirk = { .min_brightness = 1, },
 > +    },
 >  };
 >  
 >  static bool drm_panel_min_backlight_quirk_matches(
 > -- 
 > 2.50.1
 > 

Reviewed-by: Robert Beckett <bob.beckett@collabora.com>
Re: [PATCH v1 5/5] drm: panel-backlight-quirks: Add Steam Decks
Posted by Mario Limonciello 1 month, 1 week ago
On 8/24/2025 3:02 PM, Antheas Kapenekakis wrote:
> On the SteamOS kernel, Valve universally makes minimum brightness 0
> for all devices. SteamOS is (was?) meant for the Steam Deck, so
> enabling it universally is reasonable. However, it causes issues in
> certain devices. Therefore, introduce it just for the Steam Deck here.
> 
> SteamOS kernel does not have a public mirror, but this replaces commit
> 806dd74bb225 ("amd/drm: override backlight min value from 12 -> 0")
> in the latest, as of this writing, SteamOS kernel (6.11.11-valve24).
> See unofficial mirror reconstructed from sources below.
> 
> Link: https://gitlab.com/evlaV/linux-integration/-/commit/806dd74bb225
> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
> ---

Directionally I agree with this commit in favor of what the downstream 
kernel tree has that you linked above.

But I would rather see it sent alone and not tied to a series to 
overhaul how quirks work.  If it's sent alone we should be able to get 
it reviewed pretty easily and in drm-misc-fixes.

>   drivers/gpu/drm/drm_panel_backlight_quirks.c | 17 ++++++++++++++++-
>   1 file changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_panel_backlight_quirks.c b/drivers/gpu/drm/drm_panel_backlight_quirks.c
> index 78c430b07d6a..5c24f4a86519 100644
> --- a/drivers/gpu/drm/drm_panel_backlight_quirks.c
> +++ b/drivers/gpu/drm/drm_panel_backlight_quirks.c
> @@ -73,7 +73,22 @@ static const struct drm_get_panel_backlight_quirk drm_panel_min_backlight_quirks
>   		.dmi_match_other.field = DMI_PRODUCT_NAME,
>   		.dmi_match_other.value = "ONEXPLAYER F1 EVA-02",
>   		.quirk = { .brightness_mask = 3, },
> -	}
> +	},
> +	/* Steam Deck models */
> +	{
> +		.dmi_match.field = DMI_SYS_VENDOR,
> +		.dmi_match.value = "Valve",
> +		.dmi_match_other.field = DMI_PRODUCT_NAME,
> +		.dmi_match_other.value = "Jupiter",
> +		.quirk = { .min_brightness = 1, },
> +	},
> +	{
> +		.dmi_match.field = DMI_SYS_VENDOR,
> +		.dmi_match.value = "Valve",
> +		.dmi_match_other.field = DMI_PRODUCT_NAME,
> +		.dmi_match_other.value = "Galileo",
> +		.quirk = { .min_brightness = 1, },
> +	},
>   };
>   
>   static bool drm_panel_min_backlight_quirk_matches(