--- /dev/null
+#!/bin/sh
+
+start() {
+ echo "ti-gfx: starting pvr driver"
+
+ BITSPERPIXEL="$(fbset | awk '/geom/ {print $6}')"
+ YRES="$(fbset | awk '/geom/ {print $3}')"
+ # Set RGBA ordering to something the drivers like
+ if [ "$BITSPERPIXEL" = "32" ] ; then
+ fbset -rgba 8/16,8/8,8/0,8/24
+ fi
+ # Try to enable triple buffering when there's enough VRAM
+ fbset -vyres $(( YRES*3 ))
+
+ modprobe pvrsrvkm
+ modprobe omaplfb
+ modprobe bufferclass_ti
+
+ pvr_maj=$(awk '$2=="pvrsrvkm" { print $1; }' /proc/devices)
+ rm -f /dev/pvrsrvkm
+
+ mknod /dev/pvrsrvkm c $pvr_maj 0
+ chmod 600 /dev/pvrsrvkm
+
+ if ! /usr/bin/pvrsrvctl --start --no-module; then
+ echo "ti-gfx: unable to start server"
+ fi
+}
+
+stop() {
+ echo "ti-gfx: stopping pvr driver"
+
+ rmmod bufferclass_ti
+ rmmod omaplfb
+ rmmod pvrsrvkm
+}
+
+case "$1" in
+start)
+ start
+;;
+stop)
+ stop
+;;
+restart)
+ stop
+ start
+;;
+*)
+ echo "ti-gfx: Please use start, stop, or restart."
+ exit 1
+;;
+esac