summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2005-10-06 12:06:01 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2005-10-06 12:06:01 +0000
commit3295f10d9c1fb94830c41d0c47361f22b373e1a9 (patch)
tree1dde63b59cad1f4549d2f59fc9d9796858703ecb
parente95828c87cb27490beebf358500b4ac7eb0e5c6c (diff)
downloaddrakx-3295f10d9c1fb94830c41d0c47361f22b373e1a9.tar
drakx-3295f10d9c1fb94830c41d0c47361f22b373e1a9.tar.gz
drakx-3295f10d9c1fb94830c41d0c47361f22b373e1a9.tar.bz2
drakx-3295f10d9c1fb94830c41d0c47361f22b373e1a9.tar.xz
drakx-3295f10d9c1fb94830c41d0c47361f22b373e1a9.zip
(to_raw_X, install_server) fix X11 segfaulting with nvidia driver, aka prevent
loading both Xorg's glx and nvidia's glx (also prevent glixinfo from segfaulting when using nv driver while nvidia packages're installed btw)
-rw-r--r--perl-install/Xconfig/card.pm3
1 files changed, 3 insertions, 0 deletions
diff --git a/perl-install/Xconfig/card.pm b/perl-install/Xconfig/card.pm
index 92ef1b89d..8bfd09158 100644
--- a/perl-install/Xconfig/card.pm
+++ b/perl-install/Xconfig/card.pm
@@ -64,6 +64,7 @@ sub to_raw_X {
if defined $card->{Xinerama};
$raw_X->set_load_module('glx', !$card->{DRI_GLX_SPECIAL} && $card->{Driver} ne 'fbdev'); #- glx for everyone, except proprietary nvidia and fbdev
+ $raw_X->remove_load_module($card->{REMOVE_GLX}) if $card->{REMOVE_GLX};
$raw_X->set_load_module('dri', $card->{use_DRI_GLX} && !$card->{DRI_GLX_SPECIAL});
# This loads the NVIDIA GLX extension module.
@@ -330,6 +331,7 @@ sub install_server {
$card->{Driver} = 'nvidia';
$card->{DRI_GLX_SPECIAL} = $libglx;
$card->{Options}{IgnoreEDID} = 1;
+ $card->{REMOVE_GLX} = "$modules_dir/extensions/libglx.so";
}
}
if ($card->{Driver2} eq 'fglrx' &&
@@ -338,6 +340,7 @@ sub install_server {
log::explanations("Using specific ATI fglrx and DRI drivers");
$card->{Driver} = 'fglrx';
}
+ $card->{REMOVE_GLX} ||= "$modules_dir/extensions/nvidia/libglx.so";
libgl_config($card->{Driver});