20

I have an Asus UL30JT. It has Nvidia Optimus technology which I am not really interested in. I currently rarely use this laptop with it being connected to power. And I want to be able to play video at high res, play games and do some OpenCL coding.

In the BIOS I switched it to NVIDIA only (non windows 7). Previously, this worked just fine, using the nvidia driver.

After upgrading everything was broken. I have added nomodeset and blacklist.nouveau=1 as kernel options. The nvidia drivers install without error. However they are not found/used.

jockey-text -l
kmod:nvidia_310_updates - nvidia_310_updates (Proprietary, Enabled, Not in use)
kmod:nvidia_304_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
kmod:nvidia_313_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
kmod:nvidia_310 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)
kmod:nvidia_304 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Proprietary, Disabled, Not in use)

Trying to load the module manually fails as well.

sudo modprobe nvidia
FATAL: Module nvidia not found.

Xorg.0.log show the following:

[    12.028] Loading extension GLX
[    12.028] (II) LoadModule: "nvidia"
[    12.037] (WW) Warning, couldn't open module nvidia
[    12.037] (II) UnloadModule: "nvidia"
[    12.037] (II) Unloading nvidia
[    12.037] (EE) Failed to load module "nvidia" (module does not exist, 0)
[    12.037] (==) Matched nvidia as autoconfigured driver 0
[    12.037] (==) Matched nouveau as autoconfigured driver 1
[    12.037] (==) Matched vesa as autoconfigured driver 2
[    12.037] (==) Matched modesetting as autoconfigured driver 3
[    12.038] (==) Matched fbdev as autoconfigured driver 4
[    12.038] (==) Assigned the driver to the xf86ConfigLayout
[    12.038] (II) LoadModule: "nvidia"
[    12.038] (WW) Warning, couldn't open module nvidia
[    12.038] (II) UnloadModule: "nvidia"
[    12.038] (II) Unloading nvidia
[    12.038] (EE) Failed to load module "nvidia" (module does not exist, 0)
[    12.038] (II) LoadModule: "nouveau"
[    12.039] (WW) Warning, couldn't open module nouveau

I have installed the kernel headers, of the correct kernel. I verified that the kernel options are in the grub configuration. I have purged all nvidia packages and tried to reinstall (multiple times...)

Currently I am at a loss. I have checked the following question: Nvidia driver installation error But nothing there worked for me.

4 Answers 4

31

Okay, I found out of it.

I did a full apt-get purge nvidia* and apt-get dist-upgrade etc. But the thing that fixed it was actually to set the alternative correct. I guess this would've worked from the start. So here's how:

$ sudo update-alternatives --config x86_64-linux-gnu_gl_conf

  Selection    Path                                       Priority   Status
------------------------------------------------------------
  0            /usr/lib/nvidia-310/ld.so.conf              9702      auto mode
  1            /usr/lib/nvidia-310/ld.so.conf              9702      manual mode
* 2            /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf   500       manual mode

As you see, for me, this setting was wrongly set. So I used 0 instead, and lo' and behold. Lots more nvidia- utilities in the PATH.

If you're not on 64-bit, then use i386 instead of x86_64.

2
  • 3
    purge nvidia* and re-install-ing nvidia-current fixed the issue for me. Thanks.
    – Geoff
    Aug 20, 2013 at 13:49
  • shouldn't this be apt-get purge "nvidia*"
    – benathon
    Nov 13, 2019 at 0:08
10

Install latest nvidia drivers

sudo apt-get install nvidia-313-updates

Generate /etc/X11/xorg.conf by executing

sudo nvidia-xconfig

Then execute

sudo software-properties-gtk which will show you a window like this

enter image description here

Select the latest driver from that list and then do

sudo reboot

14
  • 1
    This fails at the second step for me (sudo nvidia-xconfig) sudo: nvidia-xconfig: command not found May 2, 2013 at 9:45
  • Sorry. Included steps to install nvidia-xconfig May 2, 2013 at 10:24
  • E: Unable to locate package nvidia-xconfig May 2, 2013 at 10:36
  • No worries. Please skip the nvidia-xconfig step. May 2, 2013 at 13:25
  • 1
    Did all of the above in one session (excluding the xconfig step), no avail. Still can't load the nvidia module. May 2, 2013 at 13:56
2

For those of you that end up in this thread when shooting in the Google dark because nvidia drivers are loaded, but all graphics in X go through the CPU instead of the GPU.

Symptoms

  • nvidia drivers were loaded correctly (lsmod | grep nvidia)
  • under X, nvidia-settings was reporting no issues accessing my GTX 680 GPU

BUT

  • any graphics-intensive program would drive CPU load unusually high, instead of the expected load on the GPU. For example, games would stutter even at an animated main menu, glxgears (from the mesa-utils package) would load the CPU up to 10%, unigine load test would show FPS around 2 and lock up on first scene.

The misleading factor was that nvidia-settings was not reporting any problems accessing the GPU. I did what most threads suggested (purged and reinstalled nvidia drivers), but to no effect. In desperation I finally checked Xorg.0.log in /var/log: it turned out that X was loading it's own libglx.so module instead of nvidia's. Now that I was asking the right question, I got the proper answer (Xorg loads wrong libglx.so).

Solution

Originally the Files section in my /etc/X11/xorg.conf was empty:

Section "Files"
EndSection 

I found where nvidia keeps its own libglx.so (more precisely, I found where it keeps a symlink to it). The solution is to tell X to first look for modules in nvidia's path, and then in Xorg's path, so the Files section now looks like this:

Section "Files"
    ModulePath "/usr/lib/nvidia"
    ModulePath "/usr/lib/xorg/modules"
EndSection 

I'm on Debian, but as Ubuntu is based on Debian, a similar approach should work on Ubuntu systems.

2
  • thank you, I was already banging my head against the desk with nvidia-legacy-390xx
    – MariusM
    May 27, 2019 at 13:57
  • It worked for me as well, but the path was /usr/lib/x86_64-linux-gnu/nvidia/xorg instead of /usr/lib/nvidia (2 monitors setup, nvidia 2060 RTX Super, driver 470). I had this issue with module loading in 430, then in 440 and 450 drivers it disappeared, and then in 460 and 470 reappeared.
    – dmytroy
    Aug 6, 2021 at 22:09
1

I experienced problem with nvidia module not found after update too. Just black screen - no grafics at all. I have tried different commands, so maybe I miss some important actions, but I provided that sequence, and it helps:

boot Ubuntu recovery, root shell

mount -o remount,rw /
mountall
<log in as user>
sudo  apt-get remove nvidia-340 nvidia-340-updates

then reboot the computer. I have already installed nvidia-331 &Co installed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .