Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How I got 32-bit games to work nicely... :D
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Tue Feb 17, 2004 4:03 pm    Post subject: How I got 32-bit games to work nicely... :D Reply with quote

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.
Code:

mv lib XXXlib


Once you've done that, make a new lib directory.
Code:

mkdir lib


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:
Code:

ls -l libGL*

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
View user's profile Send private message
hopstah
Apprentice
Apprentice


Joined: 23 Nov 2003
Posts: 234
Location: Michigan

PostPosted: Wed Feb 18, 2004 3:39 am    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Wed Feb 18, 2004 4:12 am    Post subject: Reply with quote

Well, you basically can't play 32-bit games on a 64-bit platform without doing this :D
_________________
"We are what we repeatedly do. Excellence, therefore, is not an act, but a habit."
-Aristotle
Back to top
View user's profile Send private message
crazycat
l33t
l33t


Joined: 26 Aug 2003
Posts: 838
Location: Hamburg, Germany

PostPosted: Wed Feb 18, 2004 10:08 am    Post subject: Reply with quote

Well . enemy-territory is still unplayable cause of garbage on the screen and low framerate.
Back to top
View user's profile Send private message
hopstah
Apprentice
Apprentice


Joined: 23 Nov 2003
Posts: 234
Location: Michigan

PostPosted: Wed Feb 18, 2004 4:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
altrent
n00b
n00b


Joined: 03 Mar 2004
Posts: 55

PostPosted: Wed Mar 03, 2004 5:45 pm    Post subject: Libs Reply with quote

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
View user's profile Send private message
logon
Apprentice
Apprentice


Joined: 22 May 2002
Posts: 182
Location: Bonn / NRW Germany

PostPosted: Fri Mar 05, 2004 11:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Sun Mar 07, 2004 12:08 am    Post subject: Reply with quote

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
View user's profile Send private message
logon
Apprentice
Apprentice


Joined: 22 May 2002
Posts: 182
Location: Bonn / NRW Germany

PostPosted: Sun Mar 07, 2004 12:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
logon
Apprentice
Apprentice


Joined: 22 May 2002
Posts: 182
Location: Bonn / NRW Germany

PostPosted: Mon Mar 08, 2004 9:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Tue Mar 09, 2004 1:39 am    Post subject: Reply with quote

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
View user's profile Send private message
logon
Apprentice
Apprentice


Joined: 22 May 2002
Posts: 182
Location: Bonn / NRW Germany

PostPosted: Tue Mar 09, 2004 9:18 am    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Tue Mar 09, 2004 1:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
steveed22
n00b
n00b


Joined: 26 Jan 2003
Posts: 3
Location: State College, PA

PostPosted: Fri Mar 12, 2004 2:34 am    Post subject: Winex on amd64 Thanks!!! Reply with quote

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
View user's profile Send private message
ookabooka
n00b
n00b


Joined: 22 Jul 2003
Posts: 36
Location: root@localhost.localdomain

PostPosted: Sun Mar 14, 2004 3:29 am    Post subject: hmmm, not quite working Reply with quote

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
View user's profile Send private message
malte
n00b
n00b


Joined: 15 Mar 2004
Posts: 18

PostPosted: Mon Mar 15, 2004 4:38 pm    Post subject: Can't get Enemy Territory working Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Mon Mar 15, 2004 5:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Mon Mar 15, 2004 5:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
malte
n00b
n00b


Joined: 15 Mar 2004
Posts: 18

PostPosted: Mon Mar 15, 2004 9:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Mon Mar 15, 2004 9:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
malte
n00b
n00b


Joined: 15 Mar 2004
Posts: 18

PostPosted: Mon Mar 15, 2004 9:35 pm    Post subject: Reply with quote

Cheers! :wink:
_________________
This is a signature.
Back to top
View user's profile Send private message
malte
n00b
n00b


Joined: 15 Mar 2004
Posts: 18

PostPosted: Tue Mar 16, 2004 11:31 am    Post subject: Reply with quote

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
View user's profile Send private message
lazE
n00b
n00b


Joined: 03 Feb 2004
Posts: 47

PostPosted: Tue Mar 16, 2004 2:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
malte
n00b
n00b


Joined: 15 Mar 2004
Posts: 18

PostPosted: Tue Mar 16, 2004 7:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
SpoonMeiser
n00b
n00b


Joined: 25 Sep 2002
Posts: 62

PostPosted: Tue Mar 16, 2004 11:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum