aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xserver
blob: 3d4aa74b9532f80de9bb985b60d31041d4cbdb60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/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

. /etc/profile

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
}

ARGS=" -br -pn"

if [ "$XSERVER" != "/usr/bin/Xorg" ]; then

        . /etc/formfactor/config

        ARGS="$ARGS -keybd keyboard"

        # use usb mouse if present
        if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/input/mice ]; then
          ARGS="$ARGS -mouse /dev/input/mice"
        fi

        # kdrive 1.4 onwards needs -mouse args
        if [ -n "$TSLIB_TSDEVICE" ]; then
          ARGS="$ARGS -mouse tslib"
        fi

        # start off server in conventional location.
        case `module_id` in
                "Generic OMAP1510/1610/1710")
                        ARGS="$ARGS -mouse /dev/input/event0" ;;
                "Compulab CM-x270")
                        #modprobe mbxfb
                        #ARGS="$ARGS -fb /dev/fb1"
                        ;;
                "Nokia N800")
                        ARGS="$ARGS -mouse tslib" ;;
                "Nokia 770")
                        ARGS="$ARGS -mouse tslib" ;;
                *)
                        ;;
        esac

        ARGS="$ARGS -screen ${DISPLAY_WIDTH_PIXELS}x${DISPLAY_HEIGHT_PIXELS}@${DISPLAY_ORIENTATION}x${DISPLAY_BPP}"

        if [ ! -z "$DISPLAY_DPI" ]; then
                ARGS="$ARGS -dpi $DISPLAY_DPI"
        fi

        if [ ! -z "$DISPLAY_SUBPIXEL_ORDER" ]; then
                ARGS="$ARGS -rgba $DISPLAY_SUBPIXEL_ORDER"
        fi

fi

DISPLAY=':0'

exec xinit /etc/X11/Xsession -- $XSERVER $DISPLAY $ARGS $*