Neverwinter Nights 2

Important Information Tips & Tricks are provided by the CrossOver Community and Advocates. They are not intended to be used for official CodeWeavers Support. For that, please visit our official support pages.

Installing NWN2 on Fedora 12 64-bit with CX Games 9.2

Thanks to Xaphir for this write-up!!

Report on from-scratch Neverwinter Nights 2 installation on Fedora 12, x86_64: I. DRM (Copy Protection) DVD access NeverwinterNights 2 was not getting to the DVD or not recognizing it. This had nothing to do with CXG's drm/copy protection capabilities, rather, it was the lack of a i686 hal library on 64 bit Fedora 12. The library package that was needed to fix this on Fedora was hal-libs-0.5.13-9.fc12.i686 I also installed libXcursor-1.1.10-1.fc12.i686 To make sure that the cursors within the game would be displayed properly. Thanks to Caron and Ken on #crossover channel for their professional help and suggesting the use of cxdiag, as a result of their help I was able to resolve the drm problem. There may be other dependencies that you don't have. Therefore, as a shotgun fix for possible missed dependencies in the case of trouble, I recommend installing the phoronix-test-suite. That will have the shotgun effect of pulling in a host of i686 dependencies needed for opengl game operation, and otherwise, that are also needed for CXG operations. That may be a fast fix for you.

Let's say you don't want the shotgun. Cxdiag offers another more atomic per-library solution. Try running

/opt/cxgames/bin/cxdiag

and get the names of needed libs. This won't do you any good by itself however, you need to ask yum where they came from. Look at an example output of cxdiag from my system:


[MissingLibXcomposite]
"Level"="Recommend"
"Title"="Missing 32bit libXcomposite.so.1 library"
"Description"="This is needed for most CAD-like applications and some games."



OK so we are missing the libXcomposite.so.1 lib. That's great but what package actually provides it? We ask yum:


yum whatprovides */libXcomposite.so.1



Output of yum after it contacts and updates from the repos:



Loaded plugins: downloadonly, fastestmirror, refresh-packagekit
libXcomposite-0.4.1-2.fc12.x86_64 : X Composite Extension library
Repo : fedora
Matched from:
Filename : /usr/lib64/libXcomposite.so.1



libXcomposite-0.4.1-2.fc12.i686 : X Composite Extension library
Repo : fedora
Matched from:
Filename : /usr/lib/libXcomposite.so.1



libXcomposite-0.4.1-2.fc12.x86_64 : X Composite Extension library
Repo : installed
Matched from:
Filename : /usr/lib64/libXcomposite.so.1


So from this output I can see that I have the 64 bit version installed, which does me no good I need the i686 version, so to fix this I do:

yum install libXcomposite-0.4.1-2.fc12.i686


With this procedure in combination with cxdiags, you can now make sure that all CXG dependencies are satisfied according to diagnostics under Fedora 12 64. Or any Fedora version for that matter.


II. Video Hardware Not Recognized
This was not due to registry settings, but rather due to the treatment of the dx9 interface by CXG. In the Wine Configuration UI under Libraries, the dxdiagn library must be set to "disable" instead of the default "native,builtin", because in the case of the "Modern" dx9 runtime, install of the dxdiagn dll doesn't happen. Setting "disable" in this case enables hardware recognition by CXG and the game. IF on the other hand the "Legacy" version of the dx9 runtime was installed, then the native dxdiagn dll should be there. In that case, setting it either to "disable" or "native" has achieved equal functionality here. Theoretically, in the case of "Legacy" dx9 install, when you set "native", you should be talking directly to the dxdiagn.dll during hardware detection. That may produce either different or better results; I haven't confirmed that however.

III. Type of Bottle install There seems to be some confusion over wether win2k or winxp bottles need to be used, in my experience the problems related to game function probably are not related to the type of bottle used (My system is using the winxp type) but rather to how the prerequisite packages are installed, the type and order in which they are put in. With the test I conducted the install order was 1) Visual C++ 2005 Redistributable 2) .Net Framework 2.0 3) DirectX Runtime, Modern 4) Neverwinter Nights 2 With CXG 9.2.0 Nwn2 works perfectly under the winxp bottle. I used the CXG versions of the redistributable packages rather than the ones downloadable from M$. IV. Registry Settings (From Nwn2 Tips & Tricks) Under CXG 9.2.0, with the above install procedure, I was suprised to find that Nwn2 ran with no Direct3D registry modifications under Fedora 12. This is with the game patched all the way up to 1.23. I ran the game with and without Direct3d registry settings. Some registry settings related to internet access are required in order to allow the game to download the online patches. From the Nwn2 Tips & Tricks section I found these settings to work: [HKEY_LOCAL_MACHINE\Software\Obsidian\NWN2\Neverwinter\NWUpdate] Internet Connection=1 Ping Timeout=3000 I've got ATI video hardware and although with CXG 9.2 you don't need to specify registry settings for Direct3d, I did anyway so that I could have better control over how the graphics were being handled. The settings I have with the VideoPCI strings are specific to my video card and should be obtained on a per-user basis using lspci. The following settings are currently working with my hardware/OS profile: HKEY_CURRENT_USER\Software\Wine\Direct3D DirectDrawRenderer opengl Multisampling enabled OffscreenRenderingMode fbo UseGLSL                 auto                                                                           

VertexShaderMode hardware VideoMemorySize 256 VideoPCIDeviceID 0x00009612 (38418) VideoPCIVendorID 0x00001002 (4098)

A better description of what these strings are and their settings is available at

http://wiki.winehq.org/UsefulRegistryKeys
Along with the description about how to enter the proper values for the VideoPCI strings. To get the VideoPCI Device ID's, first I ran lspci by itself to get a verbal description of the devices, which allowed me to locate the video hardware id's. Then I ran lspci -n and matched those ID's to the verbal output of lspci to confirm I had the video card ID correct. The numbers from lspci -n are what the registry settings require. Example, the default output of lspci showed my video card indexed as "01:05.0". Lspci -n output showed the index number plus the id's: "01:05.0 0300: 1002:9612". In this case the VideoPCIVendorID is entered as type DWORD "1002" and the VideoPCIDeviceID is entered as type DWORD "9612". This may come in handy for someone with a specific video hardware problem or conflict.


Final Note: Intro move works flawlessly with this install procedure/distro combination.
My current system profile: Processor: AMD Turion X2 Dual-Core Mobile RM-70 @ 0.99GHz (Total Cores:2) Motherboard: Hewlett-Packard HP Pavilion dv5 Notebook PC Chipset: AMD RS780 + SB700/SB800 System Memory: 2763MB Disk: 250GB WDC WD2500BEVS-0 Graphics: ATI RS780M/RS780MN [Radeon HD 3200 Graphics] Monitor: LP154WX4-TLC8 OS: Fedora release 12 (Constantine) Kernel: 2.6.32.23-170.fc12.x86_64 Catalyst: 8.80_RC1-x86.x86_64 Desktop: KDE 4.4.5-1 Display Server: X.Org Server 1.7.6-4 OpenGL: 3.3.10242 Compatibility Profile Context Compiler: GCC 4.4.4-10 File-System: jfs Screen Resolution: 1280x800
Please Wait...
eyJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNTcwNTQ3NzcwfQ==