(readCardsDB,handle_DRIVER2_NO_SSE) handle new DRIVER2_NEEDS_SSE keyword diff --git a/NEWS b/NEWS index 4efd4ad..d3f1a8c 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- handle drivers needing SSE + Version 0.99 - 18 December 2011 - default to 24bit with QXL driver (16 bit doesn't work) - do not offer to try KMS drivers during installation (mga#3711) diff --git a/lib/Xconfig/card.pm b/lib/Xconfig/card.pm index 133dd08..30a5929 100644 --- a/lib/Xconfig/card.pm +++ b/lib/Xconfig/card.pm @@ -496,7 +497,10 @@ sub readCardsDB { CHIPSET => sub { $card->{Chipset} = $val }, DRIVER => sub { $card->{Driver} = $val }, DRIVER2 => sub { $card->{Driver2} = $val }, + DRIVER2_NEEDS_SSE => sub { $card->{DRIVER2_NEEDS_SSE} = 1 }, DRIVER2_NO_SSE => sub { $card->{DRIVER2_NO_SSE} = $val }, diff --git a/lib/Xconfig/proprietary.pm b/lib/Xconfig/proprietary.pm index 350a116..e718834 100644 --- a/lib/Xconfig/proprietary.pm +++ b/lib/Xconfig/proprietary.pm @@ -37,12 +37,28 @@ sub install_matrox_hal { sub handle_DRIVER2_NO_SSE { my ($card) = @_; - $card->{DRIVER2_NO_SSE} or return; + $card->{DRIVER2_NO_SSE} || $card->{DRIVER2_NEEDS_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}; + my $driver = $card->{DRIVER2_NEEDS_SSE} ? $card->{DRIVER} : $card->{DRIVER2_NO_SSE}; + log::l("$card->{Driver2} need a processor featuring SSE, switching back to $driver"); + $card->{Driver2} = $driver; } }