System Info:
OS: Linux Mint 19.1 x64 (with plans to reinstall with 19.2 in the near future)
RAM: 32 GB
CPU: AMD FX-990
OS and Game partitions are using ext4 format.
Wine Info:
I have 2 (relevant) wine prefixes: the proton one setup by Steam and another one I setup via Lutris. I was primarily trying to run the utility described below through the Lutris one, but I am asking my question in a more general context. I am not at home and will try to fill in actual versions later but everything should be the latest...
System Wine: latest Wine-staging from PPA (Not at home... I think 4.14?)
System Winetricks: latest from github source master branch as of yesterday morning
Wine Arch: 64-bit
OS Settings: I think it was either set to win7 or possibly undefined. Will confirm when I get home.
Proton: I think it is latest (pretty sure my last protondb submission said 4.2 a couple weeks back)
Proton Arch: 64-bit
Background:
I was looking at modding Fallout 3 (steam) via an instance of Vortex that I have running in wine via lutris. I am currently in the process of setting up the core / dependent stuff and in several (windows) tutorials for setting up FO3 with better graphics I have come across mention of the nexus mod Large Address Aware Enabler for FO3. After extracting and copying it over to my lutris prefix with a copy of Fallout3.exe, I tried kicking off the utility with:
Code: Select all
env WINEPREFIX=$(pwd) wine wineconsole
cd C:\3gb_enabler
START.bat
Then I started wondering if there was a way to do the same thing as the utility from a purely bash + shell utils approach since the mod's doc says:
I am releasing this application as it may help with crashing and performance issues with Fallout 3, particularly when using my larger texture packs. The utility was originally programmed and released by MadBoris, for the game Supreme Commander. I (NMC) have simply tweaked the program to work with Fallout 3. Read all about the original utility here: http://forums.gaspowered.com/viewtopic.php?t=2382 (note: I have relinked to an archived version since the original is long gone).
While I do have access to a Windows partition to run this from, I am trying hard to avoid it (as I am aiming to completely sever ties with Windows by Jan 2020). Anyway, I have been trying to search and determine if any of this 32-bit application virtual address space stuff is even relevant in Wine?. Apologies if my google foo is off today but I did spend a bit of time looking and haven't been able to find much with regards to this topic and wine... and what I could find was a bit dated.
Guesswork so far:
In Link #1, mikolajz says that "AFAIR, the 3GB address space is the default on Linux and may be even increased by distributions. On 64-bit Windows and Linux, the whole 4GB of address space will be visible to applications with such a flag". He later mentions some bits of code but I couldn't tell definitively how wine handles this and didn't want to necro the post. Also, the solutions there seemed to be suggestions for making kernel / wine options where this would apply across the board -- that's great if it exists but if not I would be content with applying memory options to specific launch instance (e.g. wine --some-flag-to-override-3gb-limit C:/foo/myapp.exe) or else running/creating a script/utility that would permanently set the /3GB and /LARGEADDRESSAWARE:YES flags on a pre-compiled exe for which I do not have the source code.
Link #2 from wiki.tesnexus.com says that the limitation "also applies to Operating Systems (OS) that are acting 'Windows-like', such as the Apple MacIntosh with OSX and Unix style platforms using 'WINE'. " but does not go into any technical details specific to Linux/Wine that I could see.
Link #3 - seems to suggest there is a regedit setting for VIDEO mem but not for application mem.
Link #4 - TBH, I just found this and haven't had a chance to test it but it seems to be suggesting that setting my wine config to winxp might make this work. When I get a chance, will update if this fixes.
References: