Bug #36929

The game shouldn't crash on Linux when loading a save or starting a new game

Added by Julius Borisov almost 2 years ago. Updated almost 2 years ago.

Status:NewStart date:05/01/2018
Classification:Public ItemDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Found In Version:Public Bug Reports - 2.5.16.3

Description

This is based on the quick feedback to the latest release.

"As of today's patch, the game crashes to desktop without any error message when loading any save or starting a new game. Game is not and never has been modded.

Icewind Dale v2.5.16.3
Ubuntu 17.10 (but appears to be happening with other Linux distros as well)
CPU: i7 4790k
GPU: Fury X with open source drivers (mesa 18.0.1 padoka ppa)
16 GB RAM
Game is installed on an SSD"

"It crashes immidiatly when pressing load of a save-game, same thing when starting a new game directly after the sequence with "Our journey begins in....".

This was tested with Ubuntu 16.04, 17.10 and now latest with "Ubuntu Mate 18.04". First with AMD FX 4100 cpu and now with Ryzen 5 1600 cpu, using nvidia 960 and latest stable 390 as well as 396 drivers"

"I'm having the same issue as the poster above.

I'm on Ubuntu 17.10, starting a new game or loading any save game from the 1.4 patch causes an immediate crash to desktop."

Ubuntu 17.10
i7 4790k
Fury X with open source (mesa) drivers
16 gb RAM"

"ubuntu 17.04
Crash on loading game."

"Same issue here, seems to be a Linux bug. I'm running Gentoo Linux with a 4.15.12 kernel. Immediate crash to desktop when trying to load a save. Does the game make any log file I can check (I didn't find any in ~/.local/share/ or the steamapps folder)?"

History

#1 Updated by Richard Hilton almost 2 years ago

  • Status changed from New to Needs More Info

Hello
There have been a couple of reports where this was resolved by uninstalling, and then re-installing the game. Please can you try this and report back.

Thanks

#2 Updated by Julius Borisov almost 2 years ago

According to users, uninstalling/reinstalling fixes the new/load game crash where the game crashes upon starting a new game or loading a save.
However, it doesn't work for this problem where the game crashes simply by selecting the "Load Game" option from the main menu.

"As in, it crashes instead of showing you the list of saved games. I am able to start a new game just fine, but I can't navigate to the load game menu option without a crash to desktop."

#3 Updated by Richard Hilton almost 2 years ago

Could people with this issue advise whether they are using the Beamdog Client or Steam.
For distro's with Wayland (such as Ubuntu 17.10), does switching back to X.Org make any difference.
Does anything change after using the Verify element of Steam or Beamdog client.

Thanks

#4 Updated by Richard Hilton almost 2 years ago

For the remaining issue (crash on load game from main menu), does this still happen on non-AMD chipsets.

For AMD chipsets, mention is made of using open source drivers. Does using relevant drivers from https://support.amd.com/en-us/download/linux make any difference.

Does temporarily moving all saves to another location allow you to see an empty load screen or does it still crash.
Does then adding one new save work, or still crash on load.
Is this being seen with English, or an alternate language.
Are any custom files being used, e.g. a dialogue file other than included in the retail packages (such as for translation activity).

Thanks

#5 Updated by Julius Borisov almost 2 years ago

Heard back: "I'm using the Steam client on Ubuntu 17.10 with X.Org.

Verify integrity of game cache did not fix the issue.

The AMD closed source drivers are not compatible with Ubuntu 17.10.

Moving the saves out of the save folder did not fix the crash. For clarification, the game can be saved and loaded using the quicksave and quicload hotkeys, but it crashes if you attempt to open the load game page from either the pause menu or the main menu. So it may not even be a problem with loading - just the menu option.

My game is in English, and no dialogue files are in use."

#6 Updated by Richard Hilton almost 2 years ago

Are the AMD drivers compatible with a LTS version of Ubuntu, e.g. 16.04, 18.04. If so, are you able to add a LTS install and try that.

It would help to know exactly what combinations we are talking about here. I think we have something like this:

1
CPU: i7 4790k
Integrated graphics: Intel HD Graphics 4600
Graphics card: Fury X
Graphics driver: Mesa 18.0.1
OS: Ubuntu 17.10
Crash: After clicking load game and before any list of saves is shown

2
CPU: FX-4100
Integrated graphics: N/a
Graphics card: nvidia 960
Graphic driver: 390, 396
OS: Ubuntu 16.04, 17.10, 18.04
Crash: After clicking load game and before any list of saves is shown

3
CPU: Ryzen 5 1600
Integrated graphics: N/a
Graphics card: nvidia 960
Graphic driver: 390, 396
OS: As 2?
Crash: As 2?

4
CPU: ?
Integrated graphics: ?
Graphics card: ?
Graphic driver: ?
OS:Gentoo Linux with a 4.15.12
Crash: After clicking load game and before any list of saves is shown?

