WineHQ

Deus Ex

Application Details:

Version: GOG
License: Retail
URL: http://mirror.deusexnetwork.co...
Votes: 1
Latest Rating: Gold
Latest Wine Version Tested: 6.1

Maintainers: About Maintainership

Test Results

Selected Test Results

What works

  • First level and training room plays as expected
  • Audio
  • Stock OpenGL renderer

What does not

  • Game won't scale fullscreen properly. Instead shows 640x480 window at the top left.
  • Cursor becomes unusable after inactivity.

Workarounds

  • Emulate a virtual desktop set to your screen resolution.
  • Edit the System/DeusEx.ini file to:
[FirstRun]
FirstRun=1100    # Skips the first-time setup
[Engine.Engine]
GameRenderDevice=OpenGLDrv.OpenGLRenderDevice    # Uses the OpenGL renderer
[WinDrv.WindowsClient]
FullscreenViewportX=2560    # Set your screen resolution width
FullscreenViewportY=1440    # Set your screen resolution height
FullscreenColorBits=32      # Use 32bit colour

Virtual desktop appears to fix the mouse issue.

I had to set the game to use my screen resolution, any other resolution won't fill the screen, even in the virtual desktop.

What was not tested

  • DirectX or Glide Renderers
  • A complete play-through
  • Multiplayer with other players

Hardware tested

Graphics:

  • GPU: AMD
  • Driver: open source

Additional Comments

  • Used a 32bit WINEPREFIX
  • Be warned that changing any display settings in-game will cause the engine to reset the screen resolution. You will need to edit the DeusEx.ini file again in this case
  • I used to use Kentie's "DeusExe" launcher. But as of late, launching with it causes game saving not to work as the engine believes the hard disk is full.

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
CurrentArtix LinuxFeb 13 20216.1Yes Yes YesGoldJoel H. 
ShowArtix LinuxJan 07 20215.22Yes Yes YesGoldJoel H. 
ShowArch Linux x86_64Feb 02 20205.0-stagingYes Yes YesSilvergardenapple 
ShowUbuntu 14.04 "Trusty" i386 (+ variants like Kubuntu)Oct 01 20161.9.19Yes Yes GoldAAAAAAAAAAAAAA 
ShowopenSUSE Factory i686Nov 24 20141.7.31Yes Yes SilverMaik Wagner 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

HowTo / Notes

Using the Stock OpenGL Renderer

Out-of-the box the stock OpenGL renderer will generate a segmentation fault:

double free or corruption (!prev)

This BASH script will fix the DeusEx.ini file settings to correct this. Note it is recommended to use the newer OpenGL renderer (which is significantly better)

  1. Create this script (credit to Morgawr, his original script was used as a basis for this):
  2. #!/bin/bash


    #export WINEPREFIX="❚❚❚❚❚❚"

    export DEUS_EX_PATH

    # Read install path for Deus Ex, from the Wine Registry.
    # Note: this requires a first run, when DeusEx is installed under Steam.

    DEUS_EX_PATH="$(
         wine reg query 'HKEY_LOCAL_MACHINE\Software\Unreal Technology\Installed Apps\Deus Ex' /v Folder 2>/dev/null \
            | awk '{ if (sub("^[[:blank:]]*Folder[[:blank:]]*REG_SZ[[:blank:]]*","")) print $0 }' \
            | dos2unix
    )"

    # Fallback to 'C:\DeusEx'

    DEUS_EX_PATH="${DEUS_EX_PATH:-C:\\DeusEx}"

    printf "Using DeusEx (Windows) install path: '%s'\\n" "${DEUS_EX_PATH}"

    # Convert path from Windows to Unix format

    DEUS_EX_PATH="$(winepath -u "${DEUS_EX_PATH}" 2>/dev/null)"

    if [[ ! -d "${DEUS_EX_PATH}" ]]; then
         printf "DeusEx install path: '%s' ; does not exist\\n" "${DEUS_EX_PATH}" >&2
         exit 1
    fi

    # Patch settings to make the game work properly on OpenGL devices
    # Uses the default DeusEx install path (for the current WINEPREFIX)
    if ! sed -i -e '/FrameRateLimit=60/d' \
                  -e 's/^GameRenderDevice=.*$/GameRenderDevice=OpenGLDrv.OpenGLRenderDevice/g' \
                  -e '/^GameRenderDevice=OpenGLDrv.OpenGLRenderDevice$/a\FrameRateLimit=60' \
                  -e 's/FirstRun=.*$/FirstRun=1100/g' \
             "${DEUS_EX_PATH}/System/DeusEx.ini"
    then
         printf "Unable to update DeusEx.ini file: '%s'\\n" "${DEUS_EX_PATH}/System/DeusEx.ini" >&2
    exit 1
    fi

    printf "Successfully updated DeusEx.ini file: '%s'\\n" "${DEUS_EX_PATH}/System/DeusEx.ini"

  3. Make the script executable & run it:
    chmod +x fix_deus_ex_opengl.sh
    ./fix_deus_ex_opengl.sh
    (ensure your WINEPREFIX env variable is set)
