Skip to content

Generate splash screens statically into device package

Minecrell requested to merge Minecrell/pmaports:splash-static into master

We need to generate the splash screens separately for each device, because they are specific to the device's display resolution.

At the moment we do this dynamically during the installation process. This has the advantage that there is no need to re-build all device packages when one of the splash screen is changed (or a new one is added).

In reality, however, the splash screens do not change very frequently. On the other hand, generating the splash screens dynamically has signficant disk usage overhead for a minimal ("none" UI) rootfs:
The Python interpreter together with the necessary libraries requires about ~60 MB of disk space on aarch64.
The splash screens itself require about ~100 KB for 720x1280.

This is not necessary if we move the splash screen generation into devicepkg-dev, which is used to build the device package for all devices. Another advantage is that we no longer need the (rather complicated) caching mechanism for splash screens - so we actually end up with less lines than before.

rootfs size for samsung-a5ulte ("none" UI):

  • Before: 450M
  • After: 388M (-62M)

After this change, every(!) device package needs to be rebuilt once. No changes are necessary in device packages.

Edited by Minecrell

Merge request reports