/[gentoo-x86]/eclass/nvidia-driver.eclass
Gentoo

Diff of /eclass/nvidia-driver.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.14
1# Copyright 1999-2007 Gentoo Foundation 1# Copyright 1999-2008 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/nvidia-driver.eclass,v 1.4 2007/07/16 15:01:05 cardoe Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/nvidia-driver.eclass,v 1.14 2008/07/17 12:20:49 chainsaw Exp $
4 4
5# @ECLASS: nvidia-driver.eclass
6# @MAINTAINER: <chainsaw@gentoo.org>
5# 7#
6# Original Author: Doug Goldstein <cardoe@gentoo.org> 8# Original Author: Doug Goldstein <cardoe@gentoo.org>
9# @BLURB: Provide useful messages for nvidia-drivers based on currently installed Nvidia card
10# @DESCRIPTION:
7# Purpose: Provide useful messages for nvidia-drivers based on currently 11# Provide useful messages for nvidia-drivers based on currently installed Nvidia
8# installed Nvidia card 12# card. It inherits versionator
9# 13
10inherit versionator 14inherit versionator
11 15
12DEPEND="sys-apps/pciutils" 16DEPEND="sys-apps/pciutils"
13 17
14# the data below is derived from 18# the data below is derived from
15# http://us.download.nvidia.com/XFree86/Linux-x86_64/100.14.11/README/appendix-a.html 19# http://us.download.nvidia.com/XFree86/Linux-x86_64/177.13/README/appendix-a.html
16 20
17drv_96xx="0110 0111 0112 0113 0170 0171 0172 0173 0174 0175 0176 0177 0178 \ 21drv_96xx="0110 0111 0112 0113 0170 0171 0172 0173 0174 0175 0176 0177 0178 \
180179 017a 017c 017d 0181 0182 0183 0185 0188 018a 018b 018c 01a0 01f0 0200 \ 220179 017a 017c 017d 0181 0182 0183 0185 0188 018a 018b 018c 01a0 01f0 0200 \
190201 0202 0203 0250 0251 0253 0258 0259 025b 0280 0281 0282 0286 0288 0289 \ 230201 0202 0203 0250 0251 0253 0258 0259 025b 0280 0281 0282 0286 0288 0289 \
20028c" 24028c"
21 25
22drv_71xx="0020 0028 0029 002c 002d 00a0 0100 0101 0103 0150 0151 0152 0153" 26drv_71xx="0020 0028 0029 002c 002d 00a0 0100 0101 0103 0150 0151 0152 0153"
23 27
24mask_96xx=">=x11-drivers/nvidia-drivers-1.0.9700" 28drv_173x="00fa 00fb 00fc 00fd 00fe 0301 0302 0308 0309 0311 0312 0314 031a \
25mask_71xx=">=x11-drivers/nvidia-drivers-1.0.7200" 29031b 031c 0320 0321 0322 0323 0324 0325 0326 0327 0328 032a 032b 032c 032d \
300330 0331 0332 0333 0334 0338 033f 0341 0342 0343 0344 0347 0348 034c 034e"
26 31
27pv_96xx="1.0.9700" 32mask_96xx=">=x11-drivers/nvidia-drivers-97.0.0"
28pv_71xx="1.0.7200" 33mask_71xx=">=x11-drivers/nvidia-drivers-72.0.0"
34mask_173x=">=x11-drivers/nvidia-drivers-177.0.0"
29 35
36# @FUNCTION: nvidia-driver-get-card
37# @DESCRIPTION:
30# Retrieve the PCI device ID for each Nvidia video card you have 38# Retrieve the PCI device ID for each Nvidia video card you have
31nvidia-driver-get-card() { 39nvidia-driver-get-card() {
32 local NVIDIA_CARD="$(/usr/sbin/lspci -d 10de: -n | \ 40 local NVIDIA_CARD="$(/usr/sbin/lspci -d 10de: -n | \
33 awk '/ 0300: /{print $3}' | cut -d: -f2 | tr '\n' ' ')" 41 awk '/ 0300: /{print $3}' | cut -d: -f2 | tr '\n' ' ')"
34 42
54 echo "$mask_71xx"; 62 echo "$mask_71xx";
55 return 0; 63 return 0;
56 fi 64 fi
57 done 65 done
58 66
67 for drv in $drv_173x; do
68 if [ "x$card" = "x$drv" ]; then
69 echo "$mask_173x";
70 return 0;
71 fi
72 done
59 done 73 done
60 74
61 echo ""; 75 echo "";
62 return 1; 76 return 1;
63} 77}
64 78
79# @FUNCTION: nvidia-driver-check-warning
80# @DESCRIPTION:
81# Prints out a warning if the driver does not work w/ the installed video card
65nvidia-driver-check-warning() { 82nvidia-driver-check-warning() {
66 local NVIDIA_MASK="$(nvidia-driver-get-mask)" 83 local NVIDIA_MASK="$(nvidia-driver-get-mask)"
67 if [ -n "$NVIDIA_MASK" ]; then 84 if [ -n "$NVIDIA_MASK" ]; then
68 version-compare "${NVIDIA_MASK##-*}" "${PV}" 85 version_compare "${NVIDIA_MASK##*-}" "${PV}"
69 r=$? 86 r=$?
70 87
71 if [ "x$r" = "x1" ]; then 88 if [ "x$r" = "x1" ]; then
72 ewarn "***** WARNING *****" 89 ewarn "***** WARNING *****"
73 ewarn 90 ewarn
74 ewarn "You are currently installing a version of nvidia-drivers that is" 91 ewarn "You are currently installing a version of nvidia-drivers that is"
75 ewarn "known not to work with a video card you have installed on your" 92 ewarn "known not to work with a video card you have installed on your"
76 ewarn "system. If this is intentional, please ignore this. If it is not" 93 ewarn "system. If this is intentional, please ignore this. If it is not"
77 ewarn "please perform the following steps:" 94 ewarn "please perform the following steps:"
78 ewarn 95 ewarn

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.20