View previous topic :: View next topic |
Author |
Message |
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Tue Feb 17, 2004 4:03 pm Post subject: How I got 32-bit games to work nicely... :D |
|
|
Ok...Let me start off by saying that I am still a huge n00b when it comes to linux. So, if some of what I'm about to say was done incorrectly or is unnecessary then let me know please.
1) Firstly, grab all of the 32bit emulation packages from Portage.
Code: |
emerge emul-linux-x86-baselibs
emerge emul-linux-x86-xlibs
|
2) I grabbed the latest 32-bit nvidia opengl libraries from my friends machine. You can find these in: "/usr/lib/opengl/nvidia/lib/". I took that whole folder (should be about 8 or so files). Alternatively, you can probably just get the libraries from www.nvidia.com. Once you have them, stick em in a folder somewhere
(If people want, I'll try to host the libraries somewhere)
3) Now we have fun. Open a terminal and cd to /emul/linux/x86/usr/lib/opengl/xfree/. Once you're there rename the lib directory to something else.
Once you've done that, make a new lib directory.
Now, copy those 32-bit libraries into the new lib folder.
Code: |
cp /path/to/32lib/* lib/
|
Now, go into that directory and take a look at whats in there:
Make sure that you see a libGL.so.1 and a libGLcore.so.1. They should either be files of about 5megs or symlinks that point to files in the same directory that are about 5megs.
4) Finally we play. There is however one catch...you need to disable direct rendering for the duration of your play in order for it to work. This will give you a slight performance hit to what you would actually have assuming your system was 32-bit but, any game will still be more than playable. Anyway, since I wanted to play neverwiner nights I went over to my nwn directory. Once there, I typed
Code: |
export __GL_FORCE_DIRECT=0
./nwn
|
This basically turns direct rendering off for anything thats run in that terminal window. Then, nwn ran and it was beautiful. I bumped the resolution up to 1280x1024 and turned on some effects and I still managed a solid 50FPS in a large area. Good stuff.
NOTE: At step 4 when I tried to run NWN the first time, I got an error saying that libGLcore.so.1 could not be found. If this happens, try running ldconfig.
cheers,
lazE |
|
Back to top |
|
|
hopstah Apprentice
Joined: 23 Nov 2003 Posts: 234 Location: Michigan
|
Posted: Wed Feb 18, 2004 3:39 am Post subject: |
|
|
ok, sounds cool, but what is this supposed to help me do that i couldn't do before? i'm a little confused i guess.... _________________ hopstah |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Wed Feb 18, 2004 4:12 am Post subject: |
|
|
Well, you basically can't play 32-bit games on a 64-bit platform without doing this _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
crazycat l33t
Joined: 26 Aug 2003 Posts: 838 Location: Hamburg, Germany
|
Posted: Wed Feb 18, 2004 10:08 am Post subject: |
|
|
Well . enemy-territory is still unplayable cause of garbage on the screen and low framerate. |
|
Back to top |
|
|
hopstah Apprentice
Joined: 23 Nov 2003 Posts: 234 Location: Michigan
|
Posted: Wed Feb 18, 2004 4:01 pm Post subject: |
|
|
ahhh, the fact that you're on a 64 bit platform is something you failed to mention. it's all clear now _________________ hopstah |
|
Back to top |
|
|
altrent n00b
Joined: 03 Mar 2004 Posts: 55
|
Posted: Wed Mar 03, 2004 5:45 pm Post subject: Libs |
|
|
Hi lAzE,
Thanks for posting this procedure, and I would like very much if you could host or show me where to find the 32bits nvidia binaries.
I couldn't extract them from the nvidia IA32 package, and would appreciate to not spend several hours building a 32 bits system just to get those libraries.
Thank you again,
altrent |
|
Back to top |
|
|
logon Apprentice
Joined: 22 May 2002 Posts: 182 Location: Bonn / NRW Germany
|
Posted: Fri Mar 05, 2004 11:36 pm Post subject: |
|
|
I just compiled my system yesterday and it started nwn just a few seconds ago. It worked fine, right out of the box.
Maybe one of the devs took care of this and put it into one of the ebuilds. |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Sun Mar 07, 2004 12:08 am Post subject: |
|
|
It's using the Mesa libraries which don't even compare to Nvidia's drivers. _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
logon Apprentice
Joined: 22 May 2002 Posts: 182 Location: Bonn / NRW Germany
|
Posted: Sun Mar 07, 2004 12:18 pm Post subject: |
|
|
Ah ok, i was wondering why the textures looked so funny. Speed was fine...
But actually i am only playing UT2004. That game rocks, and the 64Bit Version makes it even better. |
|
Back to top |
|
|
logon Apprentice
Joined: 22 May 2002 Posts: 182 Location: Bonn / NRW Germany
|
Posted: Mon Mar 08, 2004 9:20 pm Post subject: |
|
|
Well but even with the changes the nwn menu doesnst work. The game actually runs fine. Except for the fact that it is a little slow.
Enemy Territory on the other hand is terribly slow and unplayable. But at least there are no graphic failures anymore. |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Tue Mar 09, 2004 1:39 am Post subject: |
|
|
It's possible that NWN or Enemy Territory is now running in software mode.
Check out your scores on glxgears to see if anything still works. _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
logon Apprentice
Joined: 22 May 2002 Posts: 182 Location: Bonn / NRW Germany
|
Posted: Tue Mar 09, 2004 9:18 am Post subject: |
|
|
Mayb nwn still is, but enemy territory is not anymore. It was in software mode before because i hat about 13fps then. Now its about 60 but when it comes to large areas it drops to about 20-30 fps. And that actually doesn't seem to be software mode.
Enemy Territory doesn't run when i dont provide export __GL_FORCE_DIRECT=0. NWN neither, is that a sign for it running with the right drivers? Because NWN did run without that before i changed the driver files. |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Tue Mar 09, 2004 1:14 pm Post subject: |
|
|
Yeah -- you got it. If you need to the export command then your games are in fact using the 32-bit nvidia drivers.
Enjoy. _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
steveed22 n00b
Joined: 26 Jan 2003 Posts: 3 Location: State College, PA
|
Posted: Fri Mar 12, 2004 2:34 am Post subject: Winex on amd64 Thanks!!! |
|
|
I was finally able to play Warcraft 3 via 32 bit emulation and this thread. I just followed the directions of lazE, to get the nvidia libraries I just downloaded them from nvidia.com and extracted them. Then copied them over according to the directions, I had to make the symlinks myself. Then I installed winex3 using the ebuild and copied over the directory from my previous 32-bit install of winex. It worked great, it was definately slower than it used to be. At least it is working though. Thanks for the thread I just wanted to put this up so that people would know that it is possible to use winex in a 64bit environment. Thanks -Steve |
|
Back to top |
|
|
ookabooka n00b
Joined: 22 Jul 2003 Posts: 36 Location: root@localhost.localdomain
|
Posted: Sun Mar 14, 2004 3:29 am Post subject: hmmm, not quite working |
|
|
well i follwed everything to the letter, but this is what i get:
bash-2.05b# ./ut2004demo
Xlib: extension "XiG-SUNDRY-NONSTANDARD" missing on display ":0.0".
Either GL_EXT_bgra or glDrawRangeElements not supported- bailing out.
History:
Exiting due to error
if i set the __GL thing to 1, it will fail to load the thing at all, which makes sense. . . also, these libraries are version 1.0.5336-r1 that were emerged on my athlon-xp system. while on my 64, the only version that will emerge is 1.0.5332-r1. Would this cause a problem? How would i go about fixing it. _________________ CFLAGS="-march=i386 -m64"
from root (/) : mount -t proc proc proc |
|
Back to top |
|
|
malte n00b
Joined: 15 Mar 2004 Posts: 18
|
Posted: Mon Mar 15, 2004 4:38 pm Post subject: Can't get Enemy Territory working |
|
|
First of all, thanks for the HOWTO lazE! Unfortunately I have trouble getting it working though...
When I follow all the steps you mention, and then run et.x86, it tells me the following:
Code: | ----- Client Initialization Complete -----
----- R_Init -----
...loading libGL.so.1: QGL_Init: dlopen libGL.so.1 failed: libGLcore.so.1: cannot open shared object file: No such file or directory
failed
----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
----- CL_Shutdown -----
-----------------------
Sys_Error: GLimp_Init() - could not load OpenGL subsystem |
I have however the following files:
Code: | root@photon lib # ls -l
totalt 5180
lrwxrwxrwx 1 root root 21 15 mar 13.38 libGLcore.so -> libGLcore.so.1.0.5336
lrwxrwxrwx 1 root root 21 15 mar 13.38 libGLcore.so.1 -> libGLcore.so.1.0.5336
-rwxrwxrwx 1 root root 4913084 15 mar 13.28 libGLcore.so.1.0.5336
-rwxrwxrwx 1 root root 739 15 mar 13.28 libGL.la
lrwxrwxrwx 1 root root 17 15 mar 13.38 libGL.so -> libGL.so.1.0.5336
lrwxrwxrwx 1 root root 17 15 mar 13.38 libGL.so.1 -> libGL.so.1.0.5336
-rwxrwxrwx 1 root root 367092 15 mar 13.28 libGL.so.1.0.5336
root@photon lib # pwd
/emul/linux/x86/usr/lib/opengl/xfree/lib |
These files are from a chrooted x86-emerge of nvidia-glx. The problem is unlikely to have to do with the game itself, since it is working perfectly (albeit slowly) with Mesa.
Any help much appreciated!
/Malte _________________ This is a signature. |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Mon Mar 15, 2004 5:34 pm Post subject: |
|
|
ookabooka,
I did this using 32-bit nvidia drivers that were a little bit older. You may want to try using a 32bit version thats a bit older than your 64bit version. _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Mon Mar 15, 2004 5:41 pm Post subject: |
|
|
malte,
that seems pretty odd. i guess it's possible that for some reason it is not looking in your 32-bit emulation directory.
i guess it's also possible that for some reason it can't deal with the symlink. on my machine, libGLcore.so.1 and libGLcore.so.version are both actual files. try making an actual copy of libGLcore in the same directory but call it libGLcore.so.1. _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
malte n00b
Joined: 15 Mar 2004 Posts: 18
|
Posted: Mon Mar 15, 2004 9:06 pm Post subject: |
|
|
Thanks for your reply lazE, but I have already tried that. Mysteriously enough, if i remove libGL.so, ET complains about not finding that one instead, so it seems to be looking in the right place at least... Strange indeed. Could you make your 32-bit libraries available so I can try them as well?
Thanks,
Malte _________________ This is a signature. |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Mon Mar 15, 2004 9:31 pm Post subject: |
|
|
they're on another machine that's not currently up and running at the moment. after class tonight ill pull the HD so i can grab the drivers off of it. _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
malte n00b
Joined: 15 Mar 2004 Posts: 18
|
Posted: Mon Mar 15, 2004 9:35 pm Post subject: |
|
|
Cheers! _________________ This is a signature. |
|
Back to top |
|
|
malte n00b
Joined: 15 Mar 2004 Posts: 18
|
Posted: Tue Mar 16, 2004 11:31 am Post subject: |
|
|
Hm. I redid all the steps, and now it seems to find libGLcore! (I thought I had done ldconfig last time, but I suspect that I might've missed it anyway). But now I get another error (of course ) : Code: | ...loading libGL.so.1: Initializing OpenGL display
...setting mode 4: 800 600
Using XFree86-VidModeExtension Version 2.2
XF86DGA Mouse (Version 2.0) initialized
XFree86-VidModeExtension Activated at 800x600
Using 8/8/8 Color bits, 24 depth, 0 stencil display.
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 147
Minor opcode of failed request: 5
Serial number of failed request: 39
ERROR: couldn't create font (glGenLists)
GL_RENDERER: (null)
----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
----- CL_Shutdown -----
-----------------------
Sys_Error: Q_strncpyz: NULL src
| I can't seem to find any information on google, but if anyone recognizes this problem please let me know.
Best regards,
Malte _________________ This is a signature. |
|
Back to top |
|
|
lazE n00b
Joined: 03 Feb 2004 Posts: 47
|
Posted: Tue Mar 16, 2004 2:07 pm Post subject: |
|
|
malte,
sorry that I couldn't get around to posting the drivers last night.
about your problem -- do you get this error when trying to start x? _________________ "We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle |
|
Back to top |
|
|
malte n00b
Joined: 15 Mar 2004 Posts: 18
|
Posted: Tue Mar 16, 2004 7:31 pm Post subject: |
|
|
lazE,
XFree works flawlessly and isn't giving me any error messages on startup... Please let me know when you have time to upload the libraries.
Thanks for your time,
Malte _________________ This is a signature. |
|
Back to top |
|
|
SpoonMeiser n00b
Joined: 25 Sep 2002 Posts: 62
|
Posted: Tue Mar 16, 2004 11:30 pm Post subject: |
|
|
My experiences seem to be a little different with AMD64 and games:
After installing the emul libs, NWN just works with no additional work.
ET on the other hand, requires libGL.so libGL.so.1 libGLcore.so and libGLcore.so.1 in /usr/lib32 from the 32bit NVidia drivers, and for __GL_FORCE_DIRECT=0 to be set. I seem to recall having to run ldconfig after doing this too, might be wrong though...
However, if the system is setup for ET, then NWN simply doesn't work anymore, and visa versa.
EDIT: the libs I put in /usr/lib32 were actually symlinks, I basically copied what opengl-update does. I even made a symlink for libglx in whatever directory that usually goes in, but I don't think anything uses this.
Also, my 32bit drivers are version 5336, and the 64bit drivers are version 5332, this does not cause a problem |
|
Back to top |
|
|
|