summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2008-03-11 13:50:14 +0000
committerPascal Rigaux <pixel@mandriva.com>2008-03-11 13:50:14 +0000
commitdcb63e5dffda418a6364955b6a524e31120cba9d (patch)
treefe95fa81e28e06f37bf76b76393fd10f225c4df0
parent6daaf9c13c8a5bf8eb0fca78a2cf3672d62b1a89 (diff)
downloaddrakx-kbd-mouse-x11-dcb63e5dffda418a6364955b6a524e31120cba9d.tar
drakx-kbd-mouse-x11-dcb63e5dffda418a6364955b6a524e31120cba9d.tar.gz
drakx-kbd-mouse-x11-dcb63e5dffda418a6364955b6a524e31120cba9d.tar.bz2
drakx-kbd-mouse-x11-dcb63e5dffda418a6364955b6a524e31120cba9d.tar.xz
drakx-kbd-mouse-x11-dcb63e5dffda418a6364955b6a524e31120cba9d.zip
- XFdrake
o handle DRIVER2_NO_SSE (from Cards+), needed by nvidia-current requiring SSE
-rw-r--r--NEWS1
-rw-r--r--lib/Xconfig/card.pm2
-rw-r--r--lib/Xconfig/proprietary.pm13
3 files changed, 16 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index dfe4faf..f286301 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@
o if the EDID gives a valid 16/10 preferred resolution (even if duplicated),
but no HorizSync/VertRefresh, use a generic flat panel
HorizSync/VertRefresh (needed for edid.lcd.dell-inspiron-6400, #37971)
+ o handle DRIVER2_NO_SSE (from Cards+), needed by nvidia-current requiring SSE
Version 0.49 - 28 February 2008
diff --git a/lib/Xconfig/card.pm b/lib/Xconfig/card.pm
index c65c641..5ad3179 100644
--- a/lib/Xconfig/card.pm
+++ b/lib/Xconfig/card.pm
@@ -294,6 +294,7 @@ sub install_server {
if ($card->{Driver2}) {
require Xconfig::proprietary;
+ Xconfig::proprietary::handle_DRIVER2_NO_SSE($card);
my @pkgs = Xconfig::proprietary::pkgs_for_Driver2($card->{Driver2}, $do_pkgs);
if (@pkgs && (!$o_in || $o_in->ask_yesorno('', formatAlaTeX(N("There is a proprietary driver available for your video card which may support additional features.
Do you wish to use it?")), 1))) {
@@ -461,6 +462,7 @@ sub readCardsDB {
CHIPSET => sub { $card->{Chipset} = $val },
DRIVER => sub { $card->{Driver} = $val },
DRIVER2 => sub { $card->{Driver2} = $val },
+ DRIVER2_NO_SSE => sub { $card->{DRIVER2_NO_SSE} = $val },
NEEDVIDEORAM => sub { $card->{needVideoRam} = 1 },
DRI_GLX => sub { $card->{DRI_GLX} = 1 if $card->{Driver} },
DRI_GLX_EXPERIMENTAL => sub { $card->{DRI_GLX_EXPERIMENTAL} = 1 if $card->{Driver} },
diff --git a/lib/Xconfig/proprietary.pm b/lib/Xconfig/proprietary.pm
index a048717..e31b7ea 100644
--- a/lib/Xconfig/proprietary.pm
+++ b/lib/Xconfig/proprietary.pm
@@ -33,6 +33,19 @@ sub install_matrox_hal {
rm_rf("$tmpdir/$dir_in_tar");
}
+sub handle_DRIVER2_NO_SSE {
+ my ($card) = @_;
+
+ $card->{DRIVER2_NO_SSE} or return;
+
+ require detect_devices;
+ if (!detect_devices::has_cpu_flag('sse')) {
+ log::l("$card->{Driver2} need a processor featuring SSE, switching back to $card->{DRIVER2_NO_SSE}");
+ $card->{Driver2} = $card->{DRIVER2_NO_SSE};
+ }
+}
+
+
sub pkgs_for_Driver2 {
my ($Driver2, $do_pkgs) = @_;