Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "DCS World"

From AppleGamingWiki, the wiki about gaming on M1 Apple silicon Macs
m (formatting changes of the crossover fix and moved the fix content to issues fixed section instead of under notes in compatibility section)
(major formatting changes and condensed the two split fix instruction sets into one, then separated into three sections)
Line 42: Line 42:
 
}}
 
}}
  
==Issues fixed==
+
==Issues fixed<ref>Thanks to user Sokennethwasall for finding these fixes.</ref>==
 +
Please Note: This involves modifying game files, so if you repair the game, this file will revert to its original broken state and you'll need to fix it again.
  
{{Fixbox|description=Installing and running DCS Standalone version in Crossover|ref=|collapsed=yes|fix=
+
{{Fixbox|description=Installing DCS Standalone or Steam version in CrossOver|ref=|fix=
<ol>
+
# If you are using Steam, install DCS into a Windows 10 64-bit CrossOver bottle. If you are using the standlone version, download (but do not install) it.
<li>Download Crossover Preview > Create new bottle, Windows 10 64-bit</li>
+
# If you are using the Standalone version, download [https://www.codeweavers.com/compatibility/crossover/the-kitchen-sink The Kitchen Sink dependencies].
<li>Download Standalone DCS World</li>
+
# Override {{code|winhttp.dll}} (native, builtin), {{code|wbemprox.dll}} (native) & {{code|msdmo.dll}} (native) in the Wine configuration options in CrossOver.
<li>Download The-Kitchen-Sink dependencies: https://www.codeweavers.com/compatibility/crossover/the-kitchen-sink</li>
+
# Install {{code|d3dcompiler_47}} (32-bit) and {{code|d3dcompiler_47}} (64-bit).
<li>Override {{code|winhttp.dll}} (native, builtin), {{code|wbemprox.dll}} (native) & {{code|msdmo.dll}} (native)</li>
+
# If you are using the Standalone version, install corefonts.
<li>Install {{code|d3dcompiler_47}} (32-bit) and {{code|d3dcompiler_47}} (64-bit)</li>
+
# Enable D3DMetal graphics and enable E-sync if Standalone, M-sync if Steam, and restart the bottle.
<li>install corefonts</li>
+
# If you are using the Standalone version, run the DCS Installer
<li>Enable D3dmetal and E-sync and restart bottle.</li>
+
}}
<li>Run DCS Installer</li>
 
<li>Place options.lua file in the CONFIG_DIR to skip the broken launcher: https://github.com/deleterium/dcs_on_linux?tab=readme-ov-file. If the CONFIG_DIR does not exist, create the directory. i.e. "drive_c/users/$USERNAME/Saved Games/DCS/Config/options.lua"</li>
 
<li>Next we need to override the input audio device load ( getVoiceChatDevices() ) .lua in /Users/username/Library/Application Support/CrossOver/Bottles/DCS/drive_c/Program Files/Eagle Dynamics/DCS World/MissionEditor/modules/Options/optionsDb.lua to always return an empty string as the mod_sound.getVoiceChatDevices(dev_type) now returns nil and causes an error to occur</li>
 
<pre>
 
    local function getVoiceChatDevices(dev_type)
 
          --local devices = mod_sound.getVoiceChatDevices(dev_type)     
 
            local result = {Name(_('Default')):Value("")}
 
  
        if devices then
+
{{Fixbox|description=Skipping the broken launcher|ref=|fix=
            for k,v in ipairs(devices) do
+
# Download the {{code|options.lua}} file from [https://raw.githubusercontent.com/deleterium/dcs_on_linux/refs/heads/master/options.lua here] and place it in the {{code|CONFIG_DIR}} to skip the broken launcher. If the {{code|CONFIG_DIR}} does not exist, create the directory. i.e. {{code|drive_c/users/$USERNAME/Saved Games/DCS/Config/options.lua}}
                table.insert(result,Name(v[2]):Value(v[1]))
 
            end
 
        end
 
 
 
        return result
 
    end
 
</pre>
 
<li>Please Note: If you repair the game, this file will revert to it's broken state and you'll need to fix it again.</li>
 
<li>DCS should now open successfully.</li>
 
</ol>
 
 
}}
 
}}
  
