ValveSoftware / Proton

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

Mass Effect™ Legendary Edition (1328670) #4823

Open dennis1248 opened 3 years ago

dennis1248 commented 3 years ago

Compatibility Report

System Information

Proton log

steam-1328670.log

Origin error log

_pfx/drive_c/ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivationLog.html

Missing DLL: api-ms-win-core-psapi-ansi-l1-1-0.dll  Function: K32GetModuleBaseNameA

Symptoms

Origin client installs, after install when it attempts to launch the game it shows the following error "There is a problem with your game's setup. Please reinstall your game." afterwards nothing happens.

Any subsequent launch will show the same behaviour.

Reproduction

  1. Launch game
  2. Let Steam install deps and wait for Origin client install to appear
  3. Follow on-screen instructions to complete Origin client install
  4. Wait for the error to show after the Origin client has launched and it attempts to start the game
fardragon commented 3 years ago

System Information

steam-1328670.log

Same behaviour here

YamiYukiSenpai commented 3 years ago

Same here. I tested other games that require Origin, like Jedi Fallen Order, and it's the same thing.

I tried to install Origin manually and that failed, too, with error 3:0, and another time with 9:0

garpu commented 3 years ago

New Proton update a few minutes ago. Any change?

NTMan commented 3 years ago

steam-1328670.log Screenshot from 2021-05-14 22-21-37 system information

YamiYukiSenpai commented 3 years ago

New Proton update a few minutes ago. Any change?

Nope

YamiYukiSenpai commented 3 years ago

Currently looking into 9:0 error. Does Proton install the latest .NET?

YamiYukiSenpai commented 3 years ago

Has anyone experienced 3:0 error when they manually install the full Origin using the script?

YamiYukiSenpai commented 3 years ago

Latest Proton update says that Origin has crashed, so I guess that's progress. I'm currently watching my System Monitor, and I can see that EALink is working...It's slow, though. Trying to remember if it ever was this slow.

Edit: just logged into my Origin account and Legendary Edition definitely got linked.

synlic commented 3 years ago

I'm installing latest .NET (https://dotnet.microsoft.com/download/dotnet-framework/net48) rigth now in the prefix. On slow internet connection though, so it takes a while. Will update when I have tried it.

Using the command:

STEAM_COMPAT_DATA_PATH="/mnt/storage/SteamLibrary/steamapps/compatdata/813780" WINEPREFIX=$PWD "/mnt/storage/SteamLibrary/steamapps/common/Proton - Experimental/proton" run ~/Downloads/ndp48-web.exe

Edit: I had to install it via Protontricks due to otherwise failing. It however does not start properly. Same error message. I'll continue testing installing other windows components using protontricks.

YamiYukiSenpai commented 3 years ago

Proton 6.3 - "Try relaunching your game to continue linking your accounts".

Proton Experimental - "There's a problem with your game's setup."

Aralakh commented 3 years ago

The game is linked in my Origin account as well, but I can't download it through Origin to try installing/playing that way (not sure if that's as expected, never tried that with a Steam-linked Origin game). Tapping the download button in Origin does nothing (works for other non-Steam-linked games). Tried running through Steam again with the latest proton update and get the same message as before, "There is a problem with your game's setup. Please re-install your game."

synlic commented 3 years ago

I keep getting pop ups saying "Try relaunching your game to continue linking your accounts".

Try deleting (rename the folder named pfx) the prefix: /path/to/steamlib/common/compatdata/1328670

YamiYukiSenpai commented 3 years ago

Why "813780"?

synlic commented 3 years ago

Why "813780"?

Sorry, wrong. Updated by reply with the correct one...

YamiYukiSenpai commented 3 years ago

Origin launched once, but the game wouldn't

R8YsDcYwuy3 commented 3 years ago

Has anyone experienced 3:0 error when they manually install the full Origin using the script?

I had that error when using older Proton versions

garpu commented 3 years ago

https://steamcommunity.com/app/1328670/discussions/0/5002914669818221672/ Possibly not just us having the problem?

bundyo commented 3 years ago

Interesting, so changing the locale should help?

YamiYukiSenpai commented 3 years ago

Interesting, so changing the locale should help?

How would we do that in Proton? Is that possible?

garpu commented 3 years ago

Interesting, so changing the locale should help?

I'm not certain? I think it may be an issue with windows 7.

YamiYukiSenpai commented 3 years ago

Interesting, so changing the locale should help?

I'm not certain? I think it may be an issue with windows 7.

Apparently not. The locale thing works on 10 only

DistantThunder commented 3 years ago

From this:

gez1122

3m ago @EA_Mako I found a solution that seems to work for a lot of people. go to control panel- region- change date time or number formats- administrative- change locale- and then check the box >that says BETA: use unicode UTF 8

Rather than the locale, it appears to be a option that enables UTF-8 (Codepage 65001) support for Win10. Don't know how Wine deals with that, I doubt it's implemented / exposed since if I understand correctly Wine has a whole logic to re-implement Windows codepage into Unicode which is natively supported on Linux:

https://source.winehq.org/git/wine.git/blob/HEAD:/tools/make_unicode

