Author Topic: Getting 7th Heaven to Work on Wine  (Read 20333 times)

Aurora

  • *
  • Posts: 12
    • View Profile
Getting 7th Heaven to Work on Wine
« on: 2020-03-24 00:43:05 »
Disclaimer: I've only tested this on the Steam version, though I imagine getting it to work with the PC original / Square Enix Store versions are also viable options. This also only works with the 7H2.0+ at this time.Also, while nothing should go wrong, I'm not responsible if you do somehow damage your system or lose files in the process.

Prerequisites
  • Steam
  • A copy of Final Fantasy VII on Steam
  • Wine
  • Winetricks
  • Lutris (optional)

Setting up Steam

First, if you haven't already, you'll want to set up Steam on your Linux machine to be able to run all of your windows games.

Click on either Steam or View, and go to Settings, then navigate to the tab labeled Steam Play, enable Steam Play for supported titles and for all other titles.
I'm using the latest supported version of Proton, in this case 5.0-5, but if for some reason you are so inclined to use an older version of proton, check the Final Fantasy VII ProtonDB page for versions that work.

Screenshot-20200323-180711" border="0

After that, if you have not done so already, it will prompt you to restart Steam to finalize the changes. After that, you will be able to install Final Fantasy VII under Steam. Install it and make sure to run it at least once so that it can create the wine prefix that we will need. I'm also going to assume you've accepted the licensing agreement and created a SE account in order to get the game to normally run, if you haven't that's outside the scope of this tutorial, though I'm not sure if it's necessary.

Optional: Using Lutris

I highly recommend using Lutris as your front end launcher, otherwise you'll have to setup your own shortcut to launch 7th Heaven from the correct prefix later. Download Lutris using whatever method your distribution provides. I'm going to assume you can get it installed on your own because this information could be outdated at anytime in the future and every Linux distribution potentially has a different way of handling this.

After getting installed, launch it and click the + located in the top left hand corner and click Import Game. Check Final Fantasy VII under Steam (not Steam for Windows) or optionally all games and to sync all games on startup (under the steam tab, each tab acts separately). After that, Final Fantasy VII should be listed in the library, then click the configure icon (wrench and screwdriver) on the right. Change the runner to Wine and optionally install the runner if you have to. It will ask if you're sure and that you'll lose any configuration settings if you change the runner, ignore the warning. Make sure it looks like this:

Screenshot-20200323-185809" border="0

If you will be following this guide and using, we can navigate to the game options and change the Executable to:
Code: [Select]
/home/user/Games/final-fantasy-vii/drive_c/7th Heaven/7th Heaven.exesubstituting user for whatever the username is, and the Wine prefix to:
Code: [Select]
~/Games/final-fantasy-vii/
Screenshot-20200323-185913" border="0

You should create a Games folder in your user's home drive if it has not already been made for you, and remember that directories and file names are case sensitive in Linux.

Otherwise, you can change this to whatever works for your setup later.

You should not be enabling D9VK or DXVK in lutris' options, as that will conflict with 7th Heaven, but you shouldn't need them anyways. Also on the runner tab, the Wine version should be set to either Wine's latest version (5.6 at the time of this writing), 5.5 breaks compatibility but 5.4 and possibly lower versions may work. Lutris versions of wine have worked, but not not reliably in testing (YMMV).

Configuring the Wine Prefix

Next, we're going to need to install something called Winetricks, which will allow us to install the necessary packages to our wine prefix.

After getting Winetricks installed, you'll need to know where the prefix is installed. By default, this is located at:
Code: [Select]
/home/user/.local/share/Steam/steamapps/compatdata/39140/pfx/substituting user for whatever the username is.

This next step is optional, but I recommend creating a symlink to the Wine prefix. A symlink is like a link to a file or directory, but it can be accessed from wherever you put it, acting like it's in that directory. To do that, open up a terminal and use the following command.
Code: [Select]
ln -s "/home/user/.local/share/Steam/steamapps/compatdata/39140/pfx" "/home/user/Games/final-fantasy-vii"
While we're here, we might as well symlink our game files. Navigate into the newly created folder, into drive_c, and then create a "Games" folder inside that. In our terminal:
Code: [Select]
ln -s "/home/user/.local/share/Steam/steamapps/common/FINAL FANTASY VII" "/home/user/Games/final-fantasy-vii/drive_c/Games/FINAL FANTASY VII"
After that, we'll be installing the wine packages we need into our Wine prefix so that 7th Heaven can work. Open up a terminal and enter the following command:
Code: [Select]
WINEPREFIX=/home/user/Games/final-fantasy-vii winetricks -qIt will probably warn you about 64 bit prefixes, that's ok ignore them. Select the "select the default wineprefix" option and click ok, then select Install a Windows DLL or component and hit ok. Check the dotnet452 and the vcrun2010 option (don't check any other options unless you know what you're doing, especially not d9vk/dxvk) and hit ok. This will take a while to install everything.

