move chd id creation to drivers

nvidia_supported and fglrx_supported will be downloaded from git once the repo is created.
This commit is contained in:
Samir 2012-07-22 16:32:52 +00:00
parent 661a18d2b5
commit 9694e35721
34 changed files with 326 additions and 3311 deletions

View File

@ -5,26 +5,23 @@
_kernver="3.4.6-1-CHAKRA"
pkgname=catalyst-legacy
pkgname=(catalyst-legacy chd-catalyst-legacy)
pkgver=12.6
pkgrel=4
pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only"
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg"
license=('custom')
depends=('linux>=3.4' 'linux<3.5' 'catalyst-legacy-utils')
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'linux-headers')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri' 'catalyst')
install=catalyst.install
source=("http://www2.ati.com/drivers/legacy/amd-driver-installer-${pkgver}-legacy-x86.x86_64.zip"
'ati_make.sh'
'makefile_compat.patch')
'makefile_compat.patch'
'fglrx_supported')
md5sums=('36d5a91d60673b26705e9ac2df952daf'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b')
'3e1b82bd69774ea808da69c983d6a43b'
'8bd182de340d6ed8b2dfcedfd3e5a389')
build() {
@ -67,7 +64,12 @@ build() {
PAGE_ATTR_FIX=$PAGE_ATTR_FIX COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE modules
}
package() {
package_catalyst-legacy() {
pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only"
screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg"
depends=('linux>=3.4' 'linux<3.5' 'catalyst-legacy-utils')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri' 'catalyst')
install=catalyst.install
# here we are checking kernel's extramodules dir
for r in /lib/modules/*; do
@ -96,3 +98,14 @@ package() {
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}
package_chd-catalyst-legacy() {
pkgdesc="CHD ids for catalyst $pkgver"
arch=('any')
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod/"
install -dm755 "${pkgdir}/opt/chakra/hwdb"
sh -e "${srcdir}/fglrx_supported" fglrxko_pci_ids.h \
> "${pkgdir}/opt/chakra/hwdb/hw_ati_legacy_hwdb"
}

View File

@ -5,30 +5,27 @@
_kernver="3.4.6-1-CHAKRA"
pkgname=catalyst
pkgname=(catalyst chd-catalyst)
pkgver=12.6
pkgrel=2
pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only"
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg"
license=('custom')
depends=('linux>=3.4' 'linux<3.5' 'catalyst-utils')
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'linux-headers')
conflicts=('nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri' 'catalyst-legacy')
install=catalyst.install
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'linux-headers' 'linux>=3.4' 'linux<=3.5')
source=(http://www2.ati.com/drivers/linux/amd-driver-installer-${pkgver/./-}-x86.x86_64.run
ati_make.sh
makefile_compat.patch
3.2.8.patch
catalyst/3.4.patch)
catalyst/3.4.patch
fglrx_supported)
md5sums=('6bd4f0875202390ed7122696db29be77'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b'
'32c8142c73dcfed5db426f494feda9e3'
'7b229c6e48ee3f1af0d97059b9fa5cfe')
'7b229c6e48ee3f1af0d97059b9fa5cfe'
'8bd182de340d6ed8b2dfcedfd3e5a389')
build() {
@ -74,7 +71,12 @@ build() {
PAGE_ATTR_FIX=$PAGE_ATTR_FIX COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE modules
}
package() {
package_catalyst() {
pkgdesc="AMD/ATI Catalyst drivers for linux. fglrx kernel module only"
screenshot="http://linuxtation3.files.wordpress.com/2007/03/pantallazo.jpg"
depends=('linux>=3.4' 'linux<3.5' 'catalyst-utils')
conflicts=('nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri' 'catalyst-legacy')
install=catalyst.install
# here we are checking kernel's extramodules dir
for r in /lib/modules/*; do
@ -103,3 +105,14 @@ package() {
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}
package_chd-catalyst() {
pkgdesc="CHD ids for catalyst $pkgver"
arch=('any')
cd "${srcdir}/archive_files/common/lib/modules/fglrx/build_mod/"
install -dm755 "${pkgdir}/opt/chakra/hwdb"
sh -e "${srcdir}/fglrx_supported" fglrxko_pci_ids.h \
> "${pkgdir}/opt/chakra/hwdb/hw_ati_hwdb"
}

21
catalyst/fglrx_supported Normal file
View File

@ -0,0 +1,21 @@
#!/bin/sh
# copy this needed file from the catalyst build dir /pkgbuilds/catalyst/src/archive_files/common/lib/modules/fglrx/build_mod/fglrxko_pci_ids.h
# and place in th same dir as this script
set -e
filename="$1"
[ -e "$filename" ] || {
echo "USAGE: $0 path/to/fglrxko_pci_ids.h" >&2
exit 1
}
echo "# Listing generated by fglrx_supported_chakra-20120703."
echo "# Do not edit manually."
echo "# (C) 2012 The Chakra Project Team"
grep "0x" "$filename" | \
sed -n 's/FGL_ASIC_ID(0x\([0-9A-F]\{4\}\)),$/0x\1/p' | \
sort | uniq | sed -e 's/^[ \t]*//'

View File

@ -4,19 +4,18 @@
# maintainer abveritas@chakra-project.org
pkgname=chakra-hardware-detection
pkgver=20120721
pkgver=20120722
pkgrel=1
pkgdesc="Hardware detection scripts for Chakra"
arch=('any')
url="http://www.chakra-project.org"
depends=('bc' 'util-linux')
depends=('bc' 'util-linux' 'chd-nvidia' 'chd-nvidia-173xx' 'chd-catalyst' 'chd-catalyst-legacy')
license=('GPL')
source=("http://chakra-linux.org/sources/${pkgname}/${pkgname}-${pkgver}.tar.gz")
md5sums=('12500be45e3606e78e88865771eb391b')
build() {
cp -rf ${startdir}/etc ${startdir}/pkg
cp -rf ${startdir}/opt ${startdir}/pkg
package(){
cd "${srcdir}/${pkgname}-${pkgver}"
#remove nasty .svn folders
cd ${startdir}/pkg
rm -rfv `find . -type d -name .svn`
make install DESTDIR="${pkgdir}"
}

View File

@ -1,20 +0,0 @@
# LOCATION OF ANY EXTRA PACKAGES
CHAKRA_PKG_PATH="/opt/chakra/pkgs"
# LOCATION OF THE DRIVER PACKAGES
HW_DRIVER_PATH="/opt/chakra/pkgs"
# LOCATION OF THE HARDWARE DATABASE
HW_DB_PATH="/opt/chakra/hwdb"
# NVIDIA HW DATABASE FILE NAME
NV_DB="hw_nvidia_hwdb"
# NVIDIA-173XX HW DATABASE FILE NAME
NV173XX_DB="hw_nvidia173xx_hwdb"
# ATI DATABASE FILE NAME
ATI_DB="hw_ati_hwdb"
# ATI-LEGACY DATABASE FILE NAME
ATILEGACY_DB="hw_ati_legacy_hwdb"

View File

@ -1,2 +0,0 @@
blacklist snd_pcsp
blacklist pcspkr

View File

@ -1,52 +0,0 @@
#!/bin/bash
# functions
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/rc.d/functions.d/cmdline
# configs
. /etc/chakra-hwdetect.conf
. /etc/nvidia-drv.conf
# needed hooks (located in /opt/chakra/hooks)
LOAD_HOOKS="hwdetect_1_base hwdetect_2_platform hwdetect_3_quirks hwdetect_4_power hwdetect_5_network hwdetect_6_alsa hwdetect_7_graphics"
# load hooks
for hook in ${LOAD_HOOKS}
do
. /opt/chakra/hooks/${hook}
done
# lets start
case "$1" in
start)
stat_busy "Inspecting hardware"
hwdetect_base
hwdetect_platform
hwdetect_quirks
hwdetect_power
hwdetect_network
stat_done
stat_busy "Inspecting graphics hardware"
hwdetect_graphics
stat_done
stat_busy "Setting up audio volume levels"
hwdetect_alsa
stat_done
;;
stop)
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac

View File

@ -1,24 +0,0 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Configuring video driver"
/opt/chakra/bin/xorg-config.sh
stat_done
;;
stop)
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac

View File

@ -1,24 +0,0 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Configuring X.org"
/opt/chakra/bin/xorg-detect.sh
stat_done
;;
stop)
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac

View File

