summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunitexe <unitexe70@gmail.com>2026-03-02 23:03:25 -0600
committerunitexe <unitexe70@gmail.com>2026-03-02 23:03:33 -0600
commitd62f1d4c0787eddea695c2de2f80f991d60c3607 (patch)
treebfa9e4ff9249249b859d8024d65cf8d54fd4f1ac
parent70df75089a1ffbfd073d623e32d6417488b79491 (diff)
Enable graphics for radxa-zero-3e
- Boot splash - Kernel logo - Plymouth splash - Flutter app
-rw-r--r--meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit-initramfs.bbappend15
-rw-r--r--meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit.bbappend3
-rw-r--r--meta-unit-core/recipes-core/plymouth/plymouth/radxa-zero-3e/plymouthd.conf4
-rw-r--r--meta-unit-graphics/conf/layer.conf2
-rw-r--r--meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/files/0001-tweak-default-environment.patch50
-rw-r--r--meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/u-boot_%.bbappend10
-rw-r--r--meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init.bbappend1
-rw-r--r--meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init/radxa-zero-3e/weston.ini7
-rw-r--r--meta-unit-graphics/recipes-bsp/u-boot/files/splash.cfg (renamed from meta-unit-graphics/dynamic-layers/raspberrypi/recipes-bsp/u-boot/files/splash.cfg)1
-rw-r--r--meta-unit-graphics/recipes-bsp/u-boot/u-boot_%.bbappend1
-rw-r--r--meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules.bb16
-rw-r--r--meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules/radxa-zero-3e/early-graphics.conf12
-rw-r--r--meta-unit-kas/images/unit-poky/radxa-zero-3e/core-image-unit/whinlatter.yml9
13 files changed, 129 insertions, 2 deletions
diff --git a/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit-initramfs.bbappend b/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit-initramfs.bbappend
new file mode 100644
index 0000000..44afe60
--- /dev/null
+++ b/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit-initramfs.bbappend
@@ -0,0 +1,15 @@
+PACKAGE_INSTALL:append:radxa-zero-3e = " \
+ initramfs-graphics-modules \
+ kernel-module-rockchipdrm \
+ kernel-module-dw-mipi-dsi \
+ kernel-module-dw-hdmi \
+ kernel-module-dw-hdmi-qp \
+ kernel-module-dw-hdmi-cec \
+ kernel-module-analogix-dp \
+ kernel-module-drm-display-helper \
+ kernel-module-drm-dma-helper \
+ kernel-module-drm-dp-aux-bus \
+ kernel-module-cec \
+ kernel-module-panfrost \
+ kernel-module-gpu-sched \
+"
diff --git a/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit.bbappend b/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit.bbappend
index 7c0581c..40b5b97 100644
--- a/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit.bbappend
+++ b/meta-unit-core/dynamic-layers/rockchip/recipes-unit/images/core-image-unit.bbappend
@@ -1 +1,2 @@
-IMAGE_FEATURES:append = " observability"
+IMAGE_FEATURES:append:radxa-zero-3e = " observability"
+IMAGE_FEATURES:append:radxa-zero-3e = " boot-splash"
diff --git a/meta-unit-core/recipes-core/plymouth/plymouth/radxa-zero-3e/plymouthd.conf b/meta-unit-core/recipes-core/plymouth/plymouth/radxa-zero-3e/plymouthd.conf
new file mode 100644
index 0000000..eaa41c6
--- /dev/null
+++ b/meta-unit-core/recipes-core/plymouth/plymouth/radxa-zero-3e/plymouthd.conf
@@ -0,0 +1,4 @@
+[Daemon]
+Theme=spin
+ShowDelay=0
+DeviceTimeout=8
diff --git a/meta-unit-graphics/conf/layer.conf b/meta-unit-graphics/conf/layer.conf
index 27f9afb..3cad015 100644
--- a/meta-unit-graphics/conf/layer.conf
+++ b/meta-unit-graphics/conf/layer.conf
@@ -15,6 +15,8 @@ BBFILES_DYNAMIC += " \
flutter-layer:${LAYERDIR}/dynamic-layers/flutter-layer/recipes-*/*/*.bbappend \
raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/recipes-*/*/*.bb \
raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/recipes-*/*/*.bbappend \
+ rockchip:${LAYERDIR}/dynamic-layers/rockchip/recipes-*/*/*.bb \
+ rockchip:${LAYERDIR}/dynamic-layers/rockchip/recipes-*/*/*.bbappend \
"
UNIT_GRAPHICS_LAYERDIR = "${LAYERDIR}"
diff --git a/meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/files/0001-tweak-default-environment.patch b/meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/files/0001-tweak-default-environment.patch
new file mode 100644
index 0000000..9976399
--- /dev/null
+++ b/meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/files/0001-tweak-default-environment.patch
@@ -0,0 +1,50 @@
+From 97608babec80c5108223b8ea905933468c57fab8 Mon Sep 17 00:00:00 2001
+From: unitexe <unitexe70@gmail.com>
+Date: Fri, 20 Feb 2026 21:20:18 -0600
+Subject: [PATCH] tweak default environment
+
+- Restrict boot targets to SD card
+- Add custom splash support
+- Disable stdout & stderr vidconsole so it doesn't write over splash
+
+Upstream-Status: Inappropriate [embedded-specific]
+---
+ include/configs/evb_rk3568.h | 8 ++++++--
+ include/configs/rockchip-common.h | 2 +-
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/include/configs/evb_rk3568.h b/include/configs/evb_rk3568.h
+index 9070160cf58..78209a7f40d 100644
+--- a/include/configs/evb_rk3568.h
++++ b/include/configs/evb_rk3568.h
+@@ -7,8 +7,12 @@
+ #define __EVB_RK3568_H
+
+ #define ROCKCHIP_DEVICE_SETTINGS \
+- "stdout=serial,vidconsole\0" \
+- "stderr=serial,vidconsole\0"
++ "stdout=serial\0" \
++ "stderr=serial\0" \
++ "splashfile=splashfile=yocto_project_logo_white_800x480_24bpp.bmp.gz\0" \
++ "splashimage=0x12280000\0" \
++ "splashsource=mmc_fs\0" \
++ "splashpos=m,m\0"
+
+ #include <configs/rk3568_common.h>
+
+diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
+index d5550a46575..2cac5d15c68 100644
+--- a/include/configs/rockchip-common.h
++++ b/include/configs/rockchip-common.h
+@@ -14,7 +14,7 @@
+ #ifndef CONFIG_XPL_BUILD
+
+ #ifndef BOOT_TARGETS
+-#define BOOT_TARGETS "mmc1 mmc0 nvme scsi usb pxe dhcp spi"
++#define BOOT_TARGETS "mmc1 mmc0"
+ #endif
+
+ #ifdef CONFIG_ARM64
+--
+2.43.0
+
diff --git a/meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/u-boot_%.bbappend
new file mode 100644
index 0000000..2192bf9
--- /dev/null
+++ b/meta-unit-graphics/dynamic-layers/rockchip/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI:append = " file://splash.cfg"
+SRC_URI:append = " file://0001-tweak-default-environment.patch"
+
+# On screen console not wanted
+UBOOT_EXTLINUX_CONSOLE:remove = "console=tty1"
+
+# Without this plymouth will not show
+UBOOT_EXTLINUX_KERNEL_ARGS:append = " splash"
diff --git a/meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init.bbappend b/meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init.bbappend
new file mode 100644
index 0000000..4fc41d0
--- /dev/null
+++ b/meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init/radxa-zero-3e/weston.ini b/meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init/radxa-zero-3e/weston.ini
new file mode 100644
index 0000000..5a61294
--- /dev/null
+++ b/meta-unit-graphics/dynamic-layers/rockchip/recipes-graphics/wayland/weston-init/radxa-zero-3e/weston.ini
@@ -0,0 +1,7 @@
+[core]
+shell=kiosk-shell.so
+require-input=false
+
+[output]
+name=HDMI-A-1
+mode=current
diff --git a/meta-unit-graphics/dynamic-layers/raspberrypi/recipes-bsp/u-boot/files/splash.cfg b/meta-unit-graphics/recipes-bsp/u-boot/files/splash.cfg
index 6420088..997ebd1 100644
--- a/meta-unit-graphics/dynamic-layers/raspberrypi/recipes-bsp/u-boot/files/splash.cfg
+++ b/meta-unit-graphics/recipes-bsp/u-boot/files/splash.cfg
@@ -3,6 +3,7 @@ CONFIG_BMP=y
CONFIG_BMP_24BPP=y
CONFIG_HIDE_LOGO_VERSION=y
CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
CONFIG_SPLASH_SOURCE=y
CONFIG_VIDEO_BMP_GZIP=y
CONFIG_VIDEO_LOGO_MAX_SIZE=0x120000
diff --git a/meta-unit-graphics/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-unit-graphics/recipes-bsp/u-boot/u-boot_%.bbappend
new file mode 100644
index 0000000..8802adb
--- /dev/null
+++ b/meta-unit-graphics/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
diff --git a/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules.bb b/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules.bb
index 668fab4..11bf034 100644
--- a/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules.bb
+++ b/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules.bb
@@ -3,6 +3,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${UNIT_GRAPHICS_LAYERDIR}/LICENSE;md5=a77c12e0c0e8a14cebb1494195720ccc"
SRC_URI:append:raspberrypi3-64 = " file://early-graphics.conf"
+SRC_URI:append:radxa-zero-3e = " file://early-graphics.conf"
RDEPENDS:${PN}:append:raspberrypi3-64 = " \
kernel-module-rpi-panel-attiny-regulator \
@@ -18,6 +19,21 @@ RDEPENDS:${PN}:append:raspberrypi3-64 = " \
kernel-module-panel-simple \
"
+RDEPENDS:${PN}:append:radxa-zero-3e = " \
+ kernel-module-rockchipdrm \
+ kernel-module-dw-mipi-dsi \
+ kernel-module-dw-hdmi \
+ kernel-module-dw-hdmi-qp \
+ kernel-module-dw-hdmi-cec \
+ kernel-module-analogix-dp \
+ kernel-module-drm-display-helper \
+ kernel-module-drm-dma-helper \
+ kernel-module-drm-dp-aux-bus \
+ kernel-module-cec \
+ kernel-module-panfrost \
+ kernel-module-gpu-sched \
+"
+
S = "${UNPACKDIR}"
# Source configuration file for modules to load must be provided by machine specific overrides
diff --git a/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules/radxa-zero-3e/early-graphics.conf b/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules/radxa-zero-3e/early-graphics.conf
new file mode 100644
index 0000000..1b22100
--- /dev/null
+++ b/meta-unit-graphics/recipes-core/initrdscripts/initramfs-graphics-modules/radxa-zero-3e/early-graphics.conf
@@ -0,0 +1,12 @@
+gpu_sched
+panfrost
+cec
+drm_display_helper
+drm_dma_helper
+drm_dp_aux_bus
+dw_hdmi
+dw_hdmi_qp
+dw_hdmi_cec
+dw_mipi_dsi
+analogix_dp
+rockchipdrm
diff --git a/meta-unit-kas/images/unit-poky/radxa-zero-3e/core-image-unit/whinlatter.yml b/meta-unit-kas/images/unit-poky/radxa-zero-3e/core-image-unit/whinlatter.yml
index df704bd..8f6475a 100644
--- a/meta-unit-kas/images/unit-poky/radxa-zero-3e/core-image-unit/whinlatter.yml
+++ b/meta-unit-kas/images/unit-poky/radxa-zero-3e/core-image-unit/whinlatter.yml
@@ -17,6 +17,8 @@ header:
- meta-unit-kas/include/layers/meta-openembedded/remote.yml
- meta-unit-kas/include/layers/meta-virtualization/main.yml
- meta-unit-kas/include/layers/meta-virtualization/remote.yml
+ - meta-unit-kas/include/layers/meta-flutter/remote.yml
+ - meta-unit-kas/include/layers/meta-flutter/main.yml
- meta-unit-kas/include/layers/meta-unit-core/core-image-unit.yml
- meta-unit-kas/include/layers/meta-unit-distro/unit-poky.yml
@@ -26,6 +28,10 @@ repos:
meta-arm-toolchain:
meta-arm:
meta-arm-bsp:
+ meta-flutter:
+ layers:
+ .:
+ meta-flutter-apps:
meta-openembedded:
layers:
meta-filesystems:
@@ -34,10 +40,11 @@ repos:
meta-python:
meta-unit:
layers:
+ meta-rockchip-extra:
meta-unit-core:
meta-unit-distro:
+ meta-unit-graphics:
meta-unit-profiling:
- meta-rockchip-extra:
meta-unit-users:
meta-unit-virtualization:
meta-virtualization-extra: