Digital Combat Simulator World#
DCS World is available through both Steam and a Standalone installer. The standalone installer is often recommended by the community as sales last longer & purchases earn you reward points.
Both version run with Proton.
Standalone Setup#
DCS requires extra configuration when running the standalone install, for both the base 2D game and for use in VR.
There is a set of Lutris installer scripts already, but this guide assumes you are using heroic-games-launcher.
Base Game Setup#
There are a few guides(Hoggit wiki, budderpard’s guide, ChaosRifle’s guide) on how to get DCS working, but this is a tested minimum configuration.
- Download the installer from the DCS website.
- Add a new game in Heroic using Proton 10 (GE-Proton10-17 is confirmed as working).
- Run the installer via the Add Game pop up.
- Set the executable to
bin/DCS.exein your installation location. - After adding the game, go to Heroic’s Settings → Advanced page and add
the following environment variable:
WINEDLLOVERRIDES="wbemprox=n". - On the same Advanced page, add the
--no-launchergame argument. - On the Settings → Wine page, click the Winetricks button at the bottom.
- Install the following components:
consolascorefontsd3dcompiler_47xact
This should be enough to launch the game. Make sure it works before proceeding.
VR Setup#
For VR support, we’ll need to add some extra launch arguments, environment variables, and registry keys. The VR requirements were gleaned from Asset on the DCS Forums.
-
Add the following launch arguments to the game via Settings → Advanced:
--force_enable_VR --force_OpenXR -
On the same settings page, add this environment variable:
PRESSURE_VESSEL_IMPORT_OPENXR_1_RUNTIMES=1 -
Now, we need to add keys to the DCS Prefix’s registry. Run this script to generate a
dcs-vr.regfile in your current directory:GPU_PCI_IDS="$(udevadm info -q property -p "/sys/bus/pci/devices/0000:$(lspci | grep 'VGA'| head -n 1 | cut -f1 -d' ')" | grep PCI_ID | sed -re 's|PCI_ID=(\w+):(\w+)$|\1\n\2|g')" GPU_VID="$(echo "${GPU_PCI_IDS}" | head -n 1)" GPU_PID="$(echo "${GPU_PCI_IDS}" | tail -n 1)" cat > dcs-vr.reg <<EOF Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\\Software\\Wine\\VR] "openxr_vulkan_device_extensions"="VK_KHR_external_fence VK_KHR_external_memory VK_KHR_external_semaphore VK_KHR_dedicated_allocation VK_KHR_get_memory_requirements2 VK_KHR_external_memory_fd VK_KHR_external_semaphore_fd VK_KHR_external_fence_fd VK_KHR_image_format_list VK_KHR_timeline_semaphore" "openxr_vulkan_instance_extensions"="VK_KHR_external_memory_capabilities VK_KHR_get_physical_device_properties2 VK_KHR_external_semaphore_capabilities VK_KHR_external_fence_capabilities" "openxr_vulkan_device_vid"=dword:${GPU_VID} "openxr_vulkan_device_pid"=dword:${GPU_PID} "state"=dword:00000001 EOFIf this fails, you can create the file yourself and exclude the
openxr_vulkan_device_vid&openxr_vulkan_device_pidkeys as they seem optional at the moment. -
In Heroic, go to Settings → Wine → Winetricks → Open Winetricks GUI, then in Winetricks, select the Select Default Prefix → Run regedit option.
-
Load the registry keys by going to Registry → Import Registry File →
dcs-vr.reg. -
You should see the new keys appear under
HKEY_CURRENT_USER\Software\Wine\VR.
Now, when you launch DCS, you should be in VR!
Notes#
The openxr_vulkan_device_extensions & openxr_vulkan_instance_extensions
values were determined by running hello_xr -v -g Vulkan2 in a terminal and
looking at the extensions following the xrGetVulkanGraphicsDeviceKHR &
xrCreateVulkanInstanceKHR log lines, respectively.