@ -1,93 +0,0 @@
#!/bin/sh -e
#. /etc/rc.d/functions
usage () {
echo "Usage: $0 [-h|--help|-v|--verbose]"
echo ""
echo " -h | --help print this help"
echo " -v | --verbose be verbose (messages go to STDOUT)"
echo " -V | --version print version information"
echo ""
echo " Possible return values:"
echo " 0 most likely running on a laptop"
echo " 1 most likely NOT running on a laptop"
echo " 2 called with unknown option, -h, --help, -V or --version"
}
# Check wether we were asked to be verbose
if [ "$1" != "" ]; then
case "$1" in
"-v"|"--verbose")
PRINTIT="echo"
;;
"-V"|"--version")
echo "Version: @VERSION@"
exit 2
;;
"-h"|"--help")
usage
exit 2
;;
*)
echo "UNKNOWN OPTION: $1"
usage
exit 2
;;
esac
fi
# Are we a mac?
if test -d /proc/pmu; then
batteries=$(grep Battery /proc/pmu/info | cut -f2 -d:)
if test "$batteries" -ne 0; then
#printhl "This machine seems to be a laptop computer (Mac batteries found)"
exit 0
fi
exit 1
fi
if [ -r /dev/mem -a -x /usr/sbin/dmidecode ]; then
# dmidecode to grab the Chassis type
dmitype=$(dmidecode --string chassis-type)
if test "$dmitype" = "Notebook" || test "$dmitype" = "Portable"; then
#printhl "This machine seems to be a laptop computer (dmidecode returned $dmitype)"
exit 0
fi
# turn back on for debugging
#echo "$dmitype"
fi
# check for any ACPI batteries
/sbin/modprobe battery 2> /dev/null || true
if [ -d /sys/class/power_supply ]; then
if grep -q Battery /sys/class/power_supply/*/type 2>/dev/null; then
#printhl "This machine seems to be a laptop computer (ACPI batteries found)"
exit 0
fi
fi
# old interface:
if [ -d /proc/acpi/battery ]; then
results=`find /proc/acpi/battery -mindepth 1 -type d`
if [ ! -z "$results" ]; then
#printhl "This machine seems to be a laptop computer (ACPI batteries found)"
exit 0
fi
fi
# check for APM batteries. This sucks, because we'll only get a valid response
# if the laptop has a battery fitted at the time
if [ -f /proc/apm ]; then
battery=`awk '{print $6}' </proc/apm`
if [ "$battery" != "0xff" ] && [ "$battery" != "0x80" ]; then
#printhl "This machine seems to be a laptop computer (APM batteries found)"
exit 0
fi
fi
#printhl "This machine seems to be a desktop computer"
exit 1

View File

@ -1,100 +0,0 @@
#!/bin/bash
#
#**************************************************************************
# Copyright (C) 2008-2009 Jan Mette *
# Copyright (C) 2009 Phil Miller *
# Copyright (C) 2012 Manuel Tortosa and the team behind Chakra *
# *
# This script is free software; you can redistribute it and/or modify *
# it under the terms of the GNU General Public License as published by *
# the Free Software Foundation; either version 2 of the License, or *
# (at your option) any later version. *
# *
# This program is distributed in the hope that it will be useful, *
# but WITHOUT ANY WARRANTY; without even the implied warranty of *
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# GNU General Public License for more details. *
# *
# You should have received a copy of the GNU General Public License *
# along with this program; if not, write to the *
# Free Software Foundation, Inc., *
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
#**************************************************************************
#
# source needed functions and configs
#
# rc.conf
. /etc/rc.conf
# for message stuff like printhl
. /etc/rc.d/functions
# for kernel cmdline parsing
. /etc/rc.d/functions.d/cmdline
# the main config
. /etc/chakra-hwdetect.conf
#
# CHECK KERNEL COMMANDLINE IF XDRIVER VALUE OR NONFREE DRIVERS
# HAVE BEEN ENABLED OR NOT...
#
NONFREE=`get_nonfree`
XDRIVER=`get_xdriver`
[ -n "$XDRIVER" ] || XDRIVER="vesa"
[ -n "$NONFREE" ] || NONFREE="yes"
set_free_config() {
case "$XDRIVER" in
vesa)
NONFREE="no"
#force vesa driver
printhl "Setting up X.Org driver: vesa"
XDRIVER_VAL="Driver\t\"vesa\""
sed -i -e /'Section "Device"'/,/'EndSection'/s/'Driver.*'/$XDRIVER_VAL/g /etc/X11/xorg.conf
;;
*)
# we dont force vesa
printhl "..."
rm /etc/X11/xorg.conf
;;
esac
}
case "$NONFREE" in
yes)
if [ -e "/tmp/nvidia-173xx" ] ; then
printhl "Loading tainted kernel module: nvidia-173xx"
modprobe nvidia &>/dev/null
printhl "Setting up X.Org driver: nvidia-173xx"
nvidia-xconfig
elif [ -e "/tmp/nvidia" ] ; then
printhl "Loading tainted kernel module: nvidia"
modprobe nvidia &>/dev/null
printhl "Setting up X.Org driver: nvidia"
nvidia-xconfig
elif [ -e "/tmp/catalyst" ] ; then
printhl "Loading tainted kernel module: catalyst"
modprobe fglrx &>/dev/null
printhl "Setting up X.Org driver: catalyst"
aticonfig --initial -force
elif [ -e "/tmp/catalyst-legacy" ] ; then
printhl "Loading tainted kernel module: catalyst-legacy"
modprobe fglrx &>/dev/null
printhl "Setting up X.Org driver: catalyst-legacy"
aticonfig --initial -force
else
set_free_config
fi
;;
*)
set_free_config
;;
esac

View File

@ -1,448 +0,0 @@
#!/bin/bash
#
#**************************************************************************
# Copyright (C) 2008 Jan Mette *
# Copyright (C) 2009 Jan Mette and Phil Miller *
# <jan[dot]mette[at]berlin[dot]de> *
# <philm[at]chakra-project[dot]org> *
# *
# This script is free software; you can redistribute it and/or modify *
# it under the terms of the GNU General Public License as published by *
# the Free Software Foundation; either version 2 of the License, or *
# (at your option) any later version. *
# *
# This program is distributed in the hope that it will be useful, *
# but WITHOUT ANY WARRANTY; without even the implied warranty of *
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# GNU General Public License for more details. *
# *
# You should have received a copy of the GNU General Public License *
# along with this program; if not, write to the *
# Free Software Foundation, Inc., *
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
#**************************************************************************
#
# source needed functions and configs
#
# rc.conf
. /etc/rc.conf
# for message stuff like printhl
. /etc/rc.d/functions
# for kernel cmdline parsing
. /etc/rc.d/functions.d/cmdline
#
# functions
#
# preemptive cleanup, just to be sure (tm)
preemptive_cleanup() {
rm -rf /etc/X11/xorg.conf &>/dev/null
}
# start xorg builtin autodetection
generate_initial_config() {
printhl2 "Your screen will probably flicker for a moment, don't panic :)"
sleep 2
LANG=C /usr/bin/Xorg -configure > /tmp/xorg_detection.log 2>&1
# as there is no $HOME yet, the config will be generated in /, lets copy it where it belongs
mv /xorg.conf.new /etc/X11/xorg.conf.plain
}
# output the detected graphics driver
output_detected_driver() {
# keep in sync with the addedpacks list inside the profile
XORG_DRIVERS="apm ark ati chips cirrus geode glint i128 i740 intel-legacy intel mach64 mga neomagic nouveau nv openchrome r128 rendition s3 s3virge savage siliconmotion sis sisusb tdfx trident tseng v4l vesa voodoo"
if [ -e "/tmp/nvidia-173xx" ] ; then
USED_DRIVER="nvidia"
elif [ -e "/tmp/nvidia" ] ; then
USED_DRIVER="nvidia"
elif [ -e "/tmp/catalyst" ] ; then
USED_DRIVER="fglrx"
elif [ -e "/tmp/catalyst-legacy" ] ; then
USED_DRIVER="fglrx"
elif [ -e "/tmp/vesa" ] ; then
USED_DRIVER="vesa"
else
for i in $XORG_DRIVERS ; do
if grep -q ${i} /etc/X11/xorg.conf.plain ; then
USED_DRIVER=$i
fi
done
fi
printhl "Using display driver: $USED_DRIVER"
}
# setup display and resolution
# damn, this is hacky ;)
setup_display() {
# check if a good monitor has been detected or if we are using a generic "monitor" entry, because the monitor is non-ddc/broken or whatnot
# at first, extract the autodetected monitor section from xorg.conf and write it into a tmpfile
X_MON=`sed -n '/^Section "Monitor"$/,/^EndSection$/ p' /etc/X11/xorg.conf.plain`
echo "$X_MON" > /tmp/mon_det
sleep 1
# now grep for the vendor
MON_DET=`cat /tmp/mon_det | grep VendorName | awk '{print $2}' | sed 's/"//g' | sed 's/ //g'`
if [ "$MON_DET" = "Monitor" ] ; then
# remove the standard monitor section and add our own one with standard timings etc
sed -i '/Section "Monitor"/,/EndSection/d' /etc/X11/xorg.conf.plain
# new monitor section with standard vesa timings
X_MON='
Section "Monitor"
Identifier "Monitor0"
VendorName "Unprobed Monitor (no DDC)"
ModelName "Unprobed Monitor (no DDC)"
# HorizSync 28.0 - 60.0 # Warning: This is for very old Monitors
HorizSync 28.0 - 78.0 # Warning: This may fry olders Monitors
# HorizSync 28.0 - 96.0 # Warning: This may fry old Monitors
# Info: TFT default or very old CRT Monitors
# VertRefresh 50.0 - 60.0 # Extreme conservative. Will flicker.
# Info: TFT Monitors or olders CRT Monitors
VertRefresh 50.0 - 76.0 # Very conservative. May flicker.
# Info: Only for CRT monitors
# VertRefresh 50.0 - 100.0 # Not conservative. It will not flicker.
# Default modes distilled from
# "VESA and Industry Standards and Guide for Computer Display Monitor Timing",
# version 1.0, revision 0.8, adopted September 17, 1998.
# $XFree86: xc/programs/Xserver/hw/xfree86/etc/vesamodes,v 1.4 1999/11/18 16:52:17 tsi Exp $
# 640x350 @ 85Hz (VESA) hsync: 37.9kHz
ModeLine "640x350" 31.5 640 672 736 832 350 382 385 445 +hsync -vsync
# 640x400 @ 85Hz (VESA) hsync: 37.9kHz
ModeLine "640x400" 31.5 640 672 736 832 400 401 404 445 -hsync +vsync
# 720x400 @ 85Hz (VESA) hsync: 37.9kHz
ModeLine "720x400" 35.5 720 756 828 936 400 401 404 446 -hsync +vsync
# 640x480 @ 60Hz (Industry standard) hsync: 31.5kHz
ModeLine "640x480" 25.2 640 656 752 800 480 490 492 525 -hsync -vsync
# 640x480 @ 72Hz (VESA) hsync: 37.9kHz
ModeLine "640x480" 31.5 640 664 704 832 480 489 491 520 -hsync -vsync
# 640x480 @ 75Hz (VESA) hsync: 37.5kHz
ModeLine "640x480" 31.5 640 656 720 840 480 481 484 500 -hsync -vsync
# 640x480 @ 85Hz (VESA) hsync: 43.3kHz
ModeLine "640x480" 36.0 640 696 752 832 480 481 484 509 -hsync -vsync
# 800x600 @ 56Hz (VESA) hsync: 35.2kHz
ModeLine "800x600" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
# 800x600 @ 60Hz (VESA) hsync: 37.9kHz
ModeLine "800x600" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
# 800x600 @ 72Hz (VESA) hsync: 48.1kHz
ModeLine "800x600" 50.0 800 856 976 1040 600 637 643 666 +hsync +vsync
# 800x600 @ 75Hz (VESA) hsync: 46.9kHz
ModeLine "800x600" 49.5 800 816 896 1056 600 601 604 625 +hsync +vsync
# 800x600 @ 85Hz (VESA) hsync: 53.7kHz
ModeLine "800x600" 56.3 800 832 896 1048 600 601 604 631 +hsync +vsync
# 1024x768i @ 43Hz (industry standard) hsync: 35.5kHz
ModeLine "1024x768" 44.9 1024 1032 1208 1264 768 768 776 817 +hsync +vsync Interlace
# 1024x768 @ 60Hz (VESA) hsync: 48.4kHz
ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
# 1024x768 @ 70Hz (VESA) hsync: 56.5kHz
ModeLine "1024x768" 75.0 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
# 1024x768 @ 75Hz (VESA) hsync: 60.0kHz
ModeLine "1024x768" 78.8 1024 1040 1136 1312 768 769 772 800 +hsync +vsync
# 1024x768 @ 85Hz (VESA) hsync: 68.7kHz
ModeLine "1024x768" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
# 1152x864 @ 75Hz (VESA) hsync: 67.5kHz
ModeLine "1152x864" 108.0 1152 1216 1344 1600 864 865 868 900 +hsync +vsync
# 1280x960 @ 60Hz (VESA) hsync: 60.0kHz
ModeLine "1280x960" 108.0 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync
# 1280x960 @ 85Hz (VESA) hsync: 85.9kHz
ModeLine "1280x960" 148.5 1280 1344 1504 1728 960 961 964 1011 +hsync +vsync
# 1280x1024 @ 60Hz (VESA) hsync: 64.0kHz
ModeLine "1280x1024" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
# 1280x1024 @ 75Hz (VESA) hsync: 80.0kHz
ModeLine "1280x1024" 135.0 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync
# 1280x1024 @ 85Hz (VESA) hsync: 91.1kHz
ModeLine "1280x1024" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +hsync +vsync
# 1600x1200 @ 60Hz (VESA) hsync: 75.0kHz
ModeLine "1600x1200" 162.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
# 1600x1200 @ 65Hz (VESA) hsync: 81.3kHz
ModeLine "1600x1200" 175.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
# 1600x1200 @ 70Hz (VESA) hsync: 87.5kHz
ModeLine "1600x1200" 189.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
# 1600x1200 @ 75Hz (VESA) hsync: 93.8kHz
ModeLine "1600x1200" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
# 1600x1200 @ 85Hz (VESA) hsync: 106.3kHz
ModeLine "1600x1200" 229.5 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync
# 1792x1344 @ 60Hz (VESA) hsync: 83.6kHz
ModeLine "1792x1344" 204.8 1792 1920 2120 2448 1344 1345 1348 1394 -hsync +vsync
# 1792x1344 @ 75Hz (VESA) hsync: 106.3kHz
ModeLine "1792x1344" 261.0 1792 1888 2104 2456 1344 1345 1348 1417 -hsync +vsync
# 1856x1392 @ 60Hz (VESA) hsync: 86.3kHz
ModeLine "1856x1392" 218.3 1856 1952 2176 2528 1392 1393 1396 1439 -hsync +vsync
# 1856x1392 @ 75Hz (VESA) hsync: 112.5kHz
ModeLine "1856x1392" 288.0 1856 1984 2208 2560 1392 1393 1396 1500 -hsync +vsync
# 1920x1440 @ 60Hz (VESA) hsync: 90.0kHz
ModeLine "1920x1440" 234.0 1920 2048 2256 2600 1440 1441 1444 1500 -hsync +vsync
# 1920x1440 @ 75Hz (VESA) hsync: 112.5kHz
ModeLine "1920x1440" 297.0 1920 2064 2288 2640 1440 1441 1444 1500 -hsync +vsync
# Additional modelines
ModeLine "1800x1440" 230 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
ModeLine "1800x1440" 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync
# Extended modelines with GTF timings
# 640x480 @ 100.00 Hz (GTF) hsync: 50.90 kHz; pclk: 43.16 MHz
ModeLine "640x480" 43.16 640 680 744 848 480 481 484 509 -HSync +Vsync
# 768x576 @ 60.00 Hz (GTF) hsync: 35.82 kHz; pclk: 34.96 MHz
ModeLine "768x576" 34.96 768 792 872 976 576 577 580 597 -HSync +Vsync
# 768x576 @ 72.00 Hz (GTF) hsync: 43.27 kHz; pclk: 42.93 MHz
ModeLine "768x576" 42.93 768 800 880 992 576 577 580 601 -HSync +Vsync
# 768x576 @ 75.00 Hz (GTF) hsync: 45.15 kHz; pclk: 45.51 MHz
ModeLine "768x576" 45.51 768 808 888 1008 576 577 580 602 -HSync +Vsync
# 768x576 @ 85.00 Hz (GTF) hsync: 51.42 kHz; pclk: 51.84 MHz
ModeLine "768x576" 51.84 768 808 888 1008 576 577 580 605 -HSync +Vsync
# 768x576 @ 100.00 Hz (GTF) hsync: 61.10 kHz; pclk: 62.57 MHz
ModeLine "768x576" 62.57 768 816 896 1024 576 577 580 611 -HSync +Vsync
# 800x600 @ 100.00 Hz (GTF) hsync: 63.60 kHz; pclk: 68.18 MHz
ModeLine "800x600" 68.18 800 848 936 1072 600 601 604 636 -HSync +Vsync
# 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
ModeLine "1024x768" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz
ModeLine "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895 -HSync +Vsync
# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz
ModeLine "1152x864" 119.65 1152 1224 1352 1552 864 865 868 907 -HSync +Vsync
# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
ModeLine "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync
# 1280x960 @ 72.00 Hz (GTF) hsync: 72.07 kHz; pclk: 124.54 MHz
ModeLine "1280x960" 124.54 1280 1368 1504 1728 960 961 964 1001 -HSync +Vsync
# 1280x960 @ 75.00 Hz (GTF) hsync: 75.15 kHz; pclk: 129.86 MHz
ModeLine "1280x960" 129.86 1280 1368 1504 1728 960 961 964 1002 -HSync +Vsync
# 1280x960 @ 100.00 Hz (GTF) hsync: 101.70 kHz; pclk: 178.99 MHz
ModeLine "1280x960" 178.99 1280 1376 1520 1760 960 961 964 1017 -HSync +Vsync
# 1280x1024 @ 100.00 Hz (GTF) hsync: 108.50 kHz; pclk: 190.96 MHz
ModeLine "1280x1024" 190.96 1280 1376 1520 1760 1024 1025 1028 1085 -HSync +Vsync
# 1400x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 122.61 MHz
ModeLine "1400x1050" 122.61 1400 1488 1640 1880 1050 1051 1054 1087 -HSync +Vsync
# 1400x1050 @ 72.00 Hz (GTF) hsync: 78.77 kHz; pclk: 149.34 MHz
ModeLine "1400x1050" 149.34 1400 1496 1648 1896 1050 1051 1054 1094 -HSync +Vsync
# 1400x1050 @ 75.00 Hz (GTF) hsync: 82.20 kHz; pclk: 155.85 MHz
ModeLine "1400x1050" 155.85 1400 1496 1648 1896 1050 1051 1054 1096 -HSync +Vsync
# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz
ModeLine "1400x1050" 179.26 1400 1504 1656 1912 1050 1051 1054 1103 -HSync +Vsync
# 1400x1050 @ 100.00 Hz (GTF) hsync: 111.20 kHz; pclk: 214.39 MHz
ModeLine "1400x1050" 214.39 1400 1512 1664 1928 1050 1051 1054 1112 -HSync +Vsync
# 1600x1200 @ 100.00 Hz (GTF) hsync: 127.10 kHz; pclk: 280.64 MHz
ModeLine "1600x1200" 280.64 1600 1728 1904 2208 1200 1201 1204 1271 -HSync +Vsync
EndSection
'
# add the new monitor section to xorg.xonf
printf "$X_MON\n\n" >> /etc/X11/xorg.conf.plain
# add a default mode setting
sed -i '/Viewport/ a\ Modes "default"' /etc/X11/xorg.conf.plain
# now check if the user has specified a resolution on kernel commandline, and apply it
XRES=`get_xres`
[ -n "$XRES" ] || XRES="default"
case "$XRES" in
640x480)
sed -i 's/^.*Modes.*/ Modes "640x480"/' /etc/X11/xorg.conf.plain
;;
800x600)
sed -i 's/^.*Modes.*/ Modes "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1024x768)
sed -i 's/^.*Modes.*/ Modes "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1152x864)
sed -i 's/^.*Modes.*/ Modes "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1280x1024)
sed -i 's/^.*Modes.*/ Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1400x1050)
sed -i 's/^.*Modes.*/ Modes "1400x1050" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1600x1200)
sed -i 's/^.*Modes.*/ Modes "1600x1200" "1400x1050" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1680x1050)
sed -i 's/^.*Modes.*/ Modes "1680x1050" "1600x1200" "1400x1050" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1280x800)
sed -i 's/^.*Modes.*/ Modes "1280x800" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1280x960)
sed -i 's/^.*Modes.*/ Modes "1280x960" "1280x800" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
default)
# because the monitor hasnt been detected properly, we use a sane default resolution instead of letting Xorg decide
sed -i 's/^.*Modes.*/ Modes "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
*)
# because the monitor hasnt been detected properly, we use a sane default resolution instead of letting Xorg decide
sed -i 's/^.*Modes.*/ Modes "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
esac
# clean up tmpfile
rm -rf /tmp/mon_det &>/dev/null
else
# ok, the monitor seems to be detected properly, so no workarounds
# at first, add the sane default (tm)
sed -i '/Viewport/ a\ Modes "default"' /etc/X11/xorg.conf.plain
# now check if the user has specified a resolution on kernel commandline, and apply it
XRES=`get_xres`
[ -n "$XRES" ] || XRES="default"
case "$XRES" in
640x480)
sed -i 's/^.*Modes.*/ Modes "640x480"/' /etc/X11/xorg.conf.plain
;;
800x600)
sed -i 's/^.*Modes.*/ Modes "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1024x768)
sed -i 's/^.*Modes.*/ Modes "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1152x864)
sed -i 's/^.*Modes.*/ Modes "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1280x1024)
sed -i 's/^.*Modes.*/ Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1400x1050)
sed -i 's/^.*Modes.*/ Modes "1400x1050" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1600x1200)
sed -i 's/^.*Modes.*/ Modes "1600x1200" "1400x1050" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1680x1050)
sed -i 's/^.*Modes.*/ Modes "1680x1050" "1600x1200" "1400x1050" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1280x800)
sed -i 's/^.*Modes.*/ Modes "1280x800" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
1280x960)
sed -i 's/^.*Modes.*/ Modes "1280x960" "1280x800" "1152x864" "1024x768" "800x600" "640x480"/' /etc/X11/xorg.conf.plain
;;
default)
/bin/true
# we do nothing (tm)
# default has already been applied...
;;
*)
/bin/true
# we do nothing (tm)
# default has already been applied...
;;
esac
# clean up tmpfile
rm -rf /tmp/mon_det &>/dev/null
fi
}
# use colordepth specified at the kernel commandline
setup_colordepth() {
XDEPTH=`get_xdepth`
[ -n "$XDEPTH" ] || XDEPTH="24"
case "$XDEPTH" in
8)
COLORDEPTH="DefaultDepth $XDEPTH\n\tSubSection \"Display\""
sed -i 1,/'SubSection "Display"'/s/'SubSection "Display"'/"$COLORDEPTH"/ /etc/X11/xorg.conf.plain
;;
15)
COLORDEPTH="DefaultDepth $XDEPTH\n\tSubSection \"Display\""
sed -i 1,/'SubSection "Display"'/s/'SubSection "Display"'/"$COLORDEPTH"/ /etc/X11/xorg.conf.plain
;;
16)
COLORDEPTH="DefaultDepth $XDEPTH\n\tSubSection \"Display\""
sed -i 1,/'SubSection "Display"'/s/'SubSection "Display"'/"$COLORDEPTH"/ /etc/X11/xorg.conf.plain
;;
24)
COLORDEPTH="DefaultDepth $XDEPTH\n\tSubSection \"Display\""
sed -i 1,/'SubSection "Display"'/s/'SubSection "Display"'/"$COLORDEPTH"/ /etc/X11/xorg.conf.plain
;;
32)
COLORDEPTH="DefaultDepth $XDEPTH\n\tSubSection \"Display\""
sed -i 1,/'SubSection "Display"'/s/'SubSection "Display"'/"$COLORDEPTH"/ /etc/X11/xorg.conf.plain
;;
esac
}
#
# lets start the fun (tm) ;)
#
printhl "Detecting video & input hardware"
preemptive_cleanup
generate_initial_config
output_detected_driver
XDISP=`get_xdisplay`
[ -n "$XDISP" ] || XDISP="auto"
case "$XDISP" in
auto)
printhl3 "Using builtin X.org display detection"
/bin/true
;;
old)
printhl3 "Using fallback mode for old displays"
setup_display
setup_colordepth
# enable DPMS for the monitor
sed -i /'Section "Monitor"'/,/'EndSection'/s/'EndSection'/"\tOption \"DPMS\"\nEndSection"/g /etc/X11/xorg.conf.plain
;;
esac
#
# final touches
#
# add some more extensions
cat <<EOF >> /etc/X11/xorg.conf.plain
Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection
EOF
# remove any input sections and device definitions, not needed anymore because we are using xorg input hotplugging with HAL
# (the hal config is done in rc.sysinit, needs to be applied before hal starts)
sed -i '/Section "InputDevice"/,/EndSection/d' /etc/X11/xorg.conf.plain
sed -i '/InputDevice/d' /etc/X11/xorg.conf.plain
# add some standard device options
sed -i /'Section "Device"'/,/'EndSection'/s/'EndSection'/"\tOption \"DRI\" \"true\"\nEndSection"/g /etc/X11/xorg.conf.plain
# visual cleanup ;)
# at first, remove all empty lines
sed -i '/^$/d' /etc/X11/xorg.conf.plain
# and add a new empty line after every EndSection
sed -i '/EndSection/G' /etc/X11/xorg.conf.plain
#
# at last, copy the new xorg.conf where it belongs
#
mv /etc/X11/xorg.conf.plain /etc/X11/xorg.conf &>/dev/null

