aboutsummaryrefslogtreecommitdiffstats
path: root/packages/xserver-kdrive-common/xserver-kdrive-common/Xserver
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2007-08-10 01:48:16 +0000
committerMichael Lauer <mickey@vanille-media.de>2007-08-10 01:48:16 +0000
commitc958cfa97e8397df6648970bab8db9884437285d (patch)
tree399d9bbdbee360551fb45be5a1027c61e6147128 /packages/xserver-kdrive-common/xserver-kdrive-common/Xserver
parent34531a2008c10502c78f50eb0b2d0bd6aa57b6b0 (diff)
downloadopenembedded-c958cfa97e8397df6648970bab8db9884437285d.tar.gz
xserver-kdrive-common: enable overriding individual files
Diffstat (limited to 'packages/xserver-kdrive-common/xserver-kdrive-common/Xserver')
-rw-r--r--packages/xserver-kdrive-common/xserver-kdrive-common/Xserver112
1 files changed, 112 insertions, 0 deletions
diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/Xserver b/packages/xserver-kdrive-common/xserver-kdrive-common/Xserver
new file mode 100644
index 0000000000..e59460f3b0
--- /dev/null
+++ b/packages/xserver-kdrive-common/xserver-kdrive-common/Xserver
@@ -0,0 +1,112 @@
+#!/bin/sh
+#
+
+# note xinit needs full server path
+XSERVER=/usr/bin/Xipaq
+if [ -f /usr/bin/Xfbdev ]; then
+ XSERVER=/usr/bin/Xfbdev
+fi
+if [ -f /usr/bin/Xepson ]; then
+ XSERVER=/usr/bin/Xepson
+fi
+if [ -f /usr/bin/Xorg ]; then
+ XSERVER=/usr/bin/Xorg
+fi
+if [ -f /usr/bin/Xomap ]; then
+ XSERVER=/usr/bin/Xomap
+fi
+if [ -f /usr/bin/Xw100 ]; then
+ XSERVER=Xw100
+fi
+if [ -f /usr/bin/Ximageon ]; then
+ XSERVER=Ximageon
+fi
+
+. /etc/profile
+
+
+
+fallback_screen_arg() {
+ geom=`fbset | grep geometry`
+ w=`echo $geom | awk '{ print $2 }'`
+ h=`echo $geom | awk '{ print $3 }'`
+ b=`echo $geom | awk '{ print $6 }'`
+ echo -n "${w}x${h}x${b}"
+}
+
+module_id() {
+ ## used to read from assets, but sometimes assets is corrupted
+ # grep "Module ID" /proc/hal/assets | sed "s/.*://"
+ ## used to read from /proc/hal/model, but that is removed in 2.6
+ # echo ' iPAQ' `cat /proc/hal/model`
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+export USER=root
+
+ARGS=" -br -pn"
+
+# use ucb 1x00 touchscreen if present
+if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then
+ ARGS="$ARGS -mouse /dev/touchscreen/ucb1x00"
+fi
+
+# use usb mouse if present
+# Xorg doesn't support "-mouse" option, and uses /dev/input/mice automatically
+if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/input/mice ] && [ "$XSERVER" != "Xorg" ]; then
+ ARGS="$ARGS -mouse /dev/input/mice"
+fi
+
+# start off server in conventional location.
+case `module_id` in
+ "HP iPAQ H3100" | "HP iPAQ H3800")
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@90" ;;
+ "HP iPAQ H3600" | "HP iPAQ H3700" | "HP iPAQ H3900")
+ ARGS="$ARGS -dpi 100 -rgba vbgr -screen 320x240@270" ;;
+ "HP iPAQ H5400" | "HP iPAQ H2200")
+ ARGS="$ARGS -dpi 100 -rgba rgb" ;;
+ "HP iPAQ HX4700")
+ ARGS="$ARGS -dpi 200" ;;
+ "Ramses")
+ # What is this "vt2" in aid of?
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@90 vt2" ;;
+ # both 'Sharp-Collie' and just 'Collie' have been reported
+ *Poodle)
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@270" ;;
+ *Collie)
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@270"
+ ;;
+ "SHARP Shepherd" | "SHARP Husky" | "SHARP Corgi")
+ ARGS="$ARGS -dpi 200 -rgba rgb" ;;
+ "SHARP Spitz" | "SHARP Akita" | "SHARP Borzoi")
+ ARGS="$ARGS -dpi 200 -rgba rgb -screen 480x640@270" ;;
+ "Simpad")
+ ARGS="$ARGS -dpi 100 -rgba rgb" ;;
+ "Generic OMAP1510/1610/1710")
+ ARGS="$ARGS -dpi 220 -mouse /dev/input/event0" ;;
+ "Cellon C8000 Board")
+ ARGS="$ARGS -dpi 100 -screen 240x320,10,1" ;;
+ "HTC Universal")
+ ARGS="$ARGS -dpi 225 -screen 480x640@270" ;;
+ "ARM-IntegratorCP" | "ARM-Versatile PB")
+ ARGS="$ARGS -rgba vrgb" ;;
+ "Compulab CM-x270")
+ modprobe mbxfb
+ ARGS="$ARGS -fb /dev/fb1"
+ ;;
+ "GTA01")
+ ARGS="$ARGS -dpi 285 -screen 480x640" ;;
+ "Nokia N800")
+ ARGS="$ARGS -dpi 225 -screen 800x480x16 -mouse tslib" ;;
+ *)
+ # Its a device we dont know about - in which case force
+ # kdrive to use the current framebuffer geometry otherwise
+ # it will defualt to trying to achieve 1024x768
+ S=`fallback_screen_arg`
+ ARGS="$ARGS -screen $S"
+ ;;
+esac
+
+DISPLAY=':0'
+
+exec xinit /etc/X11/Xsession -- $XSERVER $DISPLAY $ARGS $*