Not sure if just adding the registry keys that option implement would be enough or if this needs proper Wine patching.

SebiTimeWaster commented 3 years ago

i doubt it has to do with utf-8 support. i presume it is one of the usual windows bugs that solve them selfs as soon as something is changed.

R8YsDcYwuy3 commented 3 years ago

https://steamcommunity.com/app/1328670/discussions/0/5002914669818221672/?ctp=4#c5002914669818808341 Latest reply on this thread says UTF-8 is causing the issue and fixing it makes the game work

mmatis commented 3 years ago

I tried adding LANG=en_US.UTF-8 to the launch params for the heck of it. No effect. I assume wine/proton sets this in the prefix based on the host system anyway, but maybe there's some obscure windows-specific reg key that isn't set/created by this.

YamiYukiSenpai commented 3 years ago

Here's a response from an EA Community Manager about this. Does Wine do some special characters that appear normal in Linux?

Plagman commented 3 years ago

Yes, Proton game paths contain a . by default if they're located in your default Steam Library. Can you check with PROTON_SET_GAME_DRIVE=1 set, maybe?

synlic commented 3 years ago

My game, prefix and Proton version are all located in /mnt/storage (not in home folder), so I don't think it matters that there is a "." in i file path.

mmatis commented 3 years ago

Yes, Proton game paths contain a . by default if they're located in your default Steam Library. Can you check with PROTON_SET_GAME_DRIVE=1 set, maybe?

No change, sadly. I have no special characters in my username or file paths.

mmatis commented 3 years ago

So after rooting around MELE's pfx, I came across the following at the very end of ProgramData/ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html:

3 | [21:48:27 GMT] | Error |   |   | Missing DLL: api-ms-win-core-psapi-ansi-l1-1-0.dll Function: K32GetModuleBaseNameA

Voxed commented 3 years ago

So after rooting around MELE's pfx, I came across the following at the very end of ProgramData/ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html:

3 | [21:48:27 GMT] | Error | | | Missing DLL: api-ms-win-core-psapi-ansi-l1-1-0.dll Function: K32GetModuleBaseNameA

Can confirm I have the same error log, the dll file does however exist at: ./pfx/drive_c/windows/system32/api-ms-win-core-psapi-ansi-l1-1-0.dll ./pfx/drive_c/windows/syswow64/api-ms-win-core-psapi-ansi-l1-1-0.dll

osleg commented 3 years ago

So it looks like function K32GetModuleBaseNameA is not implemented: https://github.com/ValveSoftware/wine/blob/f94b0f7590d43bb3e6aefcc6e16cf69bffc25122/dlls/api-ms-win-core-psapi-ansi-l1-1-0/api-ms-win-core-psapi-ansi-l1-1-0.spec

aspiringnobody commented 3 years ago

This is happening for me on Windows 10 so I think EA has a problem here...

Voxed commented 3 years ago

This is happening for me on Windows 10 so I think EA has a problem here...

Could you confirm whether you get the same DLL error in the "ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html" file?

aspiringnobody commented 3 years ago

This is happening for me on Windows 10 so I think EA has a problem here...

Could you confirm whether you get the same DLL error in the "ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html" file?

Will do. Give me about half an hour I'm out of the house right now.

merdely commented 3 years ago

Could you confirm whether you get the same DLL error in the "ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html" file?

I have that error in my MassEffectLauncher_OnlineActivation_Log.html file.

dennis1248 commented 3 years ago

This is happening for me on Windows 10 so I think EA has a problem here...

Which version of Windows?

Could you confirm whether you get the same DLL error in the "ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html" file?

I have that error in my MassEffectLauncher_OnlineActivation_Log.html file.

On Linux or Windows?

merdely commented 3 years ago

I have that error in my MassEffectLauncher_OnlineActivation_Log.html file.

On Linux or Windows?

Arch Linux

DevTonyShepard commented 3 years ago

Apparently, ME:LE uses DENUVO Anti-Tamper, i think that is causing the "There's a problem with your game's setup." message. Can anyone verify please?

aspiringnobody commented 3 years ago

Apparently, ME:LE uses DENUVO Anti-Tamper, i think that is causing the "There's a problem with your game's setup." message. Can anyone verify please?

That's looking pretty likely.

It will boot on windows 10 for me now that steam updated the game -- but if I set it to windows 7 compatibility mode I get the same error everyone is getting in Proton. Gonna go ahead and request my steam refund while I still can -- this likely won't work on Linux unless EA decides to re-release it sans-DRM

YamiYukiSenpai commented 3 years ago

How do you change the version of Proton from 7-10?

dhollinger commented 3 years ago

Apparently, ME:LE uses DENUVO Anti-Tamper, i think that is causing the "There's a problem with your game's setup." message. Can anyone verify please?

I was under the impression that Denuvo Anti-Tamper largely works with Proton these days. Several games use it and run just fine in Proton:

Those are the ones I can think of right now.

YamiYukiSenpai commented 3 years ago

Is Proton's Wine Prefix running on Windows 7 or Windows 10?

mmatis commented 3 years ago

