summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--lib/Xconfig/card.pm2
-rw-r--r--lib/Xconfig/proprietary.pm2
3 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 81e7ef1..87f237e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- we don't set ModulesPath to DRI_GLX_SPECIAL value, so we must read it
+ differently so that Xconfig::various::info() is correct (#31326)
+
Version 0.32 - 26 September 2007, by Pascal "Pixel" Rigaux
- monitor-probe-using-X can now return EDIDs. if Xorg find an EDID (whereas
diff --git a/lib/Xconfig/card.pm b/lib/Xconfig/card.pm
index 97b2abd..c65c641 100644
--- a/lib/Xconfig/card.pm
+++ b/lib/Xconfig/card.pm
@@ -40,7 +40,7 @@ sub from_raw_X {
my $card = {
use_DRI_GLX => eval { any { /dri/ } $raw_X->get_modules },
- DRI_GLX_SPECIAL => first($raw_X->get_ModulePaths),
+ DRI_GLX_SPECIAL => $device->{Driver} eq 'nvidia' && eval { any { $_ eq 'glx' } $raw_X->get_modules },
%$device,
if_($device->{Driver} eq 'nvidia',
DriverVersion =>
diff --git a/lib/Xconfig/proprietary.pm b/lib/Xconfig/proprietary.pm
index aace9fe..9205c5c 100644
--- a/lib/Xconfig/proprietary.pm
+++ b/lib/Xconfig/proprietary.pm
@@ -80,7 +80,7 @@ sub may_use_Driver2 {
-e "$::prefix$libglx_path/libglx.so" or log::l("special NVIDIA libglx missing"), return;
log::explanations("Using specific NVIDIA driver and GLX extensions");
- $card2->{DRI_GLX_SPECIAL} = $libglx_path;
+ $card2->{DRI_GLX_SPECIAL} = 1;
$card2->{Options}{IgnoreEDID} = 1 if $card2->{DriverVersion} ne '-current';
$card2;
} elsif ($card2->{Driver} eq 'fglrx') {