View File

@ -1,50 +0,0 @@
#!/bin/bash
hwdetect_base()
{
# check if we are running inside a virtual machine
local base_check_virtualbox=`dmidecode | grep innotek`
local base_check_vmware=`dmidecode | grep VMware`
local base_check_qemu=`dmidecode | grep QEMU`
local base_check_vpc=`dmidecode | grep Microsoft`
if [ -n "$base_check_virtualbox" ]; then
printhl "Virtualization detected: VirtualBox"
elif [ -n "$base_check_vmware" ]; then
printhl "Virtualization detected: VMware"
elif [ -n "$base_check_qemu" ]; then
printhl "Virtualization detected: QEMU"
elif [ -n "$base_check_vpc" ]; then
printhl "Virtualization detected: MS Virtual PC"
fi
# check cpu
local base_check_cpu=$(uname -p)
local base_check_cores=$(grep ^processor /proc/cpuinfo | awk '{a++} END {print a}')
printhl "Running on a ${base_check_cpu}"
if [ "$base_check_cores" = "1" ]; then
printhl "${base_check_cores} CPU core detected"
else
printhl "${base_check_cores} CPU cores detected"
fi
# check memory
local base_check_mem=$(grep "MemTotal" /proc/meminfo | sed 's/[ kB]//g' | cut -f2 -d":")
local base_mem_checked=$(($base_check_mem/1024))
printhl "Physical memory: ${base_mem_checked} MiB"
# check diskspace, oh damn it needs bc ;)
local base_reported_disks=0
local base_check_disks=$(fdisk -l $drive | grep "yte" | grep "/dev" | cut -d " " -f 5)
for x in ${base_check_disks[*]}; do
base_reported_disks=$(( $base_reported_disks + $x ))
done
local base_disk_capacity=$(echo "scale=1; $base_reported_disks/1000/1000/1000" | bc -l)
printhl "Total disk space: $base_disk_capacity GiB"
}

