From 3295f10d9c1fb94830c41d0c47361f22b373e1a9 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 6 Oct 2005 12:06:01 +0000 Subject: (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) --- perl-install/Xconfig/card.pm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'perl-install/Xconfig') 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}); -- cgit v1.2.1