Install Kentie Launcher

The Kentie Launcher Deus Exe is a replacement executable for Deus Ex. It's compatible with the GOTY edition of the game, which includes the Steam version. Note: the enhanced Steam version of DeusEx appears to lose support for the high resolution/wide screen fixes, when the Kentie Launcher is installed.

The launcher:

  • fixes various issues running the game on modern computers
  • helps you configure the game
  • includes a mod manager

Kentie Launcher homepage

This script will download version 8.1 of the Kentie Launcher and automatically install it, to the specified WINEPREFIX.

Update the KENTIE_VERSION variable as required.

#!/bin/bash

export WINEPREFIX="❚❚❚❚❚❚"


export DEUS_EX_PATH PATH_7ZIP KENTIE_LAUNCHER_ARCHIVE KENTIE_LAUNCHER_URL KENTIE_VERSION

KENTIE_VERSION="8.1"
KENTIE_LAUNCHER_URL="http://kentie.net/article/dxguide/files/DeusExe-v${KENTIE_VERSION}.zip"
KENTIE_LAUNCHER_ARCHIVE="$(basename "${KENTIE_LAUNCHER_URL}")"

# Install winetricks verbs: vcrun2015 7zip

if ! winetricks vcrun2015 7zip; then
     printf "winetricks vcrun2015 7zip failed\\n" >&2
     exit 1
fi

# Read install path for Deus Ex, from the Wine Registry.
# Note: this requires a first run, when DeusEx is installed under Steam.

DEUS_EX_PATH="$(
     wine reg query 'HKEY_LOCAL_MACHINE\Software\Unreal Technology\Installed Apps\Deus Ex' /v Folder 2>/dev/null \
         | awk '{ if (sub("^[[:blank:]]*Folder[[:blank:]]*REG_SZ[[:blank:]]*","")) print $0 }' \
         | dos2unix
)"

# Fallback to 'C:\DeusEx'

DEUS_EX_PATH="${DEUS_EX_PATH:-C:\\DeusEx}"

printf "Using DeusEx (Windows) install path: '%s'\\n" "${DEUS_EX_PATH}"

# Convert path from Windows to Unix format

DEUS_EX_PATH="$(winepath -u "${DEUS_EX_PATH}" 2>/dev/null)"

if [[ ! -d "${DEUS_EX_PATH}" ]]; then
     printf "DeusEx install path: '%s' ; does not exist\\n" "${DEUS_EX_PATH}" >&2
     exit 1
fi

# Download Kentie Launcher
if ! wget "${KENTIE_LAUNCHER_URL}" -O "${DEUS_EX_PATH}/System/${KENTIE_LAUNCHER_ARCHIVE}"; then
     printf "Kentie Deus Ex Launcher unavailable @: '%s'\\n" "${KENTIE_LAUNCHER_URL}" >&2
     exit 1
fi

# Hack to determine path of 7-zip (32-bit or 64-bit)

PATH_7ZIP='C:\Program Files (x86)\7-Zip\7z.exe'

if ! wine "${PATH_7ZIP}" &>/dev/null; then
     PATH_7ZIP='C:\Program Files\7-Zip\7z.exe'
fi

if ! cd "${DEUS_EX_PATH}/System"; then
     printf "cd to path: '%s' ; failed\\n" "${DEUS_EX_PATH}/System" >&2
     exit 1
fi

# Extract Kentie Launcher archive (case-insensitive)
if ! wine "${PATH_7ZIP}" e -y """$(winepath -w "${KENTIE_LAUNCHER_ARCHIVE}" )"""; then
     printf "Unable to extract Kentie Deus Ex Launcher: '%s'\\n" "${DEUS_EX_PATH}/System/${KENTIE_LAUNCHER_ARCHIVE}" >&2
     exit 1
fi

printf "Successfully extracted Kentie Deus Ex Launcher: '%s'\\n" "${DEUS_EX_PATH}/System/${KENTIE_LAUNCHER_ARCHIVE}"


Comments

The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

Locale issue
by GreatEmerald on Saturday January 11th 2014, 3:16
The game needs to have LANG=C set, if you are using a non-standard locale, in order not to crash on startup.
Back