summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfig/card.pm
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/Xconfig/card.pm
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/Xconfig/card.pm')
-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});