summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xperl-install/standalone/service_harddrake12
1 files changed, 9 insertions, 3 deletions
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index a3d3f7d15..a53aa9d55 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -75,11 +75,17 @@ sub schedule_warn_about_switch() {
}
my $lib = arch() =~ /x86_64/ ? "lib64" : "lib";
+
+sub find_xorg_driver {
+ my ($new_driver) = @_;
+ # nvidia driver has special place:
+ -e "/usr/$lib/xorg/modules/drivers/${new_driver}_drv.so"
+ || -e "/usr/$lib/xorg/extra-modules/${new_driver}_drv.so";
+}
+
sub switch_x_driver {
my ($old_driver, $new_driver, $reason) = @_;
- # nvidia driver has special place:
- if (!-e "/usr/$lib/xorg/modules/drivers/${new_driver}_drv.so"
- && !-e "/usr/$lib/xorg/extra-modules/${new_driver}_drv.so") {
+ if (!find_xorg_driver($new_driver)) {
log::explanations("would switch X.org driver from '$old_driver' to '$new_driver' ($reason); but new driver is not installed");
return;
}