You are not logged in.

#1 2009-01-01 23:39:26

xyon
Member
Registered: 2007-09-17
Posts: 23

32-bit games in 64-bit environment

Hey everyone,

Firstly, * Happy New Year! * lol

Arch64 has been working great so far, but I do have a few games that are very important to me that do not have 64-bit support (X-Plane and racer to name a couple). I was wondering what you guys' thoughts were on the best way to run these games on this box. I have an nvidia card on a Core 2 Quad system with 4GB (soon 8GB) of RAM, FYI.

So far, I've tried the 32-bit chroot (following the wiki article), but X-Plane segfaults in it upon UI initialization (haven't tried racer yet). Is 32-bit chroot the best choice? I'm also considering User Mode Linux or Xen (or maybe KVM?). In your opinions, would pursuing these solutions just end up being a waste of time and energy? Should I just forget the whole 64-bit world altogether? Would reverting to 32-bit cause any problems or incur serious performance issues?

Offline

#2 2009-01-02 00:08:56

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: 32-bit games in 64-bit environment

http://forums.x-plane.org/index.php?showtopic=33215

That should get you started with x-plane. I don't use the software, but I do know that usually things can get done with lib32 libraries.

As far as 32 vs 64 bit, some things work better under 32 and others under 64. In the end, they probably balance out for most users. There's a number of threads here on that subject. Just search around if you want more information.

Offline

#3 2009-01-02 00:49:47

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: 32-bit games in 64-bit environment

Is it possible to access/use a graphics card from within a virtual system? I haven't found a way yet with KVM, but I haven't looked into other methods (Xen, etc).


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#4 2009-01-02 01:11:54

moljac024
Member
From: Serbia
Registered: 2008-01-29
Posts: 2,676

Re: 32-bit games in 64-bit environment

Xyne wrote:

Is it possible to access/use a graphics card from within a virtual system? I haven't found a way yet with KVM, but I haven't looked into other methods (Xen, etc).

I think it is possible in some virtual machines. But I don't think it's stable.
I'm not really sure though, so may the Google be with you!


The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...

Offline

#5 2009-01-02 03:52:32

xyon
Member
Registered: 2007-09-17
Posts: 23

Re: 32-bit games in 64-bit environment

hey guys, thanks for the suggestion about the 32-bit libs. I didn't even realize that solution existed. It has gotten me a bit further, but games are still not running. For example, when I run x-plane:

LD_LIBRARY_PATH=/opt/lib32/lib:/opt/lib32/usr/lib/:/lib:/usr/lib strace -o ~/x-plane_strace.out ./X-Plane-i586 2> ~/x-plane_stdout.out

It fails with a segfault:

[ Process PID=2098 runs in 32 bit mode. ]
Segmentation fault

There are no results from these commands, meaning (at least to me) that it's not using any system/64-bit libs, just 32-bit libs:

grep -i lib ~/x-plane_strace.out |grep -v lib32
grep -i lib ~/x-plane_stdout.out|grep -v lib32

Here are some tails on the logs:

