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.
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:
If you will be following this guide and using, we can navigate to the game options and change the Executable to:
/home/user/Games/final-fantasy-vii/drive_c/7th Heaven/7th Heaven.exe
substituting user for whatever the username is, and the Wine prefix to:
~/Games/final-fantasy-vii/
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:
/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.
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:
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:
WINEPREFIX=/home/user/Games/final-fantasy-vii winetricks -q
It 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:
../drive_d
Note: 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
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:
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:
/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.
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