ValveSoftware / Proton

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

Mass Effect 3 N7 Digital Deluxe Edition (1238020) #3999

Open ProjectSynchro opened 4 years ago

ProjectSynchro commented 4 years ago

Compatibility Report

System Information

I confirm:

steam-1238020.log

Symptoms

After installing Origin, linking accounts, and launching the game I was faced with this error: Screenshot_20200618_092447

Installing PhysX either via winetricks or manually does not appear to fix the issue.

Reproduction

  1. Install the game via Steam.
  2. Launch the game, Installing Origin and completing setup.
  3. Launch the game.
EntropicEffect commented 4 years ago

I had the same problem as above. I ended getting the game working by using Luris to install the Windows version of Steam on a 32-bit prefix, ME3 then installed and ran perfectly.

ProjectSynchro commented 4 years ago

Interesting Will have to try this.

Kzimir commented 4 years ago

Check the comment on ProtonDB and try this : sudo chmod -R 555 ~/.local/share/Steam/steamapps/compatdata/1238000/pfx/drive_c/users/steamuser/Application\ Data/Origin

EntropicEffect commented 4 years ago

Check the comment on ProtonDB and try this : sudo chmod -R 555 ~/.local/share/Steam/steamapps/compatdata/1238000/pfx/drive_c/users/steamuser/Application\ Data/Origin

That's for Andromeda not ME3. That being said I did try changing the permissions of the prefix and it didn't help.

DevTonyShepard commented 4 years ago

Check protondb, i think i found the problem and the "fix", now we need to wait until proton's devs really fix the problem so we can play directly via steam :)

Edit: this is my first contribution and first time commenting on github, for any question, ask i'll try to answer.

ProjectSynchro commented 4 years ago

@DevTonyShepard I saw your entry on ProtonDB,

Unfortunately I don't really see that as a valid "fix", mainly because you are bypassing Proton completely and using your system wine. Now that does work well at running the game (assuming you have wine-staging installed) but it doesn't seem to really solve the issue with it not working with Proton

It seems like this might be broken for the foreseeable future (see Issue 3786) as this game appears to potentially use GPU PhysX which is unsupported in vanilla wine 5.0 (the version that proton 5.0 is based on) It also seems like 'just patching wine to get it to work' isn't really a feasible fix for mainline proton.

I guess it will come down to finding a custom proton build that has those PhysX patches applied (I tried Proton-GE-Custom-5.9-ST to no avail)

So.. if anyone knows of a custom proton build that can be used with this game please share :) Otherwise it seems that Wine Steam and/or Lutris are the only methods of running this on Linux atm.

DevTonyShepard commented 4 years ago

Yes, exactly this is not a valid fix but a way to play the game since some people like me just bought the game and could not play it. I am using Wine devel 5.13 btw. As i wrote on ProtonDB i noticed that in the folder "NVIDIA corporation/PhysX/Engine", after installing with protontricks physx and then running ME3 directly on steam, some subfolder gets deleted. That does not happen with system wine.

Darklink999999 commented 3 years ago

Same problem here, do we have any news on the matter? Cause I tried every way imaginable to play this game (Lutris Origin, Wine Steam). Nothing works. This is borked for me for the moment.

EntropicEffect commented 3 years ago

Use Lutris but force the wine runner to be 32-bit. You may have to reinstall Physx using the 32-bit runner, which can be found in the redistributable folder within the mass effect folder.

Darklink999999 commented 3 years ago

I tried that and I get the PhysX error no matter what I do. I am at the point now that it tells me the video drivers are too old.

DevTonyShepard commented 3 years ago

Ok guys, i think i fixed this. for real this time. As I said in my previous comment proton completely ruins the prefix, specifically the physx part. Every time you hit play on Steam, it runs the "First time setup" which deletes a lot of files and some registry keys. I tried installing the physx drivers and disabling this script but if I delete the "installScript.vdf" Origin would not start. So I had to figure out which files proton deletes. Here is my solution:

Some of these steps might be useless. As soon as the game started after pressing the play button on steam i stopped tinkering around. this is a list of all of my tests

I hope i didn't miss some steps, Let me know if this fixed the problem :) Soon i will report this to protonDB.

eanopolsky commented 3 years ago

Hi,

I came across this thread while trying to get Mass Effect 3 N7 Digital Deluxe Edition to work on Ubuntu 20.04 with Steam 1608507519 and Proton 5.13-4.

