summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xperl-install/standalone/service_harddrake33
1 files changed, 12 insertions, 21 deletions
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index 1280ccd83..a17f9484a 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -59,16 +59,12 @@ if (find { $_->{driver} =~ /Card:NVIDIA/ } detect_devices::probeall()) {
# } $_ foreach "/etc/X11/XF86Config-4", "/etc/X11/XF86Config";
} else {
my $done;
- substInFile {
- if (/Driver "nv.+"/) {
- $done = 1;
- log::explanations("switch X.org driver from nvidia to nv");
- s!Driver "nv.+"!Driver "nv"!g;
- }
- } '/etc/X11/xorg.conf';
-
- require Xconfig::card;
- Xconfig::card::libgl_config_and_more({ Driver => 'nv' }) if $done;
+ substInFile { $done ||= s!Driver "nv.*"!Driver "nv"!g } '/etc/X11/xorg.conf';
+ if ($done) {
+ log::explanations("switch X.org driver from nvidia to nv");
+ require Xconfig::card;
+ Xconfig::card::libgl_config_and_more({ Driver => 'nv' });
+ }
}
}
@@ -87,17 +83,12 @@ if (find { $_->{driver} =~ /ATI Radeon/ } detect_devices::probeall()) {
my @cards = Xconfig::card::probe();
my $driver = $cards[0]{Driver};
my $done;
- substInFile {
- if (/Driver "fglrx"/) {
- $done = 1;
- log::explanations("switch X.org driver from fglrx to ati");
- s!Driver "fglrx"!Driver "$driver"!g;
- }
- s!Driver "fglrx"!Driver "$driver"!g;
- } '/etc/X11/xorg.conf';
-
- require Xconfig::card;
- Xconfig::card::libgl_config_and_more({ Driver => $driver });
+ substInFile { $done ||= s!Driver "fglrx"!Driver "$driver"!g } '/etc/X11/xorg.conf';
+ if ($done) {
+ log::explanations("switch X.org driver from fglrx to ati");
+ require Xconfig::card;
+ Xconfig::card::libgl_config_and_more({ Driver => $driver });
+ }
}
}