lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260106-drm_client_splash-v2-0-6e86a7434b59@valla.it>
Date: Tue, 06 Jan 2026 15:25:39 +0100
From: Francesco Valla <francesco@...la.it>
To: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, 
 Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>, 
 David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>, 
 Jonathan Corbet <corbet@....net>, Jocelyn Falempe <jfalempe@...hat.com>, 
 Javier Martinez Canillas <javierm@...hat.com>
Cc: Sam Ravnborg <sam@...nborg.org>, 
 Mario Limonciello <mario.limonciello@....com>, linux-kernel@...r.kernel.org, 
 dri-devel@...ts.freedesktop.org, linux-doc@...r.kernel.org, 
 linux-embedded@...r.kernel.org, Francesco Valla <francesco@...la.it>
Subject: [PATCH RFC v2 0/3] Add splash DRM client

Hello,

after quite some time, this is the second RFC version for the DRM-based
splash screen. Motivation behind the work can be found in v1 [0]. 

Following the advice received on the v1, I stripped away all of the
user-driven functionalities (i.e.: configurable message and progress
bar), which can be provided by existing userspace tools, and decided to
use 24-bits bitmap as image format instead of raw dumps.

With the addition of EFI BGRT as a new source, this new DRM client is
now able to draw to screen one of the following:

  - a colored background;
  - a BMP image loaded as firmware (either built-in or loaded from the
    filesystem);
  - the BMP image supplied by the EFI BGRT.

Once compiled inside the kernel, the client can be enabled through the
command line specifying the drm_client_lib.active=splash parameter.

Two additional command-line parameters can be specified:

  - drm_client_lib.splash_color=0xRRGGBB to modify the default
    background color (which can in turn be set through a build-time
    option);
  - drm_client_lib.splash_bmp=<image.bmp> to set the BMP image loaded in
    case this is the chosen source (with a fixed default of
    drm_splash.bmp.

These two parameters were kept against some of the received feedback
because they fit a specific embedded usecase I want to cover (i.e.:
hardware model detected and set by the bootloader, along with a custom
splash for each model).

Additional notes:
  - Rotation is still not managed.
  - As for v1, support for tiled screens is untested.
  - Plain color and BMP sources were tested both on QEMU and on a
    Beagleplay.
  - EFI BGRT support was tested using QEMU+OVMF.

Thank you in advance for any feedback you want to leave.

Best regards,
Francesco

[0] https://lore.kernel.org/all/20251027-drm_client_splash-v1-0-00698933b34a@valla.it

Signed-off-by: Francesco Valla <francesco@...la.it>
---
Changes in v2:
  - Moved from raw dump to BMP format for static image source
  - Removed support for configurable message
  - Removed support for progress bar
  - Added EFI BGRT as image source
Link to v1: https://lore.kernel.org/r/20251027-drm_client_splash-v1-0-00698933b34a@valla.it

---
Francesco Valla (3):
      drm: client: add splash client
      MAINTAINERS: add entry for DRM splash client
      drm: docs: remove bootsplash from TODO

 Documentation/gpu/todo.rst                    |  17 -
 MAINTAINERS                                   |   7 +
 drivers/gpu/drm/clients/Kconfig               |  79 ++-
 drivers/gpu/drm/clients/Makefile              |   1 +
 drivers/gpu/drm/clients/drm_client_internal.h |   9 +
 drivers/gpu/drm/clients/drm_client_setup.c    |   8 +
 drivers/gpu/drm/clients/drm_splash.c          | 883 ++++++++++++++++++++++++++
 7 files changed, 986 insertions(+), 18 deletions(-)
---
base-commit: 7f98ab9da046865d57c102fd3ca9669a29845f67
change-id: 20251026-drm_client_splash-e10d7d663e7f

Best regards,
-- 
Francesco Valla <francesco@...la.it>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