Skip to contentSkip to conversation

psplash: Initialize psplash only if a framebuffer exists

PATCH In review Mark Hatle 2 participants 3 messages Sep 5, 2017 – Sep 11, 2017

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

PATCH 1/1 psplash: Initialize psplash only if a framebuffer exists

psplash-init exits if there is no framebuffer device detected. This is done to avoid the following error message from occurring when booting up:

"Error opening /dev/fb0: No such file or directory"

---
 meta/recipes-core/psplash/files/psplash-init | 6 ++++++
 1 file changed, 6 insertions(+)
meta/recipes-core/psplash/files/psplash-init +6 -0
index 66c85e9..0bce1de 100755
@@ -7,6 +7,12 @@
 # Default-Stop:
 ### END INIT INFO
 
+if [ ! -e /dev/fb0 ]; then
+    echo "Framebuffer /dev/fb0 not detected"
+    echo "Boot splashscreen disabled"
+    exit 0;
+fi
+
 read CMDLINE < /proc/cmdline
 for x in $CMDLINE; do
         case $x in
Signature · 1 line
1.8.3.1
#1 lore raw

Isn't this a weird situation?

If you installed psplash but don't have a framebuffer, then something must be broken. I'd rather see that error than this being silently ignored and then wondering where the splash went.

There's the corner case (most of my boards and for example settop boxes behave like this) that the framebuffer initializes some time later in the boot process (e.g. after loading FPGA logic, or loading some closed-source binary video driver blob). For these systems, the psplash should be initialized by the hotplug manager (mdev, udev, systemd) as soon as the device appears.

Quoted 20 lines · Mark Hatle

psplash-init exits if there is no framebuffer device detected. This is done to avoid the following error message from occurring when booting up:

"Error opening /dev/fb0: No such file or directory"

---
  meta/recipes-core/psplash/files/psplash-init | 6 ++++++
  1 file changed, 6 insertions(+)
meta/recipes-core/psplash/files/psplash-init +0 -0
index 66c85e9..0bce1de 100755
@@ -7,6 +7,12 @@
  # Default-Stop:
  ### END INIT INFO

meta/recipes-core/psplash/files/psplash-init line 18

Quoted 10 lines
meta/recipes-core/psplash/files/psplash-init +6 -0
 
+if [ ! -e /dev/fb0 ]; then
+    echo "Framebuffer /dev/fb0 not detected"
+    echo "Boot splashscreen disabled"
+    exit 0;
+fi
+
  read CMDLINE < /proc/cmdline
  for x in $CMDLINE; do
          case $x in

Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: [email protected]
Website: www.topicproducts.com

Please consider the environment before printing this e-mail

author
#2 lore raw
Quoted 5 lines · Mike Looijmans

Isn't this a weird situation?

If you installed psplash but don't have a framebuffer, then something must be broken. I'd rather see that error than this being silently ignored and then wondering where the splash went.

Sorry I missed this reply before.

We choose to disable the warning because we've got many systems where we have a common rootfs. Some of them have displays and some do not. The message was triggering test failures (that look for errors/warning on bootup.)

It might make sense for someone to check and instead of silently stop, report back a message that indicates that there is no framebuffer instead of the existing error. That would at least make this a 'known' condition.

Quoted 5 lines

There's the corner case (most of my boards and for example settop boxes behave like this) that the framebuffer initializes some time later in the boot process (e.g. after loading FPGA logic, or loading some closed-source binary video driver blob). For these systems, the psplash should be initialized by the hotplug manager (mdev, udev, systemd) as soon as the device appears.

I hadn't considered that setup, but yes. An extension to udev or similar would make sense in that case.

--Mark

Quoted 50 lines · Mark Hatle
Quoted 20 lines

psplash-init exits if there is no framebuffer device detected. This is done to avoid the following error message from occurring when booting up:

"Error opening /dev/fb0: No such file or directory"

---
  meta/recipes-core/psplash/files/psplash-init | 6 ++++++
  1 file changed, 6 insertions(+)
meta/recipes-core/psplash/files/psplash-init +0 -0
index 66c85e9..0bce1de 100755
@@ -7,6 +7,12 @@
  # Default-Stop:
  ### END INIT INFO

meta/recipes-core/psplash/files/psplash-init line 18

Quoted 10 lines
meta/recipes-core/psplash/files/psplash-init +6 -0
 
+if [ ! -e /dev/fb0 ]; then
+    echo "Framebuffer /dev/fb0 not detected"
+    echo "Boot splashscreen disabled"
+    exit 0;
+fi
+
  read CMDLINE < /proc/cmdline
  for x in $CMDLINE; do
          case $x in

Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: [email protected]
Website: www.topicproducts.com

Please consider the environment before printing this e-mail