On 2025-10-30 16:50, Mario Limonciello (AMD) (kernel.org) wrote:
> 
> 
> On 10/30/2025 3:49 PM, Alex Deucher wrote:
>> 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]>
> 
> Thanks.  Yeah that was my thought too.

I think not preserving aspect ratio is rarely ever the right
call, especially since all modern displays have square pixels.

Reviewed-by: Harry Wentland <[email protected]>

Harry

> 
>>
>>> 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