[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-user
Subject:    Re: [gentoo-user] NeverWinter Nights Linux SDL Segmentation Fault
From:       Holly Bostick <motub () planet ! nl>
Date:       2005-06-30 11:46:03
Message-ID: 42C3DB7B.1000306 () planet ! nl
[Download RAW message or body]

� schreef:
> Hi there,
> I have just emerged nwn and copied the files needed
> from my windows partition. However when I run nwn,
> i get the following error:
> 
> # /opt/nwn/nwn
> Fatal signal: Segmentation Fault (SDL Parachute
> Deployed)
> 
> 
> How do I fix this?
> Here are the computer's specs:
> Kernel 2.6.12-mm1 // P4 3.2 gHz // Ati Mobility Radeon
> 9000 // 512 MB RAM // Using KDE 3.4.1 right now.
> 
> Thanks!!
> 

NWN can be a bit touchy when it comes to SDL-- that's why it comes with
its own (1.2.5). The ATI drivers are also a bit touchy-- and since I use
fglrx and play NWN, I've had a lot of dealings with tweaking it so it
bloody runs.... although usually it's fine, quite often something isn't.

**DISCLAIMER** All that follows is 1) IME (since I am not a programmer,
I just try to tie my experience into some kind of framework that makes
logical sense, rather than that I *know* what's actually happening) and
2) from memory, as I just borked my skeleton NWN setup (it ran, and
nwmovies ran as well, but it was only a skeleton install because I had
not installed any of the expansions, haks, or custom content that would
constitute a full and complete install on my parcticular system, and I
hadn't spent any time playing it since it was just a skeleton install).

Also, probably some of this stuff is more required to get nwmovies
running rather than nwn itself, but since I find the loss of the movies
ingame rather painful, I consider it part of my default install (i.e.
nwn is not really working if nwmovies doesn't work, even though I can
play it). I also refer only to getting the OC (and expansions) running
single-player, as I don't play online, and know nothing about managing
or connecting to a server, PW, or any of that.**END DISCLAIMER**

Anyway having disclaimed... afaics, NWN doesn't come with *all* of SDL,
just the main package. You have to have the rest (at least sdl_mixer and
sdl_image, I think; possibly more, like sdl_ttf) yourself, and the
versions you have may conflict with the main SDL library that Bioware
provides (after 1.2.6, things got really dicey with getting SDL working
properly on NWN without some manual modification).

Was that the whole error message, btw? IIrc, if the problem is actually
an SDL conflict, you get more message that mentions the SDL component
that failed to start properly.

OK, possible solutions...

You can try going to the nwn/lib folder and renaming the *symlink* to
the bioware SDL package

libSDL-1.2.so.0

to something else (I use libSDL-1.2.so.bioware),

and then creating a new link with the original name, but link it to your
actual SDL library in /usr/lib (or copy the link that's already in
/usr/lib to nwn/lib). However, before you do this, you might want to
re-emerge libSDL as follows:

FEATURES="nostrip" emerge -av (or whatever switches you might want) libSDL

Apparently the common practice of stripping binaries is not something
that makes NWN happy.

The benefits of this are:

1) You don't have to edit /nwn/nwn , because it still needs to look in
the ./lib folder for the symlink

2) If you want to go back to the original Bioware-provided SDL, you just
rename both symlinks (yours to libSDL.so.mine and the one now called
libSDL-1.2.so.bioware back to libSDL-1.2.so.0)

Alternatively, you can also copy your actual libSDL from /usr/lib to
nwn/lib (renaming it libSDL-1.2.so.0 after deleting the symlink already
present); I've had that work for me as well (but not so much with 1.2.7).

Or, of course you can edit /nwn/nwn and remove ./lib from the
LD_LIBRARY_PATH, as mentioned in the script itself:

# If you do not wish to use the SDL library included in the package, remove
# ./lib from LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH

.. after which, the game will use your installed SDL rather than its own.

The only problem with all this is that if you want to use nwmovies (in
order to play the movies in-game, which otherwise is not possible),
neither the Bioware SDL nor the Gentoo seems to work (at least the
Bioware doesn't seem to work anymore-- it used to, but I think that now
it's too old in comparison to the current SDL functionality), and you
have to compile SDL yourself, using the instructions at

http://home.woh.rr.com/nwmovies/nwmovies/nwmovies.README.txt

(main site is http://home.woh.rr.com/nwmovies/nwmovies/ ; they have
other utilities for NWN as well as instructions on how to get the
toolset working-- although on that subject, I will say that it worked
fine with regular Wine once the relevant .exe files were extracted and
the specified registry entries were imported, and compiling the old
version of WineX turned out to be a waste of time for me)

and in

nwmovies.README.softmix.txt (in the tarball; these were the instructions
I used, and the only way it all worked properly).

It's not hard (thank heavens), and the movies thus worked fine for me
(using the native BinkPlayer that I had emerged, so that I don't have to
convert the movies) before I (probably) borked my NWN install due to a
stupid error on my part. So now I will likely reinstall the whole thing
again, but it *was* working well before I (probably) messed it up (I'm a
bit afraid to test, honestly, plus busy trying to straighten out other
stuff).

In any case, in addition to the links previously provided links, you
might also check out Bioware's forums for the NWN Linux client, where
(truly unsurprisingly), there are a lot of threads on this if you do a
search. You have to register your NWN with Bioware to be able to post,
but you can read the forums without having to do so:

http://nwn.bioware.com/forums/search_results.html?keywords=SDL+parachute&start=9783324 \
00&end=1120283999&author=&dev=&sort=date&search_for=any&where=subject&forum=72&type=n&limit=100


I would also suggest that you confirm your 3D hardware acceleration is
in fact running (is fglrx or MESA running, and do you have direct
rendering support).

Hope this helps,
Holly
-- 
gentoo-user@gentoo.org mailing list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic