All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] easysplash: Add recipes for 1.0.0 release
@ 2020-03-01 13:13 Otavio Salvador
  2020-03-01 20:39 ` Alexander Kanavin
  0 siblings, 1 reply; 4+ messages in thread
From: Otavio Salvador @ 2020-03-01 13:13 UTC (permalink / raw)
  To: OpenEmbedded Core Mailing List; +Cc: Otavio Salvador

A simple program for animated splash screens using Software Rendering or
OpenGL ES. It consists of the main splash screen program (easysplash)
and a small control program (easysplashctl).

EasySplash takes as input zip archives containing a description and
PNG-encoded image frames.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
We decided to open source this so more people can rely on this for their
Embedded Linux devices use. The APACHE-2.0 or MIT license can be used,
as preferred as all source is dual licensed.

On this commit, we are adding the two animations we have been using for
demos, so it can be used as testing. I believe it'd be good if a
specific one was developed for OpenEmbedded / Yocto Project used, thus
the use of a RFC patch.

 meta/classes/easysplash-animation.bbclass     | 20 ++++++
 .../easysplash-bootanimation-default_1.0.bb   | 12 ++++
 ...asysplash-bootanimation-ossystems_1.0.1.bb | 11 +++
 .../easysplash/easysplash/easysplash.default  |  2 +
 .../recipes-core/easysplash/easysplash_git.bb | 71 +++++++++++++++++++
 5 files changed, 116 insertions(+)
 create mode 100644 meta/classes/easysplash-animation.bbclass
 create mode 100644 meta/recipes-core/easysplash/easysplash-bootanimation-default_1.0.bb
 create mode 100644 meta/recipes-core/easysplash/easysplash-bootanimation-ossystems_1.0.1.bb
 create mode 100644 meta/recipes-core/easysplash/easysplash/easysplash.default
 create mode 100644 meta/recipes-core/easysplash/easysplash_git.bb

diff --git a/meta/classes/easysplash-animation.bbclass b/meta/classes/easysplash-animation.bbclass
new file mode 100644
index 0000000000..76b84f179a
--- /dev/null
+++ b/meta/classes/easysplash-animation.bbclass
@@ -0,0 +1,20 @@
+# -*- python -*-
+# easysplash-animation.bbclass allows for easy packaging of EasySplash
+# animation packages.
+#
+# Copyright (C) 2015, O.S. Systems Softwares Ltda.  All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+inherit update-alternatives allarch
+
+ALTERNATIVE_${PN} += "bootanimation"
+ALTERNATIVE_TARGET[bootanimation] = "/lib/easysplash/${PN}.zip"
+ALTERNATIVE_LINK_NAME[bootanimation] = "/lib/easysplash/bootanimation.zip"
+ALTERNATIVE_PRIORITY[bootanimation] = "50"
+
+do_install_append() {
+    install -Dm 0644 ${S}/*.zip ${D}/lib/easysplash/${PN}.zip
+}
+
+FILES_${PN} += "/lib/easysplash/${PN}.zip"
+RDEPENDS_${PN} += "easysplash"
diff --git a/meta/recipes-core/easysplash/easysplash-bootanimation-default_1.0.bb b/meta/recipes-core/easysplash/easysplash-bootanimation-default_1.0.bb
new file mode 100644
index 0000000000..c94d2d18d4
--- /dev/null
+++ b/meta/recipes-core/easysplash/easysplash-bootanimation-default_1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "O.S. Systems default boot animation for easysplash"
+LICENSE = "CLOSED"
+
+SRC_URI = "http://download.ossystems.com.br/tarballs/${BPN}-${PV}.zip;unpack=0"
+SRC_URI[md5sum] = "882345727cdea329f4d43484c3b3835f"
+SRC_URI[sha256sum] = "5f77a53887d1fe2774aa319853ed5288950089a74507717ffb9071dc5e0e2d7e"
+
+S = "${WORKDIR}"
+
+inherit easysplash-animation
+
+ALTERNATIVE_PRIORITY[bootanimation] = "10"
diff --git a/meta/recipes-core/easysplash/easysplash-bootanimation-ossystems_1.0.1.bb b/meta/recipes-core/easysplash/easysplash-bootanimation-ossystems_1.0.1.bb
new file mode 100644
index 0000000000..7091df2ca5
--- /dev/null
+++ b/meta/recipes-core/easysplash/easysplash-bootanimation-ossystems_1.0.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "O.S. Systems animation used for image demos"
+LICENSE = "CLOSED"
+
+SRC_URI = "http://download.ossystems.com.br/tarballs/${PN}-${PV}.zip;unpack=0"
+
+SRC_URI[md5sum] = "e721376508827f79382463a8dcde1cb8"
+SRC_URI[sha256sum] = "472f0e5cf1dc865a450d1b87d3e93dcbb7ae5e16021d5864a01a6d28ff24b0ca"
+
+S = "${WORKDIR}"
+
+inherit easysplash-animation
diff --git a/meta/recipes-core/easysplash/easysplash/easysplash.default b/meta/recipes-core/easysplash/easysplash/easysplash.default
new file mode 100644
index 0000000000..6fad9200e3
--- /dev/null
+++ b/meta/recipes-core/easysplash/easysplash/easysplash.default
@@ -0,0 +1,2 @@
+# EASYSPLASH_GBM_DRM_DEVICE: Path to a DRI device node. Example: /dev/dri/card0.
+# EASYSPLASH_GBM_DRM_CONNECTOR: The DRM connector to use. Example HDMI input, LVDS pins, etc.
diff --git a/meta/recipes-core/easysplash/easysplash_git.bb b/meta/recipes-core/easysplash/easysplash_git.bb
new file mode 100644
index 0000000000..196fd297a0
--- /dev/null
+++ b/meta/recipes-core/easysplash/easysplash_git.bb
@@ -0,0 +1,71 @@
+# Copyright (C) 2015, 2016 O.S. Systems Software Ltda.  All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+SUMMARY = "Userspace framebuffer boot animation based on usplash"
+DESCRIPTION = "EasySplash is a simple program for animated splash screens using OpenGL ES \
+for rendering. It takes as input zip archives containing a description and PNG-encoded \
+image frames."
+LIC_FILES_CHKSUM = " \
+    file://LICENSE-APACHE-2.0;md5=b377b220f43d747efdec40d69fcaa69d \
+    file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
+"
+LICENSE = "Apache-2.0 | MIT"
+SECTION = "base"
+
+DEPENDS = "zlib libpng"
+
+SRCREV = "d4a78a04ac2c8f1504db7ace1bce337e009e0fe7"
+SRC_URI = " \
+    git://github.com/OSSystems/easysplash.git \
+    file://${BPN}.default \
+"
+
+PV = "1.0.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig update-rc.d systemd
+
+# We want the binaries to be in /sbin
+EXTRA_OECMAKE += "-DCMAKE_INSTALL_PREFIX:PATH=/ \
+                  -DCTL_FIFO_PATH=/dev/easysplashctl \
+                  -DEASYSPLASH_PID_FILE=/dev/easysplash.pid"
+
+INITSCRIPT_NAME = "easysplash-start"
+INITSCRIPT_PARAMS_${PN} = "start 5 S ."
+
+SYSTEMD_SERVICE_${PN} = "easysplash-start.service easysplash-quit.service"
+
+PACKAGECONFIG_DISTRO ?= "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit', '', d)} \
+                         ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG ?= "${PACKAGECONFIG_DISTRO} swrender"
+#PACKAGECONFIG_mx6q ?= "${PACKAGECONFIG_DISTRO} vivante-g2d"
+#PACKAGECONFIG_mx6dl ?= "${PACKAGECONFIG_DISTRO} vivante-g2d"
+#PACKAGECONFIG_rpi ?= "${PACKAGECONFIG_DISTRO} rpi-dispmanx"
+#PACKAGECONFIG_use-mainline-bsp ?= "${PACKAGECONFIG_DISTRO} mesa-gbm"
+
+PACKAGECONFIG[swrender] = "-DDISPLAY_TYPE_SWRENDER=TRUE,-DDISPLAY_TYPE_SWRENDER=FALSE,pixman"
+PACKAGECONFIG[vivante-g2d] = "-DDISPLAY_TYPE_G2D=TRUE,-DDISPLAY_TYPE_G2D=FALSE,virtual/libg2d"
+# NOTE: not adding -DDISPLAY_TYPE_GLES=FALSE when the packageconfig isn't used
+# because both mesa-gbm and vivante-gles2 enable GLES, and DDISPLAY_TYPE_GLES=FALSE
+# is anyway the default
+PACKAGECONFIG[vivante-gles2] = "-DDISPLAY_TYPE_GLES=TRUE -DEGL_PLATFORM_VIV_FB=TRUE,,virtual/libgles2"
+# libgbm is part of the mesa recipe
+PACKAGECONFIG[mesa-gbm] = "-DDISPLAY_TYPE_GLES=TRUE -DEGL_PLATFORM_GBM=TRUE,,virtual/libgles2 mesa libdrm udev"
+PACKAGECONFIG[rpi-dispmanx] = "-DDISPLAY_TYPE_GLES=TRUE -DEGL_PLATFORM_RPI_DISPMANX=TRUE,,virtual/libgles2 userland"
+PACKAGECONFIG[sysvinit] = "-DENABLE_SYSVINIT_SUPPORT=TRUE, -DENABLE_SYSVINIT_SUPPORT=FALSE"
+PACKAGECONFIG[systemd] = "-DENABLE_SYSTEMD_SUPPORT=TRUE, -DENABLE_SYSTEMD_SUPPORT=FALSE, systemd"
+
+do_install_append() {
+    install -Dm 0644 ${WORKDIR}/${PN}.default ${D}${sysconfdir}/default/${PN}
+}
+
+RRECOMMENDS_${PN} = "easysplash-bootanimation-default"
+
+# NXP SoC arch
+PACKAGE_ARCH_imx = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH_use-mainline-bsp = "${MACHINE_SOCARCH}"
+
+# Raspberry Pi
+PACKAGE_ARCH_rpi = "${MACHINE_ARCH}"
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] easysplash: Add recipes for 1.0.0 release
  2020-03-01 13:13 [RFC PATCH] easysplash: Add recipes for 1.0.0 release Otavio Salvador
@ 2020-03-01 20:39 ` Alexander Kanavin
  2020-03-01 20:40   ` Alexander Kanavin
  0 siblings, 1 reply; 4+ messages in thread
From: Alexander Kanavin @ 2020-03-01 20:39 UTC (permalink / raw)
  To: Otavio Salvador; +Cc: OpenEmbedded Core Mailing List

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

On Sun, 1 Mar 2020 at 14:14, Otavio Salvador <otavio@ossystems.com.br>
wrote:

> +++ b/meta/recipes-core/easysplash/easysplash-bootanimation-default_1.0.bb
> @@ -0,0 +1,12 @@
> +SUMMARY = "O.S. Systems default boot animation for easysplash"
> +LICENSE = "CLOSED"
>

CLOSED?


> +PACKAGECONFIG[mesa-gbm] = "-DDISPLAY_TYPE_GLES=TRUE
> -DEGL_PLATFORM_GBM=TRUE,,virtual/libgles2 mesa libdrm udev"
>

This I think should also be enabled by default subject to opengl in
DISTRO_FEATURES.

Alex

[-- Attachment #2: Type: text/html, Size: 1103 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] easysplash: Add recipes for 1.0.0 release
  2020-03-01 20:39 ` Alexander Kanavin
@ 2020-03-01 20:40   ` Alexander Kanavin
  2020-03-01 22:19     ` Otavio Salvador
  0 siblings, 1 reply; 4+ messages in thread
From: Alexander Kanavin @ 2020-03-01 20:40 UTC (permalink / raw)
  To: Otavio Salvador; +Cc: OpenEmbedded Core Mailing List

[-- Attachment #1: Type: text/plain, Size: 719 bytes --]

Oh, and: testing this somehow would be nice. Can you add it to the virgl
selftest?

Alex

On Sun, 1 Mar 2020 at 21:39, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> On Sun, 1 Mar 2020 at 14:14, Otavio Salvador <otavio@ossystems.com.br>
> wrote:
>
>> +++ b/meta/recipes-core/easysplash/
>> easysplash-bootanimation-default_1.0.bb
>> @@ -0,0 +1,12 @@
>> +SUMMARY = "O.S. Systems default boot animation for easysplash"
>> +LICENSE = "CLOSED"
>>
>
> CLOSED?
>
>
>> +PACKAGECONFIG[mesa-gbm] = "-DDISPLAY_TYPE_GLES=TRUE
>> -DEGL_PLATFORM_GBM=TRUE,,virtual/libgles2 mesa libdrm udev"
>>
>
> This I think should also be enabled by default subject to opengl in
> DISTRO_FEATURES.
>
> Alex
>

[-- Attachment #2: Type: text/html, Size: 1610 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] easysplash: Add recipes for 1.0.0 release
  2020-03-01 20:40   ` Alexander Kanavin
@ 2020-03-01 22:19     ` Otavio Salvador
  0 siblings, 0 replies; 4+ messages in thread
From: Otavio Salvador @ 2020-03-01 22:19 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Otavio Salvador, OpenEmbedded Core Mailing List

Hello Alex,

On Sun, Mar 1, 2020 at 5:41 PM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> Oh, and: testing this somehow would be nice. Can you add it to the virgl selftest?

I am open to contribute to add it and integrate if needed, however,
the goal of this RFC is check if there is interest from this community
and then we see what is need to be done.
>
> Alex
>
> On Sun, 1 Mar 2020 at 21:39, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>
>> On Sun, 1 Mar 2020 at 14:14, Otavio Salvador <otavio@ossystems.com.br> wrote:
>>>
>>> +++ b/meta/recipes-core/easysplash/easysplash-bootanimation-default_1.0.bb
>>> @@ -0,0 +1,12 @@
>>> +SUMMARY = "O.S. Systems default boot animation for easysplash"
>>> +LICENSE = "CLOSED"
>>
>>
>> CLOSED?
>>
>>>
>>> +PACKAGECONFIG[mesa-gbm] = "-DDISPLAY_TYPE_GLES=TRUE -DEGL_PLATFORM_GBM=TRUE,,virtual/libgles2 mesa libdrm udev"
>>
>>
>> This I think should also be enabled by default subject to opengl in DISTRO_FEATURES.
>>
>> Alex
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854          Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-03-01 22:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-01 13:13 [RFC PATCH] easysplash: Add recipes for 1.0.0 release Otavio Salvador
2020-03-01 20:39 ` Alexander Kanavin
2020-03-01 20:40   ` Alexander Kanavin
2020-03-01 22:19     ` Otavio Salvador

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.