ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.17k stars 173 forks source link

Shipwreck (342490) has an incomplete Linux depot (342493) #10795

Open Git-Forked opened 2 months ago

Git-Forked commented 2 months ago

Your system information

Please describe your issue in as much detail as possible:

Error launching some games: example: "Shipwreck" https://store.steampowered.com/app/342490/Shipwreck/

Steps for reproducing this issue:

  1. Install game
  2. Attempt to launch game
  3. Fail and read error
[2024-04-19 05:02:34] [INFO] Welcome to Shipwreck.
[2024-04-19 05:02:34] [INFO] Copyright © Brushfire Games, LLC 2013-2023
[2024-04-19 05:02:34] [INFO] Build Version: 1.4.8.2
[2024-04-19 05:02:34] [INFO] Build Date (UTC): 2023-04-22 16:15:51
[2024-04-19 05:02:34] [INFO] CLR version: 4.0.30319.17020
[2024-04-19 05:02:34] [INFO] Referenced assembly: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-19 05:02:34] [INFO] Referenced assembly: FNA, Version=16.8.0.0, Culture=neutral, PublicKeyToken=null
[2024-04-19 05:02:34] [INFO] Referenced assembly: Steamworks.NET, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null
[2024-04-19 05:02:34] [INFO] Referenced assembly: SharpCompress, Version=0.11.3.0, Culture=neutral, PublicKeyToken=null
[2024-04-19 05:02:34] [INFO] Referenced assembly: System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-19 05:02:34] [INFO] Referenced assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-19 05:02:34] [INFO] Culture:  - Invariant Language (Invariant Country)
[2024-04-19 05:02:34] [INFO] Keyboard layout: 1151
[2024-04-19 05:02:34] [INFO] Operating System: Unix 6.6.20.1
[2024-04-19 05:02:34] [INFO] 64-bit: OS? True, Process? True
[2024-04-19 05:02:34] [INFO] Processor count: 4
[2024-04-19 05:02:34] [INFO] Content directory: /run/media/user/Storage/SteamLibrary/steamapps/common/Shipwreck/content
[2024-04-19 05:02:34] [INFO] Game save directory: /home/user/.local/share/Brushfire Games/Shipwreck
[2024-04-19 05:02:34] [ERROR] Error initializing Steam: System.DllNotFoundException: libCSteamworks.so
[2024-04-19 05:02:34] [ERROR]   at (wrapper managed-to-native) Steamworks.NativeMethods:SteamAPI_InitSafe ()
[2024-04-19 05:02:34] [ERROR]   at Steamworks.SteamAPI.Init () [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:34] [ERROR]   at Shipwreck.Steam.Initialize (Shipwreck.Logging.Logger logger) [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:34] [INFO] Controller 0: X360 Controller
[2024-04-19 05:02:36] [ERROR] System.DllNotFoundException: libmojoshader.so
[2024-04-19 05:02:36] [ERROR]   at (wrapper managed-to-native) MojoShader:INTERNAL_glBestProfile (MojoShader/MOJOSHADER_glGetProcAddress,intptr,MojoShader/MOJOSHADER_malloc,MojoShader/MOJOSHADER_free,intptr)
[2024-04-19 05:02:36] [ERROR]   at MojoShader.MOJOSHADER_glBestProfile (MOJOSHADER_glGetProcAddress lookup, IntPtr lookup_d, MOJOSHADER_malloc m, MOJOSHADER_free f, IntPtr malloc_d) [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.Graphics.OpenGLDevice..ctor (Microsoft.Xna.Framework.Graphics.PresentationParameters presentationParameters, Microsoft.Xna.Framework.Graphics.GraphicsAdapter adapter) [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.SDL2_FNAPlatform.CreateGLDevice (Microsoft.Xna.Framework.Graphics.PresentationParameters presentationParameters, Microsoft.Xna.Framework.Graphics.GraphicsAdapter adapter) [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.Graphics.GraphicsDevice..ctor (Microsoft.Xna.Framework.Graphics.GraphicsAdapter adapter, GraphicsProfile graphicsProfile, Microsoft.Xna.Framework.Graphics.PresentationParameters presentationParameters) [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.CreateDevice () [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.GraphicsDeviceManager.get_GraphicsDevice () [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.Game.InitializeGraphicsService () [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.Game.DoInitialize () [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Microsoft.Xna.Framework.Game.Run () [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Shipwreck.ShipwreckMain.RunGame (System.String[] args, Shipwreck.Logging.Logger logger) [0x00000] in <filename unknown>:0 
[2024-04-19 05:02:36] [ERROR]   at Shipwreck.ShipwreckMain.RunGameWithExceptionHandling (System.String[] args, Shipwreck.Logging.Logger logger) [0x00000] in <filename unknown>:0
kisak-valve commented 2 months ago

Hello @Git-Forked, this issue should be reported to the game's developer(s). It looks like they've shipped their linux native variant of their game with missing dependencies.

flibitijibibo commented 2 months ago

It looks like lib and lib64 are empty, this usually happens because the folders were added in SVN/Git and revision control sometimes likes to ignore .so files specifically (not dll or dylib though ಠ_ಠ), so the PC that uploaded it probably downloaded/copied those empty folders and this is the result. I've attached a zip that can be extracted into the game folder, you'll know it was done correctly when it overwrites stuff:

FixWreck.zip

Git-Forked commented 2 months ago

@flibitijibibo Your patch gets the game to begin loading, it shows a logo, then a rain scene, and then crashes:

[2024-04-30 22:15:30] [INFO] Welcome to Shipwreck.
[2024-04-30 22:15:30] [INFO] Copyright © Brushfire Games, LLC 2013-2023
[2024-04-30 22:15:30] [INFO] Build Version: 1.4.8.2
[2024-04-30 22:15:30] [INFO] Build Date (UTC): 2023-04-22 16:15:51
[2024-04-30 22:15:30] [INFO] CLR version: 4.0.30319.42000
[2024-04-30 22:15:30] [INFO] Referenced assembly: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-30 22:15:30] [INFO] Referenced assembly: FNA, Version=16.8.0.0, Culture=neutral, PublicKeyToken=null
[2024-04-30 22:15:30] [INFO] Referenced assembly: Steamworks.NET, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null
[2024-04-30 22:15:30] [INFO] Referenced assembly: SharpCompress, Version=0.11.3.0, Culture=neutral, PublicKeyToken=null
[2024-04-30 22:15:30] [INFO] Referenced assembly: System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-30 22:15:30] [INFO] Referenced assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-30 22:15:30] [INFO] Culture:  - Invariant Language (Invariant Country)
[2024-04-30 22:15:30] [INFO] Keyboard layout: 1151
[2024-04-30 22:15:30] [INFO] Operating System: Unix 6.6.20.1
[2024-04-30 22:15:30] [INFO] 64-bit: OS? True, Process? True
[2024-04-30 22:15:30] [INFO] Processor count: 4
[2024-04-30 22:15:30] [INFO] Content directory: /run/media/user/Storage/SteamLibrary/steamapps/common/Shipwreck/content
[2024-04-30 22:15:30] [INFO] Game save directory: /home/user/.local/share/Brushfire Games/Shipwreck
[2024-04-30 22:15:30] [INFO] Steam running? True
[2024-04-30 22:15:30] [INFO] Steamworks initialized? True
[2024-04-30 22:15:30] [INFO] Controller 0: X360 Controller, GUID: 5e048e02, Mapping: 030079f6de280000ff11000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
[2024-04-30 22:15:32] [INFO] FNA3D Driver: OpenGL
[2024-04-30 22:15:32] [INFO] OpenGL Renderer: Mesa Intel(R) HD Graphics 4600 (HSW GT2)
[2024-04-30 22:15:32] [INFO] OpenGL Driver: 4.6 (Compatibility Profile) Mesa 24.0.2-manjaro1.1
[2024-04-30 22:15:32] [INFO] OpenGL Vendor: Intel
[2024-04-30 22:15:32] [INFO] MojoShader Profile: glsl120
[2024-04-30 22:15:40] [ERROR] System.TypeLoadException: Could not resolve type with token 01000069 from typeref (expected class 'Vorbisfile' in assembly 'FNA, Version=16.8.0.0, Culture=neutral, PublicKeyToken=null')
[2024-04-30 22:15:40] [ERROR]   at Shipwreck.Audio.Music.Update () [0x00032] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:15:40] [ERROR]   at Shipwreck.ShipwreckGame.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x0002d] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:15:40] [ERROR]   at Microsoft.Xna.Framework.Game.Tick () [0x000fc] in <3eca899eb3b648309812e53e9fe0d71d>:0 
[2024-04-30 22:15:40] [ERROR]   at Microsoft.Xna.Framework.Game.RunLoop () [0x00019] in <3eca899eb3b648309812e53e9fe0d71d>:0 
[2024-04-30 22:15:40] [ERROR]   at Microsoft.Xna.Framework.Game.Run () [0x00032] in <3eca899eb3b648309812e53e9fe0d71d>:0 
[2024-04-30 22:15:40] [ERROR]   at Shipwreck.ShipwreckMain.RunGame (System.String[] args, Shipwreck.Logging.Logger logger) [0x0000e] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:15:40] [ERROR]   at Shipwreck.ShipwreckMain.RunGameWithExceptionHandling (System.String[] args, Shipwreck.Logging.Logger logger) [0x00000] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:15:40] [ERROR] There was an error and the game crashed!
flibitijibibo commented 2 months ago

Looks like it depends on old internal files that have since been removed, here's another FixWreck

FixWreck.zip

Git-Forked commented 2 months ago

@flibitijibibo

[2024-04-30 22:36:56] [INFO] Welcome to Shipwreck.
[2024-04-30 22:36:56] [INFO] Copyright © Brushfire Games, LLC 2013-2023
[2024-04-30 22:36:56] [INFO] Build Version: 1.4.8.2
[2024-04-30 22:36:56] [INFO] Build Date (UTC): 2023-04-22 16:15:51
[2024-04-30 22:36:56] [INFO] CLR version: 4.0.30319.42000
[2024-04-30 22:36:56] [INFO] Referenced assembly: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-30 22:36:56] [INFO] Referenced assembly: FNA, Version=16.8.0.0, Culture=neutral, PublicKeyToken=null
[2024-04-30 22:36:56] [INFO] Referenced assembly: Steamworks.NET, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null
[2024-04-30 22:36:56] [INFO] Referenced assembly: SharpCompress, Version=0.11.3.0, Culture=neutral, PublicKeyToken=null
[2024-04-30 22:36:56] [INFO] Referenced assembly: System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-30 22:36:56] [INFO] Referenced assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
[2024-04-30 22:36:56] [INFO] Culture:  - Invariant Language (Invariant Country)
[2024-04-30 22:36:56] [INFO] Keyboard layout: 1151
[2024-04-30 22:36:56] [INFO] Operating System: Unix 6.6.20.1
[2024-04-30 22:36:56] [INFO] 64-bit: OS? True, Process? True
[2024-04-30 22:36:56] [INFO] Processor count: 4
[2024-04-30 22:36:56] [INFO] Content directory: /run/media/user/Storage/SteamLibrary/steamapps/common/Shipwreck/content
[2024-04-30 22:36:56] [INFO] Game save directory: /home/user/.local/share/Brushfire Games/Shipwreck
[2024-04-30 22:36:56] [INFO] Steam running? True
[2024-04-30 22:36:56] [INFO] Steamworks initialized? True
[2024-04-30 22:36:56] [INFO] Controller 0: X360 Controller, GUID: 5e048e02, Mapping: 030079f6de280000ff11000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
[2024-04-30 22:36:57] [INFO] FNA3D Driver: OpenGL
[2024-04-30 22:36:57] [INFO] OpenGL Renderer: Mesa Intel(R) HD Graphics 4600 (HSW GT2)
[2024-04-30 22:36:57] [INFO] OpenGL Driver: 4.6 (Compatibility Profile) Mesa 24.0.2-manjaro1.1
[2024-04-30 22:36:57] [INFO] OpenGL Vendor: Intel
[2024-04-30 22:36:57] [INFO] MojoShader Profile: glsl120
[2024-04-30 22:37:06] [ERROR] System.MissingFieldException: Field not found: long .vorbis_info.rate Due to: Could not find field in class
[2024-04-30 22:37:06] [ERROR]   at Shipwreck.Audio.Music.Play (System.String name, System.Boolean fade) [0x00075] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:37:06] [ERROR]   at Shipwreck.Audio.Music.Update () [0x0004f] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:37:06] [ERROR]   at Shipwreck.ShipwreckGame.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x0002d] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:37:06] [ERROR]   at Microsoft.Xna.Framework.Game.Tick () [0x000fc] in <3f298ad1eaf04c88835c98c137fe4647>:0 
[2024-04-30 22:37:06] [ERROR]   at Microsoft.Xna.Framework.Game.RunLoop () [0x00019] in <3f298ad1eaf04c88835c98c137fe4647>:0 
[2024-04-30 22:37:06] [ERROR]   at Microsoft.Xna.Framework.Game.Run () [0x00032] in <3f298ad1eaf04c88835c98c137fe4647>:0 
[2024-04-30 22:37:06] [ERROR]   at Shipwreck.ShipwreckMain.RunGame (System.String[] args, Shipwreck.Logging.Logger logger) [0x0000e] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:37:06] [ERROR]   at Shipwreck.ShipwreckMain.RunGameWithExceptionHandling (System.String[] args, Shipwreck.Logging.Logger logger) [0x00000] in <4f5a17b827ec40ec8ea36eaa390905f0>:0 
[2024-04-30 22:37:06] [ERROR] There was an error and the game crashed!
flibitijibibo commented 2 months ago

Looks like we're in "compilers broke compatibility" territory, so taking a different approach to this... I dug up FNA 16.08 which is what Shipwreck ships with, and dug up the exact MojoShader revision that was used back when it was tagged... the result works for me at least:

flibitsOldCrap.zip

Go ahead and verify the game contents so that it resets all the stuff FixWreck messed up, and this zip should restore it to working order.

Git-Forked commented 2 months ago

@flibitijibibo That one got it working.
Thank you.

Git-Forked commented 2 months ago

@flibitijibibo Will these changes be forwarded to the Steam download of this game, to benefit other gamers?

flibitijibibo commented 2 months ago

I'll see if I can get in touch with Kelly, normally I'd just CC them but their GitHub username seems to have changed...