no display: Xorg, Nvidia driver broken after Etch update; Failed to load module "glx"
DebianThis forum is for the discussion of Debian Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
no display: Xorg, Nvidia driver broken after Etch update; Failed to load module "glx"
After updating a system with Debian Etch, Xorg stopped to work. Even recompiling kernel and reinstalling driver didn't help. The problem was that Xorg couldn't load the glx library properly.
When starting Xorg the following was displayed
$startx
...
(EE) Failed to load module "glx" (a required submodule could not be loaded, 0)
(EE) Failed to load module "nvidia" (module does not exist, 0)
(EE) No devices detected.
Fatal server error:
no screens found
XIO: fatal IO error 104 (Connection reset by peer) on X server ":0.0"
after 0 requests (0 known processed) with 0 events remaining.
-Also, /var/log/messages contained error about unable to load GLcore and that it couldn't load
/usr/lib/xorg/modules/extensions/libglx.so and NVIDIA driver.
The root cause seems to ba that the latest Xorg changes the directory hierarchy and the latest NVIDIA 8756 driver don't seems to know about it. It looks like the nvidia driver install itself in /usr/X11R6 but the new Xorg expect it in /usr/lib/xorg/drivers. The fix for the problem seems to be to create softlink where the Xorg wants to find the files. Here is what fixed the problem;
What version of Xorg did you update to? Xorg 7.1 is known to break the nvidia and ati binary drivers. Nvidia has said they will support the new Xorg in their 9xxx drivers coming out soon.
The reason for that is the nvidia drivers are installed into /usr/lib/xorg/lib when you use that flag.
I simlinked
/usr/lib/xorg/lib/modules/drivers/nvidia_drv.* into /usr/lib/xorg/modules/drivers
And
/usr/lib/xorg/lib/modules/extensions/libglx.so.1.0.XXX (whatever yours happens to be) into /usr/lib/xorg/modules/extensions/libglx.so
This worked for me, but I got the clue from the first poster .
I installed nvidia's drivers with the --x-module-path and got the files in the correct /usr/lib/xorg/modules directory. Immidiately after the .run installation the nvidia driver worked. However, when I started up my comp the next time I got some message "Removing nvidia tls" (or similar) during boot when it started the MTA, apache, mysql as usual (just before the login). Now I am not able to start X
The Xorg log file does not give me much, since it stops at "(II) Initializing extension GLX" indicating it might be sth with that...
This is what makes this forum the outstanding resource that it is....
I normally use Synaptics once or twice a week just to keep my Etch install up-to-date. I noticed this morning that it was a rather large update and include a number of xorg files to upgrade. Whenever I see xorg upgrade files I am a little cautious, especially with a testing distro like etch. However, I proceeded with the upgrade (166 total package upgrades) and WHAM! NO X. I was not aware that the nVidia drivers would be affected.
I immediately came to this forum because I knew I must not have been the only one affected, and sure enough, this post contained all the information I needed to fix the problem (actually, the link provided by simon w was all I needed. I simply re-installed the NVIDIA driver with the new path names as instructed on that link and all was fixed).
Thanks to everyone who posted here for saving me hours of investigative work.
I was having immense difficulty getting the nvidia kernel module installed. I have just recounted how I actually got the thing compiled, for the other search-loving noobs like me(and perhaps my future self), in this post, and I'm continuing the adventure here because this is where I found the answer to the question of how to actually get the damn thing to work after successfully compiling it.
I was getting the same errors as the OP, except it was saying glx and nvida both did not exist. This is on a basically fresh netinst (base, desktop) install of etch b3. The OP's solution seemed like it might be the answer.
--x-module-path seemed like it might be too. the only thing was, nvidia_drv.o and .so were both already in /usr/lib/xorg/modules/drivers, and a symlink(libglx.so) to libglx.so.1.0.8774 was already in /usr/lib/xorg/modules/extensions. So I took I took a wild stab and did the opposite of the OP.
I just upgraded both my etch machines, and I started having problems with glx. On the one with an old MX-400 card, I started noticing that xscreensaver was rebooting X. I reran the nvidiaetc.run app without the "--x-module-path=/usr/lib/xorg/modules/" bit and that seemed to fix it.
On the machine with the Ti-500 card, I continue to have problems with the nvidia tool dying when I click on the glx info line. I think it was a segmentation fault. To be honest, I just converted this machine to linux, so I'm not sure that didn't always happen. I'd like to have a fix, though, if anyone has one.
I use Etch with a nvidia card and the problem I have seen is that the packet xserver-xorg-core writes /usr/lib/xorg/modules/extensions/libglx.so, but the nvidia script puts instead a symlink to the compiled library, so each time that packet is updated I must delete the file libglx.so and recompile the nvidia library.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.