Wine Tips¶
Original author: Tommy Nguyen
Last modified: Mon Aug 1 17:02
Out of memory errors¶
This seems to affect multiple games. For example, in Resident Evil Remaster you might see “ERR08: memory overrun”. For non-DRM games, you can try using the 4gb patch or equivalent “Large Address Awareness” patches. For DRM games (like found on Steam), you’ll need a patch/mod with specific support (i.e, this is the case for Fallout).
If you are willing to compile Wine from source, use this patch by Gabriel Corona that will enable LAA across the board.
In Proton, LAA is enabled by default.
New Vegas¶
Modding¶
For a comprehensive modding guide, see Viva New Vegas.
Furthermore, see their page on mods to avoid.
You will need to install vc2019 but currently proton has trouble installing it. You need to install it with regular wine by doing:
env WINEPREFIX="/path/to/steam/steamapps/compatdata/22380/pfx" winetricks vcrun2019
While I would normally recommend Mod Organizer 2, it has issues on Linux so I will instead discuss alternatives.
While .NET is not required to run MO itself, it is required for the scripted installers. Mods will not install properly if their scripted installers don’t run, even if you don’t “require” them.
As a workaround, you can use A.J. Venter’s movfs4l script. Modify the
variables to point to the correct directories, then run it with
WINEPREFIX=... python movfs4l.py
. Since Mod Organizer will pick up the
symlinks (and display them as redundant unmanaged mods), you should run
python movfs4l.py UNVFS
prior to opening Mod Organizer, then rerun the
script without arguments after closing Mod Organizer.
Another alternative is the FalloutNVLinuxLauncher. This script uses OverlayFS to merge mods and mount the result. The instructions are a little confusing, so these notes should be used in addition to the README.
First install Fallout New Vegas somewhere. Then create a mods
directory
(place it anywhere you like) and rename the directory to 9999 Fallout New
Vegas like so:
mods/
├── data
│ ├── 9999 Fallout New Vegas
Modify the script and set ROOTDIR
to the parent directory of where you want
the mounted directory and MERGERDIR
to the name of the mounted directory.
For example, if you’re using Steam:
ROOTDIR="/path/to/steam/steamapps/common/"
MERGERDIR="$ROOTDIR/Fallout New Vegas"
All mods need to go into MODDATADIR
instead of MODDIR
. That is, the
tree would look like:
mods/
├── data
│ ├── 0010 JIP LN NVSE
│ ├── 9999 Fallout New Vegas
│ └── 9999 Fallout New Vegas.order
The script will warn you about mixed-case files, but doesn’t rename them. As a
result, things can break when mods do not get merged. Install prename
,
then run this from your mods
folder:
find . -depth -execdir prename 'y/A-Z/a-z/' '{}' \;
Then launch the game with:
bash FONVLaunchInMerged.sh steam steam://rungameid/22380
If you run into issues, delete the _overlay_
and _mods
folder.
The merged game files will be mounted in
/path/to/steam/steamapps/common/Fallout New Vegas
. After you close Steam,
the merged directory will be unmounted. In order to test that it is actually
working, install the JIP LN NVSE mod and type GetIsLAA
in the console. You
should get some output.
The script will also create a loadorder.txt
file inside
$MERGERDIR/data
. However, FONV actually reads the esp
and esm
files
to load from plugins.txt
. Locate it, then create a symlink, i.e:
# The following path may be different on your system
cd /path/to/Local Settings/Application Data/FalloutNV
ln -s "/path/to/Fallout New Vegas/data/loadorder.txt" plugins.txt
LOOT¶
If none of the mod organizers work, then you can use the much simpler Load
Order Optimization Tool. You will need to install
and uninstall mods manually, but LOOT will help organize your plugins.txt
file. Note that this file is located in users/your_username/Local
Settings/Application Data/FalloutNV/
.
GMDX¶
If you are using GMDX (Deus Ex mod), you may need to edit
/home/user/Documents/Deus Ex/System/GMDX.ini
in order for it to work
properly. Under [Core.System]
replace all of the Paths
entries with:
Paths=..\New Vision\Textures\*.utx
Paths=..\GMDXv9\Maps\*.dx
Paths=..\GMDXv9\Music\*.umx
Paths=..\GMDXv9\System\*.u
Paths=..\GMDXv9\Textures\*.utx
Paths=..\HDTP\System\*.u
Paths=..\HDTP\Textures\*.utx
Paths=..\Music\*.umx
Paths=..\Sounds\*.uax
Paths=..\Textures\*.utx
Paths=..\Maps\*.dx
Paths=..\System\*.u
Proton¶
If you use Steam, you can play games using Steam Play, which uses Proton. Proton incorporates both Wine and DXVK to allow you to play Windows games without doing any tinkering out of the box.
Proton can either be obtained by installing a Steam Play enabled game or standalone in the Tools section. In the library pane, select the Games dropdown and change it to Tools. Then scroll down until you find Proton.

Once that’s done, locate the Proton directory. It will look something like
steam/steamapps/common/Proton 3.7
, where steam
is located in one of
your Steam download libraries.
Alternatively, you can install a fork of Proton called Proton-GE. Download the tarball and unzip it to $HOME/.local/share/Steam/compatibilitytools.d/. After you restart Steam, it should show up when you select a custom Steam Play tool.
If you need to enable logging, go to any Proton installation directory and move
user_settings.sample.py
to user_settings.py
.
wine-ge¶
It is not recommended to use Proton for games outside of Steam. It is recommended to use Lutris with wine-ge instead. See this thread for details.
mf_install¶
As of Proton-6.1-GE2 I’ve found that some games still need the Media Foundation workaround for cutscenes and movies (Bulletstorm is one of them). In fact, Proton-GE doesn’t have the verb at all anymore. However, the default installation instructions don’t work.
Simply run:
PROTON="/path/to/proton/directory" WINEPREFIX="/path/to/prefix" ./mf-install.sh -proton
If needed for wine-ge, one can lookup the respective Steam AppID in protonfixes and then run the respective verb for winetricks in Lutris.
proton-caller¶
As stated above, it is not recommended to run Proton outside of Steam, even when using proton-ge, so it can be a little tricky. There is a program called proton-caller that does the job and it tries to run the commands within the Steam runtime. However, it is inflexible and contains a number of bugs.