View File

@ -1,16 +0,0 @@
#!/bin/bash
hwdetect_platform()
{
/opt/chakra/bin/platform-detect.sh
if [ $? -ne 0 ]
then
printhl "This machine seems to be a desktop computer"
# create status file for postinstall
touch /tmp/platform-desktop
else
printhl "This machine seems to be a laptop computer"
# create status file for postinstall
touch /tmp/platform-laptop
fi
}

View File

@ -1,43 +0,0 @@
#!/bin/bash
hwdetect_quirks()
{
# This file is for all the hacks and stuff we might
# need for certain hardware.
# eeepc stuff
local i
for i in camera cardr wlan; do
[ -r /sys/bus/platform/drivers/eeepc/eeepc/"$i" ] && echo 1 > /sys/bus/platform/drivers/eeepc/eeepc/"$i"
done
# try to fix some problems with realtek network cards
local network_check_8139=$(lsmod | grep 8139cp || lsmod | grep 8139too)
if [ -n "${network_check_8139}" ]; then
local network_8139cp=$(dmesg | grep -i 'Try the "8139too" driver instead')
local network_8139too=$(dmesg | grep -i 'Try the "8139cp" driver instead')
if [ -n "${network_8139cp}" ]; then
printhl3 "Detected broken network driver: 8139cp"
printhl "Trying to fix it, loading driver: 8139too"
rmmod 8139cp &>/dev/null
touch /etc/modprobe.d/realtek_blacklist.conf &>/dev/null
echo "blacklist 8139cp" >> /etc/modprobe.d/realtek_blacklist.conf &>/dev/null
modprobe 8139too &>/dev/null
fi
if [ -n "${network_8139too}" ]; then
printhl3 "Detected broken network driver: 8139too"
printhl "Trying to fix it, loading driver: 8139cp"
rmmod 8139too &>/dev/null
touch /etc/modprobe.d/realtek_blacklist.conf &>/dev/null
echo "blacklist 8139too" >> /etc/modprobe.d/realtek_blacklist.conf &>/dev/null
modprobe 8139cp &>/dev/null
echo " "
dmesg | grep 8139
echo " "
fi
fi
}

View File

@ -1,45 +0,0 @@
#!/bin/bash
hwdetect_power()
{
local KERNEL=$(cat /proc/version | cut -d " " -f 3)
if [ -e "/tmp/platform-desktop" ] ; then
printhl "Enabling powersave functions"
for i in /lib/modules/"$KERNEL"/kernel/drivers/cpufreq/*.ko*; do
if [ -r "$i" ]; then
case "$i" in *-lib.*) continue ;; esac
m="${i##*/}" ; m="${m%%.*}"
modprobe "${m}" >/dev/null 2>&1
fi
done
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
if [ -w "$i" ]; then
n="${i#/sys/devices/system/cpu/cpu}" ; n="${n%/cpufreq/scaling_governor}"
echo "ondemand" > "${i}"
fi
done
elif [ -e "/tmp/platform-laptop" ] ; then
printhl "Enabling powersave functions"
for i in /lib/modules/"$KERNEL"/kernel/drivers/cpufreq/*.ko*; do
if [ -r "$i" ]; then
case "$i" in *-lib.*) continue ;; esac
m="${i##*/}" ; m="${m%%.*}"
modprobe "${m}" >/dev/null 2>&1
fi
done
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
if [ -w "$i" ]; then
n="${i#/sys/devices/system/cpu/cpu}" ; n="${n%/cpufreq/scaling_governor}"
echo "ondemand" > "${i}"
fi
done
fi
}

View File

@ -1,8 +0,0 @@
#!/bin/bash
hwdetect_network()
{
# check available network devices
local network_check=$(cat /proc/net/dev | awk '{ print $1 }' | egrep '^(eth|ath|wlan)' | cut -d: -f1 | sed -e :a -e '$!N;s/\n/ /')
printhl "Available network devices: ${network_check}"
}

View File

@ -1,61 +0,0 @@
#!/bin/bash
hwdetect_alsa()
{
# amixer binary
local alsa_amixer="/usr/bin/amixer"
# enable all known (tm) outputs
$alsa_amixer -c 0 sset "Master" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Front" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Side" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Surround" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Center" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "LFE" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Headphone" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Speaker" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "PCM" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Line" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "External" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "FM" 50% unmute &> /dev/null
$alsa_amixer -c 0 sset "Master Mono" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Master Digital" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Master Front" 70% unmute &>/dev/null
$alsa_amixer -c 0 sset "Analog Mix" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Aux" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Aux2" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "PCM Center" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "PCM Front" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "PCM LFE" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "PCM Side" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "PCM Surround" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Playback" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "PCM,1" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "DAC" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "DAC,0" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "DAC,0" -12dB &> /dev/null
$alsa_amixer -c 0 sset "DAC,1" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "DAC,1" -12dB &> /dev/null
$alsa_amixer -c 0 sset "Synth" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "CD" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Wave" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Music" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "AC97" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "Analog Front" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "VIA DXS,0" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "VIA DXS,1" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "VIA DXS,2" 70% unmute &> /dev/null
$alsa_amixer -c 0 sset "VIA DXS,3" 70% unmute &> /dev/null
# set input levels
$alsa_amixer -c 0 sset "Mic" 70% mute &>/dev/null
$alsa_amixer -c 0 sset "IEC958" 70% mute &>/dev/null
# special stuff
$alsa_amixer -c 0 sset "Master Playback Switch" on &>/dev/null
$alsa_amixer -c 0 sset "Master Surround" on &>/dev/null
$alsa_amixer -c 0 sset "SB Live Analog/Digital Output Jack" off &>/dev/null
$alsa_amixer -c 0 sset "Audigy Analog/Digital Output Jack" off &>/dev/null
# save settings
alsactl -f /etc/asound.state store &>/dev/null
}

View File

@ -1,166 +0,0 @@
#!/bin/bash
#
#**************************************************************************
# Copyright (C) 2008 Jan Mette *
# Copyright (C) 2009 Jan Mette and Phil Miller *
# <jan[dot]mette[at]berlin[dot]de> *
# <philm[at]chakra-project[dot]org> *
# *
# This script is free software; you can redistribute it and/or modify *
# it under the terms of the GNU General Public License as published by *
# the Free Software Foundation; either version 2 of the License, or *
# (at your option) any later version. *
# *
# This program is distributed in the hope that it will be useful, *
# but WITHOUT ANY WARRANTY; without even the implied warranty of *
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# GNU General Public License for more details. *
# *
# You should have received a copy of the GNU General Public License *
# along with this program; if not, write to the *
# Free Software Foundation, Inc., *
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
#**************************************************************************
# config is in /etc/chakra-hwdetect.conf & /etc/nvidia-drv.conf
hwdetect_graphics()
{
#get variables
NONFREE=`get_nonfree`
XDRIVER=`get_xdriver`
[ -n "$XDRIVER" ] || XDRIVER="vesa"
case "$XDRIVER" in
vesa)
#force vesa driver
printhl "Forcing driver: vesa."
# add a status file in /tmp
touch /tmp/vesa
#disable nonfree if any
NONFREE="no"
;;
*)
printhl "no vesa driver forced."
;;
esac
[ -n "$NONFREE" ] || NONFREE="yes"
case "$NONFREE" in
yes)
# check for vendors
CARD_NVIDIA=$(lspci -n | sed -n "s/.* 0300: 10de:\(....\).*/\1/p")
CARD_ATI=$(lspci -n | sed -n "s/.* 0300: 1002:\(....\).*/\1/p")
# do we have one?
if [ "$CARD_NVIDIA" != "" ]
then
# check if its a card supported by the latest driver
if [ $(grep -i "$CARD_NVIDIA" ${HW_DB_PATH}/${NV_DB}) ]
then
printhl "NVIDIA hardware detected"
printhl "Installing driver: nvidia. This can take some seconds."
rmmod -f nouveau
rmmod -f ttm
rmmod -f drm_kms_helper
rmmod -f drm
pacman -Rdd --noconfirm libgl &>/dev/null
pacman -Rdd --noconfirm nouveau-dri &>/dev/null
pacman -Rdd --noconfirm xf86-video-nv &>/dev/null
pacman -Rdd --noconfirm xf86-video-nouveau &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia-utils-${NVIDIA_DRV_VER}* &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia*${NVIDIA_DRV_VER}* &>/dev/null
# add a status file in /tmp
touch /tmp/nvidia
# or maybe a legacy card
elif [ $(grep -i "$CARD_NVIDIA" ${HW_DB_PATH}/${NV173XX_DB}) ]
then
printhl "NVIDIA hardware detected"
printhl "Installing driver: nvidia-173xx. This can take some seconds."
rmmod -f nouveau
rmmod -f ttm
rmmod -f drm_kms_helper
rmmod -f drm
pacman -Rdd --noconfirm libgl &>/dev/null
pacman -Rdd --noconfirm nouveau-dri &>/dev/null
pacman -Rdd --noconfirm xf86-video-nv &>/dev/null
pacman -Rdd --noconfirm xf86-video-nouveau &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia-173xx* &>/dev/null
# add a status file in /tmp
touch /tmp/nvidia-173xx
else
printhl "No non-free drivers available for this hardware"
fi
elif [ "$CARD_ATI" != "" ]
then
# check if its a card supported by the latest driver
if [ $(grep -i "$CARD_ATI" ${HW_DB_PATH}/${ATI_DB}) ]
then
printhl "ATI hardware detected"
printhl "Installing driver: ATI catalyst. This can take some seconds."
pacman -Rdd --noconfirm libgl &>/dev/null
pacman -Rdd --noconfirm ati-dri &>/dev/null
pacman -Rdd --noconfirm xf86-video-ati &>/dev/null
pacman -Rdd --noconfirm xf86-video-radeonhd &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/catalyst-utils* &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/catalyst-1* &>/dev/null
# add a status file in /tmp
touch /tmp/catalyst
# or maybe a legacy card
elif [ $(grep -i "$CARD_ATI" ${HW_DB_PATH}/${ATILEGACY_DB}) ]
then
printhl "ATI hardware detected"
printhl "Installing driver: ATI catalyst-legacy. This can take some seconds."
pacman -Rdd --noconfirm libgl &>/dev/null
pacman -Rdd --noconfirm ati-dri &>/dev/null
pacman -Rdd --noconfirm xf86-video-ati &>/dev/null
pacman -Rdd --noconfirm xf86-video-radeonhd &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/catalyst-legacy-utils* &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/catalyst-legacy-1* &>/dev/null
# add a status file in /tmp
touch /tmp/catalyst-legacy
else
printhl "No non-free drivers available for this hardware"
fi
else
printhl "No non-free drivers available for this hardware"
fi
;;
*)
printhl "Non-free graphics drivers disabled"
;;
esac
}

View File

