Example for the Freescale i.MX6 SABRE Smart board

Say that you have a splash screen application that runs on a Freescale i.MX6 SABRE Smart board and the splash screen application is called splash screen_application.

The splash screen application shows a PNG file. Here's how you determine the board-specific files that must be included in the primary IFS in the provided graphics.conf file for the Freescale i.MX6 SABRE Smart board:

Figure 1. Sample graphics.conf file for i.MX6 SABRE Smart board.

Board-specific memory allocator filename

To determine the filename of the memory allocator, see the alloc-config entry in the graphics.config as follows:
alloc-config = imx6xbuf
Therefore, the name of the memory allocator file is screen-imx6xbuf.so because the value is prefixed with screen- and suffixed with .so.

Board-specific Screen libraries that must be loaded in the primary IFS

The “display driver” files determined from the previous example graphics.conf file are as follows:
  • libwfdcfg-imx6x-hdmi.so
  • libimx6xCSCgamma-generic.so
  • libWFDimx6x.so

Summary of minimum files required for Screen

The following table summarizes the minimum files required to show content on the display:
File Purpose
graphics.conf The Screen service configuration file
csc_gamma.conf Configuration file for CSC gamma
libwfdcfg-imx6x-hdmi.so The HDMI device driver
libimx6xCSCgamma-generic.so Generic board CSC Gamma library
libWFDimx6x.so Generic board WFD library



Memory manager for Screen
libWFD.so Driver for WFD
screen-imx6xbuf.so The library to allocate buffers
libscreen.so The Screen library

Summary of splash screen application files

Since the splash screen application shows a PNG image (static image), these are the application-specific libraries for our example:

File Purpose
splash_screen_application Your splash screen application, which you create
img_codec_png.so The codec required to show an image
libimg.so The Image library to render an image
img.conf The configuration file to configure the codec for the Image library
splash screen_application.png The static graphic (content) to show on the display

Board-specific Screen libraries that can be loaded later

The candidate files that can be loaded in the secondary IFS or a filesystem are listed in the EGL section of the graphics.conf file for your board. To improve the startup time for Screen, we recommend that you put these files in the secondary IFS if you need them loaded into memory. If you put any of the files in your primary IFS, you will risk increasing the startup time of your system because it can significantly increase the size of the primary IFS.

For example, if your system applications use OpenGL ES hardware rendering, blitting, etc., but your splash screen application doesn't, you can put the OpenGL ES libraries in the secondary IFS. From the previous sample graphics.conf file for the i.MX6 SABRE Smart board, these are the files that you could include in your secondary IFS:
  • libGAL.so
  • libEGL_viv.so
  • libVSC.so
  • libGLES_CM_viv.so
  • libGLESv2_viv.so
  • libOpenVG_viv.so
  • libGLSLC.so
  • libGalcore.so