Hello @SScar.2,
Regarding the layer, it seems that the psplash-drm recipe is waiting for 2 images of the same format as PNG already present in the layer, and the same format that you tried (1 for landscape and 1 for portrait orientation).
PNG image data, 480 x 272, 8-bit colormap, non-interlaced
However, the program that will display the splash screen cannot work with a PNG directly, and needs to generate the image_header.h that describes the picture. It is used by basic_splash_drm.c program (you can observe this file in the layer).
To generate the header file, you can see that the Makefile has a special rule generate_header that will target to 2 files mentioned at the top of it.
Take together a look at the Makefile of the layer in OSTL-4.0:
SPLASH_IMG ?= ST13028_Linux_picto_11_480x272_8bits.png
SPLASH_IMG_ROT ?= ST13028_Linux_picto_11_480x272_8bits_rotation.png
all: modeset
generate_header: $(SPLASH_IMG) $(SPLASH_IMG_ROT)
@gdk-pixbuf-csource --macros $(SPLASH_IMG) > image_header.tmp
@(sed -e "s/MY_PIXBUF/SPLASH_IMG/g" -e "s/guint8/uint8_t/g" image_header.tmp > image_header.h && rm image_header.tmp)
@gdk-pixbuf-csource --macros $(SPLASH_IMG_ROT) > image_header.tmp
@(sed -e "s/MY_PIXBUF/SPLASH_IMG_ROT/g" -e "s/guint8/uint8_t/g" image_header.tmp >> image_header.h && rm image_header.tmp)
psplash:
$(CC) $(CFLAGS) $(LDFLAGS) -o psplash-drm basic_splash_drm.c -I. `pkg-config --cflags --libs libdrm` -Wall -Os
clean:
rm -rf psplash-drm
You can see that SPLASH_IMG and SPLASH_IMG_ROT are describing which PNG the Makefile has to target. Replace them with your own files. You can also see that the Makefile contains 4 different rules: all, generate_header, psplash and clean. We will keep this in mind for later.
Now, let's take together a look at the psplash-drm.bb file, and more particularly at the do_compile() function:
do_compile() {
bbnote "EXTRA_OEMAKE=${EXTRA_OEMAKE}"
oe_runmake clean
oe_runmake psplash
}
You can see that we are making a make clean, then a make psplash but no make generate_header.
It means that you have to use the Makefile yourself to compile the header of your images, then this header will be used by the program to display the good picture.
I hope that this information will help you.
Do not hesitate to come back to me if you have any trouble.
(I did not test to change the format of the image myself, but I think that it can be possible to change the size. I am not sure for the 8bits format, let me know :) )
Kind regards,
Erwan.
In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'