flathub / com.valvesoftware.Steam

https://flathub.org/apps/details/com.valvesoftware.Steam
336 stars 70 forks source link

Substance Painter wont launch with 23.08 runtime #1174

Open gg537 opened 9 months ago

gg537 commented 9 months ago

Game information Substance painter

Distribution name and version where applicable Fedora silverblue 38

Flatpak info flatpak --version Flatpak 1.15.4

flatpak --gl-drivers default host

Problem description Substance painter doesn't open when launching, the terminal gives an error saying libcrypt.so.1 is missing

.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Substance 3D Painter 2022/Adobe Substance 3D Pai  
nter: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

If I downgrade the Steam Flatpak to use the 22.08 runtime using this command Substance Painter works again.

Does this issue reproduce with native Steam Have not tested, but someone on the steam forums said native works

doraskayo commented 9 months ago

@nanonyme, using libxcrypt to provide libcrypt.so in Freedesktop SDK 23.08 apparently came with an ABI version bump to libcrypt.so.2.

This change effectively dropped support for what was traditionally a glibc ABI, which is usually expected to remain backwards compatible "forever".

Dropping compatibility with the old ABI version would undoubtedly result in issues with various binary or closed-source apps that rely on it, such as the one reported in this issue. Do you think it was a good idea do so?

libxcrypt actually has the enable-obsolete-api=glibc configure flag that can be used to build a libcrypt.so.1 which supposedly provides the old glibc ABI. The two libraries can be installed in parallel to allow the runtime to retain compatibility with both ABI versions.

Do you think we should add libcrypt.so.1 to the runtime to retain backwards compatibility?

nanonyme commented 9 months ago

@doraskayo sounds legit to me

jekanev commented 8 months ago

substance designer affected too same issue.

jekanev commented 8 months ago

after last steam update, SD and SP seems work ok for me.

nanonyme commented 8 months ago

Would be great to know why. Does the issue still reproduce for you @gg537 ?

gg537 commented 8 months ago

Still not working for me, but after some testing I found that if I enable "Steam Linux runtime 1.0" and then disable it substance will get a 327mb update and start, until I restart Steam then Substance gets a 307mb update and no longer starts.

Steps to reproduce:

  1. Right click substance>force compatibility tool>Steam Linux Runtime 1.0
  2. Let substance download a 327mb update(still wont start if you don't disable the 1.0 runtime)
  3. Right click and disable "force compatibility tool"
  4. Now substance painter starts just fine, it doesn't even update
  5. Restart Steam and Substance will download a 307mb update and now longer start until I repeat the steps.
gg537 commented 8 months ago

Looking at the terminal output it seems Steam is forcing a download of the Windows version at step 5 which gives the following error

/var/home/gh/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Substance 3D Painter 2022/Adobe Substance 3D Painter.exe: /var/home/gh/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Substance 3D Painter 2022/Adobe Substance 3D Painter.exe: cannot execute binary file

I also don't seem to be getting the original libcrypt.so.1: cannot open shared object file: No such file or directory error anymore

Maybe I should open a bug report for Steam?

Full terminal output

gg537 commented 8 months ago

Sorry for another post but I found this bug report that matches my new issue https://github.com/ValveSoftware/steam-for-linux/issues/9875

And since I'm no longer getting the missing libcrypt.so error and @jekanev reports it as working you can probably close this issue.

jekanev commented 8 months ago

Still not working for me, but after some testing I found that if I enable "Steam Linux runtime 1.0" and then disable it substance will get a 327mb update and start, until I restart Steam then Substance gets a 307mb update and no longer starts.

Steps to reproduce:

1. Right click substance>force compatibility tool>Steam Linux Runtime 1.0

2. Let substance download a 327mb update(still wont start if you don't disable the 1.0 runtime)

3. Right click and disable "force compatibility tool"

4. Now substance painter starts just fine, it doesn't even update

5. Restart Steam and Substance will download a 307mb update and now longer start until I repeat the steps.

i try compatibility option too, setting it to proton,linux and back then switched off, at some point my SD start force download only windows version even with compatibility off, after i reinstall SD to different library drive it start download right linux version, but fully start working after my steam update to 1698777785.

gg537 commented 8 months ago

Would be great to know why. Does the issue still reproduce for you @gg537

I think this commit fixed the original libcrypt.so error, and SteamDB shows Steam Linux runtimes got updated on the 18th of October, but because I'm getting the new bug I didn't notice any change in behavior.

jekanev commented 8 months ago

forgot to say, i fully resetting my steam setting too, by deleting ".var/app/com.valvesoftware.Steam" folder. may be this one helps too.

gg537 commented 8 months ago

forgot to say, i fully resetting my steam setting too, by deleting ".var/app/com.valvesoftware.Steam" folder. may be this one helps too.

Thank you,

I tried running flatpak run com.valvesoftware.Steam --reset but it didn't do anything so I just manually deleted everything in ".var/app/com.valvesoftware.Steam/.steam/steam" except for steamapps, steam.sh and the ubuntu12 folders, started Steam and everything works now.