After it's done, you will be back on the Winetricks menu,  select run winecfg. After the Wine configuration window shows up, change Windows 2003 to Windows 7, now click on the Drives tab.
Click Add... and for your D drive list the path as:
Code: [Select]
../drive_dNote: you may need to click on the drive letters and navigate with the arrow keys, I'm not sure why this is, but it was the only way I could navigate.
Click Show Advanced and change the label to FF7DISC1

Screenshot-20200323-194809" border="0

Afterwards, navigate to the "/home/user/Games/final-fantasy-vii" folder and inside create an empty folder called drive_d.

Installing 7th Heaven
Go back to lutris and click on Final Fantasy VII and then on the right, click Run EXE in this wine prefix. Navigate to the installer for 7th Heaven and select it. If you experience run32.dll errors, ignore them until you get to the installer. I installed it in the default location, so I advise you to do the same, but untick the run 7th Heaven checkbox after it finishes.

After that, if you've been following this tutorial, clicking the Play button on the right should launch 7th Heaven.

You'll be prompted to set up your folders, if you forgot, here's the default configuration:
Screenshot-20200323-201235" border="0

Create any folders that don't exist already. After that, you should be able to install any mods and enjoy the game fully. You are technically done at this step. Congratulations, Enjoy. ;)

Symlinking your Steam Save Files

Edit: I no longer advise doing this as the Steam version of FF7 may delete your save files, particularly if you haven't set up Lutris and Steam to use the same wine version. Knowing that, you should just copy any steam files you want over. Knowing the risk, if you still want to, I have left the information below for legacy purposes.

If for whatever reason, you want your steam save files to be linked to your 7th Heaven save files, make sure there is no "save" folder in your FINAL FANTASY VII folder, and if there is, just temporarily rename it. Then navigate to:

Code: [Select]
/home/user/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c/users/steamuser/My Documents/Square Enix/FINAL FANTASY VII Steam/and find the directory labeled user_#, it won't be labeled that specifically just take note. Make sure your save files are in there, and if they are, enter the following command.
Code: [Select]
ln -s "/home/user/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c/users/steamuser/My Documents/Square Enix/FINAL FANTASY VII Steam/user_#/" "/home/user/Games/final-fantasy-vii/drive_c/Games/FINAL FANTASY VII/save"If you had any preexisting saves for 7th Heaven/ff7.exe, now would be the time to put them in the save folder and to delete the renamed backup, if you wish. Your steam save files should now be accessible with the alternative exe.

Congratulations for making it through the guide   :D
« Last Edit: 2020-04-23 22:14:28 by Aurora »

epsilon

  • *
  • Posts: 21
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #1 on: 2020-03-24 19:59:24 »
I have done more or less the same, with a few major differences:

(1) I have not installed vcrun2010. It seems to make no difference (note: arch is a rolling release, so I get the latest development version of wine to run 7th heaven and steam proton to run ff7), and my *impression* is that actually it makes things worse (more unstable) but YMMV.

(2) Used cdemu to load the iso that comes the 7th heaven. Maybe I have not done things right, but messing with the drives in winecfg did not work for me. And cdemu is very useful anyway.

(3) Never used Lutris, did not even know it existed!

Later edit: by the way, none of the ln commands should need sudo as both source and destiny are under the home folder, so the owner should have read/write permissions (unless you have been doing something funky weird).
« Last Edit: 2020-03-24 22:53:55 by epsilon »

Aurora

  • *
  • Posts: 12
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #2 on: 2020-03-25 13:36:41 »
(1) I will edit it to remove vcrun2010, I had thought it was necessary because I was getting msvcr100_clr0400.dll errors, msvcr being under vcrun2010, but it seems it actually falls under the .Net 4.0 Framework.

(2) You're technically right about the sudo functions, I'm used to using sudo because my set up used to be different where I had to use it, but I will correct it.

EQ2Alyza

  • 7th Heaven Crew
  • Global moderator
  • *
  • Posts: 3199
  • Dilly-Dally Shilly-Shally
    • View Profile
    • EQ2Alyza - YouTube Channel
Re: Getting 7th Heaven to Work on Wine
« Reply #3 on: 2020-03-25 13:42:40 »
Pinned this topic. It seems important enough to always be up top.

lllsondowlll

  • *
  • Posts: 1
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #4 on: 2020-04-17 02:41:33 »
Good tutorial
« Last Edit: 2020-04-17 02:44:47 by lllsondowlll »

