summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/XFdrake
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2001-04-25 11:01:33 +0000
committerFrancois Pons <fpons@mandriva.com>2001-04-25 11:01:33 +0000
commit8f2775ba0bcf5d7b506d29f303e4877bcf191fa0 (patch)
treeec9895e29b88dccbd3cda604d77854670fab994b /perl-install/standalone/XFdrake
parenta039b2febf66c9017cc7ad8182cb7847dbfb962a (diff)
downloaddrakx-backup-do-not-use-8f2775ba0bcf5d7b506d29f303e4877bcf191fa0.tar
drakx-backup-do-not-use-8f2775ba0bcf5d7b506d29f303e4877bcf191fa0.tar.gz
drakx-backup-do-not-use-8f2775ba0bcf5d7b506d29f303e4877bcf191fa0.tar.bz2
drakx-backup-do-not-use-8f2775ba0bcf5d7b506d29f303e4877bcf191fa0.tar.xz
drakx-backup-do-not-use-8f2775ba0bcf5d7b506d29f303e4877bcf191fa0.zip
added support for NVIDIA 3D acceleration.
Diffstat (limited to 'perl-install/standalone/XFdrake')
-rwxr-xr-xperl-install/standalone/XFdrake25
1 files changed, 24 insertions, 1 deletions
diff --git a/perl-install/standalone/XFdrake b/perl-install/standalone/XFdrake
index bcb5b3517..86eed2bcd 100755
--- a/perl-install/standalone/XFdrake
+++ b/perl-install/standalone/XFdrake
@@ -58,8 +58,31 @@ begin:
Xconfig::getinfo($i);
Xconfig::getinfoFromXF86Config($i); #- take default from here at least.
+my $allowNVIDIA_rpms;
+eval {
+ my (%list, %select);
+ local *F;
+ open F, "grep NVIDIA /var/lib/urpmi/depslist.ordered |";
+ while (<F>) {
+ /(.*)-([^-]*)-([^-]*)\s+/ and $list{$1} = 1;
+ }
+ close F;
+ if ($list{NVIDIA_GLX}) {
+ my ($version, $release, $ext) = `uname -r` =~ /([^-]*)-([^-]*mdk)(\S*)/;
+ $ext and $ext = "-$ext";
+ $list{"NVIDIA_kernel-$version-$release$ext"} or die "no NVIDIA kernel for current kernel";
+ $select{"NVIDIA_kernel-$version-$release$ext"} = 1;
+ foreach (`rpm -q kernel kernel-smp kernel-entreprise kernel22 kernel22-smp kernel22-secure`) {
+ ($ext, $version, $release) = /kernel[^-]*(-[^-]*)-([^-]*)-([^-]*mdk)/;
+ $list{"NVIDIA_kernel-$version-$release$ext"} and $select{"NVIDIA_kernel-$version-$release$ext"} = 1;
+ }
+ $allowNVIDIA_rpms = [ keys(%select), "NVIDIA_GLX" ];
+ }
+};
+
$::isEmbedded and kill USR2, $::CCPID;
-Xconfigurator::main('', $i, $in, 0, sub { $in->standalone::pkgs_install(@_) });
+Xconfigurator::main('', $i, $in, { allowFB => 0,
+ allowNVIDIA_rpms => $allowNVIDIA_rpms }, sub { $in->standalone::pkgs_install(@_) });
!$::isEmbedded and $in->exit(0);
kill USR1, $::CCPID;
goto begin;