Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mass Effect (17460) #177

Open
FreeSevenSix opened this issue Aug 22, 2018 · 83 comments
Open

Mass Effect (17460) #177

FreeSevenSix opened this issue Aug 22, 2018 · 83 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues

Comments

@FreeSevenSix
Copy link

in mass efect in game there is no sound. there is an option in the sound menu to enable or disable hardware sound. this does not work cuz when you restart the game the game enables hardware sound by default.
in order too fix this you need to go to the BIOEngine.ini file, open it with a text editor and look for ISACTAudio.ISACTAudioDevice. add following in that section

DeviceName=Generic Software
UseEffectsProcessing=False

save and restart the game

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Aug 22, 2018
@kisak-valve kisak-valve changed the title massefect no sound in game (i have fix) mass effect no sound in game (i have fix) Aug 22, 2018
@mirh
Copy link

mirh commented Aug 23, 2018

https://bugs.winehq.org/show_bug.cgi?id=40898

The game doesn't force anything by default then, I don't know what you are talking about.

@kisak-valve kisak-valve changed the title mass effect no sound in game (i have fix) mass effect no sound in game (i have fix) (17460) Aug 23, 2018
@eandry77
Copy link

I confirm the workaround works for me. Since I also have the same issue on Mass Effect 2, I'll try to find the parameter for this one.

@FiXIDeA
Copy link

FiXIDeA commented Aug 24, 2018

Mouse behaves very strange as if stumbling on the walls.

@ghost
Copy link

ghost commented Aug 24, 2018

Can confirm both the issue and the fix. I had to edit the following file :
.steam/steam/steamapps/common/Mass Effect/BioGame/Config/DefaultEngine.ini
And append the two lines provided by OP above under the [ISACTAudio.ISACTAudioDevice] section (after line 724). Audio now works fine, and I was able to complete Eden Prime with no issues.

The only strange thing is that video resolution was limited to 1366x768. Here is my Steam SysInfo.

@mirh
Copy link

mirh commented Aug 24, 2018

Could you try installing libopenal1 ?

@ghost
Copy link

ghost commented Aug 24, 2018

The libopenal1 package was already installed in my case. I thought of removing it for testing purposes, but gave up since KDE and a lot of smaller packages seem to depend on it.

@FreeSevenSix
Copy link
Author

The only strange thing is that video resolution was limited to 1366x768

does the game have higher resolution on windows?

@ghost
Copy link

ghost commented Aug 24, 2018

Not tested, I do not have a Windows install, but I just searched for the answer and realized I had merely stumbled on this issue, which existed on Windows. Thus the port is seamless AFAICT and could be whitelisted if the fix was included.

@kisak-valve kisak-valve changed the title mass effect no sound in game (i have fix) (17460) Mass Effect (17460) Aug 25, 2018
@kisak-valve
Copy link
Member

Mass Effect crashes with a Pure Virtual Function error.

Issue transferred from #472.
@nstgc posted on 2018-08-25T01:47:52:

I'm feeling quite silly; I should have spent more time on this, however I didn't think to report it until now. In the 100+ hours I've played Mass Effect in wine/CrossOver (it was the first game I beat in Linux, and I've beat it more times there after) I've never gotten an error related to pure virtual functions. In fact, it has run nearly perfectly, and I can't actually remember if it has ever crashed before in Linux (On Windows it sure did!). Both Mass Effect 1&2 run BETTER in Wine/CrossOver than on Windows 7. So within the first hour seeing a crash is a big deal to me. . .but I just reset whatever changed so I pushed it from my mind and moved on to something else.

I was able to fix this with a git reset --hard (I have compatdata as a Git repo). Unfortunate, I didn't take note of what it reset, but it wasn't an intentional change, I do know that. I had actually been working on Skyrim SE.

@nstgc
Copy link

nstgc commented Aug 25, 2018

Responding to ME2 comment, in my limited testing ME2 ran perfectly. A surprising number of games in fact are running perfectly without any intervention from me. At least in cursory tests. Initially I thought ME1 ran perfectly too. . .

@muru
Copy link

