If you're on a Fedora or Arch based distro, some things will be different. It is also possible some of this is applicable to NWN2:EE with client extension, or might even work with the GOG version of NWN2.
If you want to run NWN2 with Client Extenion in Linux, I hope this at least gets you started on solving it. I am by no means some Linux expert so the bash script below probably could be done much better, but this legitimately works both on my old desktop and my laptop.
- Install Steam with the official .deb binary. Don't use snap like Ubuntu defaults to. This caused me a lot of problems.
- Make sure the files hdlinstall.reg, ClientExtension.hdl and the NWlauncher.exe is in the install folder: (...)/steamapps/common/Neverwinter Nights 2/
- Edit the nwn.ini file in the install folder and set the following:
Code: Select all
[Display Options] FullScreen=0 AllowWindowedMode=1 - Get proton to register hdlinstall.reg to the prefix regedit in the (...)/steamapps/compatdata/2760. Paste this into a terminal (The "(...)" is your path up to your steam library):
Code: Select all
STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.steam/steam" \ STEAM_COMPAT_DATA_PATH="(...)/steamapps/compatdata/2760" \ "$HOME/.steam/steam/steamapps/common/Proton - Experimental/proton" run regedit "(...)/steamapps/common/Neverwinter Nights 2/hdlinstall.reg" - Create a script called nwn2ce.sh that does the following inside the install folder:
Code: Select all
#!/bin/bash GAME_DIR="(...)/steamapps/common/Neverwinter Nights 2" STEAM_APPID=2760 cd "$GAME_DIR" || { echo "Game folder not found!"; exit 1; } # Backup original exe if [ -f "nwn2main.exe" ]; then mv nwn2main.exe nwn2main.exe.original else echo "No nwn2main.exe found to back up!" exit 1 fi # Replace with launcher exe cp NWLauncher.exe nwn2main.exe echo "Launcher installed. Starting Neverwinter Nights 2 via Steam..." # Launch game through Steam, non-blocking steam steam://rungameid/$STEAM_APPID & # Wait for a bit to let the game start sleep 15 # Restore original exe mv nwn2main.exe.original nwn2main.exe echo "Original executable restored." exit 0 - Make sure the script is executable. Navigate to the install folder in the terminal and run:
Code: Select all
chmod +x nwn2ce.sh - Add the script as a non-steam game in steam.
- Set launch options on the actual NWN2 game in steam to
Code: Select all
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%