{{Fixbox|description=Installing and running DCS Steam version in Crossover|ref=|collapsed=yes|fix=
+
{{Fixbox|description=Overriding the input audio device load|ref=|fix=
<ol>
+
# You need to override the {{code|getVoiceChatDevices()}} method in optionsDb.lua to always return an empty string, as the {{code|mod_sound.getVoiceChatDevices(dev_type)}} returns nil under CrossOver and causes an error to occur. You can access this file by clicking "Open C: Drive" button on your CrossOver bottle, and then navigating to {{code|./Program Files/Eagle Dynamics/DCS World/MissionEditor/modules/Options/optionsDb.lua}}
<li>Download Crossover Preview > Install Steam Application into new Windows 10, 64-bit bottle</li>
 
<li>Run Steam and install DCS World from Steam</li>
 
<li> Once installed, close Steam and override {{code|winhttp.dll}} (native, builtin), {{code|wbemprox.dll}} (native) & {{code|msdmo.dll}} (native) in Wine Configuration.</li>
 
<li>Install {{code|d3dcompiler_47}} (32-bit) and {{code|d3dcompiler_47}} (64-bit)</li>
 
<li>Place {{code|options.lua}} file in the {{code|CONFIG_DIR}} to skip the broken launcher: https://github.com/deleterium/dcs_on_linux?tab=readme-ov-file. If the CONFIG_DIR does not exist, create the directory. i.e. "drive_c/users/$USERNAME/Saved Games/DCS/Config/options.lua"</li>
 
<li>Next we need to override the input audio device load ( getVoiceChatDevices() ) .lua in /Users/username/Library/Application Support/CrossOver/Bottles/DCS/drive_c/Program Files/Eagle Dynamics/DCS World/MissionEditor/modules/Options/optionsDb.lua to always return an empty string as the mod_sound.getVoiceChatDevices(dev_type) now returns nil and causes an error to occur</li>
 
 
<pre>
 
<pre>
    local function getVoiceChatDevices(dev_type)
+
local function getVoiceChatDevices(dev_type)
          --local devices = mod_sound.getVoiceChatDevices(dev_type)       
+
    --local devices = mod_sound.getVoiceChatDevices(dev_type)       
            local result = {Name(_('Default')):Value("")}
+
    local result = {Name(_('Default')):Value("")}
  
        if devices then
+
    if devices then
            for k,v in ipairs(devices) do
+
        for k,v in ipairs(devices) do
                table.insert(result,Name(v[2]):Value(v[1]))
+
            table.insert(result,Name(v[2]):Value(v[1]))
            end
 
 
         end
 
         end
 +
    end
  
        return result
+
    return result
    end  
+
end  
 
</pre>
 
</pre>
<li>Please Note: If you repair the game, this file will revert to it's broken state and you'll need to fix it again.</li>
 
<li>Enable D3dMetal Graphics, set Synchronization to Msync, restart bottle</li>
 
<li>Open Steam and launch DCS from Steam</li>
 
</ol>
 
 
}}
 
}}

Revision as of 19:30, 23 July 2025

Digital Combat Simulator



DCS World
DCS World cover
Developers
Eagle Dynamics
Publishers
Eagle Dynamics
Engines
Eagle Dynamics Game Engine
Release dates
October 17, 2008 (Initial release, RU)
December 10, 2008 (Initial release, EN)
March 7, 2009 (Initial release, GER)
April 2, 2009 (Initial release, NA)
3 May 2021 (Latest stable, 2.5.6.61527.3)
5 May 2021 (Latest open beta, 2.7.0.5659
Resources
PCGamingWiki

macOS Compatibility

Compatibility layer Rating Notes
CrossOver Playable Please see the "Issues fixed" section below for instructions on installing and running the standalone and Steam versions of this game.
Wine Unknown
Virtualization
Parallels Menu Boots. Main menu is fine. However, actual gameplay is riddled with graphical issues. AWACS View (F10) works just fine. FPS surges up and down, causing extremely unstable performance.

Issues fixed[1]

Please Note: This involves modifying game files, so if you repair the game, this file will revert to its original broken state and you'll need to fix it again.

Installing DCS Standalone or Steam version in CrossOver
  1. If you are using Steam, install DCS into a Windows 10 64-bit CrossOver bottle. If you are using the standlone version, download (but do not install) it.
  2. If you are using the Standalone version, download The Kitchen Sink dependencies.
  3. Override winhttp.dll (native, builtin), wbemprox.dll (native) & msdmo.dll (native) in the Wine configuration options in CrossOver.
  4. Install d3dcompiler_47 (32-bit) and d3dcompiler_47 (64-bit).
  5. If you are using the Standalone version, install corefonts.
  6. Enable D3DMetal graphics and enable E-sync if Standalone, M-sync if Steam, and restart the bottle.
  7. If you are using the Standalone version, run the DCS Installer
Skipping the broken launcher
  1. Download the options.lua file from here and place it in the CONFIG_DIR to skip the broken launcher. If the CONFIG_DIR does not exist, create the directory. i.e. drive_c/users/$USERNAME/Saved Games/DCS/Config/options.lua
Overriding the input audio device load
  1. You need to override the getVoiceChatDevices() method in optionsDb.lua to always return an empty string, as the mod_sound.getVoiceChatDevices(dev_type) returns nil under CrossOver and causes an error to occur. You can access this file by clicking "Open C: Drive" button on your CrossOver bottle, and then navigating to ./Program Files/Eagle Dynamics/DCS World/MissionEditor/modules/Options/optionsDb.lua
local function getVoiceChatDevices(dev_type)
    --local devices = mod_sound.getVoiceChatDevices(dev_type)       
    local result = {Name(_('Default')):Value("")}

    if devices then
        for k,v in ipairs(devices) do
            table.insert(result,Name(v[2]):Value(v[1]))
        end
    end

    return result
end 
  1. Thanks to user Sokennethwasall for finding these fixes.