jasealpers n00b
Joined: 02 Jan 2006 Posts: 29
|
Posted: Wed Dec 21, 2011 5:51 pm Post subject: XvMC Nvidia Symlinks |
|
|
Hello,
Recently I had a problem with XvMC and my old nvidia driver in which I was unable to load the libXvMCNVIDIA.so.96.43.20 library. Somehow my /etc/X11/XvMCConfig file got set to libXvMCNVIDIA_dynamic.so.1 which did not exist on my system.
I'm running with nvidia-drivers-96.43.20 as my card is a bit old. Looking through the ebuilds, I see that the newer versions of the driver create this symlink. For example, 285.05.09-r1 has this...
Code: |
# XvMC driver
dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
die "failed to install libXvMCNVIDIA.so"
dolib.so ${NV_X11}/libXvMCNVIDIA.so.${NV_SOVER} || \
die "failed to install libXvMCNVIDIA.so"
dosym libXvMCNVIDIA.so.${NV_SOVER} \
/usr/$(get_libdir)/libXvMCNVIDIA.so.1 || \
die "failed to create libXvMCNVIDIA.so symlink"
dosym libXvMCNVIDIA.so.1 /usr/$(get_libdir)/libXvMCNVIDIA.so || \
die "failed to create libXvMCNVIDIA.so symlink"
[b]dosym libXvMCNVIDIA.so.${NV_SOVER} \
/usr/$(get_libdir)/libXvMCNVIDIA_dynamic.so.1 || \
die "failed to create libXvMCNVIDIA_dynamic.so symlink"[/b]
|
The libXvMCNVIDIA_dynamic.so.1 symlink is missing in version 96.43.20. Here is the corresponding part of that ebuild...
Code: |
# XvMC driver
dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
die "failed to install libXvMCNVIDIA.so"
dolib.so ${NV_X11}/libXvMCNVIDIA.so.${NV_SOVER} || \
die "failed to install libXvMCNVIDIA.so"
dosym libXvMCNVIDIA.so.${NV_SOVER} /usr/$(get_libdir)/libXvMCNVIDIA.so || \
die "failed to create libXvMCNVIDIA.so symlink"
|
The upshot of this is that I was missing a symlink that eselect xvmc looks for (and in fact "eselect xvmc list" would only give me xorg-x11). So, I couldn't set xvmc to nvidia from eselect. As a workaround, I modified xvmc.eselect to include an entry called "nvidia-96" for the .so library I have.
Code: |
XVMCLIBS=(
"libXvMCNVIDIA_dynamic.so.1"
"libXvMCNVIDIA.so"
"libXvMC.so.1"
"libviaXvMC.so.1"
"libchromeXvMC.so.1"
"libviaXvMCPro.so.1"
"libchromeXvMCPro.so.1"
"libI810XvMC.so.1"
"libAMDXvBA.so.1" )
XVMCPRETTY=(
"nvidia"
"nvidia-96"
"xorg-x11"
"via"
"openchrome"
"via-pro"
"openchrome-pro"
"intel"
"ati" )
|
Then in researching this, I came across some information that ldconfig should have created the libXvMCNVIDIA_dynamic.so.1 symlink. So, I ran it and now the link is there. What did I miss? Revdep-rebuild didn't suggest anything. Why do only the newer nvidia-drivers ebuilds create this symlink? Why did I have to run ldconfig manually?
Thanks in advance for the help!
Jase |
|