How to show the boot logo using DRM/KMS on Android12?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to show the boot logo using DRM/KMS on Android12?

ソリューションへジャンプ
112件の閲覧回数
herman_lin
Contributor II

Hi NXP,

Our current development project is based on the i.MX8MQ platform using the i.MX-Android-12.1.0_1.0.0 codebase. This codebase utilizes the DRM/KMS display management framework instead of the traditional framebuffer. Previously, under the framebuffer architecture, the kernel boot process would display the penguin logo. However, with the DRM/KMS framework, the penguin logo is not displayed during boot. How can we display the boot logo under the DRM/KMS framework?

Thanks!

0 件の賞賛
返信
1 解決策
25件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

HI, @herman_lin 

Synced with Android team, due to google GKI (Generic Kernel Image) requirement, the drm display driver is bullt as module, so kernel LOGO can't be used, the kernel logo code runs earlier than display driver, so it can't work.

After enabled logo in Uboot, to make it work with long time, you can remove the "video_link_shut_down();" from file "uboot\arch\arm\lib\bootm.c", function announce_and_cleanup().

you can also add "clk_ignore_unused" into kernel command line to avoid kernel turn off display related clocks during boot up. And you can also set Uboot framebuffer memory as resvereved in kernel device tree to avoid kernel clear the Uboot logo memory.

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
26件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

HI, @herman_lin 

Synced with Android team, due to google GKI (Generic Kernel Image) requirement, the drm display driver is bullt as module, so kernel LOGO can't be used, the kernel logo code runs earlier than display driver, so it can't work.

After enabled logo in Uboot, to make it work with long time, you can remove the "video_link_shut_down();" from file "uboot\arch\arm\lib\bootm.c", function announce_and_cleanup().

you can also add "clk_ignore_unused" into kernel command line to avoid kernel turn off display related clocks during boot up. And you can also set Uboot framebuffer memory as resvereved in kernel device tree to avoid kernel clear the Uboot logo memory.

0 件の賞賛
返信
66件の閲覧回数
pengyong_zhang
NXP Employee
NXP Employee

hi @herman_lin 

You can reference to the Linux kernel config file "imx_v8_defconfig" to includes the kernel LOGO related config:

CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_LOGO=y

If you still got the kernel crash, please attach the crash log.

0 件の賞賛
返信
38件の閲覧回数
herman_lin
Contributor II

Hi pengyong,

Thanks for your reply.

After set following configs, the device will repeatedly reboot in the kernel, the log as attachment. The logs only show that the device is being triggered to reboot, but the reason is unknown. If additional logs are needed, please let us know which ones to enable. Thanks!!

CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_LOGO=y

Best Regards,

Herman

0 件の賞賛
返信