Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Torchligt 2 - crash on start #95

Closed
Pshemas opened this issue Jun 11, 2018 · 23 comments · Fixed by #338
Closed

Torchligt 2 - crash on start #95

Pshemas opened this issue Jun 11, 2018 · 23 comments · Fixed by #338

Comments

@Pshemas
Copy link

Pshemas commented Jun 11, 2018

With this one I'm not sure it is flatpak package related as it seems it is not working in general (need to test on a machine with a configuration I know worked), but just in case here's the CLI output:

[AppID 200710, ActionID 5] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 200710, ActionID 5] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 200710, ActionID 5] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 200710, ActionID 5] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 200710, ActionID 5] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 30
Game update: AppID 200710 "", ProcID 756, IP 0.0.0.0:0
>>> Adding process 756 for game ID 200710
GameAction [AppID 200710, ActionID 5] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/przemek/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/przemek/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/home/przemek/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Torchlight II/ModLauncher.bin.x86_64: symbol lookup error: /lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
GameAction [AppID 200710, ActionID 5] : LaunchApp changed task to Completed with ""
>>> Adding process 757 for game ID 200710
Game removed: AppID 200710 "", ProcID 756 
No cached sticky mapping in ActivateActionSet.

Side note - you rock guys. After upgrading my system I found out that Steam runtime provided in the repos for my distro causes a bit of issues. Flatpak to the rescue - majority of the games work great.

@markus-zimmermann
Copy link

I had a similar problem with Torchlight, the solution was to delete (better move or rename) libfreetype.so in

~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Torchlight II/lib
~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Torchlight II/lib64

Although renaming the one in lib64 could be enough ...

@pshpsh
Copy link

pshpsh commented Jun 15, 2018

LD_PRELOAD=~/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libfontconfig.so.1 %command%

@Pshemas
Copy link
Author

Pshemas commented Jun 22, 2018

@pshpsh : you're the man. That allowed the game to start - but sadly exactly as with Rise of the Tom Raider I have no sound (reported in other post). Will try to check it later on and see whether I get the same :
Cannot access file /etc/alsa-pulse.conf
type of error with it too.

@nanonyme
Copy link
Collaborator

nanonyme commented Aug 5, 2018

The libfontconfig mess sounds like a game issue to me. However, something else could still be amiss since this thing is 64bit

@valentindavid
Copy link
Contributor

valentindavid commented Aug 21, 2018

The issue also happens with 18.08. However I found out that the symbol is missing because of parallel compilation. I will fix that on the runtime.

@valentindavid
Copy link
Contributor

I got confused. The game provides lib64/libfreetype.so.6 which is bad. Please remove it manually.

@valentindavid
Copy link
Contributor

There is not much we can do for this one. The game should not play with LD_LIBRARY_PATH and provide system libraries. I propose we close this issue.

@nanonyme
Copy link
Collaborator

@valentindavid technically we could set LD_PRELOAD in the wrapper but then there's Steam vs FDO runtime version of this file

@nanonyme
Copy link
Collaborator

But yeah, @Pshemas we need to find a way to make game vendor and Valve aware of thid. This is clearly a broken game

@nanonyme
Copy link
Collaborator

Might not be right project but might get some interest in the issue and possibly directions to right place...

@nanonyme
Copy link
Collaborator

nanonyme commented Aug 27, 2018

Okay. So the problem is the game vendor went defunct in 2017 so getting it fixed isn't entirely likely

@nanonyme
Copy link
Collaborator

nanonyme commented Sep 7, 2018

@valentindavid had some ideas on making a maintainable library blacklist. Once it's included, we should see if this be made to work out of the box

@nanonyme
Copy link
Collaborator

@nanonyme
Copy link
Collaborator

Turns out that https://wiki.archlinux.org/index.php/Steam/Game-specific_troubleshooting has a fairly wide list of broken games that would also need this workaround

@nanonyme
Copy link
Collaborator

Did this game use bash for its wrapper?

@purew
Copy link

purew commented Feb 20, 2019

LD_PRELOAD=~/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libfontconfig.so.1 %command%

👍 This is enough to get Civilization 6 running too.

@nanonyme
Copy link
Collaborator

Could you try if SHARED_LIBRARY_GUARD=1 (or 2) makes the game run? It's a prototype audit library.

@nanonyme
Copy link
Collaborator

nanonyme commented Feb 20, 2019

I'm going to document this a bit later. Basically mode 1 should block these libraries, mode 2 may prevent glibc from enabling library profiling which is bad for runtime performance. Mode 2 includes mode 1.

@nanonyme
Copy link
Collaborator

@purew
Copy link

purew commented Feb 26, 2019

@nanonyme Merely inputting SHARED_LIBRARY_GUARD=1 in launch options for Civ 6 leads to the same issue as earlier with the undefined function. Same with ...=2.

@nanonyme
Copy link
Collaborator

nanonyme commented Feb 26, 2019

As said, for Civ 6 someone who has the game needs to contribute data to above file. Otherwise it will not help. It should for Torchlight.

@purew
Copy link

purew commented Feb 26, 2019

@nanonyme I could do it. Is there documentation anywhere on that file?

@nanonyme
Copy link
Collaborator

It's basically a form of pattern matching with executable name on left side and bad library on right side. Your files are somewhere under .var/app/com.valvesoftware.Steam sandbox directory

You can use the existing ones as examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants