summaryrefslogtreecommitdiffstats
path: root/perl-install
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 /perl-install
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)
Diffstat (limited to 'perl-install')
-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});