PDA

View Full Version : NVidia driver, Wine, Counter Strike and textures


dnloreto
04-01-03, 05:48 PM
Hello!

I have a GEF4 Ti4200 128Mb. Distro is Slack8.1 with Full Dropline Gnome.

When I was using XFree4.2, I had wine to play CStrike and all was perfect.

When I upgraded to XFree4.3, I recompiled NVidia drivers, Wine, but CStrike lost its wall textures. I though it was from an incompatibility between old 4xxx driver and new XFree.

But, now I upgraded to the new driver. All is even faster (neer had problems with 4xxx drivers). But counter strike still has no wall textures. I tried the 3xxx drivers but the problem remains. Back to new 4xxx drivers (love them, and also the installer).

So... I gess this might be something on the XFreeConfig86 file that I must set. I did the basics on the README.txt (add module opengl and remove dri and the other, use driver "nvidia"). No other things were modified.

Anyone can tip me? I would really love to be able to see the textures again. See my graffitti on the walls, the blood, etc...

Thank you! Have fun!

HappyGuy

Andy Mecham
04-01-03, 06:14 PM
Are you sure you don't have any stray Mesa libGL's around somewhere?

--andy

dnloreto
04-01-03, 06:27 PM
Originally posted by Andy Mecham
Are you sure you don't have any stray Mesa libGL's around somewhere?

--andy

I had the includes (maybe the .so too), but I made sure the /usr/iblude/GL was a symlink to the /usr/doc/NVIDIA* include directory.

I checked with glxinfo that NVidia GLX was being used. I used ldd opengl32.dll.so (wine lib) and both libGL and libGLcore points to the symlinks to the NVidia libs (dated 1 April, today, when I installed).

I went to double-check the HowTo on http://lhl.linuxgames.com and noticed I was missing on my /etc/ld.so.conf the wine opengl32.dll.so dir. I added it, made ldconfig, restarted counter-strike, but still no textures.

How can I check further if there is a Mesa on the way? Or are there any other tips?

I still think it is a XFree4.3 issue, because it was after the upgrade... But I wouldn't like to downgrade X...

Thank you again for your time, Mr. Mecham! :)

Stay Happy!

HappyGuy

Andy Mecham
04-01-03, 06:30 PM
If you have any libGL.so* files in /usr/X11R6/lib, you should move them out of the way. The installer should do that for you, but it might not have worked for whatever reason.

--andy

dnloreto
04-02-03, 05:50 PM
Originally posted by Andy Mecham
If you have any libGL.so* files in /usr/X11R6/lib, you should move them out of the way. The installer should do that for you, but it might not have worked for whatever reason.

--andy

OK... I've done the following. Results included:
root@HappyK7:/# find . -name *libGL* > FIND_LIBGL.txt
root@HappyK7:/# more FIND_LIBGL.txt
./usr/lib/libGL.so.1
./usr/lib/libGLcore.so.1.0.4349
./usr/lib/libGL.so.1.0.4349
./usr/lib/libGL.so
./usr/lib/libGLcore.so.1
./usr/X11R6/lib/libGLU.so.1.3
./usr/X11R6/lib/libGLU.so
./usr/X11R6/lib/libGLU.so.1
./usr/X11R6/lib/libGLw.a

The /usr/lib/libGL* are the NVidia libraries (installed yesterday) or symlinks to the libraries.

The stuff in /usr/X1RR6/lib/libGLU* and linGLw.a, I don't know what it is... They came on my Dropline XFree and XFree devel packages. Are these the Mesa libs? Are these the ones I should rename?

The output of ldd on the winel opengl32.dll.so file is
root@HappyK7:/usr/local/wine/lib/wine# ldd opengl32.dll.so
libwine.so => /usr/local/wine/lib/libwine.so (0x40077000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4008e000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40096000)
libXv.so.1 => /usr/X11R6/lib/libXv.so.1 (0x400ac000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x400b1000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x400be000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x40178000)
libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x401df000)
libm.so.6 => /lib/libm.so.6 (0x4025d000)
libc.so.6 => /lib/libc.so.6 (0x4027e000)
libdl.so.2 => /lib/libdl.so.2 (0x403a1000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x403a4000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40854000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)


I once again thank you for your time. Sorry I didn't reply yesterday, but I went sleeping.

Be Happy!

HappyGuy

jpierc29
04-02-03, 09:29 PM
Yeah, I had a similar problem when I recompiled wine after installing XFree 4.3. However, I have a seperate partition where I keep an old copy of my filesytem with XFree 4.2.1 (been to lazy to mirror recently). X is the only difference between these two partitions.
When I built the wine rpm package on both partitions, I noticed that the one built against 4.3 has additional requirements from X no required by the 4.2.1 package.
Using the 4.3 build, every OpenGL program has no textures. Using the 4.2.1 build, OpenGL works fine under both versions of X.
Basically put, I think the problem is definently with X 4.3. Using precompiled binaries should work fine for you but if you need to compile code against X you might have to switch back to 4.2.1 until they have a fix out.

dnloreto
04-05-03, 02:37 PM
Hello!

As it happens, due to other messages on this issue here, and after opening a bug to Wine, I made a search on my
/usr/ dir for gl.h files. I found the ones I knew (from NVidia, in
/usr/include/GL/) and another set inside /usr/X11R6/include/GL. I moved away
these gl.h, glx.h and glxtokens.h files and created symlinks to the NVidia
includes in /usr/includes/GL (that is a symlink to
/usr/doc/NVIDIA_GLX-1.0/include/GL).

Recompiled wine and now I have textures once again! So, at least for NVidia
users, the XFree 4.3 and any recent Wine are a good match. I was just being too
confident on not having an extra pair of includes around. I did check if I was
linking opengl32.dll.so with the correct libGL (the NVidia libGL). But never
remmembered to check if I had more than one set of include files.

The thing is that when I upgraded XFree from 4.2 to 4.3, it placed the headers
on the new dir. When I recompiled wine, I started having this problem.

I hope my mistake can help other people, anyway.

Thank you very much for your time! And thanks to the Wine Team for Wine and for their help solving this!

Be Happy! I will be, playing CStrike on Linux!