diff options
Diffstat (limited to 'lib/Xconfig')
-rw-r--r-- | lib/Xconfig/various.pm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm index ed43386..d98df16 100644 --- a/lib/Xconfig/various.pm +++ b/lib/Xconfig/various.pm @@ -413,9 +413,13 @@ sub setup_kms() { sub { my ($bootloader) = @_; my $kms_ok = run_program::rooted($::prefix, "/sbin/display_driver_helper", "--is-kms-allowed") || 0; - return if $kms_ok != bootloader::get_append_simple($bootloader, "nokmsboot"); + my $nokmsboot = bootloader::get_append_simple($bootloader, "nokmsboot"); + my $nomodeset = bootloader::get_append_simple($bootloader, "nomodeset"); + my $kms_disabled = $nokmsboot || $nomodeset; + return if $kms_ok != $kms_disabled; if ($kms_ok) { - bootloader::remove_append_simple($bootloader, "nokmsboot"); + bootloader::remove_append_simple($bootloader, "nokmsboot") if $nokmsboot; + bootloader::remove_append_simple($bootloader, "nomodeset") if $nomodeset; } else { bootloader::set_append_simple($bootloader, "nokmsboot"); } |