summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/service_harddrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/service_harddrake')
-rwxr-xr-xperl-install/standalone/service_harddrake24
1 files changed, 12 insertions, 12 deletions
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index 0aac7e3f1..a31a9de49 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -260,18 +260,6 @@ foreach my $card (@cards) {
}
}
-if (!$reboot_needed && text2bool($cfg{HANDLE_KMS_BOOT_CONFIG})) {
- if (-x "/sbin/display_driver_helper" && system("display_driver_helper", "--check-loaded") != 0) {
- # incorrect driver is loaded, X.org can't start (e.g. proprietary driver loaded while free driver in use,
- # or free driver loaded while vesa is configured).
- $reboot_needed |= Xconfig::various::setup_kms();
- } elsif (!$reboot_needed && -e "/dev/.late_kms") {
- # initrd didn't load the KMS driver; non-fatal but ugly, fix it for next boot
- unlink("/dev/.late_kms");
- Xconfig::various::setup_kms();
- }
-}
-
my $is_globetrotter = -f '/usr/sbin/mdkmove';
my (%config, $wait);
@@ -430,6 +418,18 @@ foreach my $hw_class (@harddrake::data::tree) {
log::explanations("created file $last_boot_config");
Storable::store(\%config, $last_boot_config);
+if (!$reboot_needed && text2bool($cfg{HANDLE_KMS_BOOT_CONFIG})) {
+ if (-x "/sbin/display_driver_helper" && system("display_driver_helper", "--check-loaded") != 0) {
+ # incorrect driver is loaded, X.org can't start (e.g. proprietary driver loaded while free driver in use,
+ # or free driver loaded while vesa is configured).
+ $reboot_needed |= Xconfig::various::setup_kms();
+ } elsif (!$reboot_needed && -e "/dev/.late_kms") {
+ # initrd didn't load the KMS driver; non-fatal but ugly, fix it for next boot
+ unlink("/dev/.late_kms");
+ Xconfig::various::setup_kms();
+ }
+}
+
# Handle $reboot_needed from earlier:
my ($reply, $timedout);
# Don't do autoreboot if X was somehow already started (not normally the case).