From 09a4ebff156604b867c1ba4c2072442766d724be Mon Sep 17 00:00:00 2001 From: James Meyer Date: Sun, 22 Feb 2009 17:18:14 -0600 Subject: update Xconfig and templates for xorg 1.5 --- abs/mv-core/MythVantage-config/PKGBUILD | 2 +- .../templates/xorg/96xx_supported.txt | 137 +++++++- .../templates/xorg/xorg.conf.ati | 6 +- .../templates/xorg/xorg.conf.intel | 6 +- .../templates/xorg/xorg.conf.nvidia | 5 +- .../templates/xorg/xorg.conf.vesa | 5 +- .../templates/xorg/xorg.conf.via | 5 +- .../templates/xorg/xorg.conf.vmware | 5 +- abs/mv-core/MythVantage-config/xconfig.sh | 389 ++++++++++++--------- 9 files changed, 380 insertions(+), 180 deletions(-) diff --git a/abs/mv-core/MythVantage-config/PKGBUILD b/abs/mv-core/MythVantage-config/PKGBUILD index 28fedfe..f1e6c40 100755 --- a/abs/mv-core/MythVantage-config/PKGBUILD +++ b/abs/mv-core/MythVantage-config/PKGBUILD @@ -1,6 +1,6 @@ pkgname=MythVantage-config pkgver=3.2 -pkgrel=143 +pkgrel=144 pkgdesc="The Gui-installer" depends=(bc mysql-python expect curl dnsutils sg3_utils parted) arch=('i686') diff --git a/abs/mv-core/MythVantage-config/templates/xorg/96xx_supported.txt b/abs/mv-core/MythVantage-config/templates/xorg/96xx_supported.txt index eddcbd4..dd4833a 100644 --- a/abs/mv-core/MythVantage-config/templates/xorg/96xx_supported.txt +++ b/abs/mv-core/MythVantage-config/templates/xorg/96xx_supported.txt @@ -1,9 +1,69 @@ NVIDIA GPU product Device PCI ID - ---------------------------------- ---------------------------------- + + GeForce 6800 Ultra 0x0040 + GeForce 6800 0x0041 + GeForce 6800 XE 0x0043 + GeForce 6800 XT 0x0044 + GeForce 6800 GT 0x0045 + GeForce 6800 GT 0x0046 + GeForce 6800 GS 0x0047 + GeForce 6800 XT 0x0048 + Quadro FX 4000 0x004E + GeForce 7800 GTX 0x0090 + GeForce 7800 GTX 0x0091 + GeForce 7800 GT 0x0092 + GeForce 7800 GS 0x0093 + GeForce Go 7800 0x0098 + GeForce Go 7800 GTX 0x0099 + Quadro FX 4500 0x009D + GeForce 6800 GS 0x00C0 + GeForce 6800 0x00C1 + GeForce 6800 LE 0x00C2 + GeForce 6800 XT 0x00C3 + GeForce Go 6800 0x00C8 + GeForce Go 6800 Ultra 0x00C9 + Quadro FX Go1400 0x00CC + Quadro FX 3450/4000 SDI 0x00CD + Quadro FX 1400 0x00CE + GeForce 6800/GeForce 6800 Ultra 0x00F0 + GeForce 6600/GeForce 6600 GT 0x00F1 + GeForce 6600 0x00F2 + GeForce 6200 0x00F3 + GeForce 6600 LE 0x00F4 + GeForce 7800 GS 0x00F5 + GeForce 6800 GS 0x00F6 + Quadro FX 3400/4400 0x00F8 + GeForce 6800 Ultra 0x00F9 + GeForce PCX 5750 0x00FA + GeForce PCX 5900 0x00FB + Quadro FX 330/GeForce PCX 5300 0x00FC + Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD + Quadro FX 1300 0x00FE + GeForce PCX 4300 0x00FF GeForce2 MX/MX 400 0x0110 GeForce2 MX 100/200 0x0111 GeForce2 Go 0x0112 Quadro2 MXR/EX/Go 0x0113 + GeForce 6600 GT 0x0140 + GeForce 6600 0x0141 + GeForce 6600 LE 0x0142 + GeForce 6600 VE 0x0143 + GeForce Go 6600 0x0144 + GeForce 6610 XL 0x0145 + GeForce Go 6600 TE/6200 TE 0x0146 + GeForce Go 6600 0x0148 + GeForce Go 6600 GT 0x0149 + Quadro NVS 440 0x014A + Quadro FX 550 0x014C + Quadro FX 540 0x014E + GeForce 6200 0x014F + GeForce 6500 0x0160 + GeForce 6200 TurboCache(TM) 0x0161 + GeForce Go 6200 0x0164 + Quadro NVS 285 0x0165 + GeForce Go 6400 0x0166 + GeForce Go 6200 0x0167 + GeForce Go 6400 0x0168 GeForce4 MX 460 0x0170 GeForce4 MX 440 0x0171 GeForce4 MX 420 0x0172 @@ -14,7 +74,7 @@ GeForce4 460 Go 0x0177 Quadro4 550 XGL 0x0178 GeForce4 440 Go 64M 0x0179 - Quadro NVS 400 0x017A + Quadro NVS 0x017A Quadro4 500 GoGL 0x017C GeForce4 410 Go 16M 0x017D GeForce4 MX 440 with AGP8X 0x0181 @@ -22,15 +82,31 @@ GeForce4 MX 420 with AGP8X 0x0183 GeForce4 MX 4000 0x0185 Quadro4 580 XGL 0x0188 - Quadro NVS 280 SD 0x018A + Quadro NVS with AGP8X 0x018A Quadro4 380 XGL 0x018B Quadro NVS 50 PCI 0x018C GeForce2 Integrated GPU 0x01A0 + GeForce 7300 LE 0x01D1 + Quadro NVS 110M 0x01D7 + GeForce Go 7300 0x01D7 + GeForce Go 7400 0x01D8 + Quadro NVS 110M 0x01DA + Quadro NVS 120M 0x01DB + Quadro FX 350M 0x01DC + Quadro FX 350 0x01DE + GeForce 7300 GS 0x01DF GeForce4 MX Integrated GPU 0x01F0 GeForce3 0x0200 GeForce3 Ti 200 0x0201 GeForce3 Ti 500 0x0202 Quadro DCC 0x0203 + GeForce 6800 0x0211 + GeForce 6800 LE 0x0212 + GeForce 6800 GT 0x0215 + GeForce 6800 XT 0x0218 + GeForce 6150 0x0240 + GeForce 6150 LE 0x0241 + GeForce 6100 0x0242 GeForce4 Ti 4600 0x0250 GeForce4 Ti 4400 0x0251 GeForce4 Ti 4200 0x0253 @@ -43,4 +119,57 @@ GeForce4 4200 Go 0x0286 Quadro4 980 XGL 0x0288 Quadro4 780 XGL 0x0289 - Quadro4 700 GoGL 0x028C \ No newline at end of file + Quadro4 700 GoGL 0x028C + GeForce 7900 GTX 0x0290 + GeForce 7900 GT 0x0291 + GeForce Go 7900 GS 0x0298 + GeForce Go 7900 GTX 0x0299 + Quadro FX 2500M 0x029A + Quadro FX 1500M 0x029B + Quadro FX 5500 0x029C + Quadro FX 3500 0x029D + Quadro FX 1500 0x029E + Quadro FX 4500 X2 0x029F + GeForce 7600 GS 0x02E1 + GeForce FX 5800 Ultra 0x0301 + GeForce FX 5800 0x0302 + Quadro FX 2000 0x0308 + Quadro FX 1000 0x0309 + GeForce FX 5600 Ultra 0x0311 + GeForce FX 5600 0x0312 + GeForce FX 5600XT 0x0314 + GeForce FX Go5600 0x031A + GeForce FX Go5650 0x031B + Quadro FX Go700 0x031C + GeForce FX 5200 0x0320 + GeForce FX 5200 Ultra 0x0321 + GeForce FX 5200 0x0322 + GeForce FX 5200LE 0x0323 + GeForce FX Go5200 0x0324 + GeForce FX Go5250 0x0325 + GeForce FX 5500 0x0326 + GeForce FX 5100 0x0327 + GeForce FX Go5200 32M/64M 0x0328 + Quadro NVS 280 PCI 0x032A + Quadro FX 500/600 PCI 0x032B + GeForce FX Go53xx 0x032C + GeForce FX Go5100 0x032D + GeForce FX 5900 Ultra 0x0330 + GeForce FX 5900 0x0331 + GeForce FX 5900XT 0x0332 + GeForce FX 5950 Ultra 0x0333 + GeForce FX 5900ZT 0x0334 + Quadro FX 3000 0x0338 + Quadro FX 700 0x033F + GeForce FX 5700 Ultra 0x0341 + GeForce FX 5700 0x0342 + GeForce FX 5700LE 0x0343 + GeForce FX 5700VE 0x0344 + GeForce FX Go5700 0x0347 + GeForce FX Go5700 0x0348 + Quadro FX Go1000 0x034C + Quadro FX 1100 0x034E + GeForce 7600 GT 0x0391 + GeForce 7600 GS 0x0392 + GeForce Go 7600 0x0398 + Quadro FX 560 0x039E \ No newline at end of file diff --git a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.ati b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.ati index c6d9249..8c75552 100644 --- a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.ati +++ b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.ati @@ -1,3 +1,7 @@ +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection + Section "ServerLayout" Identifier "X.org Configured" Screen 0 "aticonfig-Screen[0]" 0 0 @@ -6,7 +10,7 @@ Section "ServerLayout" EndSection Section "Files" - RgbPath "/usr/share/X11/rgb" +# RgbPath "/usr/share/X11/rgb" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/misc" FontPath "/usr/share/fonts/75dpi" diff --git a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.intel b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.intel index a4d258a..c4a67c9 100644 --- a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.intel +++ b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.intel @@ -1,3 +1,7 @@ +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection + Section "ServerLayout" Identifier "Xorg Configured" Screen 0 "Screen0" 0 0 @@ -13,7 +17,7 @@ Section "ServerFlags" EndSection Section "Files" - RgbPath "/usr/share/X11/rgb" +# RgbPath "/usr/share/X11/rgb" ModulePath "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/misc:unscaled" FontPath "/usr/share/fonts/misc" diff --git a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.nvidia b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.nvidia index dec0f42..6e005a2 100755 --- a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.nvidia +++ b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.nvidia @@ -1,5 +1,8 @@ # nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 1.0 (buildmeister@builder3) Tue Aug 1 21:11:12 PDT 2006 +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection Section "ServerLayout" Identifier "Layout0" @@ -9,7 +12,7 @@ Section "ServerLayout" EndSection Section "Files" - RgbPath "/usr/X11R6/lib/X11/rgb" +# RgbPath "/usr/X11R6/lib/X11/rgb" EndSection Section "Module" diff --git a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vesa b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vesa index c569819..90b426b 100755 --- a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vesa +++ b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vesa @@ -1,5 +1,8 @@ # nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 1.0 (buildmeister@builder3) Tue Aug 1 21:11:12 PDT 2006 +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection Section "ServerLayout" Identifier "Layout0" @@ -9,7 +12,7 @@ Section "ServerLayout" EndSection Section "Files" - RgbPath "/usr/X11R6/lib/X11/rgb" +# RgbPath "/usr/X11R6/lib/X11/rgb" EndSection Section "Module" diff --git a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.via b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.via index 6dd7821..96cae54 100644 --- a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.via +++ b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.via @@ -1,5 +1,8 @@ # nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 1.0 (buildmeister@builder3) Tue Aug 1 21:11:12 PDT 2006 +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection Section "ServerLayout" Identifier "Layout0" @@ -9,7 +12,7 @@ Section "ServerLayout" EndSection Section "Files" - RgbPath "/usr/X11R6/lib/X11/rgb" +# RgbPath "/usr/X11R6/lib/X11/rgb" EndSection Section "Module" diff --git a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vmware b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vmware index 843f2f4..c4db4bf 100755 --- a/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vmware +++ b/abs/mv-core/MythVantage-config/templates/xorg/xorg.conf.vmware @@ -1,5 +1,8 @@ # nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 1.0 (buildmeister@builder3) Tue Aug 1 21:11:12 PDT 2006 +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection Section "ServerLayout" Identifier "Layout0" @@ -9,7 +12,7 @@ Section "ServerLayout" EndSection Section "Files" - RgbPath "/usr/X11R6/lib/X11/rgb" +# RgbPath "/usr/X11R6/lib/X11/rgb" EndSection Section "Module" diff --git a/abs/mv-core/MythVantage-config/xconfig.sh b/abs/mv-core/MythVantage-config/xconfig.sh index a191e1f..eaa84b6 100755 --- a/abs/mv-core/MythVantage-config/xconfig.sh +++ b/abs/mv-core/MythVantage-config/xconfig.sh @@ -1,4 +1,6 @@ #!/bin/bash +#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="" . /etc/profile NVIDIA_96XX="$TEMPLATES/xorg/96xx_supported.txt" @@ -6,226 +8,276 @@ NVIDIA_96XX="$TEMPLATES/xorg/96xx_supported.txt" function Xvalues { CMDLINE=$(cat /proc/cmdline) - echo $CMDLINE |grep -q forceXvesa + echo "$CMDLINE" | grep -q forceXvesa if [ $? = 0 ] then VGACARDTYPE=vesa else - VGACARDTYPE=`lspci|grep -i vga|sort -r|head -n 1| cut -d: -f3|cut -d" " -f 2` - CARDID=`lspci -n |grep 10de | cut -d" " -f3 |cut -d: -f2 ` - VENDORID=`lspci -n |grep 10de | cut -d" " -f3 |cut -d: -f1` + 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 - currentmode=`cat $BASE/etc/X11/xorg.conf |grep Modes|awk -Fs ' { print $2 } '` + echo "$VGACARDTYPE" + currentmode=`cat "$BASE/etc/X11/xorg.conf" | grep Modes | awk -Fs '{ print $2 }'` } function presetupX { -if [ x$XUseAdvanced = x1 ] -then - if [ x$XIgnoreConfig = x1 ] + if [ "$XUseAdvanced" = 1 ] then - echo "Using User supplied X" - if [ -f $BASE/data/home/mythtv/templates/xorg.user ] + if [ "$XIgnoreConfig" = 1 ] then - cp -f $BASE/data/home/mythtv/templates/xorg.user $XORG_CONF + echo "Using User supplied X" + if [ -f "$BASE/data/home/mythtv/templates/xorg.user" ] + then + cp -f "$BASE/data/home/mythtv/templates/xorg.user" "$XORG_CONF" + else + echo "Didn't find the file" + echo "Copy your config file to $BASE/data/home/mythtv/templates/xorg.use" >> "$XORG_CONF" + fi else - echo "Didn't find the file" - echo "Copy your config file to $BASE/data/home/mythtv/templates/xorg.use " >> $XORG_CONF + setupAdvancedX fi else - setupAdvancedX + if [ -f /etc/sysconfig/IGNORE_X ] + then + echo "Will not run xconfig.sh due to presence of /etc/sysconfig/IGNORE_X" + else + setupX + fi fi -else - if [ -f /etc/sysconfig/IGNORE_X ] - then - echo "Will not run xconfig.sh due to presence of /etc/sysconfig/IGNORE_X" - else - setupX - fi -fi - } function setupAdvancedX { -echo "#doing the advanced" > /tmp/options - Xcatagory=` echo $Xresadvanced |cut -d_ -f1` - Xres=` echo $Xresadvanced |cut -d_ -f2` - echo $Xcatagory - if [ x$Xcatagory = "xNvidia" ] + echo "#doing the advanced" > /tmp/options + Xcategory=`echo "$Xresadvanced" | cut -d_ -f1` + Xres=`echo "$Xresadvanced" | cut -d_ -f2` + echo "$Xcategory" + if [ "$Xcategory" = "Nvidia" ] + then + Xres="" + if [ "$XnVidia1080p" = "1" ] then - Xres="" - if [ $XnVidia1080p = "1" ] - then - Xres="${Xres} \"1920x1080_60\"" - fi - if [ $XnVidia1080i = "1" ] - then - Xres="${Xres} \"1920x1080_60i\"" - fi - if [ $XnVidia720p = "1" ] + Xres="${Xres} \"1920x1080_60\"" + fi + if [ "$XnVidia1080i" = "1" ] + then + Xres="${Xres} \"1920x1080_60i\"" + fi + if [ "$XnVidia720p" = "1" ] + then + Xres="${Xres} \"1280x720_60\"" + fi + if [ "$XnVidia480p" = "1" ] + then + Xres="${Xres} \"720x480_60\"" + fi + ML="\t Modes ${Xres}" + else + + ML="\t Modes \"${Xres}\"" + fi +# echo $ML + case $Xcardtype in + NVIDIA|nVidia) + case $Xconnection in + DVI) ConnectedMonitor=DFP ;; + vga) ConnectedMonitor=CRT;; + Auto) ConnectedMonitor=Auto;; + TV) ConnectedMonitor=TV + echo "Option \"TVStandard\" \"$XTVstandard\"" >>/tmp/options + echo "Option \"TVOutFormat\" \"$XTVconnection\"" >> /tmp/options + ;; + esac + if [ "$ConnectedMonitor" = Auto ] then - Xres="${Xres} \"1280x720_60\"" + echo "auto connection" + else + echo "Option \"ConnectedMonitor\" \"$ConnectedMonitor\"" >> /tmp/options + echo "Option \"FlatPanelProperties\" \"Scaling = centered, Dithering = enabled\"" >> /tmp/options + echo "Option \"DigitalVibrance\" \"0\"" >> /tmp/options fi - if [ $XnVidia480p = "1" ] + + if [ "$XignoreEDID" = 1 ] then - Xres="${Xres} \"720x480_60\"" + EDIDvalue=true + EDIDFREQ=false + DS=" DisplaySize $XDisplaysize" + HS=" HorizSync $XHsync" + VR=" VertRefresh $XVrefresh" + else + EDIDvalue=false + EDIDFREQ=true + DS="# Display size edid used " + HS="# Hsync edid used " + VR="# Vertrefresh edid used " fi - ML="\t Modes ${Xres}" - else + echo "Option \"UseEdidFreqs\" \"$EDIDFREQ\"" >> /tmp/options + echo "Option \"IgnoreEDID\" \"$EDIDvalue\"" >> /tmp/options - ML="\t Modes \"${Xres}\"" - fi -# echo $ML - case $Xcardtype in - NVIDIA|nVidia ) - case $Xconnection in - DVI) ConnectedMonitor=DFP ;; - vga) ConnectedMonitor=CRT;; - Auto) ConnectedMonitor=Auto;; - TV) ConnectedMonitor=TV - echo "Option \"TVStandard\" \"$XTVstandard\"" >>/tmp/options - echo "Option \"TVOutFormat\" \"$XTVconnection\"" >> /tmp/options - ;; - esac - if [ $ConnectedMonitor = Auto ] - then - echo "auto connection" - else - echo "Option \"ConnectedMonitor\" \"$ConnectedMonitor\"" >> /tmp/options - echo "Option \"FlatPanelProperties\" \"Scaling = centered, Dithering = enabled\"" >> /tmp/options - echo "Option \"DigitalVibrance\" \"0\"" >> /tmp/options - fi - - if [ x$XignoreEDID = x1 ] - then - EDIDvalue=true - EDIDFREQ=false - DS=" DisplaySize $XDisplaysize" - HS=" HorizSync $XHsync" - VR=" VertRefresh $XVrefresh" - else - EDIDvalue=false - EDIDFREQ=true - DS="# Display size edid used " - HS="#Hsync edid used " - VR="#Vertrefresh edid used " - - fi - echo "Option \"UseEdidFreqs\" \"$EDIDFREQ\"" >> /tmp/options - echo "Option \"IgnoreEDID\" \"$EDIDvalue\"" >> /tmp/options - - - sed -e "s/^.*Modes.*$/${ML}/" \ - -e "/INSERT MODELINE/r $TEMPLATES/xorg/modeline.$Xcatagory" \ - -e "s/^.*DisplaySize.*$/ $DS/" \ - -e "s/^#.*HorizSync.*$/ $HS/g" \ - -e "s/^#.*VertRefresh.*$/ $VR/g" \ - -e "/INSERT HERE/r /tmp/options" $TEMPLATES/xorg/xorg.conf.nvidia > $XORG_CONF + sed -e "s/^.*Modes.*$/${ML}/" \ + -e "/INSERT MODELINE/r $TEMPLATES/xorg/modeline.$Xcategory" \ + -e "s/^.*DisplaySize.*$/ $DS/" \ + -e "s/^#.*HorizSync.*$/ $HS/g" \ + -e "s/^#.*VertRefresh.*$/ $VR/g" \ + -e "/INSERT HERE/r /tmp/options" "$TEMPLATES/xorg/xorg.conf.nvidia" > "$XORG_CONF" ;; + ati|ATI) - case $Xconnection in - DVI) ConnectedMonitor="tmds1,nocrt1,notv";; - VGA) ConnectedMonitor="crt1,notmds1,notv" ;; - TV) ConnectedMonitor="tv,nocrt1,notmds1" - echo "Option \"TVStandard\" \"$XTVstandard\"" >>/tmp/options - echo "Option \"TVFormat\" \"$XTVconnection\"" >> /tmp/options - ;; - esac - if [ x$XignoreEDID = x1 ] - then - DS=" DisplaySize $XDisplaysize" - HS=" HorizSync $XHsync" - VR=" VertRefresh $XVrefresh" - else - DS="# Display size edid used " - HS="#Hsync edid used " - VR="#Vertrefresh edid used " - fi - - echo "Option \"ForceMonitors\" \"$ConnectedMonitor\"" >> /tmp/options - - sed -e "s/^.*Modes.*$/\t $ML/" \ - -e "/INSERT MODELINE/r $TEMPLATES/xorg/modeline.$Xcatagory" \ - -e "s/^.*DisplaySize.*$/ $DS/" \ + case $Xconnection in + DVI) ConnectedMonitor="tmds1,nocrt1,notv";; + VGA) ConnectedMonitor="crt1,notmds1,notv" ;; + TV) ConnectedMonitor="tv,nocrt1,notmds1" + echo "Option \"TVStandard\" \"$XTVstandard\"" >>/tmp/options + echo "Option \"TVFormat\" \"$XTVconnection\"" >> /tmp/options + ;; + esac + if [ "$XignoreEDID" = 1 ] + then + DS=" DisplaySize $XDisplaysize" + HS=" HorizSync $XHsync" + VR=" VertRefresh $XVrefresh" + else + DS="# Display size edid used " + HS="# Hsync edid used " + VR="# Vertrefresh edid used " + fi + + echo "Option \"ForceMonitors\" \"$ConnectedMonitor\"" >> /tmp/options + + sed -e "s/^.*Modes.*$/\t $ML/" \ + -e "/INSERT MODELINE/r $TEMPLATES/xorg/modeline.$Xcategory" \ + -e "s/^.*DisplaySize.*$/ $DS/" \ -e "s/^#.*HorizSync.*$/ $HS/g" \ -e "s/^#.*VertRefresh.*$/ $VR/g" \ - -e "/INSERT HERE/r /tmp/options" $TEMPLATES/xorg/xorg.conf.ati > $XORG_CONF - ;; + -e "/INSERT HERE/r /tmp/options" "$TEMPLATES/xorg/xorg.conf.ati" > "$XORG_CONF" + ;; - via|VIA|Via) echo "no via here" ;; + via|VIA|Via|S3) + # Need to add appropriate Modules, Device and DRI sections + # See the http://www.mythtv.org/wiki/XvMC wiki page + echo "no via here" + ;; - *) echo "unknown card type" ;; + *) + echo "unknown card type" + ;; esac } - function setupX { Xvalues - #echo "$currentmode ____ ${Xres}" - #if [ ! x${currentmode} = x\"${Xres}\" ] - if [ x = x ] + #echo "$currentmode ____ ${Xres}" + #if [ "${currentmode}" != \"${Xres}\" ] + if [ x = x ] then case $VGACARDTYPE in - nVidia ) - sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" $TEMPLATES/xorg/xorg.conf.nvidia > $XORG_CONF - if [ ! x$TESTMODE = "xtest" ] + nVidia) + sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.nvidia" > "$XORG_CONF" + if [ "$TESTMODE" != "test" ] + then + #nvidia check right here + grep -qi "$CARDID" "$NVIDIA_96XX" + if [ $? = 0 ] then - #nvidia check right here - grep -qi $CARDID $NVIDIA_96XX - if [ $? = 0 ] - then - #install 96xx drivers - echo "installing nvidia 96xx drivers" - pacman --noconfirm -R libgl-dri > /dev/null 2>&1 - pacman --noconfirm -S nvidia-96xx nvidia-96xx-utils > /dev/null 2>&1 - else - #install latest drivers - pacman --noconfirm -R libgl-dri > /dev/null 2>&1 - pacman --noconfirm -S nvidia nvidia-utils > /dev/null 2>&1 - fi + #install 96xx drivers + echo "installing nvidia 96xx drivers" + pacman --noconfirm -R $NVPKGS > /dev/null 2>&1 + pacman --noconfirm -S nvidia-96xx nvidia-96xx-utils > /dev/null 2>&1 + else + #install latest drivers + echo "installing current nvidia drivers" + pacman --noconfirm -R $NVPKGS > /dev/null 2>&1 + pacman --noconfirm -S nvidia nvidia-utils > /dev/null 2>&1 fi - ;; - VMware ) - sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" $TEMPLATES/xorg/xorg.conf.vmware > $XORG_CONF - ;; + fi + echo "/usr/lib/libXvMCNVIDIA_dynamic.so.1" > "$XVMC_CONFIG" + ;; + + # VMware) + # sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.vmware" > "$XORG_CONF" + # ;; - VIA ) - sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" $TEMPLATES/xorg/xorg.conf.via > $XORG_CONF - if [ ! x$TESTMODE = "xtest" ] + VIA|S3) + # There are actually multiple options here + # 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 [ "$TESTMODE" != "test" ] + then + if [ "$OPENCHROME" = "1" ] then pacman --noconfirm -R nvidia nvidia-utils > /dev/null 2>&1 - pacman --noconfirm -S libgl-dri > /dev/null 2>&1 + pacman --noconfirm -S libgl unichrome-dri xf86-video-openchrome > /dev/null 2>&1 + else + pacman --noconfirm -R nvidia nvidia-utils > /dev/null 2>&1 + pacman --noconfirm -S libgl unichrome-dri xf86-video-unichrome > /dev/null 2>&1 fi - - ;; - Intel) - sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" $TEMPLATES/xorg/xorg.conf.intel > $XORG_CONF - if [ ! x$TESTMODE = "xtest" ] + fi + # I'm making educated guesses here... + if lspci | grep "VGA" | grep -qi "Unichrome Pro" + then + if [ -f "/usr/lib/libchromeXvMCPro.so.1" ] then - pacman --noconfirm -R nvidia-utils > /dev/null 2>&1 - pacman --noconfirm -S libgl-dri > /dev/null 2>&1 + echo "/usr/lib/libchromeXvMCPro.so.1" > "$XVMC_CONFIG" + else + echo "/usr/lib/libviaXvMCPro.so.1" > "$XVMC_CONFIG" fi - ;; - - vesa|InnoTek) sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" $TEMPLATES/xorg/xorg.conf.vesa > $XORG_CONF - ;; - *) XCONF=/root/xorg.conf.new - X -configure - grep -v Modes $XCONF | sed -e '/Depth.*16/a Modes "800x600"' -e '/Depth.*24/a Modes "800x600"' -e 's/dev\/mouse/dev\/psaux/g'> $XORG_CONF - rm -f $XCONF 2>&1 > /dev/null - ;; + else + if [ -f "/usr/lib/libchromeXvMC.so.1" ] + then + echo "/usr/lib/libchromeXvMC.so.1" > "$XVMC_CONFIG" + else + echo "/usr/lib/libviaXvMC.so.1" > "$XVMC_CONFIG" + fi + fi + ;; + + Intel) + sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.intel" > "$XORG_CONF" + if [ "$TESTMODE" != "test" ] + then + pacman --noconfirm -R nvidia-utils > /dev/null 2>&1 + pacman --noconfirm -S libgl > /dev/null 2>&1 + fi + echo "/usr/lib/libIntelXvMC.so.1" > "$XVMC_CONFIG" + ;; + + vesa|InnoTek) + sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$TEMPLATES/xorg/xorg.conf.vesa" > "$XORG_CONF" + ;; + + *) + XCONF=/root/xorg.conf.new + XCONFB=/etc/X11/xorg.conf.install + X -configure + 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" + elif [ -f "$XCONFB" ] + then + echo "Using $XCONFB" + sed -e "s/^.*Modes.*$/\t Modes \"${Xres}\"/" "$XCONFB" > "$XORG_CONF" + else + echo "Xorg configuration failed" + fi + rm -f "$XCONF" 2>&1 > /dev/null + ;; esac fi } #MAIN -TESTMODE=$1 -if [ x$TESTMODE = "xtest" ] +TESTMODE="$1" +if [ "$TESTMODE" = "test" ] then XORG_CONF="/tmp/xorg.conf.test" + XVMC_CONFIG="/tmp/XvMCConfig.test" XUseAdvanced="1" XIgnoreConfig="${2}" Xcardtype="${3}" @@ -238,14 +290,13 @@ then XTVconnection="${10}" XDisplaysize="${11}" else - if [ -f /etc/systemconfig ] + if [ -f /etc/systemconfig ] then . /etc/systemconfig else Xres="800x600" fi XORG_CONF="/etc/X11/xorg.conf" + XVMC_CONFIG="/etc/X11/XvMCConfig" fi presetupX - - -- cgit v0.12