summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfig/card.pm
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2005-11-07 14:56:26 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2005-11-07 14:56:26 +0000
commitfc8a57de6ebc40de0e0fb9ad1c8bc3e9192fc234 (patch)
tree6921d93f603ac10b73845aceef1aa7729a1e6beb /perl-install/Xconfig/card.pm
parent73d62c343c1839ea529a0fff0be9eaab846b4f0c (diff)
downloaddrakx-fc8a57de6ebc40de0e0fb9ad1c8bc3e9192fc234.tar
drakx-fc8a57de6ebc40de0e0fb9ad1c8bc3e9192fc234.tar.gz
drakx-fc8a57de6ebc40de0e0fb9ad1c8bc3e9192fc234.tar.bz2
drakx-fc8a57de6ebc40de0e0fb9ad1c8bc3e9192fc234.tar.xz
drakx-fc8a57de6ebc40de0e0fb9ad1c8bc3e9192fc234.zip
(install_server) properly handle switch between nvidia & nvidia_legacy: prevent
having both nvidia_legacy-kerne and nvidia-kernel, thus resulting in having two drivers with the same name: The following packages have to be removed for others to be upgraded: nvidia-7676-5mdk.i586 (en raison de conflit avec nvidia_legacy-7174-3mdk.i586) installing nvidia_legacy-7174-3mdk.i586.rpm nvidia_legacy-kernel-2.6.12-12mdk-7174-1mdk.i586.rpm from //mnt/disk/bin lemel nvidia-7676-5mdk.i586 Emaon o prientiƱ ... ############################################# 1/2: nvidia_legacy ############################################# Relaunch XFdrake to configure your NVidia cards warning: /etc/ld.so.conf.d/nvidia.conf saved as /etc/ld.so.conf.d/nvidia.conf.rpmsave 2/2: nvidia_legacy-kernel-2.6.12-12mdk############################################# Error! This module/version combo is already installed for kernel: 2.6.12-12mdk (i586) nvidia_legacy, 7174, 2.6.12-12mdk, i586: installed (WARNING! Diff between built and installed module!) root@du mdk/gi/perl-install # rpm -qa nvidia\* nvidia_legacy-kernel-2.6.12-12mdk-7174-1mdk nvidia-kernel-2.6.12-12mdk-7676-1mdk nvidia_legacy-7174-3mdk
Diffstat (limited to 'perl-install/Xconfig/card.pm')
-rw-r--r--perl-install/Xconfig/card.pm19
1 files changed, 12 insertions, 7 deletions
diff --git a/perl-install/Xconfig/card.pm b/perl-install/Xconfig/card.pm
index 84d2d510f..11360a538 100644
--- a/perl-install/Xconfig/card.pm
+++ b/perl-install/Xconfig/card.pm
@@ -304,19 +304,24 @@ sub install_server {
delete $card->{Driver2};
}
+ my %nvidia_packages = (
+ #- using NVIDIA Legacy driver for old NVIDIA cards (TNT, TNT2, Vanta, Quadro, Quadro2, GeForce and GeForce2):
+ legacy => [ qw(nvidia_legacy-kernel nvidia_legacy) ],
+ #- using current NVIDIA driver for recent NVIDIA cards (Geforce/Quadro 3/4/FX/6x00/NVS):
+ new => [ qw(nvidia-kernel nvidia) ],
+ );
+
my %proprietary_Driver2 = (
- nvidia => [
- $card->{NVIDIA_LEGACY} ?
- #- using NVIDIA Legacy driver for old NVIDIA cards (TNT, TNT2, Vanta, Quadro, Quadro2, GeForce and GeForce2)
- ('nvidia_legacy-kernel', 'nvidia_legacy') :
- #- using current NVIDIA driver for recent NVIDIA cards (Geforce/Quadro 3/4/FX/6x00/NVS)
- ('nvidia-kernel', 'nvidia')
- ],
+ nvidia => $nvidia_packages{ $card->{NVIDIA_LEGACY} ? 'legacy' : 'new' },
fglrx => [ 'ati-kernel', 'ati' ], #- using ATI fglrx driver (Radeon, Fire GL cards only).
);
if (my $rpms_needed = $proprietary_Driver2{$card->{Driver2}}) {
if (my $proprietary_packages = $do_pkgs->check_kernel_module_packages($rpms_needed->[0], $rpms_needed->[1])) {
push @packages, @$proprietary_packages;
+ # prevent having both nvidia & nvidia_legacy driver installed due to incompatibility:
+ if ($card->{Driver2} eq 'nvidia') {
+ $do_pkgs->remove($_) foreach @{$do_pkgs->check_kernel_module_packages(@{$nvidia_packages{ $card->{NVIDIA_LEGACY} ? 'new' : 'legacy' }})};
+ }
}
}