It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
high rated
Two Worlds Epic Edition was released with support for Ubuntu 14.04 and later.
Unfortunately, that release does not run well (or at all) on modern Linux systems.

Ubuntu dropped a required library (libpng12) from their repository in version 18.04.
Additionally, the version of Wine (1.9.5 Staging) used to create GOG's official wrapper is significantly out of date.

As noted by shmerl in another thread, the game's cut-scene videos had to be re-encoded to work in GOG's Linux release. I'll cover that process as well.

The following should get you a well-running version on a newer Linux installation. I tested using Linux Mint 19.2 to stick with GOG's currently supported distribution (Ubuntu 18.04 LTS), so your mileage may vary with other distros, but the process will be similar.

Ensure you have the following installed before continuing:

• wine 32-bit (i386) -- tested here with wine-staging-i386:i386 5.0~rc2~bionic (WineHQ repo)
• winetricks
• libfreetype6:i386
• ffmpeg (to re-encode video)

The entire process will use terminal commands.
You should be comfortable with the command line before continuing.


INSTALLATION - Two Worlds Epic Edition


Overview

• Prepare Wine Prefix
• Install Required Winetricks
• Install Game
• Convert Video Files
• Create Run Script (OPTIONAL)
• Improve Graphics (OPTIONAL)


Tested Environment

Linux Mint 19.2
Wine Staging 5.0-rc2
winetricks 0.0+20180217-1
ffmpeg 3.4.6
GOG - Two Worlds 2.2.0.23 (Windows)


Assumptions

• Setup file downloaded to "$HOME/Downloads":
~/Downloads/setup_two_worlds_epic_edition_2.2.0.23.exe

• Installing to "$HOME/Games":
~/Games/two-worlds-epic-edition"


Prepare Wine Prefix

$ cd ~/Games
$ mkdir two-worlds-epic-edition
$ cd two-worlds-epic-edition
$ export WINEPREFIX=$PWD
$ export WINEARCH=win32
$ winecfg

Wine Configuration Window:

• Applications Tab -> Windows Version:
—— • Windows XP
• 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.


Install Required Winetricks

$ winetricks devenum quartz wmp9 xact


Install Game

$ wine ~/Downloads/setup_two_worlds_epic_edition_2.2.0.23.exe

• When it asks to install PhysX, do so.
• The GOG installer will encounter a Runtime Error after installation.
—— • It's normal, just click "OK".
• Click "Exit" when the installation is complete. (NOT Launch!)


Convert Video Files

The game videos and cut-scenes use the "vc1" video format, which is not supported in wine.
The following will re-encode the videos using "wmv2".

$ 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


Create Run Script (OPTIONAL)

A run script makes it easier to start the game and create menu shortcuts.

Use any plain text editor to edit the file -- here I'm using vim.

$ cd ~/Games/two-worlds-epic-edition
$ touch start.sh
$ chmod 755 start.sh
$ vim start.sh

File Contents:

#!/bin/bash
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


Improve Graphics (OPTIONAL)

The following creates a file that can be loaded in-game to enhance the graphics on modern systems. It increases draw distances, eliminates fog (which can cause render problems), and increases the field of view.

Use any plain text editor to edit the file -- here I'm using vim.

Note: This file must exist BEFORE the game is started.

$ cd ~/Games/two-worlds-epic-edition
$ cd "drive_c/GOG Games/Two Worlds Epic Edition"
$ touch _
$ vim _

File Contents:

Engine.TShadows 1
Engine.Shadows 1
Engine.UseStencilShadows 1
Engine.TrueWaterRef 1
Engine.WaterReflections 1
Engine.Farplane 2500
Engine.GFadeFar 2000
Engine.GFadeNear 500
Engine.LOD1 2000
Engine.LOD0 1000
Engine.AlphaFadeFar 10000
Engine.AlphaFadeNear 1000
Engine.SetFogParams 100 1000 0.2 0.02 0
Engine.FOV 80
Engine.FOVUpdate

The last two "FOV" lines are optional.
They allow for a more zoomed out experience on larger screens.

To load the graphics update:

• Start or Load a game.
• Press the tilde key "~" in-game to bring up a console.
• Type "@_" (without quotes) and hit Enter.
• Bring the console up again with the tilde "~" key.
• Press the up arrow to bring up the last command and press Enter again.

The command must be run twice to properly update the scene!

Unfortunately, this hack must be done manually every time the game is started.
It must be done within the game world, NOT on the intro screen.
Post edited December 26, 2019 by xixas
Thanks for posting this. I'm on Ubuntu Bionic and the game is working great except for one issue. If I alt-tab out of the game and then switch back to it, mouse clicks no longer work. I've tried full screen and windowed (with a virtual desktop in winecfg) and it's the same issue for both settings. Not really sure what else to try.
avatar
foobrew: Thanks for posting this. I'm on Ubuntu Bionic and the game is working great except for one issue. If I alt-tab out of the game and then switch back to it, mouse clicks no longer work. I've tried full screen and windowed (with a virtual desktop in winecfg) and it's the same issue for both settings. Not really sure what else to try.
Glad the post helped to get you rolling =)

