From dc0efcbc35a7e0c5b5f908fb4d27a76c4ee304ac Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Mon, 31 Aug 2009 12:05:17 +0200 Subject: [PATCH 1/1] Xserver: move nearly whole functionality to xserver-common /etc/X11/Xserver script now use /etc/X11/xserver-common one to get values for XSERVER, ARGS, DPI variables. This split allows to use xserver-common for other X11 startup systems. --- X11/Xserver | 188 +-------------------------------------------------- X11/xserver-common | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 187 deletions(-) create mode 100644 X11/xserver-common diff --git a/X11/Xserver b/X11/Xserver index 583cd0d..d53e1c9 100755 --- a/X11/Xserver +++ b/X11/Xserver @@ -1,194 +1,8 @@ #!/bin/sh # -XSERVER=Xfbdev -BINDIR=/usr/bin +. /etc/X11/xserver-common -if [ -f $BINDIR/Xepson ]; then - XSERVER=Xepson -fi -if [ -f $BINDIR/Xorg ]; then - XSERVER=Xorg -fi -if [ -f $BINDIR/Xomap ]; then - XSERVER=Xomap -fi -if [ -f $BINDIR/Xw100 ]; then - XSERVER=Xw100 -fi -if [ -f $BINDIR/Xvesa ]; then - XSERVER=Xvesa -fi -if [ -f $BINDIR/Ximageon ]; then - XSERVER=Ximageon -fi -if [ -f $BINDIR/Xglamo ]; then - XSERVER=Xglamo -fi - -if [ -f /etc/profile ]; then - . /etc/profile -fi - -. /etc/init.d/functions - -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}" -} - -SCREEN_SIZE=`fallback_screen_arg` -export USER=root -export XSERVER_DEFAULT_ORIENTATION=normal - -ARGS="-br -pn $INPUT_EXTRA_ARGS" -DPI="100" -MOUSE="" - -# use ucb 1x00 touchscreen if present -if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then - MOUSE="-mouse /dev/touchscreen/ucb1x00" -fi - -# kdrive 1.4 onwards needs -mouse args -# Xorg doesn't support "-mouse" option, and uses /dev/input/mice automatically -if [ -e "$TSLIB_TSDEVICE" ] ; then - MOUSE="-mouse tslib" -else - if [ -e /dev/input/mice ] && [ "$XSERVER" != "Xorg" ] ; then - MOUSE="-mouse mouse" - fi -fi - -if [ -e /etc/default/xserver ] ; then - . /etc/default/xserver -else - # start off server in conventional location. - case `machine_id` in - "aml_m8050") - ARGS="$ARGS -screen 320x240@270" - DPI="100" ;; - "hp_ipaq_h3100" | "hp_ipaq_h3800") - ARGS="$ARGS -rgba vrgb -screen 320x240@90" - DPI="100" ;; - "hp_ipaq_h3600" | "hp_ipaq_h3700" | "hp_ipaq_h3900") - ARGS="$ARGS -rgba vbgr -screen 320x240@270" - DPI="100" ;; - "hp_ipaq_h5400" | "hp_ipaq_h2200") - ARGS="$ARGS -rgba rgb" - DPI="100" ;; - "hp_ipaq_hx4700") - DPI="200" ;; - "ramses") - # What is this "vt2" in aid of? - ARGS="$ARGS -rgba vrgb -screen 320x240@90 vt2" - DPI="100" ;; - *poodle) - ARGS="$ARGS -rgba vrgb -screen 320x240@270" - DPI="100" ;; - # both 'Sharp-Collie' and just 'Collie' have been reported - *collie) - ARGS="$ARGS -rgba vrgb -screen 320x240@270" - DPI="100" ;; - "sharp_shepherd" | "sharp_husky" | "sharp_corgi") - ARGS="$ARGS -rgba rgb" - DPI="200" ;; - "sharp_spitz" | "sharp_akita" | "sharp_borzoi") - export XSERVER_DEFAULT_ORIENTATION="normal" - ARGS="$ARGS -rgba rgb -screen 480x640" - DPI="200" ;; - "simpad") - ARGS="$ARGS -rgba rgb" - DPI="100" ;; - "generic_omap1510/1610/1710") - MOUSE="-mouse /dev/input/event0" - DPI="220" ;; - "ti-osk") - DPI="100" ;; - "cellon_c8000_board") - ARGS="$ARGS -screen ${SCREEN_SIZE},10,1" - DPI="100" ;; - "htc_magician") - DPI="142" ;; - "htc_universal") - ARGS="$ARGS -screen 480x640@270" - DPI="100" ;; - "htc_tornado") - ARGS="$ARGS -hide-cursor" - DPI="100" ;; - "generic_omap1510/1610/1710") - ARGS="$ARGS -screen ${SCREEN_SIZE}" - DPI="225" ;; - "nokia_n800" | "nokia_rx-44" | "nokia_n770") - ARGS="$ARGS -screen ${SCREEN_SIZE}" - DPI="225" ;; - "gta01" ) - DPI="285" - if [ "$XSERVER" != "Xorg" ] ; then - ARGS="$ARGS -screen 480x640" - fi - ;; - "gta02") - DPI="285" - if [ "$XSERVER" != "Xorg" ] ; then - ARGS="$ARGS -screen ${SCREEN_SIZE}" - fi - ;; - "motorola_ezx_platform") - ARGS="$ARGS -screen 240x320" - DPI="170" ;; - "arm-integratorcp" | "arm-versatile_pb") - ARGS="$ARGS -rgba vrgb" ;; - "compulab_cm-x270") - modprobe mbxfb - ARGS="$ARGS -fb /dev/fb1" ;; - "boundary_devices_neon_board") - ARGS="$ARGS -screen ${SCREEN_SIZE}" - DPI="100" ;; - "hoeft&wessel_hw90350") - ARGS="$ARGS -screen ${SCREEN_SIZE}" - DPI="100" ;; - "hoeft&wessel_hw90250") - ARGS="$ARGS -screen 240x320@90" - DPI="100" ;; - "mini2440") - ARGS="$ARGS -screen ${SCREEN_SIZE}" - DPI="100" ;; - "palm_treo_650") - DPI="181" - ARGS="$ARGS -screen 320x320 -hide-cursor" ;; - "glofiish_m800") - DPI="285" - ARGS="$ARGS -screen ${SCREEN_SIZE} -hide-cursor vt1" ;; - "freescale_mx21ads") - # That's what /proc/cpuinfo shows as hardware on the chumby - DPI="121" - ARGS="$ARGS -screen 320x240 -hide-cursor" ;; - - # this is to rotate X display properly, tested with display TX09D71VM1CCA - ronetix*pm9261* | ronetix*pm9263*) - ARGS="$ARGS -screen 240/54x320/81@90x16" ;; - # This is a fallback for PCs - "") - if [ -f $BINDIR/Xvesa ]; then - ARGS="$ARGS -mode 0x0114" - else - # It is a device we do not know about, in which case we force - # kdrive to use the current framebuffer geometry -- otherwise - # it will default to trying to achieve 1024x768 - if [ "$XSERVER" != "Xorg" ] ; then - ARGS="$ARGS -screen ${SCREEN_SIZE}" - fi - fi - esac -fi - -if [ "$XSERVER" != "Xorg" ] ; then - ARGS="$ARGS $MOUSE" -fi echo "tslib: $TSLIB_TSDEVICE" echo "exec $XSERVER $ARGS -dpi $DPI $*" diff --git a/X11/xserver-common b/X11/xserver-common new file mode 100644 index 0000000..29d152f --- /dev/null +++ b/X11/xserver-common @@ -0,0 +1,191 @@ +#!/bin/sh +# + +XSERVER=Xfbdev +BINDIR=/usr/bin + +if [ -f $BINDIR/Xepson ]; then + XSERVER=Xepson +fi +if [ -f $BINDIR/Xorg ]; then + XSERVER=Xorg +fi +if [ -f $BINDIR/Xomap ]; then + XSERVER=Xomap +fi +if [ -f $BINDIR/Xw100 ]; then + XSERVER=Xw100 +fi +if [ -f $BINDIR/Xvesa ]; then + XSERVER=Xvesa +fi +if [ -f $BINDIR/Ximageon ]; then + XSERVER=Ximageon +fi +if [ -f $BINDIR/Xglamo ]; then + XSERVER=Xglamo +fi + +if [ -f /etc/profile ]; then + . /etc/profile +fi + +. /etc/init.d/functions + +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}" +} + +SCREEN_SIZE=`fallback_screen_arg` +export USER=root +export XSERVER_DEFAULT_ORIENTATION=normal + +ARGS="-br -pn $INPUT_EXTRA_ARGS" +DPI="100" +MOUSE="" + +# use ucb 1x00 touchscreen if present +if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then + MOUSE="-mouse /dev/touchscreen/ucb1x00" +fi + +# kdrive 1.4 onwards needs -mouse args +# Xorg doesn't support "-mouse" option, and uses /dev/input/mice automatically +if [ -e "$TSLIB_TSDEVICE" ] ; then + MOUSE="-mouse tslib" +else + if [ -e /dev/input/mice ] && [ "$XSERVER" != "Xorg" ] ; then + MOUSE="-mouse mouse" + fi +fi + +if [ -e /etc/default/xserver ] ; then + . /etc/default/xserver +else + # start off server in conventional location. + case `machine_id` in + "aml_m8050") + ARGS="$ARGS -screen 320x240@270" + DPI="100" ;; + "hp_ipaq_h3100" | "hp_ipaq_h3800") + ARGS="$ARGS -rgba vrgb -screen 320x240@90" + DPI="100" ;; + "hp_ipaq_h3600" | "hp_ipaq_h3700" | "hp_ipaq_h3900") + ARGS="$ARGS -rgba vbgr -screen 320x240@270" + DPI="100" ;; + "hp_ipaq_h5400" | "hp_ipaq_h2200") + ARGS="$ARGS -rgba rgb" + DPI="100" ;; + "hp_ipaq_hx4700") + DPI="200" ;; + "ramses") + # What is this "vt2" in aid of? + ARGS="$ARGS -rgba vrgb -screen 320x240@90 vt2" + DPI="100" ;; + *poodle) + ARGS="$ARGS -rgba vrgb -screen 320x240@270" + DPI="100" ;; + # both 'Sharp-Collie' and just 'Collie' have been reported + *collie) + ARGS="$ARGS -rgba vrgb -screen 320x240@270" + DPI="100" ;; + "sharp_shepherd" | "sharp_husky" | "sharp_corgi") + ARGS="$ARGS -rgba rgb" + DPI="200" ;; + "sharp_spitz" | "sharp_akita" | "sharp_borzoi") + export XSERVER_DEFAULT_ORIENTATION="normal" + ARGS="$ARGS -rgba rgb -screen 480x640" + DPI="200" ;; + "simpad") + ARGS="$ARGS -rgba rgb" + DPI="100" ;; + "generic_omap1510/1610/1710") + MOUSE="-mouse /dev/input/event0" + DPI="220" ;; + "ti-osk") + DPI="100" ;; + "cellon_c8000_board") + ARGS="$ARGS -screen ${SCREEN_SIZE},10,1" + DPI="100" ;; + "htc_magician") + DPI="142" ;; + "htc_universal") + ARGS="$ARGS -screen 480x640@270" + DPI="100" ;; + "htc_tornado") + ARGS="$ARGS -hide-cursor" + DPI="100" ;; + "generic_omap1510/1610/1710") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; + "nokia_n800" | "nokia_rx-44" | "nokia_n770") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; + "gta01" ) + DPI="285" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen 480x640" + fi + ;; + "gta02") + DPI="285" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen ${SCREEN_SIZE}" + fi + ;; + "motorola_ezx_platform") + ARGS="$ARGS -screen 240x320" + DPI="170" ;; + "arm-integratorcp" | "arm-versatile_pb") + ARGS="$ARGS -rgba vrgb" ;; + "compulab_cm-x270") + modprobe mbxfb + ARGS="$ARGS -fb /dev/fb1" ;; + "boundary_devices_neon_board") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="100" ;; + "hoeft&wessel_hw90350") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="100" ;; + "hoeft&wessel_hw90250") + ARGS="$ARGS -screen 240x320@90" + DPI="100" ;; + "mini2440") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="100" ;; + "palm_treo_650") + DPI="181" + ARGS="$ARGS -screen 320x320 -hide-cursor" ;; + "glofiish_m800") + DPI="285" + ARGS="$ARGS -screen ${SCREEN_SIZE} -hide-cursor vt1" ;; + "freescale_mx21ads") + # That's what /proc/cpuinfo shows as hardware on the chumby + DPI="121" + ARGS="$ARGS -screen 320x240 -hide-cursor" ;; + + # this is to rotate X display properly, tested with display TX09D71VM1CCA + ronetix*pm9261* | ronetix*pm9263*) + ARGS="$ARGS -screen 240/54x320/81@90x16" ;; + # This is a fallback for PCs + "") + if [ -f $BINDIR/Xvesa ]; then + ARGS="$ARGS -mode 0x0114" + else + # It is a device we do not know about, in which case we force + # kdrive to use the current framebuffer geometry -- otherwise + # it will default to trying to achieve 1024x768 + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen ${SCREEN_SIZE}" + fi + fi + esac +fi + +if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS $MOUSE" +fi -- 1.6.3.3