Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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. 

...

Analysis of changes needed in RDKM environment to support splash screen

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 .

Steps to run rdke splash using  window manager

  • Use rdkwindow manager to create display

          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}"}}'

  • export XDG_RUNTIME_DIR=/tmp
    export WAYLAND_DISPLAY=test
  • /usr/bin/rdke_splash

Steps followed to try running splash screen during boot up

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

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