I am working on achieving a seamless splash screen transition (U-Boot → Plymouth → Qt) on an Apalis i.MX8QM V1.1.
i have successfully enabled u-boot splash screen / plymouth video splash screen but i have an annoying blank screen between both that’s why i am trying to hold the u-boot splash screen till kernel boots as well
i followed this post : Preserve U-Boot splash through to kernel boot with Colibri-iMX8X
this is the u-boot-patch
0001-keep-display-active.patch (1.3 KB)i also enabled simple_frame_buffer in kernel defconfig i also patched the imx8qm-apalis-v1.1-eval.dtb by editing these
/ {
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
simplefb_reserved: framebuffer@ff700000 {
reg = <0x0 0xff700000 0x0 0x400000>;
no-map;
};
};
chosen {
stdout-path = "/bus@5a000000/serial@5a070000";
ranges; /* Added to allow reg mapping */
#address-cells = <2>;
#size-cells = <2>;
framebuffer {
compatible = "simple-framebuffer";
reg = <0x0 0xff700000 0x0 0x400000>;
width = <1024>;
height = <600>;
stride = <4096>;
format = "a8r8g8b8";
status = "okay";
};
};
};
this is whole dts in case u need it
imx8qm-apalis-v1.1-eval.dts (203.6 KB)
these are my last logs
oot@apalis-imx8-15543973:~# ls -d /proc/device-tree/chosen/framebuffer*
/proc/device-tree/chosen/framebuffer
root@apalis-imx8-15543973:~# dmesg | grep -i “framebuffer|dpu|drm”
[ 0.133697] platform bus@57240000:ldb@572410e0: Fixing up cyclic dependency with 57180000.dpu
[ 0.191366] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x400000 bytes
[ 0.191376] simple-framebuffer ff700000.framebuffer: format=a8r8g8b8, mode=1024x600x32, linelength=4096
[ 0.191539] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered!
[ 0.762888] dpu-core 56180000.dpu: driver probed
[ 0.764889] dpu-core 57180000.dpu: driver probed
[ 3.180549] systemd[1]: Starting Load Kernel Module drm…
[ 3.235526] systemd[1]: modprobe@drm.service: Deactivated successfully.
[ 3.236487] systemd[1]: Finished Load Kernel Module drm.
[ 3.414759] [drm] Initialized vivante 1.0.0 20170808 for 80000000.imx8_gpu1_ss on minor 0
[ 4.718214] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.2 (ops 0xffff800008d1a090)
[ 4.718608] imx-drm display-subsystem: bound imx-drm-dpu-bliteng.5 (ops 0xffff800008d1a090)
[ 4.719858] imx-drm display-subsystem: bound imx-dpu-crtc.0 (ops 0xffff800008d19d50)
[ 4.724696] imx-drm display-subsystem: bound imx-dpu-crtc.1 (ops 0xffff800008d19d50)
[ 4.726268] imx-drm display-subsystem: bound imx-dpu-crtc.3 (ops 0xffff800008d19d50)
[ 4.726703] imx-drm display-subsystem: bound imx-dpu-crtc.4 (ops 0xffff800008d19d50)
[ 4.727449] imx-drm display-subsystem: bound bus@57240000:ldb@572410e0 (ops 0xffff800000d0b0f8)
[ 4.729403] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 1
[ 4.733525] imx-drm display-subsystem: [drm] fb1: imx-drmdrmfb frame buffer device
[ 5.850061] dpu-core 57180000.dpu: failed to wait for FrameGen1 frame counter moving
[ 6.974133] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_enable: wait for content shdld done timeout
[ 7.074289] dpu-core 57180000.dpu: failed to wait for FrameGen1 secondary syncup
[ 7.074314] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_enable: FrameGen requests to read empty FIFO
[ 15.222062] dpu-core 57180000.dpu: failed to wait for FrameGen1 frame counter moving
[ 16.254107] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_flush: wait for content shdld done timeout
[ 17.822112] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_flush: wait for content shdld done timeout
[ 19.134099] [drm] [CRTC:125:crtc-3] dpu_crtc_atomic_flush: wait for content shdld done timeout
root@apalis-imx8-15543973:~# dmesg | grep “simple-framebuffer”
[ 0.191366] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x400000 bytes
[ 0.191376] simple-framebuffer ff700000.framebuffer: format=a8r8g8b8, mode=1024x600x32, linelength=4096
[ 0.191539] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered!
root@apalis-imx8-15543973:~# dmesg | grep -i “simple”
[ 0.191366] simple-framebuffer ff700000.framebuffer: framebuffer at 0xff700000, 0x400000 bytes
[ 0.191376] simple-framebuffer ff700000.framebuffer: format=a8r8g8b8, mode=1024x600x32, linelength=4096
[ 0.191539] simple-framebuffer ff700000.framebuffer: fb0: simplefb registered!
[ 7.182166] Modules linked in: btusb btintel bluetooth sd_mod t10_pi snd_soc_imx_audmix fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine authenc libdes snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils snd_soc_imx_spdif panel_lvds mwifiex_pcie mwifiex cfg80211 rfkill ahci_imx libahci_platform libahci uas libata usb_storage scsi_mod scsi_common hid_multitouch atmel_mxt_ts snd_soc_sgtl5000 imx8qxp_adc snd_soc_fsl_audmix snd_soc_fsl_spdif snd_soc_fsl_sai snd_soc_fsl_asrc imx_pcm_dma snd_soc_core mxc_jpeg_encdec snd_compress snd_pcm_dmaengine v4l2_jpeg snd_pcm snd_timer snd imx8_media_dev(C) imx8qm_ldb phy_mixel_lvds caam error rpmsg_ctrl rpmsg_char imx_rpmsg_tty galcore(O) fuse
[ 17.926161] Modules linked in: rfcomm algif_hash algif_skcipher af_alg btusb btintel bluetooth sd_mod t10_pi snd_soc_imx_audmix fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine authenc libdes snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils snd_soc_imx_spdif panel_lvds mwifiex_pcie mwifiex cfg80211 rfkill ahci_imx libahci_platform libahci uas libata usb_storage scsi_mod scsi_common hid_multitouch atmel_mxt_ts snd_soc_sgtl5000 imx8qxp_adc snd_soc_fsl_audmix snd_soc_fsl_spdif snd_soc_fsl_sai snd_soc_fsl_asrc imx_pcm_dma snd_soc_core mxc_jpeg_encdec snd_compress snd_pcm_dmaengine v4l2_jpeg snd_pcm snd_timer snd imx8_media_dev(C) imx8qm_ldb phy_mixel_lvds caam error rpmsg_ctrl rpmsg_char imx_rpmsg_tty galcore(O) fuse
[ 19.238159] Modules linked in: rfcomm algif_hash algif_skcipher af_alg btusb btintel bluetooth sd_mod t10_pi snd_soc_imx_audmix fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine authenc libdes snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils snd_soc_imx_spdif panel_lvds mwifiex_pcie mwifiex cfg80211 rfkill ahci_imx libahci_platform libahci uas libata usb_storage scsi_mod scsi_common hid_multitouch atmel_mxt_ts snd_soc_sgtl5000 imx8qxp_adc snd_soc_fsl_audmix snd_soc_fsl_spdif snd_soc_fsl_sai snd_soc_fsl_asrc imx_pcm_dma snd_soc_core mxc_jpeg_encdec snd_compress snd_pcm_dmaengine v4l2_jpeg snd_pcm snd_timer snd imx8_media_dev(C) imx8qm_ldb phy_mixel_lvds caam error rpmsg_ctrl rpmsg_char imx_rpmsg_tty galcore(O) fuse
root@apalis-imx8-15543973:~#
and finally this is what’s currently happening only u-boot splash screen is showing then nothing a blank screen till boot finishes no plymouth no qt app and the u-boot splash screen did not last any longer same behavior
NB : using apalis imx8qm board / u-boot 2022.04 / bsp “TDX Wayland with XWayland 6.7.0-devel-20251211112738+build.0 (kirkstone) apalis-imx8-15543973 -
Apalis-iMX8_Reference-Multimedia-Image“