cyberconan

  • *
  • Posts: 6
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #5 on: 2020-04-20 18:27:28 »
Hi!
I followed all your howto, everything perfect with wine 5.5 and donet452, but when I launch FF7 with one or more addons this happens:
19:54:18|INFO|SeventhHeaven.Classes.GameLauncher|Launching additional programs to run (if any) ...
19:54:19|INFO|SeventhHeaven.Classes.GameLauncher|Writing temporary runtime profile file to C:\users\karl\Temp\tmp87b4.tmp ...
19:54:19|INFO|SeventhHeaven.Classes.GameLauncher|Attempting to inject with EasyHook: try # 1 (of 7) ...
19:54:25|WARN|SeventhHeaven.Classes.GameLauncher|   received errors: STATUS_INTERNAL_ERROR: Unable to wait for injection completion due to timeout.  (Code: 0);  ...
19:54:25|INFO|SeventhHeaven.Classes.GameLauncher|Attempting to inject with EasyHook: try # 2 (of 7) ...
19:54:32|WARN|SeventhHeaven.Classes.GameLauncher|   received errors: STATUS_INTERNAL_ERROR: Unable to wait for injection completion due to timeout.  (Code: 0);  ...
...
19:54:59|INFO|SeventhHeaven.Classes.GameLauncher|Attempting to inject with EasyHook: try # 7 (of 7) ...
19:55:06|WARN|SeventhHeaven.Classes.GameLauncher|   received errors: STATUS_INTERNAL_ERROR: Unable to wait for injection completion due to timeout.  (Code: 0);  ...
19:55:06|WARN|SeventhHeaven.Classes.GameLauncher|Failed to inject after max amount of tries (7) ...
19:55:17|INFO|SeventhHeaven.Classes.GameLauncher|   user chose not to set compatibility fix. Aborting ...
19:55:17|INFO|SeventhHeaven.ViewModels.GameLaunchViewModel|Failed to launch FF7. View the above log for details.

And with code 5 fix ON i have some different results:
Attempting to inject with EasyHook: try # 7 (of 7) ...
   received errors: STATUS_NO_MEMORY: Unable to allocate memory in target process. (Code: 5); Process with an Id of 245 is not running. ...
   received errors: STATUS_INTERNAL_ERROR: Unable to wait for injection completion due to timeout.  (Code: 0);  ...
Failed to inject after max amount of tries (7) ...
   user chose not to set compatibility fix. Aborting ...
Failed to launch FF7. View the above log for details.

If i copy all folders to a Windows 7 computer everything works well. I tried wine prefix 32 and 64 but same result. Installed vcrun2010 but nothing chages, tried wine 5.1 to 5.5, different kernels... but always same error  :'( I think the issue must be in EasyHook and any block event:
00fa:err:ntdll:RtlpWaitForCriticalSection section 0x7bd30220 "../../../wine/dlls/ntdll/loader.c: loader_section" wait timed out in thread 00fa, blocked by 00f6, retrying (60 sec)
0

What I'm doing wrong? Why works for you and not for me? Thanks!!!


cyberconan

  • *
  • Posts: 6
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #6 on: 2020-04-22 22:36:35 »
Hi again!
I'm still debugging, in wine output I see:
0075:fixme:path:parse_url failed to parse L"EasyHook"
...
0050:fixme:path:parse_url failed to parse L"System.Runtime.Remoting"
0050:fixme:path:parse_url failed to parse L"System.Web"
0050:fixme:path:parse_url failed to parse L"7thWrapperLib"
Maybe is related with this issue:
https://bugs.winehq.org/show_bug.cgi?id=47277#c9

Anyone with 7thHeaven working well under linux, can tell me their LOCALE? Mine is "es_ES.UTF8" and I have tested with export LC_ALL="en_US.UTF-8" and with standard "C" but not I have not lucky yet, but solves a problem with "," and "." in .IRO files version in their names.
Regards!
PS: I'm using a FF7 than I not purchased in Steam, but I think this not the problem. Maybe than when FF7 is in offer in Steam I will buy a second copy and try this other version.   

Aurora

  • *
  • Posts: 12
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #7 on: 2020-04-22 23:06:43 »
I haven't touched it in a while, but my installation has borked too, injection no longer seems to work. I'll play around to see if I can get it to work, hopefully it's not permanent

cyberconan

  • *
  • Posts: 6
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #8 on: 2020-04-23 00:28:10 »
Arggg! The issue is with wine 5.5!! I have downgraded to wine 5.4, remove wineprefix and regenerate it.  8)

Aurora

  • *
  • Posts: 12
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #9 on: 2020-04-23 16:29:05 »
Alright, I haven't tried an older version of wine, so I'll try it today and update the tutorial if true. If Wine 5.5 updated to break it, that's pretty disappointing.

Aurora

  • *
  • Posts: 12
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #10 on: 2020-04-23 22:10:27 »
After testing, it seems that this is likely a 5.5 issue, as I've upgraded to 5.6 from git and it's working flawlessly, maybe even better than before.

