summaryrefslogtreecommitdiffstats
path: root/lib/Xconfig/proprietary.pm
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-01-04 18:31:50 +0000
committerThierry Vignaud <tv@mageia.org>2012-01-04 18:31:50 +0000
commitaa3468008cfb0adad5c8ee20b5cb7f32045c4496 (patch)
treea8d0cdb592cbd44b3ee8289ada8aeddd89b4d469 /lib/Xconfig/proprietary.pm
parentb028f9b7a39efdc6fafce0b60269432ac299aace (diff)
downloaddrakx-kbd-mouse-x11-aa3468008cfb0adad5c8ee20b5cb7f32045c4496.tar
drakx-kbd-mouse-x11-aa3468008cfb0adad5c8ee20b5cb7f32045c4496.tar.gz
drakx-kbd-mouse-x11-aa3468008cfb0adad5c8ee20b5cb7f32045c4496.tar.bz2
drakx-kbd-mouse-x11-aa3468008cfb0adad5c8ee20b5cb7f32045c4496.tar.xz
drakx-kbd-mouse-x11-aa3468008cfb0adad5c8ee20b5cb7f32045c4496.zip
(readCardsDB,install_server,handle_FIRMWARE) handle new DRIVER2_NO_FIRMWARE and FIRMWARE keywords
thus enabling to handle drivers needing firmware (fixes mga#1471, mga#3421)
Diffstat (limited to 'lib/Xconfig/proprietary.pm')
-rw-r--r--lib/Xconfig/proprietary.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Xconfig/proprietary.pm b/lib/Xconfig/proprietary.pm
index 8fd701f..f4fb0c4 100644
--- a/lib/Xconfig/proprietary.pm
+++ b/lib/Xconfig/proprietary.pm
@@ -47,6 +47,21 @@ sub handle_DRIVER2_NO_SSE {
}
}
+sub handle_FIRMWARE {
+ my ($do_pkgs, $card) = @_;
+
+ my $pkg = $card->{FIRMWARE} or return;
+
+ $do_pkgs->is_installed($pkg) || $do_pkgs->install($pkg) and return;
+
+ if ($card->{DRIVER2_NO_FIRMWARE}) {
+ log::l("$card->{Driver2} need a firmware to work, switching back to $card->{DRIVER2_NO_FIRMWARE}");
+ $card->{Driver2} = $card->{DRIVER2_NO_FIRMWARE};
+ } else {
+ log::l("$card->{Driver2} needs a firmware to work smoothly/better (eg: 3D, KMS) but will still work");
+ }
+}
+
sub pkgs_for_Driver2 {
my ($Driver2, $do_pkgs) = @_;