[PATCH] drm/panic: Fix panic logo alignment

Dileep Sankhla posted 1 patch 1 week ago
drivers/gpu/drm/drm_panic.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] drm/panic: Fix panic logo alignment
Posted by Dileep Sankhla 1 week ago
Display the panic logo at the top center of the screen when
drm_panic_type is set to DRM_PANIC_TYPE_USER to keep the layout
properly aligned.

Signed-off-by: Dileep Sankhla <dileepsankhla.ds@gmail.com>
---
 drivers/gpu/drm/drm_panic.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
index d6d3b8d85dea..c7fecc5e857a 100644
--- a/drivers/gpu/drm/drm_panic.c
+++ b/drivers/gpu/drm/drm_panic.c
@@ -491,6 +491,8 @@ static void draw_panic_screen_user(struct drm_scanout_buffer *sb)
 
 	r_screen = DRM_RECT_INIT(0, 0, sb->width, sb->height);
 	drm_panic_logo_rect(&r_logo, font);
+	/* Center the panic logo */
+	drm_rect_translate(&r_logo, (sb->width - r_logo.x2) / 2, 0);
 
 	msg_width = min(get_max_line_len(panic_msg, panic_msg_lines) * font->width, sb->width);
 	msg_height = min(panic_msg_lines * font->height, sb->height);
-- 
2.43.0
Re: [PATCH] drm/panic: Fix panic logo alignment
Posted by Jocelyn Falempe 5 days, 20 hours ago
On 29/03/2026 12:24, Dileep Sankhla wrote:
> Display the panic logo at the top center of the screen when
> drm_panic_type is set to DRM_PANIC_TYPE_USER to keep the layout
> properly aligned.

Hi,

I think this is more a preference, than a fix.
At boot the logo is at the top left corner, and I choose to let it at 
the same place.
Additionally, on low resolution (like 800x600) the logo has less chance 
to overlap the text, so the user is more likely to see it.

Best regards,

-- 

Jocelyn
> 
> Signed-off-by: Dileep Sankhla <dileepsankhla.ds@gmail.com>
> ---
>   drivers/gpu/drm/drm_panic.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
> index d6d3b8d85dea..c7fecc5e857a 100644
> --- a/drivers/gpu/drm/drm_panic.c
> +++ b/drivers/gpu/drm/drm_panic.c
> @@ -491,6 +491,8 @@ static void draw_panic_screen_user(struct drm_scanout_buffer *sb)
>   
>   	r_screen = DRM_RECT_INIT(0, 0, sb->width, sb->height);
>   	drm_panic_logo_rect(&r_logo, font);
> +	/* Center the panic logo */
> +	drm_rect_translate(&r_logo, (sb->width - r_logo.x2) / 2, 0);
>   
>   	msg_width = min(get_max_line_len(panic_msg, panic_msg_lines) * font->width, sb->width);
>   	msg_height = min(panic_msg_lines * font->height, sb->height);