Open Learning5Life opened 3 years ago
Hello @Learning5Life, Assertion failed: compare_hlsl_types(arg1->data_type, arg2->data_type), file ./dlls/d3dcompiler_43/hlsl.y, line 627
looks like a line of interest from your log.
Thanks for making the changes.
I noticed that another game, Sonic CD had a similar error, which was: Assertion failed: compare_hlsl_types(arg1->data_type, arg2->data_type), file ../../../../proton/wine/dlls/d3dcompiler_47/../d3dcompiler_43/hlsl.y, line 627
(https://github.com/ValveSoftware/Proton/issues/455#issuecomment-723479043)
The ProtonDB page of Sonic CD stated that to get the game running, this command protontricks 200940 d3dcompiler_43 d3dx9_43
should be entered in. Wonder if it would work for Crystal Project?
I tried running the above protontricks command, but the game still refused to launch.
Sounds like you might need d3dcompiler_47 for this one.
Sounds like you might need d3dcompiler_47 for this one.
Thanks for the tip. With d3dcompiler_47, I was able to get to a loading screen, but the game crashed on me when it tried to load audio. Here is the log and a screenshot: steam-1760770 with d3d.log
```
Unhandled Exception:
System.Exception ---> System.Runtime.InteropServices.COMException
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR (System.Int32 errorCode) [0x0000a] in <373bec4b1e6c428eb4e9ef6a5beee544>:0
at System.__ComObject.CreateIUnknown (System.Type t) [0x00058] in <373bec4b1e6c428eb4e9ef6a5beee544>:0
at Mono.Interop.ComInteropProxy.CreateProxy (System.Type t) [0x00000] in <373bec4b1e6c428eb4e9ef6a5beee544>:0
at System.Runtime.Remoting.RemotingServices.CreateClientProxyForComInterop (System.Type type) [0x00000] in <373bec4b1e6c428eb4e9ef6a5beee544>:0
at System.Runtime.Remoting.Activation.ActivationServices.CreateProxyForType (System.Type type) [0x0003b] in <373bec4b1e6c428eb4e9ef6a5beee544>:0
at (wrapper managed-to-native) System.Object.__icall_wrapper_ves_icall_object_new_specific(intptr)
at NAudio.Wave.MediaFoundationResampler.CreateResamplerComObject () [0x00000] in <554b80148c284b99953f098db496ebd4>:0
at NAudio.Wave.MediaFoundationResampler..ctor (NAudio.Wave.IWaveProvider sourceProvider, NAudio.Wave.WaveFormat outputFormat) [0x0004a] in <554b80148c284b99953f098db496ebd4>:0
at Sang.Audio.XNA.XNAEffectManager.LoadSoundEffect (System.IO.Stream inputStream) [0x0003f] in <4b3b7a31e684402e8912528d42b4ba5d>:0
at Sang.Audio.XNA.XNAEffectManager.LoadContent (Microsoft.Xna.Framework.Content.ContentManager content) [0x000b3] in <4b3b7a31e684402e8912528d42b4ba5d>:0
at Sang.Audio.AudioManager.LoadContent (Microsoft.Xna.Framework.Content.ContentManager content) [0x00000] in <4b3b7a31e684402e8912528d42b4ba5d>:0
at Sang.Scene.SceneLoading.
Looks like it's using a CLSID from media foundation that isn't implemented:
763.620:0104:0174:err:ole:com_get_class_object no class object {f447b69e-1884-4a7e-8055-346f74d6edb3} could be created for context 0x15
[00000174:] EXCEPTION handling: System.Runtime.InteropServices.COMException:
The library code using it is here: https://github.com/naudio/NAudio/blob/fb35ce8367f30b8bc5ea84e7d2529e172cf4c381/NAudio.Wasapi/MediaFoundationResampler.cs
I think it's using this but I'd have to check headers: https://docs.microsoft.com/en-us/windows/win32/medfound/audioresampler
Replying to https://github.com/ValveSoftware/Proton/issues/5197#issuecomment-938300329
That's unfortunate. Should I report this to the Wine developers? Maybe they can fix this.
Crystal Project (1760770)
Issue transferred from https://github.com/ValveSoftware/Proton/issues/5753. @MadByteDE posted on 2022-04-07T19:19:45:
PROTON_USE_WINED3D=1
will let the game crash and generate useful crash log info (see attached .log file)PROTON_NO_D3D11=1 %command%
to make the game fallback to OpenGL drivers (FNA3D Driver: OpenGL)FNA3D Driver: D3D11
D3D11 Adapter: Radeon RX 5700 / 5700 XT
6546.227:0134:0138:fixme:d3d11:d3d11_device_CheckFormatSupport iface 00AA10D8, format 71, format_support 052C6900 partial-stub!
6546.227:0134:0138:fixme:d3d11:d3d11_device_CheckFormatSupport iface 00AA10D8, format 74, format_support 007EEF40 partial-stub!
6546.227:0134:0138:fixme:d3d11:d3d11_device_CheckFormatSupport iface 00AA10D8, format 77, format_support 007EEF44 partial-stub!
6546.227:0134:0138:fixme:d3d11:d3d11_device_CheckFormatSupport iface 00AA10D8, format 98, format_support 052C6908 partial-stub!
6546.227:0134:0138:fixme:d3d11:d3d11_device_CheckFormatSupport iface 00AA10D8, format 29, format_support 007EEF48 partial-stub!
6546.228:0134:0138:trace:loaddll:build_module Loaded L"C:\\\windows\\\\system32\\\\d3dcompiler_47.dll" at 69D80000: builtin
6546.228:0134:0138:trace:loaddll:build_module Loaded L"C:\\\windows\\\\system32\\\\libvkd3d-shader-1.dll" at 6DF80000: native
Could not get UserDefinedAnnotation! Error Code: 0x80004002
[00000138:] EXCEPTION handling: System.InvalidOperationException: Could not get UserDefinedAnnotation! Error Code: 0x80004002
[00000138:] EXCEPTION handling: Microsoft.Xna.Framework.Graphics.NoSuitableGraphicsDeviceException: Could not get UserDefinedAnnotation! Error Code: 0x80004002
Link to line in FNA method "D3D11_CreateDevice" containing the error check for UserDefinedAnnotation: Github. The check only executes for feature level 11_1.
FNA3D Driver: D3D11
FNA3D's D3D11 driver doesn't work with Wine's d3dcompiler (by default, the FNA shipped with Wine Mono will use the OpenGL driver, but it looks like this game ships with its own FNA). I suggest adding FNA3D_FORCE_DRIVER=OpenGL
or FNA3D_FORCE_DRIVER=Vulkan
to launch options.
FNA3D Driver: D3D11
FNA3D's D3D11 driver doesn't work with Wine's d3dcompiler (by default, the FNA shipped with Wine Mono will use the OpenGL driver, but it looks like this game ships with its own FNA). I suggest adding
FNA3D_FORCE_DRIVER=OpenGL
orFNA3D_FORCE_DRIVER=Vulkan
to launch options.
That works but is just working around the issue and doesn't fix it.
But I've just seen that the issue I encountered might be fixed upstream already by implementing the missing methods if I understand the code correctly. So Proton may just need to be updated for the game to work out of the box.
It's not enough, FNA still needs more features from the shader compiler, at least based on other games I tested. Hopefully when it's more mature this will start working and we can switch to the D3D11 driver everywhere.
Compatibility Report
System Information
I confirm:
Symptoms
Game does not launch with Proton.
Reproduction
Launch the game.
steam-1760770.log