muru commented Aug 25, 2018

@DrWindu the dropdown in-game seems to show only up to 1366x768, but if I use the arrow keys and scroll down, I'm able to select higher resolutions, including 1920x1080... Guess the options are just not visible?

@mirh
Copy link

mirh commented Aug 25, 2018

ME2 problem might be this, and at worst it will be solved when wine switches to FAudio.

@rkfg
Copy link

rkfg commented Aug 25, 2018

Not sure if discussing ME2 is appropriate in this issue but for me it has no sound when:

  1. launched the first time after install
  2. launched via the "Mass Effect 2 launcher" program

If started directly the second time, everything is totally fine.

@FreeSevenSix
Copy link
Author

after playing for about 10 hours , i'm now in the feros system. the game starts crashing about evry 5 - 10 minutes with the Pure Virtual Function error

@nstgc
Copy link

nstgc commented Aug 31, 2018

You can fix that by reverting. . .something. I'm not sure what I reverted. I just did a git reset --hard and those errors stopped. However, could you capture an error log? I didn't and wish I had.

@FreeSevenSix
Copy link
Author

i switched to the beta build of proton and i just played through the feros mission and some stuff on the citadel, no errors whatsoever. since the switch i played about 3-4 hours.

@nstgc
Copy link

nstgc commented Sep 1, 2018

Yeah. When you change builds it updates the prefix and had a similar effect to when I reset it.

@rkfg
Copy link

rkfg commented Sep 1, 2018

This is pretty weird and I just learned that it's UB to call pure virtual functions from constructor/destructor. I mean, this error must happen in the program itself so how does updating Proton/Wine fix that? Wine is written in C, not C++, it just can't cause this error by itself. Would be great to see the stack trace when it happens.

@soredake
Copy link
Contributor

soredake commented Sep 2, 2018

Set openal32 to builtin and remove

DeviceName=Generic Software
UseEffectsProcessing=False

from BIOEngine.ini
This fixed 'Pure Virtual Function' crashes for me.

@mirh
Copy link

mirh commented Sep 2, 2018

That already makes more sense.
A bug in the wine passthrough would explain both the native-looking error, and the lack of sound for some people.

EDIT: could people getting the pure virtual function crash, attach log/dump to the issue I mentioned in the first comment?

@shaphanpena1
Copy link

I have same problem. No sound in Steamos or Ubuntu. We should not have to edit the configuration files to get working sound in Steamos or any Linux machine. This game works fine on my windows 10 machine. If this can be fixed in steam launch options that would be acceptable

@Zakhrov
Copy link

Zakhrov commented Sep 3, 2018

The game works fine on my rig at home but on my laptop which has an AMD Kabini APU it crashes with the following log error