After looking into it, I discovered that the game breaks because Steam is attempting to update PhysX using PhysX-9.12.1031-SystemSoftware.msi before launching the game, and while this attempted update does successfully uninstall the older version of PhysX, it crashes before it can install the new version, leaving the game without the libraries it expects. The crash is happening because the new PhysX installer attempts to create a WbemScripting.SWbemNamedValueSet object as part of its installation script, and Proton does not support that yet, at least as of version 5.13-4. This issue has already been reported to the wine developers at https://bugs.winehq.org/show_bug.cgi?id=48879.

The least invasive fix I could find was as follows:

This is not a perfect fix for a couple of reasons:

Apparently, Valve and/or EA think that Mass Effect 3 benefits from PhysX v9.12.1031, and this fix prevents that software from being installed. If that particular version of PhysX is necessary to fix a bug in the game, then that bug will go unfixed.

Also, setting the immutable bit on msiexec.exe (after replacing it with an empty file) should prevent it from being deleted or upgraded using the normal process. I don't know for sure whether this is necessary, but because msiexec.exe was a symlink to the real msiexec.exe in the Proton 5.13-4 directory on my system, I was concerned that a future update of proton that does not fix bug 48879 might replace the empty file with a semi-working version of msiexec.exe, which would then cause Steam to blow away the working PhysX installation and make the game to stop working suddenly.

It's also possible to leave msiexec.exe alone and trick Steam into thinking that PhysX 9.12.1031 is already installed so it won't try to install it every time the game is launched, but that opens up the possibility that a newer version of the installer will be released, Steam will attempt to install it automatically, and PhysX will break.

This comment is going on a Valve repo, so my suggestions to Valve are, in descending order of desirability:

  1. Fix wine bug 48879, merge the changes into Proton, and make Mass Effect 3 a great experience on Linux.
  2. Ask NVIDIA to revert the changes they recently made to the PhysX MSI installer VBscript so that it works equally well under Windows and Proton.
  3. Find a way to prevent Steam from attempting to install PhysX MSI files newer than 9.11.1107 in Proton environments.

Thanks, Eric

Pockets-byte commented 3 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/3999#issuecomment-751334772

does not require the immutable part. at least on fedora with flatpak steam. then it works.... now granted I haven't actually tested it heavily because I haven't beaten ME2 yet, but menu worked great

edit- forgot to mention what version of proton I was using. I'm using the flatpak compat version of 5.13

eanopolsky commented 3 years ago

does not require the immutable part. at least on fedora with flatpak steam. then it works.... now granted I haven't actually tested it heavily because I haven't beaten ME2 yet, but menu worked great

Glad it worked out! :) However, I would expect that to work well for a while and cause problems later.

The trouble is that, at least on my system, msiexec.exe was actually a symlink to /path/to/steamapps/common/Proton 5.13/dist/lib/wine/msiexec.exe. This suggests that, if the user ever manually chooses a different version of Proton, or if Steam decides a Proton upgrade should be done, it might replace msiexec.exe with a new symlink to a version of msiexec.exe that is newer but still has the same problem with the PhysX MSI installer. If that were to happen, then ME3 would break itself on launch.

Making the file immutable prevents it from being deleted or replaced, so that can't happen.

Pockets-byte commented 3 years ago

just finished mass effect 3. barring base-game issues. it ran without issue and almost no performance issues for the entire course of the game. I'm pretty sure I came close or did 100% it. so barring the DLC that I didn't get through EA play, it worked like a dream, even multiplayer worked. I uninstalled the game today to make room for the fourth game

ProjectSynchro commented 3 years ago

Confirmed working OOTB on Proton Experimental, closing this.

ProjectSynchro commented 1 year ago

Reopening as this game is affected by issues with EA Desktop. Requires using Proton Experimental to launch.

Patola commented 1 year ago

It is not currently working if you install from Steam. It install the EA Desktop, shows a "let's go" button, and then calls the EA Desktop dialog for you to associate the product with the account, but fails somehow. Deleted the game and entire prefix and tried again with Proton Experimental (first attempt was Proton 8.0-2), same thing.