Is Proton's Wine Prefix running on Windows 7 or Windows 10?

Windows 10. That was one of the first things I tried-- switching winecfg between the two. Doesn't make a difference either way.

YamiYukiSenpai commented 3 years ago

This is happening for me on Windows 10 so I think EA has a problem here...

Could you confirm whether you get the same DLL error in the "ProgramData/Origin/Logs/MassEffectLauncher_OnlineActivation_Log.html" file?

Yup Screenshot_20210514_220028

Trying to find out if I can download the missing DLLs but all I'm getting are sketchy websites.

YamiYukiSenpai commented 3 years ago

Where do I place those?

GloriousEggroll commented 3 years ago

So it looks like function K32GetModuleBaseNameA is not implemented: https://github.com/ValveSoftware/wine/blob/f94b0f7590d43bb3e6aefcc6e16cf69bffc25122/dlls/api-ms-win-core-psapi-ansi-l1-1-0/api-ms-win-core-psapi-ansi-l1-1-0.spec

Well that was a fun rabbit hole. These just forward to the kernel32 functions, so I decided to try to add them to the spec sheets to be forwarded:

First I hit:

Error |   |   | Missing DLL: api-ms-win-core-psapi-ansi-l1-1-0.dll Function: K32GetModuleBaseNameA

Then I hit:

Error |   |   | Missing DLL: api-ms-win-core-psapi-l1-1-0.dll Function: K32GetModuleBaseNameW

Then I hit:

Error |   |   | Missing DLL: api-ms-win-core-psapi-l1-1-0.dll Function: K32GetModuleInformation

So I added all of them:

diff --git a/dlls/api-ms-win-core-psapi-l1-1-0/api-ms-win-core-psapi-l1-1-0.spec b/dlls/api-ms-win-core-psapi-l1-1-0/api-ms-win-core-psapi-l1-1-0.spec
index c54c1077843..321fc3fe928 100644
--- a/dlls/api-ms-win-core-psapi-l1-1-0/api-ms-win-core-psapi-l1-1-0.spec
+++ b/dlls/api-ms-win-core-psapi-l1-1-0/api-ms-win-core-psapi-l1-1-0.spec
@@ -14,3 +14,5 @@
 @ stdcall K32QueryWorkingSet(long ptr long) kernel32.K32QueryWorkingSet
 @ stdcall K32QueryWorkingSetEx(long ptr long) kernel32.K32QueryWorkingSetEx
 @ stdcall QueryFullProcessImageNameW(ptr long ptr ptr) kernel32.QueryFullProcessImageNameW
+@ stdcall K32GetModuleBaseNameW(long long ptr long) kernel32.K32GetModuleBaseNameW
+@ stdcall K32GetModuleInformation(long long ptr long) kernel32.K32GetModuleInformation
diff --git a/dlls/api-ms-win-core-psapi-ansi-l1-1-0/api-ms-win-core-psapi-ansi-l1-1-0.spec b/dlls/api-ms-win-core-psapi-ansi-l1-1-0/api-ms-win-core-psapi-ansi-l1-1-0.spec
index e4f758581f6..340198c6edf 100644
--- a/dlls/api-ms-win-core-psapi-ansi-l1-1-0/api-ms-win-core-psapi-ansi-l1-1-0.spec
+++ b/dlls/api-ms-win-core-psapi-ansi-l1-1-0/api-ms-win-core-psapi-ansi-l1-1-0.spec
@@ -4,3 +4,4 @@
 @ stdcall K32GetMappedFileNameA(long ptr ptr long) kernel32.K32GetMappedFileNameA
 @ stdcall K32GetProcessImageFileNameA(long ptr long) kernel32.K32GetProcessImageFileNameA
 @ stdcall QueryFullProcessImageNameA(ptr long ptr ptr) kernel32.QueryFullProcessImageNameA
+@ stdcall K32GetModuleBaseNameA(long long ptr long) kernel32.K32GetModuleBaseNameA

And after adding those, it allows me to go in game, however my menus arent showing up sadly:

me

still digging around to see what else is missing...

Additionally -- please don't link psapi files from windows, distributing them is legally problematic.

aspiringnobody commented 3 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/4823#issuecomment-841587666

Link Deleted

Edit: good work!

YamiYukiSenpai commented 3 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/4823#issuecomment-841587666

You provided us with hope. Thanks for helping work on it!

GloriousEggroll commented 3 years ago

Looks like the next step is it needs a fix for Windows.Gaming.Input.Gamepad:

157453.314:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.315:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!
157453.329:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.332:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!
157453.343:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.348:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!
157453.363:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.365:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!
157453.374:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.382:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!
157453.398:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.399:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!
157453.413:0b48:0b4c:fixme:combase:RoGetActivationFactory (L"Windows.Gaming.Input.Gamepad", {00000035-0000-0000-c000-000000000046}, 00000000004ED828): semi-stub
157453.415:0b48:0b4c:fixme:input:vector_view_gamepad_get_Size iface 0000000262B54070, value 00000000004ED8A8 stub!

full log provided, note this is run on my proton-ge version, but in case it helps:

steam-1328670.log