$ tail --lines=25 ~/x-plane_strace.out 
writev(7, [{"\244\244\244\0\246\246\246\0\247\247\247\0\247\247\247\0\247\247\247\0\247\247\247\0\247\247\247\0\247\247\247\0\247"..., 5116}], 1) = 5116
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\216\2\377\377\1\0\0\0\4\0\6\0\354\377\3\0"..., 16}, {"v\16\22\0\0\0\0\377\355\34$\377\355\34$\377\355\34$\377\355\34$\377\355\34$\377\355\34$\377\355"..., 262124}], 2) = 128512
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"..., 133628}], 1) = 128512
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\307\307\307\217\307\307\307\217\307\307\307\217\307\307\307\217\307\307\307\217\307\307\307\217\307\307\307\217\307\307\307\217\307"..., 5116}], 1) = 5116
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\216\2\377\377\1\0\0\0\5\0\6\0\354\377\3\0"..., 16}, {"\0\0\0002\0\0\0#\0\0\0\27\0\0\0\16\0\0\0\7\0\0\0\2\0\0\0\0O\t\f\0\0"..., 262124}], 2) = 128512
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{";;;\361;;;\361;;;\361;;;\361;;;\361;;;\361;;;\361;;;\361;"..., 133628}], 1) = 128512
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"wxt\0wxt\0wxt\0wxt\0wxt\0wxt\0wxt\0wxt\0w"..., 5116}], 1) = 5116
munmap(0xf02c5000, 1052672)             = 0
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\216\2\30\0\1\0\0\0\6\0\6\0P\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"..., 496}], 1) = 496
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\216u\3\0\1\0\0\0003\r\0\0"..., 12}], 1) = 12
select(8, [7], [], NULL, NULL)          = 1 (in [7])
read(7, "\1\0q\0\0\0\0\0\0\0\0\0\1\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 32
read(7, 0xe58e434, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
stat64("/storage/gaming/games/X-Plane 8.64/Resources/bitmaps/intro.png", 0xff87fefc) = -1 ENOENT (No such file or directory)
open("/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 8
fstat64(8, {st_mode=S_IFDIR|0755, st_size=536, ...}) = 0
$ tail --lines=50 ~/x-plane_stdout.out 
#9 ./X-Plane-i586(pthread_create+0xadd) [0x8078431]
Locking assertion failure.  Backtrace:
#0 /opt/lib32/usr/lib/libxcb-xlib.so.0 [0xf6d467a7]
#1 /opt/lib32/usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xf6d46871]
#2 /opt/lib32/usr/lib/libX11.so.6 [0xf7dc5d01]
#3 /opt/lib32/usr/lib/libX11.so.6(XCheckIfEvent+0xd6) [0xf7d99116]
#4 ./X-Plane-i586 [0x80877e7]
#5 ./X-Plane-i586 [0x808264f]
#6 /opt/lib32/lib/libc.so.6(__libc_start_main+0xe5) [0xf7bcb5c5]
#7 ./X-Plane-i586(pthread_create+0xadd) [0x8078431]
Locking assertion failure.  Backtrace:
#0 /opt/lib32/usr/lib/libxcb-xlib.so.0 [0xf6d467a7]
#1 /opt/lib32/usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xf6d4694e]
#2 /opt/lib32/usr/lib/libX11.so.6 [0xf7dc5df9]
#3 /opt/lib32/usr/lib/libX11.so.6(XQueryPointer+0x25) [0xf7db3e55]
#4 ./X-Plane-i586 [0x8086685]
#5 /opt/lib32/usr/lib/libX11.so.6(XCheckIfEvent+0x94) [0xf7d990d4]
#6 ./X-Plane-i586 [0x80877e7]
#7 ./X-Plane-i586 [0x808264f]
#8 /opt/lib32/lib/libc.so.6(__libc_start_main+0xe5) [0xf7bcb5c5]
#9 ./X-Plane-i586(pthread_create+0xadd) [0x8078431]
Locking assertion failure.  Backtrace:
#0 /opt/lib32/usr/lib/libxcb-xlib.so.0 [0xf6d467a7]
#1 /opt/lib32/usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xf6d46871]
#2 /opt/lib32/usr/lib/libX11.so.6 [0xf7dc5d01]
#3 /opt/lib32/usr/lib/libX11.so.6(XCheckIfEvent+0xd6) [0xf7d99116]
#4 ./X-Plane-i586 [0x80877e7]
#5 ./X-Plane-i586 [0x808264f]
#6 /opt/lib32/lib/libc.so.6(__libc_start_main+0xe5) [0xf7bcb5c5]
#7 ./X-Plane-i586(pthread_create+0xadd) [0x8078431]
Locking assertion failure.  Backtrace:
#0 /opt/lib32/usr/lib/libxcb-xlib.so.0 [0xf6d467a7]
#1 /opt/lib32/usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xf6d4694e]
#2 /opt/lib32/usr/lib/libX11.so.6 [0xf7dc5df9]
#3 /opt/lib32/usr/lib/libX11.so.6(XQueryPointer+0x25) [0xf7db3e55]
#4 ./X-Plane-i586 [0x8086685]
#5 /opt/lib32/usr/lib/libX11.so.6(XCheckIfEvent+0x94) [0xf7d990d4]
#6 ./X-Plane-i586 [0x80877e7]
#7 ./X-Plane-i586 [0x808264f]
#8 /opt/lib32/lib/libc.so.6(__libc_start_main+0xe5) [0xf7bcb5c5]
#9 ./X-Plane-i586(pthread_create+0xadd) [0x8078431]
Locking assertion failure.  Backtrace:
#0 /opt/lib32/usr/lib/libxcb-xlib.so.0 [0xf6d467a7]
#1 /opt/lib32/usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xf6d46871]
#2 /opt/lib32/usr/lib/libX11.so.6 [0xf7dc5d01]
#3 /opt/lib32/usr/lib/libX11.so.6(XCheckIfEvent+0xd6) [0xf7d99116]
#4 ./X-Plane-i586 [0x80877e7]
#5 ./X-Plane-i586 [0x808264f]
#6 /opt/lib32/lib/libc.so.6(__libc_start_main+0xe5) [0xf7bcb5c5]
#7 ./X-Plane-i586(pthread_create+0xadd) [0x8078431]

Offline

#6 2009-01-02 12:12:02

moljac024
Member
From: Serbia
Registered: 2008-01-29
Posts: 2,676

Re: 32-bit games in 64-bit environment

moljac024 wrote:
Xyne wrote:

Is it possible to access/use a graphics card from within a virtual system? I haven't found a way yet with KVM, but I haven't looked into other methods (Xen, etc).

I think it is possible in some virtual machines. But I don't think it's stable.
I'm not really sure though, so may the Google be with you!

Oh, I'm sorry, I didn't realize in what topic this was asked, were you thinking of gaming in a virtual machine ?
This wasn't possible for a long time, but I believe I read an article on linux.com about a move in that direction.
Can't recall anything about it now...


The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...

Offline

#7 2009-01-02 23:41:13

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: 32-bit games in 64-bit environment

moljac024 wrote:

Oh, I'm sorry, I didn't realize in what topic this was asked, were you thinking of gaming in a virtual machine ?
This wasn't possible for a long time, but I believe I read an article on linux.com about a move in that direction.
Can't recall anything about it now...

Thanks moljac024.

The only things I've found are the VMGL project but that's limited to Linux as both host and guest and some mention of one of the VMware versions being able to run basic 3D acceleration on Mac. I'll just keep trying to forget about this until it happens so that I can be pleasantly surprised.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#8 2009-01-03 05:24:59

xyon
Member
Registered: 2007-09-17
Posts: 23

Re: 32-bit games in 64-bit environment

I have read the post here:
http://forums.x-plane.org/index.php?showtopic=34824

And have since installed those dependencies, but to no avail, x-plane still segfaults upon load:

$ for i in openal vorbis smpeg; do find /opt/lib32/ -iname *${i}*; done
/opt/lib32/usr/lib/libopenal.so.0
/opt/lib32/usr/lib/libopenal.so.0.0.0
/opt/lib32/usr/lib/libopenal.so
/opt/lib32/usr/lib/libvorbis.so
/opt/lib32/usr/lib/libvorbisenc.so.2
/opt/lib32/usr/lib/libvorbisfile.so
/opt/lib32/usr/lib/libvorbis.so.0.4.0
/opt/lib32/usr/lib/libvorbisenc.so
/opt/lib32/usr/lib/libvorbisenc.so.2.0.3
/opt/lib32/usr/lib/libvorbisfile.so.3.2.0
/opt/lib32/usr/lib/libvorbis.so.0
/opt/lib32/usr/lib/libvorbisfile.so.3
/opt/lib32/usr/lib/libsmpeg-0.4.so.0
/opt/lib32/usr/lib/libsmpeg.a
/opt/lib32/usr/lib/libsmpeg-0.4.so.0.1.3
/opt/lib32/usr/lib/libsmpeg.so

Any ideas? It seems others are able to run x-plane without issue this way. Is there a wiki page to help?

Offline

Board footer

Powered by FluxBB