@ -1,209 +0,0 @@
# Listing generated by fglrx_supported_chakra-20120703.
# Do not edit manually.
# (C) 2012 The Chakra Project Team
0x1304
0x1305
0x1306
0x1307
0x6700
0x6701
0x6702
0x6703
0x6704
0x6705
0x6706
0x6707
0x6708
0x6709
0x6718
0x6719
0x671C
0x671D
0x671F
0x6720
0x6721
0x6722
0x6723
0x6724
0x6725
0x6726
0x6727
0x6728
0x6729
0x6738
0x6739
0x673E
0x6740
0x6741
0x6742
0x6743
0x6744
0x6745
0x6746
0x6747
0x6748
0x6749
0x674A
0x6750
0x6751
0x6758
0x6759
0x675B
0x675D
0x675F
0x6760
0x6761
0x6762
0x6763
0x6764
0x6765
0x6766
0x6767
0x6768
0x6770
0x6772
0x6778
0x6779
0x677B
0x6780
0x6784
0x6788
0x678A
0x6798
0x6799
0x679A
0x679E
0x6800
0x6801
0x6808
0x6809
0x6818
0x6819
0x6820
0x6821
0x6823
0x6824
0x6825
0x6826
0x6827
0x6828
0x682B
0x682D
0x682F
0x6830
0x6831
0x6837
0x6838
0x6839
0x683B
0x683D
0x683F
0x6840
0x6841
0x6842
0x6843
0x6849
0x684C
0x6850
0x6858
0x6859
0x6880
0x6888
0x6889
0x688A
0x688C
0x688D
0x6890
0x6898
0x6899
0x689B
0x689C
0x689D
0x689E
0x68A0
0x68A1
0x68A8
0x68A9
0x68B0
0x68B1
0x68B8
0x68B9
0x68BA
0x68BE
0x68BF
0x68C0
0x68C1
0x68C7
0x68C8
0x68C9
0x68D0
0x68D1
0x68D8
0x68D9
0x68DA
0x68DE
0x68E0
0x68E1
0x68E4
0x68E5
0x68E8
0x68E9
0x68F0
0x68F1
0x68F2
0x68F8
0x68F9
0x68FA
0x68FE
0x9640
0x9641
0x9642
0x9643
0x9644
0x9645
0x9647
0x9648
0x9649
0x964A
0x964B
0x964C
0x964E
0x964F
0x9802
0x9803
0x9804
0x9805
0x9806
0x9807
0x9808
0x9809
0x980A
0x9830
0x9831
0x9832
0x9833
0x9834
0x9900
0x9901
0x9903
0x9904
0x9905
0x9906
0x9907
0x9908
0x9909
0x990A
0x990F
0x9910
0x9913
0x9917
0x9918
0x9919
0x9990
0x9991
0x9992
0x9993
0x9994
0x99A0
0x99A2
0x99A4

View File

@ -1,323 +0,0 @@
# Listing generated by fglrx_supported_chakra-20120703.
# Do not edit manually.
# (C) 2012 The Chakra Project Team
0x6700
0x6701
0x6702
0x6703
0x6704
0x6705
0x6706
0x6707
0x6708
0x6709
0x6718
0x6719
0x671C
0x671D
0x671F
0x6720
0x6721
0x6722
0x6723
0x6724
0x6725
0x6726
0x6727
0x6728
0x6729
0x6738
0x6739
0x673E
0x6740
0x6741
0x6742
0x6743
0x6744
0x6745
0x6746
0x6747
0x6748
0x6749
0x674A
0x6750
0x6751
0x6758
0x6759
0x675B
0x675D
0x675F
0x6760
0x6761
0x6762
0x6763
0x6764
0x6765
0x6766
0x6767
0x6768
0x6770
0x6772
0x6778
0x6779
0x677B
0x6780
0x6784
0x6788
0x678A
0x6798
0x6799
0x679A
0x679E
0x6800
0x6801
0x6808
0x6809
0x6818
0x6819
0x6820
0x6821
0x6823
0x6824
0x6825
0x6826
0x6827
0x6828
0x682D
0x682F
0x6830
0x6831
0x6838
0x6839
0x683B
0x683D
0x683F
0x6840
0x6841
0x6842
0x6843
0x6849
0x684C
0x6850
0x6858
0x6859
0x6880
0x6888
0x6889
0x688A
0x688C
0x688D
0x6890
0x6898
0x6899
0x689B
0x689C
0x689D
0x689E
0x68A0
0x68A1
0x68A8
0x68A9
0x68B0
0x68B1
0x68B8
0x68B9
0x68BA
0x68BE
0x68BF
0x68C0
0x68C1
0x68C7
0x68C8
0x68C9
0x68D0
0x68D1
0x68D8
0x68D9
0x68DA
0x68DE
0x68E0
0x68E1
0x68E4
0x68E5
0x68E8
0x68E9
0x68F0
0x68F1
0x68F2
0x68F8
0x68F9
0x68FA
0x68FE
0x9400
0x9401
0x9402
0x9403
0x9405
0x940A
0x940B
0x940F
0x9440
0x9441
0x9442
0x9443
0x9444
0x9446
0x9447
0x944A
0x944B
0x944C
0x944E
0x944F
0x9450
0x9451
0x9452
0x9456
0x945A
0x945B
0x945E
0x9460
0x9462
0x946A
0x946B
0x947A
0x947B
0x9480
0x9487
0x9488
0x9489
0x948A
0x948F
0x9490
0x9491
0x9495
0x9498
0x949C
0x949E
0x949F
0x94A0
0x94A1
0x94A3
0x94B1
0x94B3
0x94B4
0x94B5
0x94C0
0x94C1
0x94C3
0x94C4
0x94C5
0x94C6
0x94C7
0x94C8
0x94C9
0x94CB
0x94CC
0x9500
0x9501
0x9504
0x9505
0x9506
0x9507
0x9508
0x9509
0x950F
0x9511
0x9513
0x9515
0x9517
0x9519
0x9540
0x9541
0x9542
0x954E
0x954F
0x9552
0x9553
0x9555
0x9557
0x955F
0x9580
0x9581
0x9583
0x9586
0x9587
0x9588
0x9589
0x958A
0x958B
0x958C
0x958D
0x958E
0x958F
0x9590
0x9591
0x9593
0x9595
0x9596
0x9597
0x9598
0x9599
0x959B
0x95C0
0x95C2
0x95C4
0x95C5
0x95C6
0x95C7
0x95C9
0x95CC
0x95CD
0x95CE
0x95CF
0x9610
0x9611
0x9612
0x9613
0x9614
0x9615
0x9616
0x9640
0x9641
0x9642
0x9643
0x9644
0x9645
0x9647
0x9648
0x9649
0x964A
0x964B
0x964C
0x964E
0x964F
0x9710
0x9711
0x9712
0x9713
0x9714
0x9715
0x9802
0x9803
0x9804
0x9805
0x9806
0x9807
0x9808
0x9809
0x9900
0x9901
0x9903
0x9904
0x9905
0x9906
0x9907
0x9908
0x9909
0x990A
0x990F
0x9990
0x9991
0x9992
0x9993
0x9994

View File

@ -1,407 +0,0 @@
# Listing generated by nvidia_supported. Do not edit manually.
0x0040
0x0041
0x0042
0x0043
0x0044
0x0045
0x0046
0x0047
0x0048
0x004e
0x0090
0x0091
0x0092
0x0093
0x0095
0x0098
0x0099
0x009c
0x009d
0x00c0
0x00c1
0x00c2
0x00c3
0x00c8
0x00c9
0x00cc
0x00cd
0x00ce
0x00f0
0x00f1
0x00f2
0x00f3
0x00f4
0x00f5
0x00f6
0x00f8
0x00f9
0x00fa
0x00fb
0x00fc
0x00fd
0x00fe
0x00ff
0x0140
0x0141
0x0142
0x0143
0x0144
0x0145
0x0146
0x0147
0x0148
0x0149
0x014a
0x014c
0x014d
0x014e
0x014f
0x0160
0x0161
0x0162
0x0163
0x0164
0x0165
0x0166
0x0167
0x0168
0x0169
0x016a
0x016b
0x016c
0x016d
0x0191
0x0193
0x0194
0x0197
0x019d
0x019e
0x01d0
0x01d1
0x01d2
0x01d3
0x01d4
0x01d6
0x01d7
0x01d8
0x01d9
0x01da
0x01db
0x01dc
0x01dd
0x01de
0x01df
0x0211
0x0212
0x0215
0x0218
0x0220
0x0221
0x0222
0x0228
0x0240
0x0241
0x0242
0x0243
0x0244
0x0245
0x0246
0x0247
0x0248
0x0249
0x024a
0x024b
0x024c
0x024d
0x024e
0x024f
0x0290
0x0291
0x0292
0x0293
0x0294
0x0295
0x0297
0x0298
0x0299
0x029a
0x029b
0x029c
0x029d
0x029e
0x029f
0x02e0
0x02e1
0x02e2
0x02e3
0x02e4
0x0301
0x0302
0x0308
0x0309
0x0311
0x0312
0x0313
0x0314
0x0316
0x0317
0x031a
0x031b
0x031c
0x031d
0x031e
0x031f
0x0320
0x0321
0x0322
0x0323
0x0324
0x0325
0x0326
0x0327
0x0328
0x0329
0x032a
0x032b
0x032c
0x032d
0x032f
0x0330
0x0331
0x0332
0x0333
0x0334
0x0338
0x033f
0x0341
0x0342
0x0343
0x0344
0x0345
0x0347
0x0348
0x0349
0x034b
0x034c
0x034e
0x034f
0x0390
0x0391
0x0392
0x0393
0x0394
0x0395
0x0397
0x0398
0x0399
0x039a
0x039b
0x039c
0x039e
0x03d0
0x03d1
0x03d2
0x03d3
0x03d4
0x03d5
0x03d6
0x03d7
0x03d8
0x03d9
0x03da
0x03db
0x03dc
0x03dd
0x03de
0x03df
0x0400
0x0401
0x0402
0x0403
0x0404
0x0405
0x0406
0x0407
0x0408
0x0409
0x040a
0x040b
0x040c
0x040d
0x040e
0x040f
0x0420
0x0421
0x0422
0x0423
0x0424
0x0425
0x0426
0x0427
0x0428
0x0429
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0530
0x0531
0x0532
0x0533
0x053a
0x053b
0x053e
0x053f
0x0600
0x0601
0x0602
0x0603
0x0604
0x0605
0x0606
0x0607
0x0608
0x0609
0x060a
0x060b
0x060c
0x060d
0x060f
0x0610
0x0611
0x0612
0x0618
0x0619
0x061a
0x061b
0x061c
0x061d
0x061e
0x0620
0x0621
0x0622
0x0623
0x0624
0x0625
0x0626
0x0627
0x0628
0x0629
0x062a
0x062b
0x062c
0x062d
0x062e
0x062f
0x0630
0x0631
0x0632
0x0633
0x0634
0x0635
0x0636
0x0637
0x0638
0x0639
0x063a
0x063b
0x063c
0x063d
0x063e
0x063f
0x0640
0x0641
0x0642
0x0643
0x0644
0x0647
0x0648
0x0649
0x064a
0x064b
0x064c
0x0650
0x0658
0x0659
0x065a
0x065c
0x06e0
0x06e1
0x06e2
0x06e3
0x06e4
0x06e5
0x06e8
0x06e9
0x06ea
0x06eb
0x06f0
0x06f8
0x06fa
0x06fb
0x06ff
0x07e0
0x07e1
0x07e2
0x07e3
0x07e4
0x07e5
0x07e6
0x07e7
0x07e8
0x07e9
0x07ea
0x07eb
0x07ec
0x07ed
0x07ee
0x07ef
0x0840
0x0841
0x0842
0x0844
0x0845
0x0848
0x0849
0x084a
0x084b
0x084c
0x084d
0x084f
0x0850
0x0851
0x0852
0x0853
0x0854
0x0855
0x0856
0x0857
0x0858
0x0859
0x085a
0x085b
0x085c
0x085d
0x085e
0x085f
0x0860
0x0862
0x0863
0x0864
0x0865
0x0866
0x0867
0x0868
0x086a
0x086b
0x086c
0x086d
0x086e
0x086f
0x0870
0x087a
0x087b
0x087f

View File

