summaryrefslogtreecommitdiff
path: root/packages/gpe-bootsplash
diff options
context:
space:
mode:
authorMatthias Hentges <oe@hentges.net>2006-02-19 13:47:29 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-02-19 13:47:29 +0000
commit98265b38cb79547bd05a14149906e1aba8e6e1e8 (patch)
tree7db0a80923f8866a87f53ed171b7ac7595eb176e /packages/gpe-bootsplash
parentba81094a28b35db729737a391e266c92ecf588e4 (diff)
gpe-bootsplash:
Dump /dev/fb0 after the first successful launch of bootsplash and use the dump to display the splashscreen from that point on. Speeds up display of large bootsplash-theme _a lot_. Handles theme changes as well.
Diffstat (limited to 'packages/gpe-bootsplash')
-rw-r--r--packages/gpe-bootsplash/files/speed.patch51
-rw-r--r--packages/gpe-bootsplash/gpe-bootsplash_1.15.bb5
2 files changed, 54 insertions, 2 deletions
diff --git a/packages/gpe-bootsplash/files/speed.patch b/packages/gpe-bootsplash/files/speed.patch
new file mode 100644
index 0000000000..32d0432a87
--- /dev/null
+++ b/packages/gpe-bootsplash/files/speed.patch
@@ -0,0 +1,51 @@
+--- gpe-bootsplash-1.15/gpe-bootsplash.init.orig 2006-02-19 14:34:22.404426869 +0100
++++ gpe-bootsplash-1.15/gpe-bootsplash.init 2006-02-19 14:29:35.044269116 +0100
+@@ -32,14 +32,46 @@
+ esac
+ echo "0" > /proc/sys/kernel/printk
+
+- # Clear tty2
++ # Clear tty2
+ echo -e "\033c" > /dev/tty2
++
+ chvt 2
+
+ echo -e "\nLoading bootsplash..." > /dev/tty2
+ echo "Use Fn-LeftArrow to see the boot messages." > /dev/tty2
+
+- /usr/bin/gpe-bootsplash $ARGS || chvt 1
++ # Catch when the user has changed the symlinks manually (normally it doesn't matter which link we check
++ # as themes always update both of them
++ echo "$ARGS" | grep -q -- "--force-landscape" && source_link="splash-l.svg" || source_link="splash-p.svg"
++
++ # echo "[`cat /etc/bootsplash.name`] = [`readlink /usr/share/gpe/$source_link`]"
++
++ # bootsplash takes quite some time to load external images into an svg file.
++ # We speed things up by dumping the content of fb0, and catting it back (which works instantly)
++ if test -e /etc/bootsplash.raw.gz -a "`cat /etc/bootsplash.name`" = "`readlink /usr/share/gpe/$source_link`"
++ then
++ echo -e "\nUsing /etc/bootsplash.raw.gz...." > /dev/tty2
++ sleep 1
++
++ # Turn off the cursor on tty2
++ echo -e "\033[?25l\000" > /dev/tty2
++
++ zcat /etc/bootsplash.raw.gz > /dev/fb0
++ else
++ rm -f /etc/bootsplash.*
++ # Store the symlinks name as an indication which theme is used at the time we dump the image
++ if (/usr/bin/gpe-bootsplash $ARGS)
++ then
++ readlink /usr/share/gpe/$source_link > /etc/bootsplash.name
++
++ cat /dev/fb0 > /etc/bootsplash.raw ; gzip /etc/bootsplash.raw
++ else
++ echo -e "\nNOTE: gpe-bootsplash failed to start" >/dev/tty2
++ sleep 3
++ chvt 1
++ fi
++
++ fi
+ ;;
+ 'stop')
+ ;;
diff --git a/packages/gpe-bootsplash/gpe-bootsplash_1.15.bb b/packages/gpe-bootsplash/gpe-bootsplash_1.15.bb
index fd17846103..ca48c6086b 100644
--- a/packages/gpe-bootsplash/gpe-bootsplash_1.15.bb
+++ b/packages/gpe-bootsplash/gpe-bootsplash_1.15.bb
@@ -5,11 +5,12 @@ MAINTAINER = "Phil Blundell <pb@handhelds.org>"
SECTION = "gpe"
PRIORITY = "optional"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
SRC_URI += "file://splash-p.svg \
file://splash-l.svg \
- file://tty2-message.patch;patch=1"
+ file://tty2-message.patch;patch=1 \
+ file://speed.patch;patch=1"
FILES_${PN} += "${datadir}/gpe"