The problem you are reporting has nothing to do with 3D. X runs in 2D for the desktop (mostly). So making sure you have all libs needed for glxgears might be getting a little ahead of yourself.
libICE, on the other hand, is _required_. Here is the output from my Slack9 box:
root@douglass:/# find /usr -iname libICE*
root@douglass:/# grep libICE /var/log/packages/*
And here it is for libSM:root@douglass:/# find /usr -iname libSM.*
root@douglass:/# grep libSM /var/log/packages/*
BTW, I've noticed that this forum wraps long lines, which seem to have caused others to have problems reading what shoud be on line.
If it were me, I would back up my XF86Config, (like this:
cp /etc/X11/XF86Config /etc/X11/XF86Config.current )
and reinstall XFree. (like this:
upgradepkg --install-new <slack-mnt-point>/slackware/x/*.tgz )
You may need to restore your XF86Config file, but I don't think so. Then try again.
As for libglut.so, and libGLX.so, please look further up this thread and read the post about symlinking files with these names to the nVidia GL library so that it looks like this:
root@douglass:/usr/X11R6/lib# ls -l libGLX.so
lrwxrwxrwx 1 root root 17 Mar 31 15:20 libGLX.so -> /usr/lib/libGL.so
root@douglass:/usr/X11R6/lib# ls -l libglut.so
lrwxrwxrwx 1 root root 17 Mar 31 15:20 libglut.so -> /usr/lib/libGL.so
I linked mine to libGL.so so that I don't have to recreate the link every time there is a new nvidia driver.