@ -1,272 +0,0 @@
# Listing generated by nvidia_supported. Do not edit manually.
0x0040
0x0041
0x0042
0x0043
0x0044
0x0045
0x0046
0x0047
0x0048
0x0049
0x004e
0x0090
0x0091
0x0092
0x0093
0x0094
0x0095
0x0098
0x0099
0x009c
0x009d
0x009e
0x00c0
0x00c1
0x00c2
0x00c3
0x00c8
0x00c9
0x00cc
0x00cd
0x00ce
0x00f0
0x00f1
0x00f2
0x00f3
0x00f4
0x00f5
0x00f6
0x00f8
0x00f9
0x00fa
0x00fb
0x00fc
0x00fd
0x00fe
0x00ff
0x0110
0x0111
0x0112
0x0113
0x0140
0x0141
0x0142
0x0143
0x0144
0x0145
0x0146
0x0147
0x0148
0x0149
0x014a
0x014b
0x014c
0x014d
0x014e
0x014f
0x0160
0x0161
0x0162
0x0163
0x0164
0x0165
0x0166
0x0167
0x0168
0x0169
0x016a
0x016b
0x016c
0x016d
0x016e
0x0170
0x0171
0x0172
0x0173
0x0174
0x0175
0x0176
0x0177
0x0178
0x0179
0x017a
0x017c
0x017d
0x0181
0x0182
0x0183
0x0185
0x0186
0x0187
0x0188
0x018a
0x018b
0x018c
0x018d
0x0190
0x0191
0x0192
0x0193
0x0197
0x019d
0x019e
0x01a0
0x01d0
0x01d1
0x01d2
0x01d3
0x01d4
0x01d5
0x01d6
0x01d7
0x01d8
0x01d9
0x01da
0x01db
0x01dc
0x01dd
0x01de
0x01df
0x01f0
0x0200
0x0201
0x0202
0x0203
0x0210
0x0211
0x0212
0x0215
0x0218
0x0220
0x0221
0x0222
0x0228
0x0240
0x0241
0x0242
0x0243
0x0244
0x0245
0x0246
0x0247
0x0248
0x0249
0x024a
0x024b
0x024c
0x024d
0x024e
0x024f
0x0250
0x0251
0x0252
0x0253
0x0258
0x0259
0x025b
0x0280
0x0281
0x0282
0x0286
0x0288
0x0289
0x028c
0x0290
0x0291
0x0292
0x0293
0x0294
0x0295
0x0296
0x0297
0x0298
0x0299
0x029a
0x029b
0x029c
0x029d
0x029e
0x029f
0x02e0
0x02e1
0x02e2
0x0301
0x0302
0x0308
0x0309
0x0311
0x0312
0x0313
0x0314
0x0316
0x0317
0x031a
0x031b
0x031c
0x031d
0x031e
0x031f
0x0320
0x0321
0x0322
0x0323
0x0324
0x0325
0x0326
0x0327
0x0328
0x0329
0x032a
0x032b
0x032c
0x032d
0x032f
0x0330
0x0331
0x0332
0x0333
0x0334
0x0338
0x033f
0x0341
0x0342
0x0343
0x0344
0x0345
0x0347
0x0348
0x0349
0x034b
0x034c
0x034e
0x034f
0x0390
0x0391
0x0392
0x0393
0x0394
0x0395
0x0397
0x0398
0x0399
0x039a
0x039b
0x039c
0x039e
0x03d0
0x03d1
0x03d2
0x03d3
0x03d4
0x03d5
0x03d6
0x03d7
0x03d8
0x03d9
0x03da
0x03db
0x03dc
0x03dd
0x03de
0x03df

View File

@ -1,499 +0,0 @@
# List generated by nvidia_supported. Do not edit manually.
0x0040
0x0041
0x0042
0x0043
0x0044
0x0045
0x0046
0x0047
0x0048
0x004e
0x0090
0x0091
0x0092
0x0093
0x0095
0x0098
0x0099
0x009d
0x00c0
0x00c1
0x00c2
0x00c3
0x00c8
0x00c9
0x00cc
0x00cd
0x00ce
0x00f1
0x00f2
0x00f3
0x00f4
0x00f5
0x00f6
0x00f8
0x00f9
0x0140
0x0141
0x0142
0x0143
0x0144
0x0145
0x0146
0x0147
0x0148
0x0149
0x014a
0x014c
0x014d
0x014e
0x014f
0x0160
0x0161
0x0162
0x0163
0x0164
0x0165
0x0166
0x0167
0x0168
0x0169
0x016a
0x0191
0x0193
0x0194
0x0197
0x019d
0x019e
0x01d0
0x01d1
0x01d2
0x01d3
0x01d6
0x01d7
0x01d8
0x01da
0x01db
0x01dc
0x01dd
0x01de
0x01df
0x0221
0x0222
0x0240
0x0241
0x0242
0x0244
0x0245
0x0247
0x0290
0x0291
0x0292
0x0293
0x0294
0x0295
0x0297
0x0298
0x0299
0x029a
0x029b
0x029c
0x029d
0x029e
0x029f
0x02e0
0x02e1
0x02e2
0x02e3
0x02e4
0x038b
0x0390
0x0391
0x0392
0x0393
0x0394
0x0395
0x0397
0x0398
0x0399
0x039c
0x039e
0x03d0
0x03d1
0x03d2
0x03d5
0x03d6
0x0400
0x0401
0x0402
0x0403
0x0404
0x0405
0x0406
0x0407
0x0408
0x0409
0x040a
0x040b
0x040c
0x040d
0x040e
0x040f
0x0410
0x0420
0x0421
0x0422
0x0423
0x0424
0x0425
0x0426
0x0427
0x0428
0x0429
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0531
0x0533
0x053a
0x053b
0x053e
0x05e0
0x05e1
0x05e2
0x05e3
0x05e6
0x05e7
0x05ea
0x05eb
0x05ed
0x05f8
0x05f9
0x05fd
0x05fe
0x05ff
0x0600
0x0601
0x0602
0x0603
0x0604
0x0605
0x0606
0x0607
0x0608
0x0609
0x060a
0x060b
0x060c
0x060d
0x060f
0x0610
0x0611
0x0612
0x0613
0x0614
0x0615
0x0617
0x0618
0x0619
0x061a
0x061b
0x061c
0x061d
0x061e
0x061f
0x0621
0x0622
0x0623
0x0625
0x0626
0x0627
0x0628
0x062a
0x062b
0x062c
0x062d
0x062e
0x0630
0x0631
0x0632
0x0635
0x0637
0x0638
0x063a
0x0640
0x0641
0x0643
0x0644
0x0645
0x0646
0x0647
0x0648
0x0649
0x064a
0x064b
0x064c
0x0651
0x0652
0x0653
0x0654
0x0656
0x0658
0x0659
0x065a
0x065b
0x065c
0x06c0
0x06c4
0x06ca
0x06cd
0x06d1
0x06d2
0x06d8
0x06d9
0x06da
0x06dc
0x06dd
0x06de
0x06df
0x06e0
0x06e1
0x06e2
0x06e3
0x06e4
0x06e5
0x06e6
0x06e7
0x06e8
0x06e9
0x06ea
0x06eb
0x06ec
0x06ef
0x06f1
0x06f8
0x06f9
0x06fa
0x06fb
0x06fd
0x06ff
0x07e0
0x07e1
0x07e2
0x07e3
0x07e5
0x0840
0x0844
0x0845
0x0846
0x0847
0x0848
0x0849
0x084a
0x084b
0x084c
0x084d
0x084f
0x0860
0x0861
0x0862
0x0863
0x0864
0x0865
0x0866
0x0867
0x0868
0x0869
0x086a
0x086c
0x086d
0x086e
0x086f
0x0870
0x0871
0x0872
0x0873
0x0874
0x0876
0x087a
0x087d
0x087e
0x087f
0x08a0
0x08a2
0x08a3
0x08a4
0x08a5
0x0a20
0x0a22
0x0a23
0x0a26
0x0a27
0x0a28
0x0a29
0x0a2a
0x0a2b
0x0a2c
0x0a2d
0x0a32
0x0a34
0x0a35
0x0a38
0x0a3c
0x0a60
0x0a62
0x0a63
0x0a64
0x0a65
0x0a66
0x0a67
0x0a68
0x0a69
0x0a6a
0x0a6c
0x0a6e
0x0a6f
0x0a70
0x0a71
0x0a72
0x0a73
0x0a74
0x0a75
0x0a76
0x0a78
0x0a7a
0x0a7c
0x0ca0
0x0ca2
0x0ca3
0x0ca4
0x0ca5
0x0ca7
0x0ca8
0x0ca9
0x0cac
0x0caf
0x0cb0
0x0cb1
0x0cbc
0x0dc0
0x0dc4
0x0dc5
0x0dc6
0x0dcd
0x0dce
0x0dd1
0x0dd2
0x0dd3
0x0dd6
0x0dd8
0x0dda
0x0de0
0x0de1
0x0de2
0x0de4
0x0de5
0x0de8
0x0de9
0x0dea
0x0deb
0x0dec
0x0ded
0x0dee
0x0def
0x0df0
0x0df1
0x0df2
0x0df3
0x0df4
0x0df5
0x0df6
0x0df7
0x0df8
0x0df9
0x0dfa
0x0dfc
0x0e22
0x0e23
0x0e24
0x0e30
0x0e31
0x0e3a
0x0e3b
0x0f00
0x0f01
0x0fc0
0x0fc1
0x0fc2
0x0fce
0x0fd1
0x0fd2
0x0fd3
0x0fd4
0x0fd5
0x0fd8
0x0fe0
0x0fff
0x1040
0x1042
0x1048
0x1049
0x104a
0x1050
0x1051
0x1052
0x1054
0x1055
0x1056
0x1057
0x1058
0x1059
0x105a
0x107d
0x1080
0x1081
0x1082
0x1084
0x1086
0x1087
0x1088
0x1089
0x108b
0x1091
0x1094
0x1096
0x109a
0x109b
0x10c0
0x10c3
0x10c5
0x10d8
0x1180
0x1188
0x1189
0x1200
0x1201
0x1203
0x1205
0x1206
0x1207
0x1208
0x1210
0x1211
0x1212
0x1213
0x1241
0x1243
0x1244
0x1245
0x1246
0x1247
0x1248
0x1249
0x124b
0x124d
0x1251

View File

