Wine setup for toolset on EE

Hello,

I´ve been successful in the past running the NWN EE toolset linux using wine. At that time, I had the following configuration:

  • Wine version 3.0
  • WINEARCH was 64
  • winetricks dotnet40

But now I can´t manage to make it work again. I´ve tried a few different configs, and no luck. It breaks

    0024:fixme:thread:GetThreadUILanguage : stub, returning default language.
    0024:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0021D9CC, 00000000 0021D9F4
    0024:fixme:nls:get_dummy_preferred_ui_language (0x38 0021D9CC 00000000 0021D9F4) returning a dummy value (current locale)
    0024:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0021D9CC, 016E7200 0021D9F4
    0024:fixme:nls:get_dummy_preferred_ui_language (0x38 0021D9CC 016E7200 0021D9F4) returning a dummy value (current locale)
    0024:fixme:wtsapi:WTSRegisterSessionNotification Stub 0001007E 0x00000000
    0024:fixme:uxtheme:BufferedPaintInit Stub ()
    0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
    X Error of failed request:  BadValue (integer parameter out of range for operation)
      Major opcode of failed request:  151 (GLX)
      Minor opcode of failed request:  3 (X_GLXCreateContext)
      Value in failed request:  0x0
      Serial number of failed request:  1840
      Current serial number in output stream:  1841

If you are successfully running the toolset on wine, do you mind share your configs for me to copy? I´m using the steam version if this makes any difference.

Thanks!

I use WINE 5.0 stable version with a Mac but I have no idea where to find the the config files of which you speak ! :slight_smile:

That looks like you don’t have 3d working right. Make sure you have your nvidia or AMD card working. And for nvidia you probably want the proprietary driver. I get a few of the same fixmes too but it all works.

The proprietary nvidia driver seems to be loaded for me:

$ lsmod  | grep nvidia
nvidia_drm             65536  4
drm_kms_helper        282624  1 nvidia_drm
drm                   569344  7 drm_kms_helper,nvidia_drm
nvidia_modeset       1232896  8 nvidia_drm
nvidia              34177024  400 nvidia_modeset

$ nvidia-smi 
Thu Apr 22 12:16:56 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.67       Driver Version: 460.67       CUDA Version: 11.2     |
[cut]

But I can see from where do you come to this tip. I will search the internet how to make sure wine understands my graphic card.

Thanks for the response! I think the output of the following commands is enough for me to try to copy your environment:

wine --version
winetricks list-installed
winetricks settings list

I´ve tried a wine 5.0 with only dotnet40 installed had no success :frowning:

That is, if is not something related to my graphic card drivers.

Yeah, it seems to be gfx-related. Kernel modules look fine, but can you verify that hardware acceleration should work?

glxinfo | grep 'direct rendering'

Also try to grab more debug messages from wine:

WINEDEBUG=warn+all

I´ve got direct rendering: Yes as the glxinfo output. But maybe is somehow related to wine only?
Thanks for the WINEDEBUG flag, I will try to crunch the wine output with it later.

Indeed it was a video driver issue. glxinfo and glxgears would work fine, but it seems that the video driver was not updated properly on the last update. mkinitcpio -P fixed the issue for me, but please don´t run this command unless you understand what it does.

Great, build on!

mkinitcpio is also distribution specific. I assume unbuntu? On opensuse and fedora it’s mkinitrd. But yeah, that should have happened as part of installing a new kernel driver module that needs to be there at boot.

I doubt a video module would need to be placed in the initial ramdisk, but perhaps something else was needed and it eventually affected wine.

I find it sufficient to only run the proprietary nvidia installer with every kernel update (sigh) and wine runs fine, even via firejail :slight_smile:

The driver itself is not needed, but there is a bunch of nvidia firmware that needs to get loaded. Since this was a problem with the 3d graphics that’s about the only option. Wine shouldn’t care what happens in the initrd. But with systemd wanting more and more of the whole system to get itself started there’s a lot more in the initramfs these days than there used to be.

But yes, I get it working out of the box on kernel update because there are packaged rpms for the proprietary driver on opensuse.

I’ve noticed that the Neverwinter Nights EE toolset is a little temperamental on wine; on my Ubuntu machine anyways. I still use it to look at some of the wonderful prefabs and modules available on the vault that are built with the EE toolset. I never build with it and still prefer to use the 1.69 toolset. Now today out of the blue it just started throwing the dreaded error: “Abnormal Program Termination” and wouldn’t start at all.
It was really frustrating because it was working last night. There had been no updates on my system so it couldn’t have been a driver issue or a kernel issue but just in case, I still tried some of the suggestions mentioned above like making sure the nvidia driver was up and running properly. I’m using wine-staging on Ubuntu so I also tried wine-stable.
After a lot of trial and error, what finally got it working again was to let the game create a new ‘Neverwinter Nights’ folder in ‘Documents’ by renaming the old one. I slowly added my old ‘ini’ files into this new folder and it stopped working again when I added the ‘nwn.ini’ file. Something must have changed in this file last night probably while trying out the modules I had been looking at in the toolset.
Just my two cents here to help some other poor soul who suffers the same problem i did.

1 Like