ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.3k stars 1.06k forks source link

Mirror 2: Project X (1832640) #5510

Open jolty1 opened 2 years ago

jolty1 commented 2 years ago

Compatibility Report

System Information

I confirm:

Symptoms

The games launcher shows a blank window, You must bypass the launcher.

Run exe in "steamapps/common/Mirror 2 Project X/ProjectX/Mirror2/Binaries/Win64/Mirror2_X-Win64-Shipping.exe"

Reproduction

Try to launch the game

Fix

Advice from Steam Discussion

Set the launch option:

eval $( echo "%command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/ProjectX\/Mirror2\/Binaries\/Win64\/Mirror2_X-Win64-Shipping.exe'/" )

Updated: Home DLC

eval $( echo "%command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/HomeX\/Mirror2_HomeX\/Binaries\/Win64\/Mirror2_HomeX-Win64-Shipping.exe'/" )

To change the games language to English click the globe in the top right, and its the last option.

Screenshot_20220121_132736 Screenshot_20220121_133309

steam-1832640.log

Log is before fix. Running broken launcher.

kisak-valve commented 2 years ago

Hello @jolty1, these look like some lines of interest from your log:

[13:04:29 ERR] Unhandled exception while processing 0HMESRQ7LICDS.
System.ComponentModel.Win32Exception (0x80090304): Unknown error (0x80090304)
   at System.Net.SSPIWrapper.AcquireCredentialsHandle(ISSPIInterface secModule, String package, CredentialUse intent, SCH_CREDENTIALS* scc)
   at System.Net.Security.SslStreamPal.AcquireCredentialsHandle(CredentialUse credUsage, SCH_CREDENTIALS* secureCredential)
   at System.Net.Security.SslStreamPal.AcquireCredentialsHandleSchCredentials(X509Certificate2 certificate, SslProtocols protocols, EncryptionPolicy policy, Boolean isServer)
   at System.Net.Security.SslStreamPal.AcquireCredentialsHandle(SslStreamCertificateContext certificateContext, SslProtocols protocols, EncryptionPolicy policy, Boolean isServer)
   at System.Net.Security.SecureChannel.AcquireServerCredentials(Byte[]& thumbPrint)
   at System.Net.Security.SecureChannel.GenerateToken(ReadOnlySpan`1 inputBuffer, Byte[]& output)
   at System.Net.Security.SecureChannel.NextMessage(ReadOnlySpan`1 incomingBuffer)
   at System.Net.Security.SslStream.ProcessBlob(Int32 frameSize)
   at System.Net.Security.SslStream.ReceiveBlobAsync[TIOAdapter](TIOAdapter adapter)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.OnConnectionAsync(ConnectionContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection`1.ExecuteAsync()
geoneil commented 2 years ago

This fix no longer works.

Now the game quits without an error message or adding anything to the log

jolty1 commented 2 years ago

That is strange, it still works for me.

Could you paste the games steam launch command you used to include a proton log?

geoneil commented 2 years ago

eval $( echo "%command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/ProjectX\/Mirror2\/Binaries\/Win64\/Mirror2_X-Win64-Shipping.exe'/

I was using Proton-GE, but I switched to Proton Experimental and still no joy.

geoneil commented 2 years ago

steam-1832640.log

PROTON_LOG=1 eval $( echo "%command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/ProjectX\/Mirror2\/Binaries\/Win64\/Mirror2_X-Win64-Shipping.exe'/

Gave the above. Don't know where to start, that's with running Proton Experimental.

I won't include a log for Proton-GE as that's a different project.

And yes, my Steam library is on an NTFS partition, but I'm using NTFix and none of my other Windows games (that work under Proton) have this problem.

jolty1 commented 2 years ago

Try this command instead, there is another executable which can load the game.

eval $( echo "%command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/ProjectX\/Mirror2_X.exe'/" ) < Include the bracket at the end

jolty1 commented 2 years ago

steam-1832640.log

I don't see DXVK loading in there.

In my log I have these lines

1710 info: Game: Mirror2_X-Win64-Shipping.exe 1711 info: DXVK: v1.9.4 1712 info: Built-in extension providers: 1713 info: Win32 WSI 1714 info: OpenVR 1715 info: OpenXR

Also see if loads with WineD3D

eval $( echo "PROTON_USE_WINED3D=1 %command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/ProjectX\/Mirror2_X.exe'/" )

geoneil commented 2 years ago

steam-460790.log

Tested with a known working Windows game (Bayonetta) which loads and runs.

That game does load DXVK, but it is DirectX9.

geoneil commented 2 years ago

steam-1832640.log

Still nothing.

kisak-valve commented 2 years ago

Hello @geoneil, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

geoneil commented 2 years ago

https://gist.github.com/geoneil/faa833946f98be047cf8179f30f91d2e

It says I only have an Intel GPU but I'm using a laptop with an Nvidia GTX 1030i

Blisto91 commented 2 years ago

@geoneil What happens if you launch the game with

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%
geoneil commented 2 years ago

@geoneil What happens if you launch the game with

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%

Trying it now...

As I type, Steam is downloading Microsoft DirectX for Windows, which it hasn't done before...

..and now it's running.

Thanks, I had a feeling it was more of a configuration issue rather than an issue with Proton when other games work fine without that command line option, especially when the game did Just Work before.

kisak-valve commented 2 years ago

That hints that this game might have some kind of interaction between OpenGL and DirectX, and with your system config, the DirectX render path goes to DXVK, which translates it to Vulkan and should try to use the NVIDIA dGPU on Optimus hardware. OpenGL on the other hand would go to the Intel chipset. Those launch options activates NVIDIA's Optimus layer and tells it to be more forceful with using the NVIDIA hardware. The game may not expect to be run partially on Intel and NVIDIA GPUs at the same time.

jolty1 commented 2 years ago

The game has had recent DLC called Home that adds a new game mode. It would usually be opened from the launcher, which is broken still.

The launcher has a log file in: steamapps/common/Mirror 2 Project X/Launcher/Logs/chromely.cef.log

[0610/020326.649:ERROR:network_change_notifier_win.cc(226)] WSALookupServiceBegin failed with: 0 [0610/020329.323:ERROR:dxva_video_decode_accelerator_win.cc(1460)] DXVAVDA fatal error: could not LoadLibrary: msmpeg2vdec.dll: Module not found. (0x7E) [0610/020329.324:ERROR:dxva_video_decode_accelerator_win.cc(1468)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll: Module not found. (0x7E) [0610/020329.475:ERROR:dxva_video_decode_accelerator_win.cc(1426)] DXVAVDA fatal error: Could not load msmpeg2vdec.dll: Module not found. (0x7E) [0610/020329.502:ERROR:angle_platform_impl.cc(44)] SwapChain11.cpp:636 (reset): Could not create additional swap chains or offscreen surfaces, HRESULT: 0x80070057 [0610/020329.502:ERROR:gl_surface_egl.cc(837)] EGL Driver message (Critical) eglCreateWindowSurface: Bad allocation. [0610/020329.502:ERROR:gl_surface_egl.cc(1608)] eglCreateWindowSurface failed with error EGL_BAD_ALLOC [0610/020330.323:ERROR:network_change_notifier_win.cc(226)] WSALookupServiceBegin failed with: 0 [0610/020330.889:ERROR:ssl_client_socket_impl.cc(999)] handshake failed; returned -1, SSL error code 1, net_error -100 [0610/020330.894:ERROR:ssl_client_socket_impl.cc(999)] handshake failed; returned -1, SSL error code 1, net_error -100

The DLC can be played with launch command, the intro video has test patterns with regular proton. Works with GE-Proton20

eval $( echo "%command%" | sed "s/Launcher\/Mirror2.ProjectX.Launcher.exe'.*/HomeX\/Mirror2_HomeX\/Binaries\/Win64\/Mirror2_HomeX-Win64-Shipping.exe'/" )

Screenshot_20220610_113603