Games on Linux: Notes & Tips

From Retro Media HUB
Revision as of 14:15, 2 December 2025 by Admin (talk | contribs)

Battlefield 1942

Year Developer Graphics API Audio API
2002 Digital Illusions CE (DICE) DirectX 8 DirectSound


  • Issue: UI missing components
  • __Fix: fixed using DXVK (or dgVoodoo2).

Battlefield Vietnam

Year Developer Graphics API Audio API
2004 DICE Canada DirectX 9 DirectSound


  • Issue: UI missing components
  • __Fix: fixed using DXVK (or dgVoodoo2).
  • Issue: Radio missing audio.
  • __Fix: fixed by choosing NT 4.0 as Windows version in Wine Configuration.
  • Issue: Punkbuster will not work if the Windows version is NT 4.0.
  • __Fix: The Windows version can be set per process to prevent that Punkbuster service fail to start.

Delta Force 2

Year Developer Graphics API Audio API
1999 Novalogic Software Rendering DirectSound


  • dgVoodoo2 wrapper used but only for Hardware rendering
  • Issue: Hardware rendering broken clipping issue ( you can see trees and other object through the environment)
  • __Fix: Software Rendering is used

Enemy Territory Quake Wars

Year Developer Graphics API Audio API
2007 Splash Damage OpenGL DirectSound


  • 3D Spatial Sound restored using DSOAL.
  • Issue: Post Processing issues with Mesa's native OpenGL.
  • __Fix: ZINK driver fix Post Processing.
  • Issue: Game fail to start on Steam Deck in desktop mode.
  • __Fix: Passing environment variable LIBGL_KOPPER_DRI2=1 fix game not starting in desktop mode.

Divinity II: Developer's Cut

Year Developer Graphics API Audio API
2012 Larian Studios DirectX 9.0c DirectSound


  • dgVoodoo2 doesn't seem required, DXVK already fix compatibility issues

Cossacks

Year Developer Graphics API Audio API
2000 GSC Game World DirectX 7 DirectSound


  • Replaced mdraw.dll with ddraw.dll from cnc-ddraw 6.8

Freelancer Online (Discovery)

Year Developer Graphics API Audio API
2003 Digital Anvil DirectX 8.1 DirectSound


  • Issue: Text in menus cut off.
  • __Fix: the text in menus cut off is resolved with specific wine versions (9.0).
  • __Fix: Wine 9.0 fix crash on specific solar systems.
  • A 32-bit Wine prefix has been tested and works fine.
  • EAX 2 can be restored with DSOAL wrapper, registry fix required to load local dsound.dll library inside the game folder.

Unreal Tournament 3

Year Developer Graphics API Audio API
2007 Epic Games DirectX 9.0 OpenAL (EAX 5), DirectSound (no EAX)


  • 3D Spatial Sound restored with OpenAL Soft

Unreal Tournament 2004

Year Developer Graphics API Audio API
2004 Epic Games DirectX 8.1 OpenAL (EAX 3.0/4.0)


  • 3D Spatial Sound (EAX) restored with OpenAL soft

Rise of Nations: Rise of Legends

Year Developer Graphics API Audio API
2006 Big Huge Games DirectX 9.0c Miles Sound System (MSS)


  • Multi CD installation fail on Linux, pre-installed version on archive.org.
  • Wine registry need update.
  • A 32-bit Wine prefix has been tested and works fine.
  • Winetricks required: wmp9 (fix audio), msxml3, msxml4 (fix map not loading), corefonts, mfc42 (fix installer).
  • Applied patch 2.5 German version to prevent CD check when starting the game.

Thief: Deadly Shadows

Year Developer Graphics API Audio API
2004 Ion Storm Austin DirectX 8.0 DirectSound (EAX 2.0/3.0)


  • 3D Spatial Sound restored with DSOAL
  • Issue: The game’s EAX.dll (EAX Unified) in the system folder forces the use of the default Windows dsound.dll, regardless of configuration.
  • __Fix: Replaced the Windows dsound.dll with the DSOAL version.
  • dgVoodoo2 used to convert DirectX 8 to DirectX 11

SEGA Rally Revo

Year Developer Graphics API Audio API
2007 SEGA Racing Studio DirectX 9.0c DirectSound


  • Registry fix required for launcher
  • Use of DSOAL (probably not needed)

Hellgate London

Year Developer Graphics API Audio API
2007 Flagship Studios DirectX 9.0c (DX 10 fail on Linux) Miles Sound System (MSS)


  • London 2038 is the private server project supported by the community.
  • SP Patch: Patch_NA_Europe_Germany_SP_1.2_1.18074.70.4256 from patches-scrolls website.
  • MP Patch: Patch_NA_Europe_Germany_MP_2.0_(1.0.86.4580) from patches-scrolls website.
  • Script to update the game without Launcher (MP/SP patches still required).
  • The game's audio is handled through mss32.dll.
  • Hellgate: London advertises EAX 2.0/3.0 support, but this is implemented through Miles’ integration with Creative’s EAX extensions. DSOAL (which only intercepts DirectSound3D calls) won’t help here.

Medal Of Honor: Allied Assault

Year Developer Graphics API Audio API
2002 2015, Inc. OpenGL DirectSound (EAX 2), Miles Sound System


  • Game doesn't start unless the environment variable MESA_EXTENSION_MAX_YEAR=2002 is passed to Wine.
  • EAX 2 is restored using DSOAL.
  • seta s_milesdriver "Creative Labs EAX 2 (TM)" set in config for main and DLCs to use EAX 2.
  • Anisotropic Filter can be force with environment variable AMD_TEX_ANISO=16

Star Wars: KOTOR

Year Developer Graphics API Audio API
2003 BioWare Corporation OpenGL DirectSound (EAX 2), Miles Sound System


  • EAX 2 is restored using DSOAL.
  • Fullscreen not working well, window mode recommended.

Troubleshooting

Game stretched when using non-native resolutions

When running Wine without the FSHack patchset, games may appear stretched at lower resolutions.

This happens if the monitor’s scaling mode is set to None.

  • To fix, set the scaling mode to Full aspect:
OUTPUT=$(xrandr | grep " connected" | cut -d" " -f1)
xrandr --output "$OUTPUT" --set "scaling mode" "Full aspect"
  • To check monitor capabilities:
xrandr --props

Resolution differs from configuration

Some games may not apply the expected resolution and refresh rate, instead choosing the next available option.

  • If using DXVK, create a dxvk.conf file in the game folder and add:
d3d9.forceAspectRatio = "16:10"

FSHack

FSHack is a Wine patchset originally developed by Valve for Proton.

It improves how fullscreen games behave under Wine by:

  • Handling resolution changes more smoothly
  • Avoiding issues with window borders
  • Working better with desktop compositors

Comments

Loading comments...