The attached pictures are the two dialog windows, first before I clicked on "Enter Product Key", second just after I did that (it doesn't ask for a product key, it just gives a waiting animation then shows the second window).

Clicking on "retry" just repeats the error. Clicking on "exit" exits from the game. I've also tried to choose "sign in as a different user" and use my actual Electronic Arts login and password. It works to log me in, but then again, I click on "Enter Product Key" and it gives the same result, saying I'm not online.

I could not attach the gigantic 1.5GB proton log generated from this attempt. I zipped it to 98MB, still over the 25MB limit. So I am sharing it via my google drive.

masse1 masse2

steam-1238020.zip: https://drive.google.com/file/d/1qN8KMnF2JE78Nc8MffJqromYUBSZPm2Q/view?usp=sharing

Update: it is of notice that a similar thing happens on Windows - https://steamcommunity.com/app/1238020/discussions/0/6717729343890326184/ -- it seems the solution is to "downgrade" from EA Desktop to Origin, and I did that via protontricks but it did not work -- instead the game would not even start.

ProjectSynchro commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/3999#issuecomment-1623829542

This may well be an issue with EA's activation services with older EA games. (This looks like the og EA activation prompt)

In the past (On Windows as well) Activation issues used to cause the game to not open without manually clearing out the licence files in %programdata% (pfx/drive_c/ProgramData/ in a prefix).

Does nuking your wineprefix change anything?

Patola commented 1 year ago

Unfortunately, no. Nuked my wineprefix a few times, didn't change anything. Even removed ~/.local/share/Steam/userdata/<my_id>/1238020 and other metadata associated with Mass Effect 3 to no avail, after reinstalling same thing happens.

ProjectSynchro commented 1 year ago

Unfortunately, no. Nuked my wineprefix a few times, didn't change anything. Even removed ~/.local/share/Steam/userdata/<my_id>/1238020 and other metadata associated with Mass Effect 3 to no avail, after reinstalling same thing happens.

I looked into this a bit, and it seems like EA's activation servers are returning a 404 for whatever document that activation application needs to verify ownership. You can look in the wineprefix's ProgramData folder for EA Logs, or EA Core, there should be an activation log in there. It might be worth checking if this also happens on windows as well, as I suspect it does..

Another game that appears to suffer from this is Battlefield 3, which is also unplayable on Windows due to that error.

Source: https://answers.ea.com/t5/Battlefield-3/I-Bought-BF3-On-Steam-But-It-Keeps-Asking-A-Product-Key/m-p/12703692/highlight/true#M139781

Patola commented 1 year ago

Unfortunately, no. Nuked my wineprefix a few times, didn't change anything. Even removed ~/.local/share/Steam/userdata/<my_id>/1238020 and other metadata associated with Mass Effect 3 to no avail, after reinstalling same thing happens.

I looked into this a bit, and it seems like EA's activation servers are returning a 404 for whatever document that activation application needs to verify ownership. You can look in the wineprefix's ProgramData folder for EA Logs, or EA Core, there should be an activation log in there. It might be worth checking if this also happens on windows as well, as I suspect it does..

I tested in Windows and yes, it happens there too. I even opened a bug report on EA's account and they say the know about this issue and they will eventually resolve this, with no ETA. This is the entirety of their email, at Jul 12, 2023, 8:53 PM CEST

Thank you for contacting EA , my name is Gaurvi, and I hope you're doing well.

Upon reviewing your case, I've gathered that you have contacted us regarding mass effect 3 activation error. I will help you in all possible ways.

First of all, I apologize for the time taken in responding. This is due to some technical glitch.

Please let me share the details and I'll be really honest with you. The issue that you are facing is something which we're already aware of, as other players from across the globe are also reporting the same. We want to get this fixed as swiftly as possible.

Right now, I will not waste your time in providing troubleshooting to you as there is no troubleshooting I can provide, which can resolve the issue, However we are working hard to get it resolved a soon as possible.

The good news is we are actively working on investigating this for everyone that is affected. As of this moment, due to the unforeseen nature of this, I don't have an estimated time or specifics for a fix. So I humbly request you to wait for sometime and this will surely get fixed, we just need your co-operation here.

Happy gaming and please stay safe.

This case will show as not fixed for now due to being under investigation. Of course, you can always reopen/resume/create a new case (through help.ea.com) if you require additional assistance for this or any other issue.

Thank you once again for contacting EA.

ProjectSynchro commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/3999#issuecomment-1712561332

It's pretty wild that a DRM issue like this is not a critical level thing for EA.. Best you can do is wait or use some kind of DRM bypass I won't mention on here.