FrictionalGames / AmnesiaTheDarkDescent

GNU General Public License v3.0
3.51k stars 368 forks source link

Linux: game doesn't launch from Steam #15

Open darealshinji opened 4 years ago

darealshinji commented 4 years ago

When I try to launch the game from the Steam client on Linux it doesn't work. The screen gets black and then the game closes. I can't even start the settings launcher.

Running the game manually from the game directory however works, but the SteamAPI isn't loaded:

Setting breakpad minidump AppID = 57300
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197976357018 [API loaded no]

A Machine for Pigs and Rebirth are both starting from Steam and with SteamAPI enabled (messages are appearing, I can make screenshots with Steam, etc).

Mudbill commented 4 years ago

I don't think the Steam API is included in the dependencies, so that has to be added manually. Additionally, the Steam API requirement in the Cmake file was removed. By the way, I don't think you need the Steam API if all you want is the Steam Overlay. The API is used for unlocking the achievements.

darealshinji commented 4 years ago

I figured out how to fix this! I copied the lib and lib64 directory from "Machine for Pigs" into the game directory of "Amnesia The Dark Descent". Now the game starts from Steam and the SteamAPI is enabled. The "Machine for Pigs" lib directories includes a few more dependencies, so I guess it was some kind of dependency issue?

Anyway, I hope the devs see this.

Update: Looks like this doesn't fix it for everyone ->https://steamcommunity.com/app/57300/discussions/0/1608274347729710435/?tscn=1603432764#c3013431044276644181

darealshinji commented 4 years ago

The API is indeed not needed for the Overlay stuff. I can run it with LD_PRELOAD=$HOME/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so ./Amnesia.bin.x86_64

Looking at error.log from the Steam directory shows that even if the game launches from the client the API still isn't loaded...

Update: About the libraries from "Machine for Pigs" that fixed the launch issue for me... it seems that libopenal.so.1 is causing problems here. Both, the system version and the Steam Runtime version make the game crash, but the version used in MfP does it.

userofryzen commented 4 years ago

I have this problem too

userofryzen commented 4 years ago

LC_ALL=fr_FR.UTF-8 %command% Putting Es_es or france language here in the setting to launch the game is the trick for me.. NO SENSE WHY but here it is.. incredible.. 1 hour of research for executing a game that should be working with any workadaround

darealshinji commented 4 years ago

Changing LC_ALL did it for me. Strange, an environment variable not being set or not being set correctly shouldn't make the whole game crash. By the way, it seems I can set it to any locale available on my system, which includes also en_GB.UTF8 and en_US.UTF8

darealshinji commented 1 year ago

This issue still persists. The LC_ALL fix is also mentioned in a Steam guide: https://steamcommunity.com/sharedfiles/filedetails/?id=2749061346

Please, Frictional Games, fix this. This issue is ruining an otherwise well working Linux port.