13251.102:0024:0031:err:d3d:wined3d_debug_callback 0xf3ded50: "GL_INVALID_ENUM in glMatrixMode(mode)".
13251.170:0024:0025:trace:module:GetModuleFileNameW L"C:\\windows\\system32\\dinput.dll"
ssEffect.exe: ../lib/CodeGen/LiveInterval.cpp:1020: void llvm::LiveRange::verify() const: Assertion `I->end <= std::next(I)->start' failed.

Both systems have an AMD GPU, the laptop has an AMD A4-5000 APU with an integrated Radeon HD8330 and the Desktop has an FX6300 with a Radeon HD 7770. The game works fine on the desktop rig but crashes on the APU with the above LLVM error. Both systems are running OpenSUSE Tumbleweed with the 4.18 kernel, the AMDGPU module and Mesa 18.1
I've tried deleting the Prefix and even reinstalling the game but the problem still persists on the APU

@mirh
Copy link

mirh commented Sep 3, 2018

LLVM error.. try to update mesa or clang?

@mirh
Copy link

mirh commented Mar 8, 2019

BIOEngine.ini is in the documents folder, alongside saves and all other settings.
For ME it should be in ~/.steam/steam/steamapps/compatdata/17460/pfx/drive_c/users/steamuser/My Documents/Bioware/Mass Effect/Config/ or something like that.

@michaldybczak
Copy link

michaldybczak commented Mar 8, 2019

I don't have that folder. In ~/.steam/steam/steamapps/compatdata/ there is no 17460 folder. I have two different ones, but for other games.
Those paths can be crazy long and complex. This is why they must be shown when giving any solution. Too often people omit that and the solution becomes useless because it's almost impossible to find certain files in such convoluted path structures.

EDIT: I found it finally. I have two locations for steam apps and in my case it was in:

/mnt/home-hdd/SteamLibrary/steamapps/compatdata/17460/pfx/drive_c/users/steamuser/My Documents/BioWare/Mass Effect/Config/BIOEngine.ini

which is on my other, hdd parition. So at least if I still come across crashes, I know where to look for the mentioned config but so far games was suprisingly stable, although more laggy then normal. I'm wondering if that is coincidence...? Hmmm...

@PisoMojado
Copy link

@SergiusTheBest I appreciate the tip, but while moving OpenAL32.dll does produce audio, I continue to get game crashing errors.
@michaldybczak I tried your suggestion as well, but I continue to get crashes.
I will try mesa 19, as @mirh suggested.

@SergiusTheBest
Copy link

@michaldybczak You can find the exact path from Steam: properties->local files->browse local files:
image

@WildPenquin
Copy link

WildPenquin commented Apr 17, 2019

Mass Effect has very poor FPS in certain places with Proton. For example, the galaxy map thing in the very beginning (also during the starting split screencutscene for a few split seconds) causes this. A similar slowdown is present at the beacon in the first mission, but not so severe. I get very fluent FPS otherwise, but the galaxy map drops FTP to around 5-20 (don't have a functioning FPS counter, but I presume it is around 60+ FPS otherwise).

Haven't found a workaround, but can say that running trough plain Wine (and Windows Steam) the slowdown is much less severe. It is still there, but the effect is perhaps 1/3 - 1/5 of the slowdown on while running trough Proton. Also, this slowdown is a common issue on Windows and even Consoles, judging from some Google Searches I've found. Some suggest the engine is just buggy and works fine if locked to a single CPU core, but that does not help in my case (tried with taskset and "-CPUCount:1 -CPUPriority:high " -parameters for the exe.

This is on an i4790k, and Radeon RX Vega64, Proton 4.2-2 (also tried older versions).

@mirh
Copy link

mirh commented Apr 17, 2019

Nth friendly reminder that vanilla wined3d (which gets used for d3d9) has bad buffers mapping, and you only get up to par performance with pba or nine.

@WildPenquin
Copy link

@mirh : in case your comment was aimed at me, my point was you get subpar performance with Proton (while playable, 5-20FPS is quite immersion breaking, and reducing details and/or resolution doesn't help at all here - as if there's some kind of race condition in the engine triggered by some conditions). I think this is valuable information for other users, since it is a bit troublesome to install another steam instance (required for plain Wine). After all, it is a bit surprising wine (without proton) gives better performance. Also, perhaps Proton could be improved, or perhaps there is some other workaround I haven't found out.

Forgot I'm using wine-staging, which could of course have some optimizations which are not in Protons wine.

Otherwise, I'm having some difficulties understanding your comment. Nth? pba? Nine=d3d9? (please don't use acronyms which are not common, or maybe I'm just getting old...).

@WildPenquin
Copy link

WildPenquin commented Apr 22, 2019

After some testing, I noticed it is actually csmt which is hurting performance (like halving-1/4thing FPS in said parts). If you get subpar performance at certain parts, disable csmt - which seems to be enabled per default in Proton wine. That requires running winecfg (issue #24) or editing the registry by hand.

@michaldybczak
Copy link

michaldybczak commented Apr 22, 2019

After some testing, I noticed it is actually csmt which is hurting performance (like halving-1/4thing FPS in said parts). If you get subpar performance at certain parts, disable csmt - which seems to be enabled per default in Proton wine. That requires running winecfg (issue #24) or editing the registry by hand.

How do I do that?

Since my path is:

/mnt/home-hdd/SteamLibrary/steamapps/compatdata/17460/pfx/drive_c/users/steamuser/My Documents/BioWare/Mass Effect/

so I used the command:

WINEPREFIX=/mnt/home-hdd/SteamLibrary/steamapps/compatdata/17460/pfx/ winecfg

and it asked me to install mono, I thought it wouldn't hurt, then it opened winecfg correctly and then what? There is no csmt on the library list (enabled or to add). Also, am I running the proper winecfg? On one of the tabs I see version 4.6 which is correct for the system wine but not for the proton which hasn't reached that version yet.
And if winecfg won't work, how do I access the proper registry for the correct prefix in winetrick script? And if I do find it, how what is exactly to change in registry?

@WildPenquin
Copy link

WildPenquin commented Apr 22, 2019

I noticed I had messed up a bit after my last comment ...

The wine is proton does not have that setting in winecfg (contrary to wine-staging). I was only able to change it trough winecfg since I was accidentally using external wine to run winecfg - my PATH was set incorrectly (actually, "protVer" was wrong - see the example script in the issue). So in case you want to disable it, edit user.reg, find [Software\Wine\Direct3D] and change csmt to "csmt"=dword:00000000 (or run regedit). Also see here

Note, there is no need to do this unless you get abnormal FPS drops. I haven't seen anybody else reporting this (might happen only on certain graphics drivers like AMDGPU).

@michaldybczak
Copy link

I do get some slowdowns and lags. Performancewise Mass Effect is far from ideal. It works but has many situations where it's not optimal. If Witcher 3 can run smoothly in ultra settings, then Mass Effect should also be handled well. Although W3 uses Vulkan and Mass Effect still OpenGL which sucks.
Can't wait for this DX9 to Vulkan translation layer.

@michaldybczak
Copy link

michaldybczak commented Apr 22, 2019

@WildPenquin, I found an easier solution. I just installed Protontricks and run in terminal:

protontricks --gui

That let me to choose Mass Effect from the list and opened winetricks for the needed Proton prefix. I opened registry editor and can't find HKEY_CURRENT_USER->Software->Wine->Direct3D. I tried to search for "csmt" but nothing was found.

Or maybe I don't have this csmt after all if registry search (I clicked on the "My Computer" to search all the registry branches)?

@WildPenquin
Copy link

WildPenquin commented Apr 24, 2019

I didn't know about protontricks, thanks for the tip.

@michaldybczak : Maybe the registry entry is not there per default. However it seems that the Proton Wine still reads it. IIRC, at some point, csmt got enabled per default in the main wine branch and the option was removed from winecfg (it is beyond me why they chose to do so, as csmt is known to sometimes hurt performance, as is demonstrated here; the option is still there in wine-stagings winecfg). The same (as main wine branch) is probably the case with proton. You might try to create the entry; in my user.reg:

$ cat ~/.steam/steam/steamapps/compatdata/17460/pfx/user.reg | grep -i csmt -B2 -A2
[Software\\Wine\\Direct3D] 1555925604
#time=1d4f8ee6efb689c
"csmt"=dword:00000000

[Software\\Wine\\DllOverrides] 1555180385

However, I've also noticed that I get constant crashes in Proton while playing Mass Effect (Pure Virtualization function called and much more rarely some other crashes; quicksave is the savior but it's still annoying since they happen like every 5-30minutes). But with wine Steam, they are mostly absent (or completely absent? Only played a few hours, maybe I just got lucky...).

@mirh
Copy link

mirh commented Aug 9, 2019

Some additional memory tricks (in addition to those already mentioned) you may want to try to avoid going out of memory
doitsujin/dxvk#1100 (comment)

@mirh mirh mentioned this issue Feb 8, 2020
2 tasks
@shoober420
Copy link

shoober420 commented Feb 20, 2020

Compatibility Report

System Information

LOG:
steam-17460.log

Symptoms

Game runs great, but there is no sound. Workaround mentioned in this #177 (comment).

@michaldybczak
Copy link

michaldybczak commented Feb 23, 2020

I can also confirm that the game works great with Proton 5.0-2. Performance wise it is even a way better than it was before. Still, have to play longer to see if the old issue with crashes is still there or not.

The issue with the sound is an old one and once the workaround is done, the sound works no matter on which Proton version you are.

@soredake
Copy link
Contributor

@daquinons
Copy link

daquinons commented Jun 21, 2020

I'm not able to select anything at any menu with the mouse cursor. I've enabled the hardware mouse in the settings. In most of them I can just use the keyboard but in other menus is impossible to do this. Is there something else I need to do?

EDIT: Can confirm this only happens in Wayland, not in X11.

@Dylan-Brotherston
Copy link

Research into and a proper fix for black blobs
https://cookieplmonster.github.io/2020/07/19/silentpatch-mass-effect/

@ThisNekoGuy
Copy link

ThisNekoGuy commented Aug 28, 2020

Mass Effect modding tools ME3Tweaks Mod Manager and ALOT texture installer (and yes, despite the name ME3Tweaks, it's a mod manager for the whole trilogy) both don't work in Proton.

They're .NET applications but even attempting to install .NET with Proton still doesn't make them work.

About the Black Blobs, it's supposedly a known issue for AMD users and someone claims to have fixed it with a mod: here.

@mirh
Copy link

mirh commented Sep 20, 2020

ME3Explorer works with dotnet48 and d3dcompiler_47.
And the latest AMD fix is here.

@ghost
Copy link

ghost commented Nov 29, 2020

Mass Effect modding tools ME3Tweaks Mod Manager and ALOT texture installer (and yes, despite the name ME3Tweaks, it's a mod manager for the whole trilogy) both don't work in Proton.

They're .NET applications but even attempting to install .NET with Proton still doesn't make them work.

About the Black Blobs, it's supposedly a known issue for AMD users and someone claims to have fixed it with a mod: here.

ME3Tweaks iirc DOES work in normal wine, just get it if you're on Ubuntu by a simple sudo apt install wine. ALOT I haven't got working.

Iirc me3tweaks applies mods perfectly but I haven't done it in a while.

@Hi-Angel
Copy link

@PisoMojado I just renamed OpenAL32.dll to OpenAL32.dll.bak in Steam/steamapps/common/Mass Effect/Binaries and everything works without ini modifications.

Thank you for a solution of "no sound" issue. I will leave this comment for the sake of googlability because yesterday when I had the same problem, the issue didn't come up in my search results (I figured to force the game to use the Wine built-in OpenAL32.dll by renaming the one in game directory on my own). So, the line in the wine log that looked relevant was this one:

0144:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won't work.

@mirh
Copy link

mirh commented Jan 23, 2021

I mean, it's quite literally the only issue left on the AppDB
https://bugs.winehq.org/show_bug.cgi?id=40898

@Hi-Angel
Copy link

FTR, an upstream meta-bugreport on VSS getting exhausted https://bugs.winehq.org/show_bug.cgi?id=44375

@Hi-Angel
Copy link

Hi-Angel commented Feb 2, 2021

FTR, for people experiencing out-of-memory crashes on plain WINE (not on Proton) with DXVK or Gallium Nine, just flip the LAA bit on the game binary, works for me. You can use e.g. radare2 from your distro repository for this. Regarding Proton, LAA is the default since 5.0-4, so no changes required.

I personally after doing that haven't seen any crashes, not on DXVK, nor on Gallium Nine. I may also mention that on my hw I haven't found any difference in FPS between DXVK and Nine, however DXVK seems to load faster, so I stick to it (if I was to guess, might be that DXVK has shader cache but Nine doesn't. But I'm not sure, it's just a theory).

@axeldavy
Copy link

axeldavy commented Feb 2, 2021

Shader compilation is likely the cause of Gallium Nine longer loading time (because llvm and because we do compile the shaders passed by the app right away, not on use), however as there is a disk cache, the second time the app loads it should be much faster.

I'm working on reducing significantly virtual memory exhaustion with Gallium Nine. Our ixit Mesa-3D repo features an old version of the patchset, the new one reduces it even more. I think the approach I take should give better performance than DVXK when the app is loading new high res textures (like everytime you get close to an object), at least for Mass Effect2 and the high res mod. We'll see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests