...
Every 50 ms the app checks for the existence of /tmp/.dismissSplash. When that file is found, the render loop exits. The helper script dismiss_splash.sh creates that file with a simple touch /tmp/.dismissSplash call — any other system component can do the same to signal that the splash is no longer needed.
...
As part of this activity rdke_splash binary was built using the source code available in https://github.com/rdkcentral/splashscreen/tree/develop . Later this binary was put into a raspberry pi build running with RDKM image . As a first try it was ran on the same display that the refui is running and was able to see the default red screen of the rdke splash .
curl -X POST http://127.0.0.1:9998/jsonrpc -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"org.rdk.RDKWindowManager.1.createDisplay","params":{"displayParams":"{\"client\":\"myapp_12345\",\"displayName\":\"test\",\"displayWidth\":1920,\"displayHeight\":1080,\"virtualDisplay\":false,\"virtualWidth\":1920,\"virtualHeight\":1080,\"topmost\":false,\"focus\":true}"}}'
Modified the existing rdke_splash.service like below,
[Unit]
Description=RDK Splash Screen
After=getty@.service
Before=sceneset.service
StartLimitIntervalSec=30
StartLimitBurst=5
[Service]
Type=simple
Environment="LD_PRELOAD=libwesteros_gl.so.0.0.0"
Environment="WESTEROS_DRM_CARD=/dev/dri/card1"
# The splash image is expected to be part of the firmware image.
# If no --image is provided, the app shows an internal fallback splash.
ExecStart=/usr/bin/rdke_splash
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.targetEnabled this service to start during the box bootup and modified the rdkwindowmanager service to add an ExecStartPre to stop this service . Tested with these 2 changes and it was seen that the box was booted up with the default red screen of the rdke_splash binary and was visible for 3-4 seconds before the reference UI is started .