WineHQ

Two Worlds

GOG Windows release of the game, 1.7 (GOG-2.0.0.2).

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

Test Results

Selected Test Results

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:

  • GPU: Nvidia
  • Driver: proprietary

Additional Comments

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
CurrentManjaro Linux 23Dec 30 20238.21Yes Yes YesGoldJose Santiago 
ShowDebian GNU/Linux 9.x "Stretch" x86_64Nov 27 20161.9.24Yes Yes GoldShmerl 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

Comments

Back