On Thu, Oct 30, 2025 at 4:16 PM Mario Limonciello (AMD)
<[email protected]> wrote:
>
> commit 978fa2f6d0b12 ("drm/amd/display: Use scaling for non-native
> resolutions on eDP") started using the GPU scaler hardware to scale
> when a non-native resolution was picked on eDP. This scaling was done
> to fill the screen instead of maintain aspect ratio.
>
> The idea was supposed to be that if a different scaling behavior is
> preferred then the compositor would request it.  The not following
> aspect ratio behavior however isn't desirable, so adjust it to follow
> aspect ratio and still try to fill screen.
>
> Note: This will lead to black bars in some cases for non-native
> resolutions. Compositors can request the previous behavior if desired.
>

We may end up getting bug reports about the black bars.  We had a
similar debate about what the right default was for radeon 15 years
ago.  That said, at least with this the pixels will be square with
this patch.

Acked-by: Alex Deucher <[email protected]>

> Fixes: 978fa2f6d0b12 ("drm/amd/display: Use scaling for non-native 
> resolutions on eDP")
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4538
> Signed-off-by: Mario Limonciello (AMD) <[email protected]>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 29b9197bbbc32..5b279182e66a8 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -8078,7 +8078,7 @@ static int dm_encoder_helper_atomic_check(struct 
> drm_encoder *encoder,
>                                        "mode %dx%d@%dHz is not native, 
> enabling scaling\n",
>                                        adjusted_mode->hdisplay, 
> adjusted_mode->vdisplay,
>                                        drm_mode_vrefresh(adjusted_mode));
> -                       dm_new_connector_state->scaling = RMX_FULL;
> +                       dm_new_connector_state->scaling = RMX_ASPECT;
>                 }
>                 return 0;
>         }
> --
> 2.43.0
>

Reply via email to