@ -1,188 +0,0 @@
AMD Software End User License Agreement
PLEASE READ THIS LICENSE CAREFULLY BEFORE USING THE SOFTWARE. BY
DOWNLOADING, INSTALLING, COPYING OR USING THE SOFTWARE, YOU ARE AGREEING TO
BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING THE SOFTWARE
ELECTRONICALLY, SIGNIFY YOUR AGREEMENT BY CLICKING THE "AGREE/ACCEPT"
BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, PROMPTLY RETURN
THE SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT AND (IF APPLICABLE) YOUR
MONEY WILL BE REFUNDED OR IF THE SOFTWARE WAS ACCESSED ELECTRONICALLY CLICK
"DISAGREE/DECLINE".
1. License. Advanced Micro Devices, Inc., on behalf of itself, its
subsidiaries and licensors (referred collectively as "AMD") grants to you
the following non-exclusive, right to use the software accompanying
this License (hereinafter "Software") subject to the following terms and
limitations:
(a) Regardless of the media upon which it is distributed, the Software is
licensed to you for use solely in conjunction with AMD hardware products to
which the Software relates ("AMD Hardware").
(b) You own the medium on which the Software is recorded, but AMD and, if
applicable, its licensors retain title to the Software and related
documentation.
(c) You may:
i) use the Software solely in connection with the AMD Hardware on a
single computer;
ii) make one copy of the Software in machine-readable form for backup
purposes only. You must reproduce on such copy AMD's copyright notice and
any other proprietary legends that were on the original copy of the
Software;
iii) transfer all your license rights in the Software provided you must
also transfer a copy of this License, the backup copy of the Software,
the AMD Hardware and the related documentation and provided the other
party reads and agrees to accept the terms and conditions of this
License. Upon such transfer your license rights are then terminated.
(d) In addition to the license terms above, with respect to portions of
the Software in source code or binary form designed exclusively for use
with the Linux operating system ("AMD Linux Code"), you may use, display,
modify, copy, distribute, allow others to re-distribute, package and re-
package such AMD Linux Code for commercial and non-commercial purposes,
provided that:
i) all binary components of the AMD Linux Code are not modified in any
way;
ii) the AMD Linux Code is only used as part of the Software and in
connection with AMD Hardware;
iii) all copyright notices of AMD are reproduced and you refer to these
license terms;
iv) you may not offer or impose any terms on the use of AMD Linux
Code that alter or restrict this License; and
v) if you have modified the AMD Linux Code, such modifications will be
made publicly available and are licensed under the same terms provided
herein to AMD or any other third party without further restriction,
royalty or any other license requirement;
vi) to the extent there is any AMD sample or control panel source
code included in the AMD Linux Code, no rights are granted to modify such
code except for portions thereof that may be subject to third party
license terms that grant such rights;
vii) no rights are granted to distribute the binary form of the AMD Linux
Kernel Module made by linking the AMD Proprietary Kernel Library and the
AMD Kernel Compatibility Layer binary compiled using Linux kernel
headers;
viii) AMD is not obligated to provide any maintenance or technical
support for any code resulting from AMD Linux Code.
2. Restrictions. The Software contains copyrighted and patented material,
trade secrets and other proprietary material. In order to protect them,
and except as permitted by this license or applicable legislation, you may
not:
a) decompile, reverse engineer, disassemble or otherwise reduce the
Software to a human-perceivable form;
b) modify, network, rent, lend, loan, distribute or create derivative
works based upon the Software in whole or in part; or
c) electronically transmit the Software from one computer to another or
over a network or otherwise transfer the Software except as permitted by
this License.
3. Termination. This License is effective until terminated. You may
terminate this License at any time by destroying the Software, related
documentation and all copies thereof. This License will terminate
immediately without notice from AMD if you fail to comply with any
provision of this License. Upon termination you must destroy the Software,
related documentation and all copies thereof.
4. Government End Users. If you are acquiring the Software on behalf of
any unit or agency of the United States Government, the following
provisions apply. The Government agrees the Software and documentation
were developed at private expense and are provided with "RESTRICTED
RIGHTS". Use, duplication, or disclosure by the Government is subject to
restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995),
DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227-
19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time
to time. In the event that this License, or any part thereof, is deemed
inconsistent with the minimum rights identified in the Restricted Rights
provisions, the minimum rights shall prevail.
5. No Other License. No rights or licenses are granted by AMD under this
License, expressly or by implication, with respect to any proprietary
information or patent, copyright, trade secret or other intellectual
property right owned or controlled by AMD, except as expressly provided in
this License.
6. Additional Licenses. DISTRIBUTION OR USE OF THE SOFTWARE WITH AN
OPERATING SYSTEM MAY REQUIRE ADDITIONAL LICENSES FROM THE OPERATING SYSTEM
VENDOR.
7. Disclaimer of Warranty on Software. You expressly acknowledge and
agree that use of the Software is at your sole risk. The Software and
related documentation are provided "AS IS" and without warranty of any kind
and AMD EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FORA PARTICULAR PURPOSE, OF QUALITY, OF QUIET ENJOYMENT AND OF NON-
INFRINGEMENT OF THIRD PARTY RIGHTS. AMD DOES NOT WARRANT THAT THE
FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT
THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT
DEFECTS IN THE SOFTWARE WILL BE CORRECTED. THE ENTIRE RISK AS TO THE
RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE,
AMD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE ORTHE
RESULTS OF THE USE OF THE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF
THEIR CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. NO
ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY AMD OR AMD'S AUTHORIZED
REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF
THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT AMD OR
AMD'S AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION. THE SOFTWARE IS NOT INTENDED FOR USE IN
MEDICAL, LIFE SAVING OR LIFE SUSTAINING APPLICATIONS. SOME JURISDICTIONS
DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION
MAY NOT APPLY TO YOU.
8. Limitation of Liability. TO THE MAXIMUM EXTENT PERMITTED BY LAW, UNDER
NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL AMD, OR ITS DIRECTORS,
OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR ANY INCIDENTAL,
INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND
THE LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE
OR RELATED DOCUMENTATION, BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM
INFRINGEMENT OR ALLEGED INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR
OTHER INTELLECTUAL PROPERTY RIGHT, BY AMD, EVEN IF AMD OR AMD'S AUTHORIZED
REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME
JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR
INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION
MAY NOT APPLY TO YOU. AMD will not be liable for 1) loss of, or damage to,
your records or data or 2) any damages claimed by you based on any third
party claim. In no event shall AMD's total liability to you for all
damages, losses, and causes of action (whether in contract, tort (including
negligence) or otherwise) exceed the amount paid by you for the Software.
The foregoing limitations will apply even if the above stated limitation
fails of its essential purpose.
9. Controlling Law and Severability. This License shall be governed by
and construed under the laws of the Province of Ontario, Canada without
reference to its conflict of law principles. Any dispute related hereto
will be brought only in the courts in Toronto, Ontario, Canada and such
courts are agreed to be the convenient forum. In the event of any
conflicts between foreign law, rules, and regulations, and Canadian law,
rules, and regulations, Canadian law, rules and regulations shall prevail
and govern. The United Nations Convention on Contracts for the
International Sale of Goods shall not apply to this License. If for any
reason a court of competent jurisdiction finds any provision of this
License or portion thereof, to be unenforceable, that provision of the
License shall be enforced to the maximum extent permissible so as to effect
the intent of the parties, and the remainder of this License shall continue
in full force and effect.
10. Complete Agreement. This License constitutes the entire agreement
between the parties with respect to the use of the Software and the related
documentation, and supersedes all prior or contemporaneous understandings
or agreements, written or oral, regarding such subject matter. No
amendment to or modification of this License will be binding unless in
writing and signed by a duly authorized representative of AMD.

View File

@ -1,127 +0,0 @@
License For Customer Use of NVIDIA Software
IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of
NVIDIA Software ("LICENSE") is the agreement which governs use of
the software of NVIDIA Corporation and its subsidiaries ("NVIDIA")
downloadable herefrom, including computer software and associated
printed materials ("SOFTWARE"). By downloading, installing, copying,
or otherwise using the SOFTWARE, you agree to be bound by the terms
of this LICENSE. If you do not agree to the terms of this LICENSE,
do not download the SOFTWARE.
RECITALS
Use of NVIDIA's products requires three elements: the SOFTWARE, the
hardware on a graphics controller board, and a personal computer. The
SOFTWARE is protected by copyright laws and international copyright
treaties, as well as other intellectual property laws and treaties.
The SOFTWARE is not sold, and instead is only licensed for use,
strictly in accordance with this document. The hardware is protected
by various patents, and is sold, but this agreement does not cover
that sale, since it may not necessarily be sold as a package with
the SOFTWARE. This agreement sets forth the terms and conditions
of the SOFTWARE LICENSE only.
1. DEFINITIONS
1.1 Customer. Customer means the entity or individual that
downloads the SOFTWARE.
2. GRANT OF LICENSE
2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer
the following non-exclusive, non-transferable right to use the
SOFTWARE, with the following limitations:
2.1.1 Rights. Customer may install and use one copy of the SOFTWARE
on a single computer, and except for making one back-up copy of
the Software, may not otherwise copy the SOFTWARE. This LICENSE
of SOFTWARE may not be shared or used concurrently on different
computers.
2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms
of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or
FreeBSD operating systems, or other operating systems derived from the
source code to these operating systems, may be copied and redistributed,
provided that the binary files thereof are not modified in any way
(except for unzipping of compressed files).
2.1.3 Limitations.
No Reverse Engineering. Customer may not reverse engineer,
decompile, or disassemble the SOFTWARE, nor attempt in any other
manner to obtain the source code.
No Separation of Components. The SOFTWARE is licensed as a
single product. Its component parts may not be separated for use
on more than one computer, nor otherwise used separately from the
other parts.
No Rental. Customer may not rent or lease the SOFTWARE to someone
else.
3. TERMINATION
This LICENSE will automatically terminate if Customer fails to
comply with any of the terms and conditions hereof. In such event,
Customer must destroy all copies of the SOFTWARE and all of its
component parts.
Defensive Suspension. If Customer commences or participates in any legal
proceeding against NVIDIA, then NVIDIA may, in its sole discretion,
suspend or terminate all license grants and any other rights provided
under this LICENSE during the pendency of such legal proceedings.
4. COPYRIGHT
All title and copyrights in and to the SOFTWARE (including but
not limited to all images, photographs, animations, video, audio,
music, text, and other information incorporated into the SOFTWARE),
the accompanying printed materials, and any copies of the SOFTWARE,
are owned by NVIDIA, or its suppliers. The SOFTWARE is protected
by copyright laws and international treaty provisions. Accordingly,
Customer is required to treat the SOFTWARE like any other copyrighted
material, except as otherwise allowed pursuant to this LICENSE
and that it may make one copy of the SOFTWARE solely for backup or
archive purposes.
5. APPLICABLE LAW
This agreement shall be deemed to have been made in, and shall be
construed pursuant to, the laws of the State of California.
6. DISCLAIMER OF WARRANTIES AND LIMITATION ON LIABILITY
6.1 No Warranties. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE
LAW, THE SOFTWARE IS PROVIDED "AS IS" AND NVIDIA AND ITS SUPPLIERS
DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT
NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE.
6.2 No Liability for Consequential Damages. TO THE MAXIMUM
EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL NVIDIA OR
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS
OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT
OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. MISCELLANEOUS
The United Nations Convention on Contracts for the International
Sale of Goods is specifically disclaimed. If any provision of this
LICENSE is inconsistent with, or cannot be fully enforced under,
the law, such provision will be construed as limited to the extent
necessary to be consistent with and fully enforceable under the law.
This agreement is the final, complete and exclusive agreement between
the parties relating to the subject matter hereof, and supersedes
all prior or contemporaneous understandings and agreements relating
to such subject matter, whether oral or written. Customer agrees
that it will not ship, transfer or export the SOFTWARE into any
country, or use the SOFTWARE in any manner, prohibited by the
United States Bureau of Export Administration or any export laws,
restrictions or regulations. This LICENSE may only be modified in
writing signed by an authorized officer of NVIDIA.

View File

@ -1,79 +0,0 @@
#!/bin/sh
set -e
# This is a nasty kluge, but it seems to work. Better check the output when
# upgrading to a new release of the nvidia driver, though.
# Whenever a PCI ID is supported by both nvidia and nvidia_legacy, it is only
# listed for nvidia, as long as nvidia_legacy is *after* nvidia in the
# parameter list.
# find the needed nv-kernel.o in the build dir pkgbuilds/nvidia-173xx/src/NVIDIA-Linux-x86_64-173.14.35-pkg0/usr/src/nv/nv-kernel.o
[ -n "$1" ] || {
echo "USAGE: $0 path/to/nv/nv-kernel.o \\" >&2
exit 1
}
echo "# Listing generated by nvidia_supported. Do not edit manually."
device_ids() {
local filename="$1"
local list_prev="$(mktemp)"
local list_cur="$(mktemp)"
# Find the symbols of the .rodata section...
objdump --section=.rodata --syms "$filename" |
sed -nr '/SYMBOL TABLE/,/^$/ {
s/^([0-9a-f]+)\s+l\s+O\s+\S+\s+([0-9a-f]+)\s+\S+.*/\1 \2/p
}' |
while read start length; do
objdump --section=.rodata --full-contents \
--start-address="0x$start" \
--stop-address="$((0x$start+0x$length))" "$filename" |
sed -nr 's/^ [0-9a-f]+ ([0-9a-f]{2})([0-9a-f]{2}).*/\2\1/p' |
sort | uniq | grep -vx "0000" >"$list_cur"
# The consistent thing between different releases has been that there are
# two subsequent symbols with the same PCI ID list near the beginning. Find
# them.
if [ -s "$list_prev" -a -s "$list_cur" ] &&
cmp -s "$list_prev" "$list_cur"; then
cat "$list_cur"
break
fi
cp "$list_cur" "$list_prev"
done
rm -f "$list_prev" "$list_cur"
}
seen_ids=' '
while [ -n "$1" ]; do
filename="$1"; shift
orig_ids="$(device_ids "$filename")"
if [ -z "$orig_ids" ]; then
echo "WARNING: No IDs were found from $filename" >&2
fi
for id in $orig_ids; do
case "$seen_ids" in
*" $id "*)
# Already seen the ID.
;;
*)
# Not seen it yet.
seen_ids="${seen_ids}${id} "
printf '%s\n' \
"0x$id"
;;
esac
done
done | sort
# vim:set et sw=2 sts=2:

View File

