Open brandonegbert opened 2 years ago
Forum thread with some additional troubleshooting. https://steamcommunity.com/app/1531540/discussions/3/5561388294332782864/
Appears to require dotnet472. Developer seems to have expressed some interest in seeing it work via proton.
Other users have reported more success with Proton 4.11-3 and installing dot472 via protontricks. I still experience the same crash as experimental though. The game at least launches (though with graphical glitches, too dark) if you then force it back to proton experimental.
A couple of errors from the 4.11-3 log:
362875.641:006b:006c:err:eventlog:ReportEventW L"Application: DistantWorlds2.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.InvalidOperationException\n at Xenko.Rendering.EffectSystem.CheckResult(Xenko.Core.Diagnostics.LoggerResult)\n at Xenko.Render"...
Unhandled Exception: 362875.641:006b:006c:trace:seh:RtlVirtualUnwind type 0 rip 10753da rsp d36cb0
System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Could not compile shader. See error messages.Error: Z:\home\begbert\.local\share\Steam\steamapps\common\Distant Worlds 2\log\shader_GaussianBlurEffect_d3c76beaa0e0f75f50556c7688581b1b.hlsl:33:8: error: syntax error, unexpected KW_CBUFFER
Error: Z:\home\begbert\.local\share\Steam\steamapps\common\Distant Worlds 2\log\shader_GaussianBlurEffect_d3c76beaa0e0f75f50556c7688581b1b.hlsl:33:8: error: syntax error, unexpected KW_CBUFFER
at Xenko.Rendering.EffectSystem.CheckResult(LoggerResult compilerResult)
at Xenko.Rendering.EffectSystem.CreateEffect(String effectName, EffectBytecodeCompilerResult effectBytecodeCompilerResult, CompilerResults compilerResult)
at Xenko.Rendering.EffectSystem.<>c__DisplayClass21_0.<LoadEffect>b__0(Task`1 x)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Xenko.Rendering.DynamicEffectInstance.ChooseEffect(GraphicsDevice graphicsDevice)
at Xenko.Rendering.EffectInstance.UpdateEffect(GraphicsDevice graphicsDevice)
at Xenko.Rendering.Images.GaussianBlur.GaussianBlurShader..ctor(GaussianBlur gaussianBlur, Int32 radius)
at Xenko.Rendering.Images.GaussianBlur.DrawCore(RenderDrawContext context)
at Xenko.Rendering.RendererBase.Draw(RenderDrawContext context)
at Xenko.Rendering.Images.Bloom.DrawCore(RenderDrawContext context)
at Xenko.Rendering.RendererBase.Draw(RenderDrawContext context)
at Xenko.Rendering.Images.PostProcessingEffects.DrawCore(RenderDrawContext context)
at Xenko.Rendering.RendererBase.Draw(RenderDrawContext context)
at Xenko.Rendering.Compositing.ForwardRenderer.DrawView(RenderContext context, RenderDrawContext drawContext, Int32 eyeIndex, Int32 eyeCount)
at Xenko.Rendering.Compositing.ForwardRenderer.DrawCore(RenderContext context, RenderDrawContext drawContext)
at Xenko.Rendering.Compositing.SceneRendererBase.Draw(RenderDrawContext context)
at Xenko.Rendering.Compositing.SceneRendererCollection.DrawCore(RenderContext context, RenderDrawContext drawContext)
at Xenko.Rendering.Compositing.SceneRendererBase.Draw(RenderDrawContext context)
at Xenko.Rendering.Compositing.SceneCameraRenderer.DrawCore(RenderContext context, RenderDrawContext drawContext)
at Xenko.Rendering.Compositing.SceneRendererBase.Draw(RenderDrawContext context)
at Xenko.Rendering.Compositing.GraphicsCompositor.DrawCore(RenderDrawContext context)
at Xenko.Rendering.RendererBase.Draw(RenderDrawContext context)
at Xenko.Engine.SceneSystem.Draw(GameTime gameTime)
at Xenko.Games.GameSystemCollection.Draw(GameTime gameTime)
at Xenko.Games.GameBase.Draw(GameTime gameTime)
at DistantWorlds2.DWGame.Draw(GameTime gameTime)
at Xenko.Games.GameBase.DrawFrame()
at Xenko.Games.GameBase.TickInternal()
at Xenko.Games.GameBase.Tick()
at Xenko.Games.GamePlatform.Tick()
at Xenko.Games.GamePlatform.OnRunCallback()
at Xenko.Games.WindowsMessageLoop.Run(Control form, RenderCallback renderCallback, Boolean useApplicationDoEvents)
at Xenko.Games.GameWindowWinforms.Run()
at Xenko.Games.GameBase.Run(GameContext gameContext)
at yGXkyp1syPbjXxxoBe.gqp8fjXjIYoUcJh9dy.qLG4ceILCReQeZDCurE(Object , Object )
at yGXkyp1syPbjXxxoBe.gqp8fjXjIYoUcJh9dy.va1M7TW1U(Object )
at <PrivateImplementationDetails>{138FE442-AC49-4379-99EF-283B99FC85D7}.Main(String[] args)
When trying with wine-mono I get this in the log:
[00000000000001ec:] EXCEPTION handling: System.InvalidProgramException: Invalid IL code in P7UnTGuCiI30tHLFZ7.V8h7RAqhjtUagQRdwn:UMRHH0p9Sj (): IL_3f37: switch (IL_3ff3, IL_3f9c, IL_3fd6, IL_3f7f, IL_3fab, IL_3f59)
So it sounds like the blocker with wine-mono for now is an obfuscator generating invalid code.
@madewokherd I don't think it'll work with wine-mono anyway even if the game wasn't obfuscated - wine-mono is quite limited for things like games, especially the ones that require a modern version of .NET
In the beta version (v1.0.5.0) the developer has upgraded the engine to .Net 6 and included the redistributable. The game now seems to work out of the box using Proton 7.0-3. Tested with a fresh prefix.
https://steamcommunity.com/app/1531540/discussions/0/3418809548715650662/
Newest Aurora patch (1.1.0.9) plus current beta build (1.1.1.1) have both broken game compatibility again.
Installation of .NET 7 runtime also doesn't seem to solve the issue.
Compatibility Report
System Information
I confirm:
steam-1531540.log
Symptoms
Launcher appears and game crashes without anything ever being visible
Reproduction
Install game. Click Play in the launcher.