I don't believe I encountered the alt-tab mouse issue with Two Worlds, but it's a common issue -- I'm experiencing it with Astrox Imperium at the moment. I haven't come across a bullet proof solution, as it really depends on the underlying cause, and often I don't find a solution at all (short of never tabbing out).

Occasionally it's as simple as the Alt and/or Tab keys getting stuck in a registered down state, and pressing each key individually once you return to the game will un-stick them.

Other times it's a matter of not being able to re-capture the cursor. Sometimes that's due to the application not watching for and realizing the cursor lock was lost, so it never tries to re-obtain the lock. When that's the case I've sometimes had luck running the game under it's own X instance -- then I switch X sessions instead of Alt-Tabbing out.

Conversely, other times the cursor lock is on a greedy loop and refuses to release at all. In such cases your window manager may have a way to force the release, but then the game can't re-coordinate the mouse once you return to the game -- e.g. if it incorrectly assumes a locked center-screen position then all relative movements are off. Along these lines, any game that changes your screen resolution (or does so virtually via emulation... like DOSBox) will often lose mouse functionality upon return due to the tracked coordinate falling outside the screen boundary. I haven't had any luck fixing these kind of issues.

This comment probably won't directly fix your issue, but hopefully it provides some outside-the-box avenues to further your thought process.

Please do post back if you find a solution =)
I think this game should lose the linux compatible tag on the store tbh
avatar
xixas: Two Worlds Epic Edition was released with support for Ubuntu 14.04 and later.
Unfortunately, that release does not run well (or at all) on modern Linux systems.

Ubuntu dropped a required library (libpng12) from their repository in version 18.04.
Additionally, the version of Wine (1.9.5 Staging) used to create GOG's official wrapper is significantly out of date.
Could you please go into more detail as to why it doesn't work on modern Linux systems?

How does the old 1.95 Wine version used in the wrapper prevent newer systems from running it?
This is happening to me on Solus and Suse (both rolling distros), but not on Ubuntu 16.04. Solus even has older libpng versions installed (like 1.2 and 1.5 with their 32-bit equivalents too) to keep binary compatibility. Still running Start.sh results in a 1-2 second black fullscreen before closing without any errors, run through both the terminal and through Lutris.

Both Solus and Suse of course use up-to-date Wine versions. But as the game is supposed to run "natively" Wine shouldn't even be a problem. But it seems they tried to pass off a Wine-Wrapper script as a native Linux version. Astounding. In your experience, does that happen with other devs as well?
avatar
delamesa: Could you please go into more detail as to why it doesn't work on modern Linux systems?
How does the old 1.95 Wine version used in the wrapper prevent newer systems from running it?
Wine, like all software packages, assumes a certain set of available system libraries, but mainly those libs remain available for legacy purposes. It's certainly possible to still run Wine 1.95 on modern systems, but my note about it being "significantly out of date" was a polite way of saying I'm not even going to bother telling you to install less performant legacy software.
avatar
delamesa: This is happening to me on Solus and Suse (both rolling distros), but not on Ubuntu 16.04.
Ubuntu 16.04 still works because libpng12 wasn't removed until 18.04. If, however, you do have the shared lib available on your system, you may just need to export LD_LIBRARY_PATH with the path to its parent directory.
avatar
delamesa: ...running Start.sh results in a 1-2 second black fullscreen before closing without any errors, run through both the terminal and through Lutris.
The failing out could come from a number of sources. Might just be crashing out when it tries to play the entry video if you didn't re-encode them and don't have any requisite codecs. I'd recommend opening up Start.sh and enable logging (i.e. get rid of things like WINEDEBUG=-all). Can't really tell you much more without logs.
avatar
delamesa: But as the game is supposed to run "natively" Wine shouldn't even be a problem. But it seems they tried to pass off a Wine-Wrapper script as a native Linux version. Astounding. In your experience, does that happen with other devs as well?
Sure, there are a pretty good number of gameson GOG (and a ton of them on Steam) that claim Linux compatibility based on pre-built wine wrappers -- and sensibly so. While it's debatable whether devs releasing new titles should make Linux a first-class citizen, older titles don't have that option. Most of their teams are long since gone and rebuilding them simply isn't an option. As long as the build's reasonably tested, in many cases Wine allows a performant quick-port option to make a game available to a wider audience.

I see no ethical difference between that option and, say, a DOSBox-wrapped release of Wing Commander: Privateer.

Basically, they pre-package Wine wrappers so people like me don't have to write posts like these :)