#7 Updated by Richard Hilton almost 2 years ago

For the Nvidia driver please confirm appropriate reboots were used to uninstall and re-install. e.g. as example below

sudo apt-get purge nvidia*  
sudo reboot

followed by (replacing NNN with the version to install)
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-NNN
sudo reboot

Thanks

#8 Updated by Richard Hilton almost 2 years ago

Decided to check a non-English instance in case that threw up any differences to previous installs.

Cinnamon Mint 18.03 with German language and game worked OK (start new game with default party, move a few steps, save, load from menu).
  • Installed the OS
  • Ran updates
  • Installed Nvidia driver
  • Installed Steam
  • Installed retail IWD:EE

n.b. I used sudo apt-get install nvidia-390 instead of sudo apt-get install nvidia-driver-390 and it seemed to work fine.

#9 Updated by Meowmeow Fuzzyface almost 2 years ago

Richard Hilton wrote:

Are the AMD drivers compatible with a LTS version of Ubuntu, e.g. 16.04, 18.04. If so, are you able to add a LTS install and try that.

It would help to know exactly what combinations we are talking about here. I think we have something like this:

1
CPU: i7 4790k
Integrated graphics: Intel HD Graphics 4600
Graphics card: Fury X
Graphics driver: Mesa 18.0.1
OS: Ubuntu 17.10
Crash: After clicking load game and before any list of saves is shown

It looks like the closed source AMD drivers are not officially supported by Ubuntu since 16.04 and beyond. I'm currently on 17.10 and will move to the latest LTS (18.04) when I have the chance. The default driver for 18.04 is currently mesa 18.0.0.

And I can confirm those hardware details and crash description are accurate. I am able to save/load normally using the quicksave and quickload hotkeys, but the load game menu causes a crash.

#10 Updated by Richard Hilton almost 2 years ago

OK. There is a preview driver but may not be suitable for use.

I'm not certain but I understand Mesa is an open source variant of OpenGL rather than a graphics driver, i.e. you'd normally have mesa complement the driver. You may be able to check via some items on this article as to what you are currently using.

Edit, actually don't do the below unless you really know what you are doing as there may be potential for it to try to install 18:04 depending on other settings - I'm not 100% on that and read a couple of conflicting articles.
Alternately you might want to just try running this terminal command to do a full system update as it should install the best driver available as part of it's activity
sudo apt-get update --fix-missing && sudo apt-get dist-upgrade -y

#11 Updated by Meowmeow Fuzzyface almost 2 years ago

To be totally honest with you, I don't know how it works either. I just know that the default and recommended are the open source drivers (AMDGPU + mesa + radv for vulkan). For AMD, the open source drivers have been performing better than the closed source ones for some time now.

Most users who use their Linux PC to game will be using either Padoka or Oibaf provided open source drivers to receive bugfixes and performance improvements without having to wait for the next Ubuntu release. I am using the Padoka stable branch which provides mesa 18.0.1 ("bleeding edge" version is 18.2).

I'm going to upgrade to Ubuntu 18.04 today, which means I will need to downgrade to mesa 18.0.0. I will see if the issue persist and report back.

#12 Updated by Meowmeow Fuzzyface almost 2 years ago

Ok, now I am on 18.04 LTS with all default drivers (no PPAs). I also uninstalled and reinstalled the game through Steam. Same issue, load game screen causes crash, but quicksave and quickload hotkeys work. Removing save games from save directory doesn't change anything. I don't see a crash log in the game directory, save directory, or /var/crash/.

#13 Updated by Richard Hilton almost 2 years ago

I've been looking at what should appear in a terminal session when the load interface is displayed.
Your last part might be worth looking at, or adding here:

First, navigate to your game folder. e.g. for me