@ -6,32 +6,36 @@
_extramodules=extramodules-3.4-CHAKRA
_kver="$(cat /lib/modules/${_extramodules}/version)"
pkgname=nvidia-173xx
pkgname=(nvidia-173xx chd-nvidia-173xx)
pkgver=173.14.35
pkgrel=3
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
depends=('linux>=3.4' 'linux<3.5' 'nvidia-173xx-utils')
makedepends=('linux-headers')
conflicts=('nvidia-96xx' 'nvidia')
license=('custom')
install=nvidia.install
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run")
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run"
"nvidia_supported")
md5sums=('0fa45e6fc23a2dc69faa8a66ae0e0cc5')
[ "$CARCH" = "x86_64" ] && md5sums=('6934b522d2cf313ae6e94e25763fe1a8')
md5sums+=('62d0cdb856cfae64753c0f3acf729d47')
build() {
cd $srcdir
sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
cd usr/src/nv/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/${_kver}/build/ module
cd $srcdir
sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
cd usr/src/nv/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/${_kver}/build/ module
}
package() {
package_nvidia-173xx() {
pkgdesc="Legacy NVIDIA drivers for linux."
depends=('linux>=3.4' 'linux<3.5' 'nvidia-173xx-utils')
conflicts=('nvidia-96xx' 'nvidia')
install=nvidia.install
cd $srcdir/"NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
mkdir -p $pkgdir/lib/modules/${_extramodules}
install -m644 nvidia.ko $pkgdir/lib/modules/${_extramodules}
@ -41,3 +45,14 @@ package() {
# gzip -9 module
gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
}
package_chd-nvidia-173xx() {
pkgdesc="CHD ids for nvidia $pkgver"
arch=('any')
cd "${srcdir}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
install -dm755 "${pkgdir}/opt/chakra/hwdb"
sh -e "${srcdir}/nvidia_supported" ../../share/doc/README.txt nv-kernel.o \
> "${pkgdir}/opt/chakra/hwdb/hw_nvidia173xx_hwdb"
}

View File

@ -8,22 +8,21 @@
_extramodules=extramodules-`pacman -Q linux | cut -c7-9 | sed 's/linux //g'`-CHAKRA
_kver="$(cat /lib/modules/${_extramodules}/version)"
pkgname=nvidia-96xx
pkgname=(nvidia-96xx chd-nvidia-96xx)
pkgver=96.43.20
pkgrel=9
pkgdesc="NVIDIA drivers for kernel26, 96xx branch."
arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
depends=('linux>=3.2' 'linux<3.3' 'nvidia-96xx-utils')
makedepends=('linux-headers')
conflicts=('nvidia' 'nvidia-173xx')
license=('custom')
install=nvidia.install
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run")
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run"
"nvidia_supported")
md5sums=('875cc011385ea26ab5edd54a9b65a003')
[ "$CARCH" = "x86_64" ] && md5sums=('df3c87005487bdf54a6c5b783ff373db')
md5sums+=('62d0cdb856cfae64753c0f3acf729d47')
build() {
sh "NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run" --extract-only
@ -32,7 +31,11 @@ build() {
make SYSSRC=/lib/modules/${_kver}/build module
}
package() {
package_nvidia-96xx() {
pkgdesc="NVIDIA drivers for kernel26, 96xx branch."
depends=('linux>=3.2' 'linux<3.3' 'nvidia-96xx-utils')
conflicts=('nvidia' 'nvidia-173xx')
cd "NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
mkdir -p $pkgdir//lib/modules/${_extramodules}
install -m644 nvidia.ko $pkgdir/lib/modules/${_extramodules}
@ -41,3 +44,14 @@ package() {
sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
}
package_chd-nvidia-96xx() {
pkgdesc="CHD ids for nvidia $pkgver"
arch=('any')
cd "${srcdir}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0/usr/src/nv/"
install -dm755 "${pkgdir}/opt/chakra/hwdb"
sh -e "${srcdir}/nvidia_supported" ../../share/doc/README.txt nv-kernel.o \
> "${pkgdir}/opt/chakra/hwdb/hw_nvidia173xx_hwdb"
}

91
nvidia-96xx/nvidia_supported Executable file
View File

@ -0,0 +1,91 @@
#!/bin/sh
set -e
# This is a nasty kluge, but it seems to work. Better check the output when
# upgrading to a new release of the nvidia driver, though.
# To make it somehwat work, until someone knows a better way, copy /usr/share/doc/nvidia/README
# to the same dir as this script, then run.
if [ "$#" -ne 2 ]; then
>&2 printf 'USAGE: %s README.txt nv-kernel.o\n' "$0"
exit 1
fi
device_ids() {
local readme="$1"; shift
local object="$1"; shift
local ret=1
local symbols="$(mktemp)"
local readme_list="$(mktemp)"
local object_list="$(mktemp)"
local diff="$(mktemp)"
sed -nr '/^Appendix .\. Supported NVIDIA /,/legacy/ {
s/.* 0x([0-9a-fA-F]{4})( .*|$)/\1/p
}' "$readme" | tr A-F a-f | sort | uniq >"$readme_list"
local readme_length="$(grep -Ec . "$readme_list")"
objdump --section=.rodata --syms "$object" |
sed -nr '/SYMBOL TABLE/,/^$/ {
s/^([0-9a-f]+)\s+l\s+O\s+\S+\s+([0-9a-f]+)\s+\S+.*/\2 \1/p
}' |
sort -nr >"$symbols" # The list is probably among the larger symbols.
while read length start; do
[ "$((0x$length))" -gt 0 ] || continue
objdump --section=.rodata --full-contents \
--start-address="0x$start" \
--stop-address="$((0x$start+0x$length))" "$object" |
sed -nr 's/^ [0-9a-f]+ ([0-9a-f]{2})([0-9a-f]{2}).*/\2\1/p' |
sort | uniq | (grep -vx 0000 || :) >"$object_list"
local object_length="$(grep -Ec . "$object_list")"
diff -u "$readme_list" "$object_list" | tail -n +3 >"$diff"
local num_deletions="$(grep -Ec '^-' "$diff")"
local num_additions="$(grep -Ec '^\+' "$diff")"
# Some thresholds for now.
if [ "$num_deletions" -eq 0 ] &&
[ "$num_additions" -le "$(($readme_length*3/2))" ]; then
>&2 printf 'DEBUG: readme:%d object:%d deletions:%d additions:%d\n' \
"$readme_length" "$object_length" "$num_deletions" "$num_additions"
ret=0
break
fi
done <"$symbols"
if [ "$ret" -eq 0 ]; then
printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.'
while read id; do
printf '%s\n' \
"0x$id"
done <"$object_list"
else
>&2 printf '%s\n' 'Failed to find the list. Using README.txt to get the list'
# We failed to extract the ids from the blob. Use the ones in README.txt
# as a fallback
printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.'
while read id; do
printf '%s\n' \
"0x$id"
done <"$readme_list"
ret=0
fi
rm -f "$symbols" "$readme_list" "$object_list" "$diff"
return "$ret"
}
device_ids "$@"
# vim:set et sw=2 sts=2:

View File

@ -6,28 +6,26 @@
_extramodules=extramodules-3.4-CHAKRA
_kver="$(cat /lib/modules/${_extramodules}/version)"
pkgname=nvidia
pkgname=('nvidia' 'chd-nvidia')
pkgver=302.17
pkgrel=2
pkgdesc="NVIDIA drivers for linux."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux>=3.4' 'linux<3.5' "nvidia-utils=${pkgver}")
makedepends=('linux-headers')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
source=(nvidia_supported) # change this to url when git repo for chd is up
md5sums=('62d0cdb856cfae64753c0f3acf729d47')
if [ "$CARCH" = "i686" ]; then
_ARCH='x86'
_pkg="NVIDIA-Linux-${_ARCH}-${pkgver}"
source=("http://us.download.nvidia.com/XFree86/Linux-${_ARCH}/${pkgver}/${_pkg}.run")
md5sums=('b7f908ea08218df08db06026215ec419')
source+=("http://us.download.nvidia.com/XFree86/Linux-${_ARCH}/${pkgver}/${_pkg}.run")
md5sums+=('b7f908ea08218df08db06026215ec419')
elif [ "$CARCH" = "x86_64" ]; then
_ARCH='x86_64'
_pkg="NVIDIA-Linux-${_ARCH}-${pkgver}-no-compat32"
source=("http://us.download.nvidia.com/XFree86/Linux-${_ARCH}/${pkgver}/${_pkg}.run")
md5sums=('7e768412a16853078b04037a7cc9c8ac')
source+=("http://us.download.nvidia.com/XFree86/Linux-${_ARCH}/${pkgver}/${_pkg}.run")
md5sums+=('7e768412a16853078b04037a7cc9c8ac')
fi
build() {
@ -37,7 +35,12 @@ build() {
make SYSSRC=/lib/modules/"${_kver}/build" module
}
package() {
package_nvidia() {
pkgdesc="NVIDIA drivers for linux."
depends=('linux>=3.4' 'linux<3.5' "nvidia-utils=${pkgver}")
conflicts=('nvidia-96xx' 'nvidia-173xx')
install=nvidia.install
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
install -d -m755 "${pkgdir}/etc/modprobe.d"
@ -45,3 +48,14 @@ package() {
sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
}
package_chd-nvidia() {
pkgdesc="CHD ids for nvidia $pkgver"
arch=('any')
cd "${srcdir}/${_pkg}"
install -dm755 "${pkgdir}/opt/chakra/hwdb"
sh -e "${srcdir}/nvidia_supported" README.txt kernel/nv-kernel.o \
> "${pkgdir}/opt/chakra/hwdb/hw_nvidia_hwdb"
}

91
nvidia/nvidia_supported Executable file
View File

@ -0,0 +1,91 @@
#!/bin/sh
set -e
# This is a nasty kluge, but it seems to work. Better check the output when
# upgrading to a new release of the nvidia driver, though.
# To make it somehwat work, until someone knows a better way, copy /usr/share/doc/nvidia/README
# to the same dir as this script, then run.
if [ "$#" -ne 2 ]; then
>&2 printf 'USAGE: %s README.txt nv-kernel.o\n' "$0"
exit 1
fi
device_ids() {
local readme="$1"; shift
local object="$1"; shift
local ret=1
local symbols="$(mktemp)"
local readme_list="$(mktemp)"
local object_list="$(mktemp)"
local diff="$(mktemp)"
sed -nr '/^Appendix .\. Supported NVIDIA /,/legacy/ {
s/.* 0x([0-9a-fA-F]{4})( .*|$)/\1/p
}' "$readme" | tr A-F a-f | sort | uniq >"$readme_list"
local readme_length="$(grep -Ec . "$readme_list")"
objdump --section=.rodata --syms "$object" |
sed -nr '/SYMBOL TABLE/,/^$/ {
s/^([0-9a-f]+)\s+l\s+O\s+\S+\s+([0-9a-f]+)\s+\S+.*/\2 \1/p
}' |
sort -nr >"$symbols" # The list is probably among the larger symbols.
while read length start; do
[ "$((0x$length))" -gt 0 ] || continue
objdump --section=.rodata --full-contents \
--start-address="0x$start" \
--stop-address="$((0x$start+0x$length))" "$object" |
sed -nr 's/^ [0-9a-f]+ ([0-9a-f]{2})([0-9a-f]{2}).*/\2\1/p' |
sort | uniq | (grep -vx 0000 || :) >"$object_list"
local object_length="$(grep -Ec . "$object_list")"
diff -u "$readme_list" "$object_list" | tail -n +3 >"$diff"
local num_deletions="$(grep -Ec '^-' "$diff")"
local num_additions="$(grep -Ec '^\+' "$diff")"
# Some thresholds for now.
if [ "$num_deletions" -eq 0 ] &&
[ "$num_additions" -le "$(($readme_length*3/2))" ]; then
>&2 printf 'DEBUG: readme:%d object:%d deletions:%d additions:%d\n' \
"$readme_length" "$object_length" "$num_deletions" "$num_additions"
ret=0
break
fi
done <"$symbols"
if [ "$ret" -eq 0 ]; then
printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.'
while read id; do
printf '%s\n' \
"0x$id"
done <"$object_list"
else
>&2 printf '%s\n' 'Failed to find the list. Using README.txt to get the list'
# We failed to extract the ids from the blob. Use the ones in README.txt
# as a fallback
printf '%s\n' '# List generated by nvidia_supported. Do not edit manually.'
while read id; do
printf '%s\n' \
"0x$id"
done <"$readme_list"
ret=0
fi
rm -f "$symbols" "$readme_list" "$object_list" "$diff"
return "$ret"
}
device_ids "$@"
# vim:set et sw=2 sts=2: