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

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

  • Full single-player campaign
  • LAN game (with no other players)
  • OpenGL renderer

What does not

Emulating a virtual desktop was required as the game would crash without.

Workarounds

  • A 32-bit WINEPREFIX required
  • Run this winetricks command:

    winetricks vcrun2012 vcrun2013 vcrun2015 win7

  • Start winecfg and enable "Emulate a virtual desktop"
  • Choose OpenGL renderer by editing DeusEx.ini or use Kentie's launcher

The following edits should be made to the file DeusEx.ini :

[Engine.Engine]
GameRenderDevice = OpenGLDrv.OpenGLRenderDevice
[FirstRun]
FirstRun = 1100
[WinDrv.WindowsClient]
FullscreenColorBits = 32
FullscreenViewportX = 1280
FullscreenViewportY = 1024

What was not tested

  • DirectX renderer
  • Online multiplayer


    Hardware tested

    Graphics:

    • GPU: AMD
    • Driver: open source

    Additional Comments

    selected in Test Results table below
    Operating systemTest dateWine versionInstalls?Runs?Used
    Workaround?
    RatingSubmitter
    ShowArtix LinuxFeb 13 20216.1Yes Yes YesGoldJoel H. 
    CurrentArtix 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