cyberconan

  • *
  • Posts: 6
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #11 on: 2020-04-23 23:23:47 »
In ArchLinux wine 5.6 is now in official repos. I have did a wineprefix backup, upgraded wine but similar crash for me with version 5.5.

Downgraded wine again and recovered wineprefix backup. I'll try upgrade in future wine releases and test again. Thanks Aurora!

Aurora

  • *
  • Posts: 12
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #12 on: 2020-04-24 00:16:34 »
In ArchLinux wine 5.6 is now in official repos. I have did a wineprefix backup, upgraded wine but similar crash for me with version 5.5.

Downgraded wine again and recovered wineprefix backup. I'll try upgrade in future wine releases and test again. Thanks Aurora!

No problem. Since you're not using the steam version, you should be able to use PlayOnLinux to create a wine bottle that uses 5.4 or alternatively compile wine 5.4 and use lutris to point to that custom version to launch it so you can exclusively stay on 5.4 for 7th Heaven, or use Lutris to launch from your PoL winebottles which I do for a lot of other older games.

cyberconan

  • *
  • Posts: 6
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #13 on: 2020-04-24 19:29:50 »
After testing, it seems that this is likely a 5.5 issue, as I've upgraded to 5.6 from git and it's working flawlessly, maybe even better than before.

After two hours, I have compiled current wine version from git for use instead the 5.6 from repo. FFVII launch ok with with mods enabled, everything appears well but crash when load a save game. Definitively I'll wait in wine 5.4 until 5.7 will be in Arch Linux repos.

Kind regards!

epsilon

  • *
  • Posts: 21
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #14 on: 2020-04-26 15:26:34 »
Wine 5.7 has landed on the Arch repos and confirming that now the game loads. But crashes on start of the game with a failed assertion deep in the bowels of the mulltithreading code, so stick to 5.4.

cyberconan

  • *
  • Posts: 6
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #15 on: 2020-05-10 11:45:50 »
Hi again! With new wine 5.8 the game launch, but crash when the intro video is finishing or immediately when loading a savegame. Wine 5.4 is still best option. At this point, maybe creating a wine issue ticket could solve the problem with latests wine versions. Regards!

epsilon

  • *
  • Posts: 21
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #16 on: 2020-06-08 14:14:10 »
Just a heads up: wine-staging 5.10 just landed in the repos and is even more borked, as in completely borked. Roll eyes. This has been going downhill since about 5.7 where the devs started messing up with the dll loading code. Just downgrade to the last functioning version, instruct pacman to not upgrade wine-staging (have to edit pacman.conf, see the arch wiki for the details). Probably, will have to wait a few versions until this whole mess is fixed.

Yoshimitzy

  • *
  • Posts: 1
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #17 on: 2020-11-22 17:59:28 »
Hello! I, just like you, tried to run this wonderful game on Linux and I succeeded with varying degrees of success, because sometimes I received an error with code 5.
My system: Ubuntu 16.04, 1080Ti, 455.38 drivers, 16GB RAM, Wine 5.4 staging. Install according to this instruction using Lutris. And the first time the game started without problems, with mods, but then it began to start with varying success, very often giving error code 5. I tried different versions of wine, but nothing helped. I also noticed that sometimes, if you kill the 7 heavens application in time, the game started with mods, but then it stopped working.
Remembering the separate X server, I decided to try and run it on it and it worked! The game runs stably, every time, in full screen, with all the mods!
In the terminal, we write "xinit xterm --: 1", and switch ALT + F8, switching, in the terminal we write the path to the prefix 7 heavens, I use playonlinux, I just start it, and from it there are 7 heavens.
In your distribution, the commands for launching a separate X session can and most likely will differ.
In order for the terminal to immediately start in a separate X session, we need to write the following line "xterm" in the file .xinitrc in home directory and make this file executable.
Please try it, I hope that everything will work for you without problems!

squall89

  • *
  • Posts: 1
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #18 on: 2021-01-06 21:56:16 »
Hello guys. May I ask if this guide also works with Mac? I have the Steam version of FF7 which I use via Crossover. I would like to have the 7th Heaven mod.

junglized

  • *
  • Posts: 1
    • View Profile
Re: Getting 7th Heaven to Work on Wine
« Reply #19 on: 2021-08-28 11:21:10 »
I tried a crazy thing, unfortunately failed miserably (on Pop!_OS 21.04). I replaced FF7_Launcher.exe file with the one from 7th Heaven (just by renaming files) and I got 7th Heaven run directly from Steam. Unfortunately after selecting all paths in general settings and pressing Play 7th Heaven froze completely. Are there any dependencies which need to be installed, apart from .net4.52, in order to run 7th Heaven with Wine/Proton, like additional DirectX library or Visual C++ Redist?

Is there old version of 7th Heaven avialable for download so I could try to use that instead?

Best regards.
« Last Edit: 2021-08-28 11:24:58 by junglized »