cd '/home/richard/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition'
Then launch the game
LD_LIBRARY_PATH=~/.steam/bin32/ ~/.steam/bin32/steam-runtime/run.sh ./IcewindDale
or
LD_LIBRARY_PATH=~/.steam/bin32/ ~/.steam/bin32/steam-runtime/run.sh ./IcewindDale64
Start by resuming a game. Once in, press the O key to open the Options screen. Note the last few lines in the terminal so you can find it later. e.g. for me they were
INFO: Font: loaded font REALMS
INFO: Font: loaded font SHERWOOD
INFO: Font: Added point size (26) for font SHERWOOD
Then do the Load Game -> Load action to the point where the game crashes, and copy what was added to the terminal after the previous point. For me...
INFO: scanning:(0) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/*override*
INFO: scanning:(1) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/scripts
INFO: scanning:(2) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/*sounds*
INFO: scanning:(3) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/lang/en_US/sounds
INFO: scanning:(4) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/*portraits*
INFO: scanning:(5) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/*characters*
INFO: scanning:(6) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/movies
INFO: scanning:(7) /home/richard/.local/share/Steam/steamapps/common/Icewind Dale Enhanced Edition/*lang/en_US/movies*
INFO: scanning:(8) /home/richard/.local/share/Icewind Dale - Enhanced Edition/*override*
INFO: scanning:(9) /home/richard/.local/share/Icewind Dale - Enhanced Edition/*scripts*
INFO: scanning:(10) /home/richard/.local/share/Icewind Dale - Enhanced Edition/*sounds*
INFO: scanning:(11) /home/richard/.local/share/Icewind Dale - Enhanced Edition/portraits
INFO: scanning:(12) /home/richard/.local/share/Icewind Dale - Enhanced Edition/characters
INFO: scanning:(13) /home/richard/.local/share/Icewind Dale - Enhanced Edition/*movies*
n.b. the files marked with asterisks do not exist on my install

#14 Updated by Meowmeow Fuzzyface almost 2 years ago

Ok, this has led to an interesting discovery.

If I launch using "IcewindDale64", there is no crash on the load screen. Launching with "IcewindDale", the issue persists. It seems launching through Steam uses what I assume is the 32 bit Icewind Dale rather than the 64 bit version?

If I follow your directions using "IcewindDale", these are the messages produced when I click Load:

INFO: scanning:(0) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/override
INFO: scanning:(1) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/scripts
INFO: scanning:(2) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/sounds
INFO: scanning:(3) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/lang/en_US/sounds
INFO: scanning:(4) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/portraits
INFO: scanning:(5) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/characters
INFO: scanning:(6) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/movies
INFO: scanning:(7) /home/ege/.steam/steam/steamapps/common/Icewind Dale Enhanced Edition/lang/en_US/movies
INFO: scanning:(8) /home/ege/.local/share/Icewind Dale - Enhanced Edition/override
INFO: scanning:(9) /home/ege/.local/share/Icewind Dale - Enhanced Edition/scripts
INFO: scanning:(10) /home/ege/.local/share/Icewind Dale - Enhanced Edition/sounds
INFO: scanning:(11) /home/ege/.local/share/Icewind Dale - Enhanced Edition/portraits
INFO: scanning:(12) /home/ege/.local/share/Icewind Dale - Enhanced Edition/characters
INFO: scanning:(13) /home/ege/.local/share/Icewind Dale - Enhanced Edition/movies
Segmentation fault (core dumped)

Either way, this will work as a workaround for the time being. Is there a launch command I can use in Steam to force it to use the 64 bit version?

#15 Updated by Richard Hilton almost 2 years ago

You could create a desktop shortcut via the option in Steam. Edit that and set it to the 64 bit version.

It sounds like you don't have the 32 bit architecture installed, however I would have expected the game to not launch at all. More details in these reports if you want to track down packages, but also this article gives an overview and suggests a way to install the architecture as a whole instead of the piecemeal approach below.

https://support.baldursgate.com/issues/34492 PST:EE but same principle applies

(substitute your game location as necessary, can be found by clicking Options -> Open Game Location then dragging from Files to Terminal)

    32 bit: ldd '/home/<user>/BDX/00827/Torment64'
    64 bit: ldd '/home/<user>/BDX/00827/Torment'
    Objdump: objdump -p '/home/<user>/BDX/00827/Torment64' | grep NEEDED

The 32 bit version may require these packages.

    libgl1:i386
    libgl1-mesa-dri:i386
    libtxc-dxtn0:i386


https://support.baldursgate.com/issues/31658
https://support.baldursgate.com/issues/31570
https://support.baldursgate.com/issues/35904

#16 Updated by Meowmeow Fuzzyface almost 2 years ago

Richard Hilton wrote:

You could create a desktop shortcut via the option in Steam. Edit that and set it to the 64 bit version.

It sounds like you don't have the 32 bit architecture installed, however I would have expected the game to not launch at all. More details in these reports if you want to track down packages, but also this article gives an overview and suggests a way to install the architecture as a whole instead of the piecemeal approach below.

https://support.baldursgate.com/issues/34492 PST:EE but same principle applies
[...]
https://support.baldursgate.com/issues/31658
https://support.baldursgate.com/issues/31570
https://support.baldursgate.com/issues/35904

I do have 32 bit architecture installed. In fact, I believe that's a requirement to run Steam in the first place, but I could be wrong.

From ldd, here are the missing libraries for the 32 bit version:

libopenal.so.1 => not found
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found

The rest of them are present. The 64 bit version has all libraries present. Shouldn't these dependencies be installed automatically by the game?

Also, why does it not launch the 64 bit version by default? Is there any way to change that?

#17 Updated by Meowmeow Fuzzyface almost 2 years ago

Ok, I have installed libopenal1:i386 and libssl1.0.0:i386 from the Ubuntu repository.

ldd no longer shows any missing libraries for the 32 bit version:

linux-gate.so.1 (0xf7f6c000)
    libopenal.so.1 => /usr/lib/i386-linux-gnu/libopenal.so.1 (0xf7e94000)
    libGL.so.1 => /usr/lib/i386-linux-gnu/libGL.so.1 (0xf7e33000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7e14000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7e0a000)
    libssl.so.1.0.0 => /usr/lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7da0000)
    libcrypto.so.1.0.0 => /usr/lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf7bb0000)
    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf7b7e000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7a33000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7a2e000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf78a8000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf77a4000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7786000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf75aa000)
    libsndio.so.6.1 => /usr/lib/i386-linux-gnu/libsndio.so.6.1 (0xf7598000)
    libGLX.so.0 => /usr/lib/i386-linux-gnu/libGLX.so.0 (0xf7575000)
    libGLdispatch.so.0 => /usr/lib/i386-linux-gnu/libGLdispatch.so.0 (0xf7516000)
    /lib/ld-linux.so.2 (0xf7f6e000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf74ea000)
    libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xf73c8000)
    libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf73ad000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf73a9000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf73a0000)


The crash still persists on the 32 bit version.

#18 Updated by Meowmeow Fuzzyface almost 2 years ago

Richard and Julius,

I've renamed "IcewindDale" to "IcewindDale32" and "IcewindDale64" to "IcewindDale". Now, when I launch the game through Steam, it launches the 64 bit version directly, which does not have the crashing issues. I haven't noticed any problems otherwise with using this workaround. For now, this will serve as a permanent workaround for anyone with a 64 bit Linux OS. I've posted this process on the thread in the Beamdog tech support forum as well as the Steam discussion thread.

I'm glad to continue helping here anyway I can. Hopefully you can get to the bottom of why the 32 bit version crashes on the load page. Let me know if I can provide you with any more information that would help.

#19 Updated by Meowmeow Fuzzyface almost 2 years ago

Ok guys, yet another clue.

I realized this same issue just started happening with Baldur's Gate and Baldur's gate II as well. Those two did not have 64 bit executables, so I couldn't do what I did for Icewind Dale. On a whim, I decided to go into the options menu and turn off cloud saves. This fixed the crashing!
I went back to Icewind Dale 32 bit and tried the same thing. Sure enough, the crashing is gone.

So it seems that cloud saves are a problem on Linux when using the 32 bit version. Either turning off cloud saves OR using the 64 bit version fixes this issue.

I would still like to know, though, if it would be better to run the 64 bit version of the game? Does it have better performance or anything like that?

#20 Updated by Meowmeow Fuzzyface almost 2 years ago

  • Status changed from Needs More Info to New

Hi guys it's been over a month since this report was opened. I've found out that the crash occurs with cloud saves enabled on the 32 bit Linux binary. It does not occur with cloud saves disabled, or with the 64 bit binary. This bug is also present in Baldur's Gate and Baldur's Gate II which currently do not have 64 bit binaries available.

#21 Updated by Richard Hilton almost 2 years ago

Hello
I've just tried running the 32 bit version with cloud saves enabled, made a save and checked it didn't crash. Checked on another machine and the save was available in the cloud.

If you're not getting any messages out it may be tricky to work out what is happening on your machine. It might be worth trying to uninstall and re-install the Steam 32 bit run time libraries again.
Or perhaps using ldd ~/.local/share/Steam/ubuntu12_32/steam to see if there are any missing dependencies for Steam (found that here but should work for Ubuntu)

edit and other details

I would still like to know, though, if it would be better to run the 64 bit version of the game? Does it have better performance or anything like that?
For the EE games it is unlikely to be noticeable but generally 64 bits increases the amount of memory available to a task or process

The rest of them are present. The 64 bit version has all libraries present. Shouldn't these dependencies be installed automatically by the game?
There are various things to consider, e.g.
Do the dependencies vary from one Linux variant to another, e.g. Ubuntu, Fedora, Arch, etc.
Are there commercial considerations about including 3rd party software which may be copyrighted etc.
What are the practicalities of including a package that could be superceded, updated or deleted. Installing the application could downgrade a system and potentially break other applications or the system itself.

#22 Updated by Meowmeow Fuzzyface almost 2 years ago

Hi Richard, I have some cloud saves left over from when I used to play these 3 games on Windows. Is it possible that cloud saves made on Windows is causing the crash?

#23 Updated by Richard Hilton almost 2 years ago

I don't see why but if you load each of those saves in the 64 bit and save over them, sync Steam by closing the game, then relaunch and delete each of those saves from within the game they should be removed from your cloud files. (think that was how it worked when I checked for another reporter, i.e. the save has to be deleted by the last device that updated it)

Also available in: Atom PDF