Closed junglized closed 1 year ago
I updated the priority as a reminder for a follow up. Great job there, looking forward to an easy installer.
Please advise on how to resolve this popup when attempting to start modded FF7 on latest canary & wine-staging *with a Linux native .NET 7.0.x instance installed on the host.
Aside from dinput
through Winetricks, prefix is only using what 7H canary installer provides.
CLARIFICATION: this resolved itself after uninstalling any dotnet
related native packages from my system; however, one of my (unrelated) apps has dependence on native .NET, so the environment variable that directs to the native Linux versions of the packages throws Wine off. This was a problem I have come across with Vortex Mod Manager in the past, which had the exact same issue of detecting Wine's .NET despite it being installed properly until I force-fed it the proper path in the prefix rather than my host system (though this resolved itself as the native instance turned over to .NET 7, while Vortex continues to use .NET Desktop 6.x)
Seems like 7H is unable to find the 32-bit half of .NET 7.0.1, hence the error in launching w/ mods despite being able to run the launcher.
Seems like 7H is unable to find the 32-bit half of .NET 7.0.1, hence the error in launching w/ mods despite being able to run the launcher.
Hopefully these kind of things will be less of an issue going forward, as wine shouldn't be able to see the native install in the proposed Flatpak
May I ask for a recap of this very long thread? It sounds like there have been fully working configurations at a couple points, but it's not super clear what's actually needed at this point.
It sounds like the following should be a working configuration. Please correct what's wrong and missing:
There are 2 trains ongoing, which is likely where the confusion is coming from. For simplicity sake, I'll focus just on the Canary, as this will eventually become the new stable.
(.86)
winetricks -q d3dx9
winetricks -q msls31
winetricks -q riched20
winetricks -q corefonts
winetricks -q d3dcompiler_43
winetricks -q d3dcompiler_47
winetricks -q dinput
winecfg
):
mkdir -p "${WINEPREFIX}/drive_c/FF7DISC1"
echo "FF7DISC1" > "${WINEPREFIX}/drive_c/FF7DISC1/.windows-label"
echo "44000000" > "${WINEPREFIX}/drive_c/FF7DISC1/.windows-serial"
touch "${WINEPREFIX}/drive_c/FF7DISC1/FF7DISC1.TXT"
ln -sfv "${WINEPREFIX}/drive_c/FF7DISC1" "${WINEPREFIX}/dosdevices/x:"
If you have .NET 7.0 installed natively, it may interfere ( see https://github.com/tsunamods-codes/7th-Heaven/issues/19#issuecomment-1382869290 )
If you wish to use DXVK, bear in mind config is required ( see https://github.com/tsunamods-codes/7th-Heaven/issues/19#issuecomment-1345712192 )
Please note that generally speaking - closing FF7 will cause the app to hang.
Any further talk in here is likely to be about packaging & potentially usable wine versions ( because staging is not available as a Flatpak, which is currently stalling progress )
EDIT: missed a step
Running 7th Heaven Stable with Bottles: https://www.youtube.com/watch?v=ZtZNSPygxyY
Running 7th Heaven Canary with GE-Proton: https://www.youtube.com/watch?v=Wfh-pE_TvGw
* the following installed via winetricks:
winetricks -q d3dx9 winetricks -q msls31 winetricks -q riched20 winetricks -q corefonts winetricks -q d3dcompiler_43 winetricks -q d3dcompiler_47 winetricks -q dinput
FWIW, I haven't needed to do any of the noted above Winetricks in the clean prefix I made, apart from dinput
- the prereqs provided from/installed by the Canary installer (and having no native Linux .NET 7 install) makes it work out of the box with either Wine-GE or Wine-Staging (with just the former crashing the catalog downloader module for whatever reason, at least until it's updated?). Though this is on Lutris w/ DXVK & VKD3D installed in the prefix.
But, yeah--other than that, just use a clean prefix with dinput
, install 7H using the Canary installer version, make a Wine virtual drive with the FF7DISC1 label, and it'll basically 'just werk'* at this point. Been working great with mods, and loads a hell of a lot faster than the old Stable version using the geriatric specific Wine version it required.
@sjenkins7:
I followed you instructions with minor deviations, but I'm afraid 7H crashes with a stack overflow when I try to execute it:
0108:err:virtual:virtual_setup_exception stack overflow 1808 bytes addr 0x1d36898 stack 0x208f0 (0x20000-0x21000-0x1a0000)
Deviations:
If anyone could toss up a .86 download somewhere, I'd appreciate it.
Also, do I absolutely need 7H? Is it possible to manually unpack the iro files into FFNx's mod directories and achieve the same result? Or does 7H have some functionality above and beyond what FFNx does? (On further thought, it would probably work better to unpack them elsewhere and then symlink stuff into the FFNx directories. That way I could simulate a "load order" change without having to re-unpack stuff that had been overwritten.)
Also, do I absolutely need 7H? Is it possible to manually unpack the iro files into FFNx's mod directories and achieve the same result? Or does 7H have some functionality above and beyond what FFNx does?
7th has an internal way to ensure you load files based on how many mods you load, and there are some dynamic behavior done that mods do use to provide special functionalities. So dropping files manually unfortunately won't make the mods work as you might expect.
Related to the 7th version, nothing critical changed between .86 and .89. I suspect the major difference here is Wine. Consider using the version suggested by @sjenkins7 and feel free to join the Discord channels for better support.
I followed you instructions with minor deviations, but I'm afraid 7H crashes with a stack overflow when I try to execute it: 0108:err:virtual:virtual_setup_exception stack overflow 1808 bytes addr 0x1d36898 stack 0x208f0 (0x20000-0x21000-0x1a0000)
I've just run .89
locally to make sure & it launches fine using:
$ wine --version
wine-7.22 (Staging)
I would suggest making sure you use this for now. I'm not aware of any distribution that has decent staging packages beyond this yet.
If I get time, it might prove useful for me to understand the staging patching process, so I can narrow down which patch(es) we require, in order to know when we can switch to a normal / stable build. On the face of it, that looks like a pretty big task though, so that will take some time.
Also checked to make sure, using versions that report as wine-7.22 (Staging)
and wine-8.0rc4.r0.g89374093 ( TkG Staging Esync Fsync )
(in Arch these are wine-staging
from multilib and wine-tkg-staging-fsync-git
from AUR, respectively), 7H and modded FF7 are definitely working fine with either as of current Canary.
Still getting nowhere with 7.22
export WINEPREFIX=~/.wine-ff7h
export WINEVERPATH="/home/<username>/Programs/wineforks/vanilla722/dist"
export WINELOADER="/home/<username>/Programs/wineforks/vanilla722/dist/bin/wine"
export WINESERVER="/home/<username>/Programs/wineforks/vanilla722/dist/bin/wineserver"
export WINEDLLPATH="/home/<username>/Programs/wineforks/vanilla722/dist/lib64/wine":"/home/<username>/Programs/wineforks/vanilla722/dist/lib/wine":"/home/<username>/Programs/wineforks/vanilla722/dist/lib64/wine/x86_64-windows":"/home/<username>/Programs/wineforks/vanilla722/dist/lib/wine/i386-windows"
export LD_LIBRARY_PATH="/home/<username>/Programs/wineforks/vanilla722/dist/lib64":"/home/<username>/Programs/wineforks/vanilla722/dist/lib":"/home/<username>/Programs/wineforks/vanilla722/dist/lib64/wine/x86_64-unix":"/home/<username>/Programs/wineforks/vanilla722/dist/lib/wine/i386-unix"
export PATH="/home/<username>/Programs/wineforks/vanilla722/dist/bin:$PATH"
export WINE="/home/<username>/Programs/wineforks/vanilla722/dist/bin/wine"
wine --version
<output: wine-7.22>
winecfg
<prefix is created>
cd .wine-ff7h/drive_c/
mkdir Temp
cd Temp
cp ~/Installs/WINE/FF7/7thHeaven/v2fork/windowsdesktop-runtime-7.0.2-win-x* .
cp ~/Installs/WINE/FF7/7thHeaven/v2fork/7thHeaven-v2.9.9.89_Release.exe .
wine windowsdesktop-runtime-7.0.2-win-x86.exe
<click through installer>
wine windowsdesktop-runtime-7.0.2-win-x64.exe
<click through installer>
wine 7thHeaven-v2.9.9.89_Release.exe
<click through installer>
<leave "run 7th Heaven" checkbox checked>
<crash: 01cc:err:virtual:virtual_setup_exception stack overflow 1808 bytes addr 0x1d46898 stack 0x208f0 (0x20000-0x21000-0x1a0000)>
You are using a non-staging release, which is likely why it doesn't work.
Need to make sure that wine --version
specifically reports (Staging)
.
If you do not have a distribution that packages this for you, then you will have to build it yourself sadly - As far as I know, the WineHQ website doesn't have premade packages for this
You are using a non-staging release, which is likely why it doesn't work.
Yep. That was it. I grabbed the devel binaries by mistake. Always thought devel had the staging patches, though... Guess not.
If you do not have a distribution that packages this for you, then you will have to build it yourself sadly - As far as I know, the WineHQ website doesn't have premade packages for this
They've got binaries for at least some distros. Here are the Debian files. (Just use dpkg-deb to extract the two i386 packages to one directory, and the two x86-64 packages to another directory, then cut/paste the x86-64 directory over the top of the i386 one, overwriting conflicts.)
I'm seeing 3 bugs right now, none of them fatal:
- FF7 always hangs on exit.
Update FFNx to the latest canary.
- The DX11 renderer does not work out of the box. The opening movies have incorrect colors (seems like the wrong pixel format) and the first menu screen is a jumbled mess. I'm guessing this is due to the lack of DVXK. OpenGL and Vulkan both appear to work fine though (at least for the first 10 minutes or so that I've tested). Is there any reason to prefer DX11?
@ChthonVII Assuming you're not using Lutris to set up the prefix, that would be correct. I'm using the Vulkan backend, but another suggested the DX12 backend with VKD3D if you have stability problems.
I'll close this issue as the hardest part to make it work has now been done and it has been proved to be effective. Anything else regarding Linux packaging and so on will be continued on Discord. Thanks to everyone for the effort in achieving this huge milestone!
I'd received a notif about someone saying the .NET8 update not working.
Just coming in to say: still works here.
It's not really a bug but rather tutorial request. I'm on Pop!_OS using Lutris for gaming. Everything works just fine. Unfortunately I can't figure out how to run 7th Heaven with any version of FF7. Could anyone provide a simple tutorial on how to mod FF VII with Wine or Steam + Ptoton version?
Thanks a lot!