mf-installcab icon indicating copy to clipboard operation
mf-installcab copied to clipboard

Python error when running install-mf-64

Open Hnaguski opened this issue 4 years ago • 13 comments

I am having a similar error to #3 but installing cabextract has not helped. I am running Debian Sid if that helps. Here is the output of running WINEPREFIX="/home/user/.steam-firejail/.steam/debian-installation/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

mediafoundation
- amd64_microsoft-windows-mediafoundation_31bf3856ad364e35_6.1.7601.17514_none_fa8534ab236134c4.manifest (win64)
- wow64_microsoft-windows-mediafoundation_31bf3856ad364e35_6.1.7601.17514_none_04d9defd57c1f6bf.manifest (wow64)
- mf.dll -> /home/henry/.steam-firejail/.steam/debian-installation/steamapps/compatdata/397540/pfx/drive_c/windows/syswow64
- mfps.dll -> /home/henry/.steam-firejail/.steam/debian-installation/steamapps/compatdata/397540/pfx/drive_c/windows/system32
- mf.dll -> /home/henry/.steam-firejail/.steam/debian-installation/steamapps/compatdata/397540/pfx/drive_c/windows/system32
Traceback (most recent call last):
  File "installcab.py", line 304, in <module>
    process_files(output_files)
  File "installcab.py", line 245, in process_files
    install_regfile(tmpdir, file_path+".reg", arch)
  File "installcab.py", line 225, in install_regfile
    subprocess.call(cmd)
  File "/usr/lib/python2.7/subprocess.py", line 172, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Any ideas?

Hnaguski avatar Mar 13 '20 20:03 Hnaguski

I have this exact same error when attempting to install this for BL3.

I'm on Void Linux

D-FL4K avatar Mar 14 '20 06:03 D-FL4K

I found the issue: The problem is that inside your PATH env variable, you do not have "wine64" binary.

Running the command with fixed PATH variable fix the issue:

PATH=/home/agruson/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/bin/:$PATH WINEPREFIX="/home/agruson/.local/share/Steam/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

(note that you need to change the agruson to your username)

The output of the command finish by:

// ...
wineserver: using server-side synchronization.

Now you need to get mfplat.dll in your application directory

If I have time, I will try to make a pull request so that the error message is more explicit in this case :)

beltegeuse avatar Mar 14 '20 16:03 beltegeuse

Hmm, maybe something similar to mf-install's -proton option could also be implemented? I think that does something similar to setting the PATH env manually.

Hnaguski avatar Mar 14 '20 17:03 Hnaguski

Yes, it might be worth to add this option similar to mf-install. Still, installing mf-install and mf-cabinstall does not seem to fix the issues with BL3. I have relaunched the game, and videos do not seem to work (except that the artifact changes a bit, so maybe it have an influence, I am not sure).

I have also looked at the "COLORCNV.DLL" installation, which involves editing the registry (via winetricks). Interestingly, Proton 5.x, at least, comes with his own "colorcnv.dll". I have also noticed that the keys inside the registry are already setup.

beltegeuse avatar Mar 14 '20 17:03 beltegeuse

Ok. After reinitialize the game and install mf-install and mf-installcab. Video are working.

mf-install

PROTON=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/ WINEPREFIX="/home/agruson/.local/share/Steam/steamapps/compatdata/397540/pfx" ./mf-install.sh -proton

mf-installcab

PATH=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/bin/:$PATH WINEPREFIX="/home/agruson/.local/share/Steam/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

Have fun

edit: Remove username dependency as suggested by dzufferey to avoid problem when people copy paste the commands.

beltegeuse avatar Mar 14 '20 17:03 beltegeuse

Yea I was gonna say, videos are working for me after I installed both of them on a fresh prefix. I believe that mf-install also now includes it's own colorcnv.dll, but does Proton 5.x also include it now?

Hnaguski avatar Mar 14 '20 18:03 Hnaguski

Thanks.

Here is a version of @beltegeuse fix which remove the username dependency:

PROTON=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/ WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/397540/pfx" ./mf-install.sh -proton

and

PATH=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/bin/:$PATH WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

Finally, I got some small problem with the mfplat.dll. First I copied it to $HOME/.local/share/Steam/steamapps/common/Borderlands\ 3/OakGame/Binaries/Win64/ (same place as the .exe) but this did not work. The game kept on crashing at startup. Copying it to $HOME/.local/share/Steam/steamapps/compatdata/397540/pfx/drive_c/windows/system32/ fixed that.

dzufferey avatar Mar 14 '20 18:03 dzufferey

Even using the guides from the comments https://github.com/z0z0z/mf-installcab/issues/17#issuecomment-599108013 and https://github.com/z0z0z/mf-installcab/issues/17#issuecomment-599120241 Borderland 3 still stucking at the start on my Ryzen 3950x. In proton log I see the message err:ntdll:RtlpWaitForCriticalSection section 0x412f4000 "?" wait timed out in thread 0118, blocked by 0000, retrying (60 sec). My friend on Ryzen 2700x didn't have this problem. And of course, I already tried add clearcpuid=514 to kernel options but all without success.

NTMan avatar Mar 22 '20 19:03 NTMan

@NTMan This workaround doesn't work by default when you have 9 or more real CPU cores.

See: https://github.com/z0z0z/mf-install/issues/44

The bottom post even mentions Borderlands 3.

z0z0z avatar Mar 22 '20 19:03 z0z0z

Thanks, it really works. Adding taskset -c 1-16 %command% in the game launch option solved my problem, I think it should be pinned in README.md file.

NTMan avatar Mar 22 '20 20:03 NTMan

Thanks.

Here is a version of @beltegeuse fix which remove the username dependency:

PROTON=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/ WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/397540/pfx" ./mf-install.sh -proton

and

PATH=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/bin/:$PATH WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

how do you reinitialize the game? I've tried these commands, and still, I get "no such file or directory" error.

KallieLev avatar Mar 30 '20 07:03 KallieLev

@KallieLev You're copy/pasting paths that don't exist on your system.

z0z0z avatar Mar 30 '20 12:03 z0z0z

Thanks.

Here is a version of @beltegeuse fix which remove the username dependency:

PROTON=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/ WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/397540/pfx" ./mf-install.sh -proton

and

PATH=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/bin/:$PATH WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

Finally, I got some small problem with the mfplat.dll. First I copied it to $HOME/.local/share/Steam/steamapps/common/Borderlands\ 3/OakGame/Binaries/Win64/ (same place as the .exe) but this did not work. The game kept on crashing at startup. Copying it to $HOME/.local/share/Steam/steamapps/compatdata/397540/pfx/drive_c/windows/system32/ fixed that.

mf-installcab install script wasn't properly locating winemenubuilder.exe from:

$HOME/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/bin/

so I adjusted it to this:

$PATH=<STEAMLIBRARY>/steamapps/common/Proton\ 5.0/dist/:$PATH WINEPREFIX="<STEAMLIBRARY>/steamapps/compatdata/397540/pfx" ./install-mf-64.sh

I also needed to install winbind. Everything worked after. I'm on Pop_OS 19.10

redmagnu5 avatar May 02 '20 23:05 redmagnu5