Fedora 13 upgrade woes, another problem with nvidia.
I just upgraded to Fedora 13, all went smoothly.. or so I thought. When it finally became time login to my new system I got a error saying ksmserver wouldn’t start, and my session would then close and throw me back to the login screen.
Turning to a console I decided to run ‘ksmserver’ and see what errors I got, sure enough it failed. There was a mismatch between the versions of libGL.so and libGLCore.so.
The libGL.so being used was offered by the “mesa-libGL” package, the other the “kmod-nvidia” package. I thought this was odd, should it be using the mesa libGL? I dunno, what I do know is the nvidia package does install nvidia’s own libGL.so library.. maybe the package was suppose to set up the links? Maybe the mesa one is suppose to be compatible?
Anyway this is how the linking looked:
# ls -l /usr/lib64/libGL.so*
lrwxrwxrwx. 1 root root 10 May 31 16:06 /usr/lib64/libGL.so -> libGL.so.1
lrwxrwxrwx. 1 root root 15 Jun 1 10:43 /usr/lib64/libGL.so.1 -> libGL.so.190.42
-rwxr-xr-x. 1 root root 439952 May 1 10:38 /usr/lib64/libGL.so.1.2
-rwxr-xr-x. 1 root root 928808 Dec 11 09:43 /usr/lib64/libGL.so.190.42
So I linked ‘libGL.so.1 to the nvidia one:
cd /usr/lib64
unlink libGL.so.1
ln -sf /usr/lib64/nvidia/libGL.so.1 libGL.so.1
So it looks like:
# ls -l /usr/lib64/libGL.so*
lrwxrwxrwx. 1 root root 10 May 31 16:06 /usr/lib64/libGL.so -> libGL.so.1
lrwxrwxrwx. 1 root root 28 Jun 1 11:00 /usr/lib64/libGL.so.1 -> /usr/lib64/nvidia/libGL.so.1
-rwxr-xr-x. 1 root root 439952 May 1 10:38 /usr/lib64/libGL.so.1.2
-rwxr-xr-x. 1 root root 928808 Dec 11 09:43 /usr/lib64/libGL.so.190.42
I restarted X (just to be on the safe side) and logged in… problem solved!
NOTE: To restart X under fedora you just kill the kdm or gdm process as X is spawned as a part of inittab (pkill kdm). Unlike a debian based system in which it’s a init script (/etc/init.d/kdm restart).
It’s a bit of a hack, and hopefully it will be fixed properly, but here is at least a solution that works!
thanks a lot, this solved my problem as well. I’m not sure if there is a better way to do it, but it works!