summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/LinHES-config/xconfig.sh
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2009-04-04 21:26:39 (GMT)
committerJames Meyer <james.meyer@operamail.com>2009-04-04 21:26:39 (GMT)
commit08c5fb247cc593ec3e6ab1a56f8e7e8a99d210b1 (patch)
treeda63cd5207b7fe8d1529cc578970469d105d62b8 /abs/core-testing/LinHES-config/xconfig.sh
parent3ca4a5c60bd7d54771e939223c2f3a5787132f46 (diff)
downloadlinhes_pkgbuild-08c5fb247cc593ec3e6ab1a56f8e7e8a99d210b1.zip
linhes_pkgbuild-08c5fb247cc593ec3e6ab1a56f8e7e8a99d210b1.tar.gz
linhes_pkgbuild-08c5fb247cc593ec3e6ab1a56f8e7e8a99d210b1.tar.bz2
LinHES-config: xconfig.sh add concept of forcing DISPLAYCARD and DISPLAYRES using ENV variables.
can also use displayres=xxxx on the kernel commandline.
Diffstat (limited to 'abs/core-testing/LinHES-config/xconfig.sh')
-rwxr-xr-xabs/core-testing/LinHES-config/xconfig.sh76
1 files changed, 66 insertions, 10 deletions
diff --git a/abs/core-testing/LinHES-config/xconfig.sh b/abs/core-testing/LinHES-config/xconfig.sh
index e2a48ed..4f5fc62 100755
--- a/abs/core-testing/LinHES-config/xconfig.sh
+++ b/abs/core-testing/LinHES-config/xconfig.sh
@@ -1,4 +1,7 @@
#!/bin/bash
+#SET DISPLAYCARD to force a cardtype
+#SET DISPLAYRES to force Xres, ENV takes precendent over cmdline
+#displayres=cmdline
#NVPKGS="ati-dri xf86-video-ati xf86-video-radeonhd intel-dri xf86-video-intel unichrome-dri xf86-video-unichrome xf86-video-mga xf86-video-savage xf86-video-trident"
NVPKGS="ati-dri xf86-video-ati xf86-video-radeonhd intel-dri xf86-video-intel xf86-video-mga xf86-video-savage xf86-video-trident"
BASE=""
@@ -10,16 +13,23 @@ MYTHHOME=$BASE/home/mythtv
function Xvalues {
CMDLINE=$(cat /proc/cmdline)
echo "$CMDLINE" | grep -q forceXvesa
- if [ $? = 0 ]
+ if [ $? = 0 ]
then
VGACARDTYPE=vesa
+ Xcardtype=$VGACARDTYPE
else
VGACARDTYPE=`lspci | grep -i vga | sort -r | head -n 1 | cut -d: -f3 | cut -d" " -f2`
VGAPCIID=`lspci | grep -i vga | sort -r | head -n 1 | cut -d" " -f1`
CARDID=`lspci -n | grep "$VGAPCIID" | grep 10de | cut -d" " -f3 | cut -d: -f2`
VENDORID=`lspci -n | grep "$VGAPCIID" | grep 10de | cut -d" " -f3 | cut -d: -f1`
fi
- echo "$VGACARDTYPE"
+ #force VGACARDTYPE
+ if [ ! x$DISPLAYCARD = x ]
+ then
+ VGACARDTYPE=$DISPLAYCARD
+ Xcardtype=$VGACARDTYPE
+ fi
+ echo "Will use $VGACARDTYPE"
currentmode=`cat "$BASE/etc/X11/xorg.conf" | grep Modes | awk -Fs '{ print $2 }'`
}
@@ -82,7 +92,7 @@ function setupAdvancedX {
fi
# echo $ML
case $Xcardtype in
- NVIDIA|nVidia)
+ NVIDIA|nVidia|nvidia)
case $Xconnection in
DVI) ConnectedMonitor=DFP ;;
vga) ConnectedMonitor=CRT;;
@@ -178,7 +188,12 @@ function setupX {
then
case $VGACARDTYPE in
nVidia)
- sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.nvidia" > "$XORG_CONF"
+ if [ ${Xres} = Auto ]
+ then
+ sed -e "/^.*Modes.*$/d" "$TEMPLATES/xorg/xorg.conf.nvidia" > "$XORG_CONF"
+ else
+ sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.nvidia" > "$XORG_CONF"
+ fi
if [ "$TESTMODE" != "test" ]
then
#nvidia check right here
@@ -208,7 +223,12 @@ function setupX {
# xf86-video-openchrome
# xf86-video-unichrome
# There is also a seperate driver for the Unichrome Pro
- sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.via" > "$XORG_CONF"
+ if [ ${Xres} = Auto ]
+ then
+ sed -e "/^.*Modes.*$/d" "$TEMPLATES/xorg/xorg.conf.via" > "$XORG_CONF"
+ else
+ sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.via" > "$XORG_CONF"
+ fi
if [ "$TESTMODE" != "test" ]
then
if [ "$OPENCHROME" = "1" ]
@@ -239,8 +259,13 @@ function setupX {
fi
;;
- Intel)
- sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.intel" > "$XORG_CONF"
+ Intel|intel)
+ if [ ${Xres} = Auto ]
+ then
+ sed -e "/^.*Modes.*$/d" "$TEMPLATES/xorg/xorg.conf.intel" > "$XORG_CONF"
+ else
+ sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.intel" > "$XORG_CONF"
+ fi
if [ "$TESTMODE" != "test" ]
then
pacman --noconfirm -R nvidia-utils > /dev/null 2>&1
@@ -250,7 +275,12 @@ function setupX {
;;
vesa|InnoTek)
- sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.vesa" > "$XORG_CONF"
+ if [ ${Xres} = Auto ]
+ then
+ sed -e "/^.*Modes.*$/d" "$TEMPLATES/xorg/xorg.conf.vesa" > "$XORG_CONF"
+ else
+ sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.vesa" > "$XORG_CONF"
+ fi
;;
*)
@@ -260,11 +290,21 @@ function setupX {
if [ -f "$XCONF" ]
then
echo "Using $XCONF"
- grep -v Modes "$XCONF" | sed -e "/Depth.*16/a Modes \"${Xres}\" " -e "/Depth.*24/a Modes \"${Xres}\"" -e 's/dev\/mouse/dev\/psaux/g'> "$XORG_CONF"
+ if [ ${Xres} = Auto ]
+ then
+ grep -v Modes "$XCONF" | sed -e 's/dev\/mouse/dev\/psaux/g'> "$XORG_CONF"
+ else
+ grep -v Modes "$XCONF" | sed -e "/Depth.*16/a Modes \"${Xres}\" " -e "/Depth.*24/a Modes \"${Xres}\"" -e 's/dev\/mouse/dev\/psaux/g'> "$XORG_CONF"
+ fi
elif [ -f "$XCONFB" ]
then
echo "Using $XCONFB"
- sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$XCONFB" > "$XORG_CONF"
+ if [ ${Xres} = Auto ]
+ then
+ sed -e "/^.*Modes.*$/d" "$XCONFB" > "$XORG_CONF"
+ else
+ sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$XCONFB" > "$XORG_CONF"
+ fi
else
echo "Xorg configuration failed"
fi
@@ -299,6 +339,22 @@ else
else
Xres="800x600"
fi
+ CMDLINE=$(cat /proc/cmdline)
+ echo $CMDLINE | grep -q displayres
+ if [ $? = 0 ]
+ then
+ TEMPVAR=${CMDLINE#*displayres=}
+ DSR=${TEMPVAR%% *}
+ fi
+ if [ ! x$DSR = x ]
+ then
+ Xres=$DSR
+ fi
+ if [ ! x$DISPLAYRES = x ]
+ then
+ Xres=$DISPLAYRES
+ fi
+
XORG_CONF="/etc/X11/xorg.conf"
XVMC_CONFIG="/etc/X11/XvMCConfig"
fi