summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastian Wissler2008-08-20 18:55:27 +0200
committerBastian Wissler2008-08-20 18:55:27 +0200
commit56a4c8b02c8ff728353175e9d958eb7b0a450b53 (patch)
treed982166d50652fa186e1975153b69b4ff73ae0dd
parent* dropped busybox patches as they are now tracked in (diff)
downloadcore-56a4c8b02c8ff728353175e9d958eb7b0a450b53.tar.gz
core-56a4c8b02c8ff728353175e9d958eb7b0a450b53.tar.xz
core-56a4c8b02c8ff728353175e9d958eb7b0a450b53.zip
Updated README of xserver-Plugin and changed ati/nvidia-extraction scripts
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2065 95ad53e4-c205-0410-b2fa-d234c58c8868
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm7
-rw-r--r--os-plugins/plugins/xserver/files/README59
-rwxr-xr-xos-plugins/plugins/xserver/files/ati-install.sh120
-rwxr-xr-xos-plugins/plugins/xserver/files/nvidia-install.sh54
4 files changed, 121 insertions, 119 deletions
diff --git a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm b/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
index de166464..84c7303a 100644
--- a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
+++ b/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
@@ -42,8 +42,11 @@ sub getInfo
return {
description => unshiftHereDoc(<<' End-of-Here'),
- This plugin tries to integrate binary graphics drivers into the system.
+ This plugin tries to configure the local Xorg-Server and
+ integrates binary graphics drivers (closed sourced) into the system.
Notice that you need to have kernel-headers installed to work properly.
+ You need to download the driver packages yourself and write the
+ download folder into the right option.
End-of-Here
precedence => 80,
};
@@ -112,7 +115,7 @@ sub getAttrInfo
applies_to_vendor_os => 0,
applies_to_vendor_os => 1,
description => unshiftHereDoc(<<' End-of-Here'),
- Path to ATI or Nvidia package
+ Path to downloaded ATI or Nvidia package
End-of-Here
# TODO:
#content_regex => qr{^0|1$},
diff --git a/os-plugins/plugins/xserver/files/README b/os-plugins/plugins/xserver/files/README
index d5ab41f8..129f200d 100644
--- a/os-plugins/plugins/xserver/files/README
+++ b/os-plugins/plugins/xserver/files/README
@@ -9,8 +9,65 @@ Most are identical, even when 64bit packages have a different name
Only a couple of cards have its own special package. We need to
investigate, if they are different or one package works for all.
+It seems - only for the FireMV 2200 PCI graphics card, they offer an older version (8.25) of the unified fglrx-driver. For the FirMV PCIE-Card they offer a more recent Version (8.5).
+By the time of writing the drivers were at version 8.7
+
+From the ATI-FAQ:
+
+Q2: Which ATI graphics cards can use this driver?
+A2: The ATI Proprietary Linux driver currently supports Radeon 8500 and later AGP or PCI Express graphics products, as well as ATI FireGL 8700 and later products. We do not currently plan to include support for any products earlier than this.
+
+Support for earlier graphics card can be achieved by "radeon" or "ati" drivers!
+
+===================================================================================
+
Infos about nvidia packages:
they seem to differ much more as ati if you search directly for a
specific graphic card. But if you take a look on
http://www.nvidia.com/object/unix.html there seem to be just 3 different
-versions - all for different architectures (ia32, ia64, amd64)
+ersions - all for different architectures (ia32, ia64, amd64)
+
+
+
+Supported graphics cards can be read from the nvidia-documentation
+
+For the 173.14.12-NVIDIA-Driver go to
+http://www.nvidia.com/object/linux_display_ia32_173.14.12.html
+and click on "Supported Products List" on the right side
+
+(below each unified driver a line to symbolize the evolution of drivers - correct me if I'm wrong)
+
+173.14.12 driver: GeForce FX 5100 & all newer supported
+ |---------------------------------->
+ 71.86.06 driver: Riva TNT - GeForce 6800 Ultra
+|---------------|
+ 96.43.07 driver: some GeForce3 - GeForce 7900 ??
+ |---------------|
+
+The Question is, wether we need to support older graphics cards.
+Probably we don't need to bother because the user can download right
+driver package for his needs - almost the same interfaces for the installer...
+
+
+
+==================================================================================
+Taken from the readme on
+http://us.download.nvidia.com/XFree86/Linux-x86/96.43.07/README/README.txt
+
+since 96.43.07 no longer supported in the unified driver:
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ RIVA TNT 0x0020
+ RIVA TNT2/TNT2 Pro 0x0028
+ RIVA TNT2 Ultra 0x0029
+ Vanta/Vanta LT 0x002C
+ RIVA TNT2 Model 64/Model 64 Pro 0x002D
+ Aladdin TNT2 0x00A0
+ GeForce 256 0x0100
+ GeForce DDR 0x0101
+ Quadro 0x0103
+ GeForce2 GTS/GeForce2 Pro 0x0150
+ GeForce2 Ti 0x0151
+ GeForce2 Ultra 0x0152
+ Quadro2 Pro 0x0153
diff --git a/os-plugins/plugins/xserver/files/ati-install.sh b/os-plugins/plugins/xserver/files/ati-install.sh
index 2dc6e991..cf2c4aa8 100755
--- a/os-plugins/plugins/xserver/files/ati-install.sh
+++ b/os-plugins/plugins/xserver/files/ati-install.sh
@@ -4,12 +4,11 @@
# This file is responsible to extract system packages
# out of corresponding driver archives
#
-# Arguments:
+# Arguments (optional):
# 1: temporary folder, where we put all the extracted files in.
-# 2: your system name (will come from OpenSLX' vendorOS)
-# 3: ati | nvidia [nothing to extract both]
+# - default: put all extracted files in ./ati-files
+# and all driver files in ./ati-root
#
-# CHECK: No need for NVIDIA to extract?
##########################################################
#set -x
@@ -17,12 +16,12 @@
DEBUG=false
TMP_FOLDER="$1"
-SYSNAME="$2"
-WHAT="$3"
+FOLDER=`pwd`
+if [ "$TMP_FOLDER" -eq "" ]; then
+ TMP_FOLDER=${FOLDER}
+fi
-FOLDER=`pwd`/..
FILE_ATI=$FOLDER/ati-driver-installer*.run
-FILE_NVIDIA=$FOLDER/NVIDIA-Linux*.run
##########################################################
@@ -45,87 +44,38 @@ function ati_extract {
exit
fi
-
+ # here we will just create a package to extract it later
+ # and have all things in one place
VERSION=`head ${FILE_ATI} | grep "label=" | sed -e 's,.*Driver-\(.*\)",\1,g'`
-
- PKGNAME=""
- case "$SYSNAME" in
- "suse-10.2")
- PKGNAME="SuSE/SUSE102-IA32"
- ;;
- "ubuntu")
- PKGNAME="Ubuntu/7.10"
- ;;
- *)
- PKGNAME="Debian/etch"
- ;;
- esac
-
+
+ # TODO: distinguish between 32-bit and 64-bit
+ PKGNAME="SuSE/SUSE102-IA32"
pushd ${TMP_FOLDER}/ati-files
./ati-installer.sh $VERSION --buildpkg ${PKGNAME} 2>&1 > out.txt
if [ `grep "successfully generated" out.txt | wc -l` -eq 1 ]; then
- echo "System package extracted from driver archive..."
-
- if [ ! -d $INSTFOLDER ]; then
- mkdir -p $INSTFOLDER
- fi
- PKG=`grep "successfully generated" out.txt | cut -d' ' -f2 `
-
- pushd $INSTFOLDER
-
- # look for the last three letters in $PKG
- case ${PKG: -3} in
- rpm)
- rpm2cpio ${PKG} | cpio -i --make-directories 2>&1 > /dev/null
- ;;
- deb)
- # Do something
- ;;
- tgz|.gz)
- tar -zxf ${PKG} 2>&1 > /dev/null
- ;;
- *)
- # Do something as default
- echo "System Package format not recognized!"
- exit 1
- ;;
- esac
- popd
-
+ echo "* Package extracted from ATI driver archive..."
+ else
+ return
fi
-}
-
-
-##########################################################
-# function nvidia_extract: Extract files from
-# nvidia-package
-#--------------------------------------------------------
-#
-# This function extracts the package for the right system
-# from the driver archive of NVIDIA.
-#
-##########################################################
-function nvidia_extract {
- INSTFOLDER=$1
- WORKFOLDER=${TMP_FOLDER}/nvidia-files
-
-
- if [ -f ${FILE_NVIDIA} ]; then
- chmod +x ${FILE_NVIDIA}
- ${FILE_NVIDIA} --extract ${WORKFOLDER} 2>&1 > /dev/null
- else
- echo "Could not extract NVIDIA driver files!\n Please make sure that archive is not located in /tmp"
- exit
+ if [ ! -d $INSTFOLDER ]; then
+ mkdir -p $INSTFOLDER
+ fi
+ PKG=`grep "successfully generated" out.txt | cut -d' ' -f2 `
+
+ # extract files into ati-root
+ pushd $INSTFOLDER
+
+ rpm2cpio ${PKG} | cpio -i --make-directories 2>&1 > /dev/null
+ if [ ! $? -eq 0 ]; then
+ echo "* Something went wrong extracting package!"
fi
-}
-
-
-
+ popd
+}
@@ -135,19 +85,7 @@ function nvidia_extract {
# Here main script starts
##############################################
-case $WHAT in
- nvidia)
- nvidia_extract $FOLDER/nvidia-package
- ;;
- ati)
- ati_extract $FOLDER/ati-package
- ;;
- *)
- nvidia_extract $FOLDER/nvidia-package
- ati_extract $FOLDER/ati-package
- exit 1
- ;;
-esac
+ati_extract $FOLDER/ati-root
if [ $DEBUG == "true" ]
diff --git a/os-plugins/plugins/xserver/files/nvidia-install.sh b/os-plugins/plugins/xserver/files/nvidia-install.sh
index d30008c9..082fe774 100755
--- a/os-plugins/plugins/xserver/files/nvidia-install.sh
+++ b/os-plugins/plugins/xserver/files/nvidia-install.sh
@@ -4,65 +4,69 @@ set -x
# local path
-LPATH=$(pwd)
+FOLDER=$(pwd)
# temp path
-TPATH=${LPATH}/tmp
+TEMP_FOLDER="$1"
+if [ "${TEMP_FOLDER}" -eq "" ]; then
+ TEMP_FOLDER=${FOLDER}
+fi
+
# file to call - should be replaced with argument
-FILE=../NVIDIA-Linux-x86-1.0-9639-pkg1.run
+FILE=NVIDIA-Linux-*.run
# kernel version (not really useful in this context - on a server)
-# todo: we need to fix this for stage1 chroot
+# TODO: we need to fix this for stage1 chroot
KVERS=$(uname -r)
-if [ ! -d $TPATH ]; then
- mkdir -p ${TPATH}
-fi
-
-mkdir -p ${TPATH}/{usr/lib/xorg/modules,lib/modules/${KVERS}/kernel/drivers}
-
# driver path - install modules in this path
DPATH=lib/modules/${KVERS}/kernel/drivers
+if [ ! -d $TEMP_FOLDER ]; then
+ mkdir -p ${TEMP_FOLDER}
+fi
+
+mkdir -p ${TEMP_FOLDER}/{usr/lib/xorg/modules,${DPATH}}
+
# extract contents - we need to fix some things
-./${FILE} -x --target ${TPATH}/src/
+./${FILE} -x --target ${TEMP_FOLDER}/nvidia-files/
##########################################
-# fix:
+# fix for:
# - module installation path
# - automatic module loading
##########################################
sed \
- -e 's,\(^MODULE_ROOT\s*= \)\(/lib/modules\),\1${TPATH}\2,g'\
+ -e 's,\(^MODULE_ROOT\s*= \)\(/lib/modules\),\1${TEMP_FOLDER}\2,g'\
-e '/.* modprobe .*/d' \
- -i ${TPATH}/src/usr/src/nv/Makefile.kbuild
+ -i ${TEMP_FOLDER}/src/usr/src/nv/Makefile.kbuild
-# TODO: perhaps we don't need this part!
-/./${TPATH}/src/nvidia-installer -s --x-prefix=${TPATH} \
+# TODO: perhaps we don't need this part! - it's very slow
+/./${TEMP_FOLDER}/nvidia-files/nvidia-installer -s --x-prefix=${TEMP_FOLDER} \
--no-runlevel-check --no-abi-note --no-x-check\
--no-rpms --no-recursion \
- --x-module-path=${TPATH}/usr/lib/xorg/modules\
- --x-library-path=${TPATH}/usr/lib\
- --opengl-prefix=${TPATH}/usr\
+ --x-module-path=${TEMP_FOLDER}/usr/lib/xorg/modules\
+ --x-library-path=${TEMP_FOLDER}/usr/lib\
+ --opengl-prefix=${TEMP_FOLDER}/usr\
--opengl-libdir=lib\
- --utility-prefix=${TPATH}/usr\
+ --utility-prefix=${TEMP_FOLDER}/usr\
--utility-libdir=lib\
- --documentation-prefix=${TPATH}/usr\
+ --documentation-prefix=${TEMP_FOLDER}/usr\
--no-kernel-module \
-# --kernel-install-path=${TPATH}/lib/modules/${KVERS}/video \
+# --kernel-install-path=${TEMP_FOLDER}/lib/modules/${KVERS}/video \
2>&1 > /dev/null
-mv ${TPATH}/src/usr/src ${TPATH}/usr/
-rm -rf ${TPATH}/usr/share ${TPATH}/src/
+mv ${TEMP_FOLDER}/src/usr/src ${TEMP_FOLDER}/usr/
+rm -rf ${TEMP_FOLDER}/usr/share ${TEMP_FOLDER}/src/
############################################
# build kernel modules
############################################
-pushd ${TPATH}/usr/src/nv/
+pushd ${TEMP_FOLDER}/usr/src/nv/
make -f Makefile.kbuild
popd