Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

nvidia-drivers-340.76 Direct Rendering on ION card


esa1966

Question

Hi,

I spend hours to find a solution but without success.

 

Last emerge installed the NVIDIA drivers 340.76.

My last working drivers was : x11-drivers/nvidia-drivers-340.58 or 340.65 (ION card support only version below 341.0.0 ).

 

After this :

GLX is no more loaded ? in Xorg.0.log I can see :

 

(EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so: /usr/lib/xorg/modules/extensions/libglx.so$

[   314.201] (II) UnloadModule: "glx"

(EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X

[   314.223] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X

[   314.223] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If

[   314.223] (EE) NVIDIA(0):     you continue to encounter problems, Please try

[   314.223] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.

 

As a consequence, XBMC doesn?t want to start.

 

In folder : ?/usr/lib/xorg/modules/extensions? the link point to the old library :

lrwxrwxrwx 1 root root   50 Apr 11 10:57 libglx.so -> ../../../opengl/nvidia/extensions/libglx.so.340.65

The new library is : libglx.so.340.76

/usr/lib/opengl/nvidia/extensions
localhost extensions # ls -la
total 8124
drwxr-xr-x 2 root root    4096 Apr 11 11:09 .
drwxr-xr-x 4 root root    4096 Apr 11 11:09 ..
lrwxrwxrwx 1 root root      11 Apr 11 11:09 libglx.so -> libglx.so.1
lrwxrwxrwx 1 root root      16 Apr 11 11:09 libglx.so.1 -> libglx.so.340.76
-rwxr-xr-x 1 root root 8303476 Apr 11 11:09 libglx.so.340.76

I have done a new link :

ln -s ../../../opengl/nvidia/extensions/libglx.so.340.76 libglx.so

 

But XBMX doesn?t want to start.

 

I started X and check with glxgears :  

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Try to find the cause :
export LIBGL_DEBUG=verbose

glxinfo gives :

libGL: screen 0 does not appear to be DRI3 capable
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL: Can't open configuration file /root/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals foundmso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt">libGL error: failed to load driver: swrast

I reinstall ?X11-drivers/nvidia-drivers-340.76?

 

 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/3.2.1-gentoo-r2/build
 * Found sources for kernel version:
 *     3.2.1-gentoo-r2
 * Checking for suitable kernel configuration options...                                                         [ ok ]
>>> Emerging (1 of 1) x11-drivers/nvidia-drivers-340.76
>>> Installing (1 of 1) x11-drivers/nvidia-drivers-340.76
>>> Jobs: 1 of 1 complete                           Load avg: 1.13, 0.82, 0.42
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
>>> package: media-libs/glew-1.12.0
 *  - /usr/lib/libGLEW.so.1.10
 *  - /usr/lib/libGLEW.so.1.10.0
 *      used by /usr/lib/xbmc/xbmc.bin (media-tv/xbmc-13.2-r1)
Use emerge @preserved-rebuild to rebuild packages using these libraries

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

 

Then : emerge @preserved-rebuild

It will reinstall XBMC :

Emerging (1 of 1) media-tv/xbmc-13.2-r1

 

But still XBMC not starting because of no Direct Rendering.

 

I can't do a downgrade to the last version 340.58 or 340.65 because it doesn't exist anymore.

 

PS : When I start XMING on my windows computer then I have direct rendering :

localhost ~ # glxinfo | grep direct
direct rendering: Yes

Thank for help.

 

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

After 8 hours of debug with different NVIDIA drivers, I find a solution.

Now, the question is why it happens ?

I think I will block the next upgrade because I spend a lot of time with NVIDIA Drivers (for XBMC), PERL (for SqueezeBox).

 

Solution with nvidia-331.113.

This is an old drivers but I was able to make it running again so I place the solution :

 

Check that all the links libGL.xxx link to the latest nvidia version :

ldconfig -p | grep libGL

        libGLU.so.1 (libc6) => /usr/lib/libGLU.so.1

        libGLU.so (libc6) => /usr/lib/libGLU.so

        libGLEWmx.so.1.12 (libc6) => /usr/lib/libGLEWmx.so.1.12

        libGLEWmx.so (libc6) => /usr/lib/libGLEWmx.so

        libGLEW.so.1.12 (libc6) => /usr/lib/libGLEW.so.1.12

        libGLEW.so (libc6) => /usr/lib/libGLEW.so

        libGL.so.1 (libc6) => /usr/lib/libGL.so.1

        libGL.so (libc6) => /usr/lib/libGL.so

 

Then, check the folder ?/usr/lib? and file ?libGL*? :

 

cd /usr/lib/

 

localhost lib # ls -al libGL*

lrwxrwxrwx 1 root root     14 Apr  7 10:14 libGL.so -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     14 Apr  7 10:14 libGL.so.1 -> libGL.so.1.2.0

-rwxr-xr-x 1 root root 610168 Apr  7 10:11 libGL.so.1.2.0

lrwxrwxrwx 1 root root     40 Jan 30 02:51 libGLESv1_CM.so -> opengl/nvidia/lib/libGLESv1_CM.so.340.65

lrwxrwxrwx 1 root root     37 Jan 30 02:51 libGLESv2.so -> opengl/nvidia/lib/libGLESv2.so.340.65

lrwxrwxrwx 1 root root     17 Feb 12 02:05 libGLEW.so -> libGLEW.so.1.12.0

lrwxrwxrwx 1 root root     17 Feb 12 02:05 libGLEW.so.1.12 -> libGLEW.so.1.12.0

-rwxr-xr-x 1 root root 472296 Feb 12 02:04 libGLEW.so.1.12.0

lrwxrwxrwx 1 root root     19 Feb 12 02:05 libGLEWmx.so -> libGLEWmx.so.1.12.0

lrwxrwxrwx 1 root root     19 Feb 12 02:05 libGLEWmx.so.1.12 -> libGLEWmx.so.1.12.0

-rwxr-xr-x 1 root root 427236 Feb 12 02:04 libGLEWmx.so.1.12.0

lrwxrwxrwx 1 root root     15 Apr 10  2014 libGLU.so -> libGLU.so.1.3.1

lrwxrwxrwx 1 root root     15 Apr 10  2014 libGLU.so.1 -> libGLU.so.1.3.1

-rwxr-xr-x 1 root root 579488 Apr 10  2014 libGLU.so.1.3.1

 

Some links are not defined and are linked to the old NVIDIA drivers (libGLESv2.so.340.65) : This is not the problem whit this driver because this links come from newest drivers.

libGLESv1_CM.so -> opengl/nvidia/lib/libGLESv1_CM.so.340.65

libGLESv2.so -> opengl/nvidia/lib/libGLESv2.so.340.65

The solution is to do the following :

  • mv libGL.so.1.2.0 libGL.so.1.2.0-v1
  • ln -s opengl/nvidia/lib/libGL.so.331.113 libGL.so.1.2.0

The result :

lrwxrwxrwx 1 root root     14 Apr  7 10:14 libGL.so -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     14 Apr  7 10:14 libGL.so.1 -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     34 Apr 11 15:36 libGL.so.1.2.0 -> opengl/nvidia/lib/libGL.so.331.113

-rwxr-xr-x 1 root root 610168 Apr  7 10:11 libGL.so.1.2.0-v1

lrwxrwxrwx 1 root root     40 Jan 30 02:51 libGLESv1_CM-v1.so -> opengl/nvidia/lib/libGLESv1_CM.so.340.65

lrwxrwxrwx 1 root root     34 Apr 11 15:50 libGLESv1_CM.so -> opengl/nvidia/lib/libGL.so.331.113

lrwxrwxrwx 1 root root     37 Jan 30 02:51 libGLESv2-v1.so -> opengl/nvidia/lib/libGLESv2.so.340.65

lrwxrwxrwx 1 root root     34 Apr 11 15:51 libGLESv2.so -> opengl/nvidia/lib/libGL.so.331.113

lrwxrwxrwx 1 root root     17 Feb 12 02:05 libGLEW.so -> libGLEW.so.1.12.0

lrwxrwxrwx 1 root root     17 Feb 12 02:05 libGLEW.so.1.12 -> libGLEW.so.1.12.0

-rwxr-xr-x 1 root root 472296 Feb 12 02:04 libGLEW.so.1.12.0

lrwxrwxrwx 1 root root     19 Feb 12 02:05 libGLEWmx.so -> libGLEWmx.so.1.12.0

lrwxrwxrwx 1 root root     19 Feb 12 02:05 libGLEWmx.so.1.12 -> libGLEWmx.so.1.12.0

-rwxr-xr-x 1 root root 427236 Feb 12 02:04 libGLEWmx.so.1.12.0

lrwxrwxrwx 1 root root     15 Apr 10  2014 libGLU.so -> libGLU.so.1.3.1

lrwxrwxrwx 1 root root     15 Apr 10  2014 libGLU.so.1 -> libGLU.so.1.3.1

-rwxr-xr-x 1 root root 579488 Apr 10  2014 libGLU.so.1.3.1

 

In folder : ? /usr/lib/xorg/modules/extensions ? the link point to the old library :

I do : ln -s ../../../opengl/nvidia/extensions/libglx.so.331.113 libglx.so

 

After this, I tried glxgears again and it runs without error.

glxinfo | grep direct give YES

XBMC started again :)

 

Solution with nvidia-drivers-340.76.

Below /usr/lib you must have something like :

libGL.so -> libGL.so.1.2.0

libGL.so.1 -> libGL.so.1.2.0

libGL.so.1.2.0 -> opengl/nvidia/lib/libGL.so.331.113

 

But, after installed 340.76 you have only a missing link :

 

libGL.so -> libGL.so.1.2.0

 

I recreate the two links :

 

ln -s libGL.so.1.2.0 libGL.so.1

ln -s opengl/nvidia/lib/libGL.so.340.76 libGL.so.1.2.0

 

now I have : ls -al libGL*

 

lrwxrwxrwx 1 root root     14 Apr  7 10:14 libGL.so -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     14 Apr 11 16:31 libGL.so.1 -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     33 Apr 11 16:26 libGL.so.1.2.0 -> opengl/nvidia/lib/libGL.so.340.76

-rwxr-xr-x 1 root root 610168 Apr  7 10:11 libGL.so.1.2.0-v1

lrwxrwxrwx 1 root root     40 Jan 30 02:51 libGLESv1_CM-v1.so -> opengl/nvidia/lib/libGLESv1_CM.so.340.65

lrwxrwxrwx 1 root root     37 Jan 30 02:51 libGLESv2-v1.so -> opengl/nvidia/lib/libGLESv2.so.340.65

 

I also do this but I don?t think it?s important :

 

ln -s opengl/nvidia/lib/libGLESv1_CM.so.340.76 libGLESv1_CM.so

ln -s opengl/nvidia/lib/libGLESv2.so.340.76 libGLESv2.so

 

In folder : /usr/lib/xorg/modules/extensions

 

ln -s ../../../opengl/nvidia/extensions/libglx.so.340.76 libglx.so

libglx.so -> ../../../opengl/nvidia/extensions/libglx.so.340.76

 

+ Reboot

 

Then I startx and run glxgears and it started without error.

glxinfo | grep direct gives :

direct rendering: Yes
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,

 

Start XBMC and it runs !

:)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...