Application Details:
Version: | GOG |
License: | Retail |
URL: | http://www.2-worlds.com/ |
Votes: | 0 |
Latest Rating: | Gold |
Latest Wine Version Tested: | 8.21 |
Maintainers: About Maintainership
What works
NOTE: I used the GoG windows installer v2.2.0.23: setup_two_worlds_epic_edition_2.2.0.23-1.bin setup_two_worlds_epic_edition_2.2.0.23.exe
Installer
Gameplay
Load/Save
OpenGL(With some weird color issues and blinking sky, otherwise was fine)
DXVK(Better performance and no weird video issues)
I tested resolutions between 1080p and 2K. All worked fine except for the color and blinking issues for OpenGL.
NOTE: a number of workarounds are required to make this work. I describe them in the 'Work Around Section Below'.
Tested on Manjaro Linux 23:
AMD Ryzen 7 2700X, Nvidia GeForce RTX-3060, NVidia Proprietary Driver: 545.29.06
Intel I7-6700K, Intel HD Graphics 530, Intel Open Source Mesa Driver, Mesa 23.1.9-manjaro1.1
What does not
The cut scene movies did not work for me. Even when i converted them to WMV from VC1.
I was able however to view them outside of the game using a standalone player such as VLC and FFPlay.
Workarounds
NOTE: I started with the instructions on the GoG forums which got me most of the way: https://www.gog.com/forum/two_worlds_series/linuxwine_installation_two_worlds_epic_edition
Step1: Prepare the Wine Prefix:
$ cd ~/Games
$ mkdir two-worlds-epic-edition
$ cd two-worlds-epic-edition
$ export WINEPREFIX=$PWD
$ export WINEARCH=win32
$ winecfg
Step2: Initial Wine Configuration using winecfg:
NOTE: This fixes audio issues.
� Applications Tab -> Windows Version:
—— � Windows 7
� Libraries Tab -> New override for Library:
—— � Select x3daudio1_1 from the dropdown.
—— � Click "Add" button.
—— � This adds "x3daudio1_1 (native, builtin)" to the list.
� Desktop Integration Tab -> Folders:
—— � Uncheck "Link to" for each folder (OPTIONAL)
� Click "OK" button to apply and close the window.
Step3: Install Required Winetricks:
NOTE: DXVK provided better performance and fixes video glitches compared to my OpenGL tests.
$ winetricks dxvk devenum quartz wmp9 xact
Step4: Convert cut-scene video files from "vc1" to "wmv2".
NOTE: Even after I did this, they still did not play for me in game. But you can watch them with an external media player such as VLC or FFPlay.
$ cd ~/Games/two-worlds-epic-edition
$ cd "drive_c/GOG Games/Two Worlds Epic Edition"
$ mv Video Video.bak
$ mkdir Video
$ cd Video.bak
$ for i in *.wmv; do ffmpeg -i "$i" -q:a 0 -q:v 0 -vcodec wmv2 -acodec wmav2 "../Video/$i"; done
$ for i in *.abc; do cp "$i" "../Video/$i"; done
Step5: Create a run script:
$ cd ~/Games/two-worlds-epic-edition
$ touch start.sh
$ chmod 755 start.sh
$ vim start.sh
File Contents:
#!/bin/bash
export DXVK_HUD=1
export DXVK_ASYNC=1
export WINEPREFIX=$(realpath $(dirname $0))
export WINEARCH=win32
echo "WINEPREFIX: $WINEPREFIX"
echo "WINEARCH: $WINEARCH"
cd "$WINEPREFIX/drive_c/GOG Games/Two Worlds Epic Edition"
echo "Working Directory: $PWD"
echo "Running TwoWorlds.exe"
WINEDEBUG=fixme-all wine TwoWorlds.exe
The game can now be run with: ./start.sh
Step6: Fix Out of Memory and Not Enough Memory crashes:
NOTE: The game will run for up to 5 minutes (sometimes longer) and will crash with an 'Mapping non-persisted file failed: 8, Mapped memory: 94142528, Msg: Not enough memory.' or a 'err:virtual:allocate_virtual_memory out of memory for allocation'. This seems to happen most frequently when you try to save the game or when the autosave triggers.
The root cause of this problem is that the application is attempting to address >2GB of virtual memory.
I was able to resolve this issue, by settng the LARGEADDRESSAWARE flag in the TwoWorlds.exe . I got the idea from a stackoverlfow article here: https://stackoverflow.com/questions/1346480
In my case, I happen to have a Virtualbox Windows10 VM with Microsoft Visual Studio 14.0 from some development work I did a long time ago. This package has the two tools editbin.exe and dumpbin.exe installed under 'c:\Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin' . I assume other versions of Visual Studio also have these tools. I dont know, however, since I havent done any Windows development for many years.
So I was able to copy the TwoWorlds.exe from my Wine installation to the Windows VM and was able to use these tools to fix the binary:
# This sets the LARGEADDRESSAWARE flag in the application so that it can use >2GB of address space.
> editbin /LARGEADDRESSAWARE c:\temp\TwoWorlds.exe
# You can tell if this worked, by looking at the output of dumpbin searching for 'Application can handle large (>2GB) addresses'.
> dumpbin c:\temp\TwoWorlds.exe
After copying this back to my wine prefix, everything has been running stable so far for my current ~6 hours of play.
Step7: The Remaining Issue
The cut-scenes not playing are the remaining issue. I dont necessarily miss them since I can watch them with an external player such as VLC any time I like. So not a huge loss.
What was not tested
nothing
Hardware tested
Graphics:
Additional Comments
Operating system | Test date | Wine version | Installs? | Runs? | Used Workaround? | Rating | Submitter | ||
Current | Manjaro Linux 23 | Dec 30 2023 | 8.21 | Yes | Yes | Yes | Gold | Jose Santiago | |
Show | Debian GNU/Linux 9.x "Stretch" x86_64 | Nov 27 2016 | 1.9.24 | Yes | Yes | No | Gold | Shmerl |
Bug # | Description | Status | Resolution | Other apps affected |