EDConfig

From HerzbubeWiki
Jump to navigation Jump to search

This page contains information about the configuration of Elite: Dangerous, notably how to fiddle with the config files. Disclaimer: This is supported neither by Frontier Development (the company that created the game) nor by me, so if you decide to make changes be aware that you do so at your own risk! Backup your files before you make changes!

All information refers to my Windows 10 64-bit machine, and to my 64-bit installation of Elite Dangerous. I run the game on a PC with CPU i7-3820 @ 3.60 GHz and the graphics card NVIDIA GTX 970], which has 4 GB of video RAM.

Formerly I used to run the game on a MacBook with CPU i7-4960HQ @ 2.60 GHz and the graphics card NVIDIA GeForce GT 750M which has, apparently, only 2 GB video RAM.


File locations

Default file locations

The Elite Dangerous Launcher by default resides in the following folder. For future reference I will call this folder the "launcher folder".

C:\Program Files (x86)\Frontier\EDLaunch

If you installed the Launcher in its default location, it will download/install the Elite Dangerous game files into the following folder. For future reference I will call this folder the installation folder. The configuration files in this folder contain default settings, also known as "factory defaults". Each time a new version of the game is installed, the configuration files in the installation folder are overwritten!

C:\Users\<username>\AppData\Local\Frontier_Developments\Products\elite-dangerous-64

Local user settings are stored in the following folder. Note the missing underscore ("_") in the name of the intermediate folder "Frontier Developments". For future reference I will call this folder the user settings folder. Any changes made to files in this folder should be preserved when a new version of the game is installed.

C:\Users\<username>\AppData\Local\Frontier Developments\Elite Dangerous


Non-standard file locations

If you installed the Launcher into a non-standard location on a different drive, it will download/install the Elite Dangerous game files into a subfolder on that same drive. For instance, if you installed the Launcher to

E:\Games\Frontier\EDLaunch

then the Launcher will download/install the game files to

E:\Games\Frontier\EDLaunch\Products\elite-dangerous-64

The location where local user settings are stored is not affected, i.e. those files will still be stored in the AppData folder inside the user's home directory.


Even though the launcher and the game files are stored in non-standard locations, we can still call these folders

  • Launcher folder
  • Installation folder
  • User settings folder


Overview of files and folder structure

Installation folder

AppData\Local\Frontier_Developments\Products\elite-dangerous-64
+-- ControlSchemes
|   +-- DeviceMappings.xml
|   +-- KeyboardMouseOnly.binds
|   +-- SaitekX52Pro.binds
|   +-- [...]
+-- Logs
|   +-- debugOutput.<yyMMddhhmmss>.<nn>.log
|   +-- netLog.<yyMMddhhmmss>.<nn>.log
+-- Movies
|   +-- *.webm
+-- Openvr
|   +-- win32
|   |   +-- openvr_api.dll
|   +-- win64
|   |   +-- openvr_api.dll
+-- OptionDefaults
|   +-- High.fxcfg
|   +-- Low.fxcfg
|   +-- Mid.fxcfg
|   +-- Ultra.fxcfg
+-- Win64
|   +-- <game asset files>
+-- AppConfig.xml
+-- AppConfigLocal.xml
+-- DeviceDefaults.xml
+-- EliteDangerous64.exe.watchdog.log
+-- GpuWorkTable.xml
+-- GraphicsConfiguration.xml
+-- InstallerInfo.txt
+-- Update.log
+-- VersionInfo.txt
+-- <various .dll and .exe files>


User settings folder

AppData\Local\Frontier Developments\Elite Dangerous
+-- Options
|   +-- Audio
|   |   +-- Custom.audio
|   |   +-- StartPreset.start
|   +-- Bindings
|   |   +-- Custom.1.8.binds
|   |   +-- StartPreset.start
|   +-- Development
|   |   +-- Custom.dev
|   |   +-- StartPreset.start
|   +-- Graphics
|   |   +-- Custom.fxcfg
|   |   +-- DisplaySettings.xml
|   |   +-- GraphicsConfigurationOverride.xml
|   |   +-- Settings.xml
|   |   +-- StartPreset.start
|   +-- Player
|   |   +-- Custom.misc
|   |   +-- StartPreset.start
|   +-- Startup
|   |   +-- Settings.xml
+-- AppNetCfg.xml
+-- <various .cache files>


In-game changeable settings

Overview

Many settings can be changed from within the game, for instance under "Main Menu > Options". This section describes where the defaults for those settings come from, and where the changes you make are written to.


Main Menu > Options > Graphics

The UI exposes graphics settings under two headings:

  • Display settings
  • Quality settings


Changes you make to display settings are written to the following files:

<user settings folder>\Graphics\DisplaySettings.xml
<user settings folder>\Graphics\Settings.xml
<user settings folder>\Player\Custom.misc

Changes you make to quality settings are written to this file:

<user settings folder>\Graphics\Custom.fxcfg

A number of presets exist for quality settings, currently these are "Low", "Mid", "High" and "Ultra". When you select a preset, the graphics quality settings are loaded from a settings file that matches the preset and are then written to Custom.fxcfg. The presets are stored here:

<user settings folder>\OptionDefaults\<preset name>.fxcfg

I have not been able to locate a file that contains factory defaults for display settings (certainly not in GraphicsConfiguration.xml), so currently I assume that these are hardcoded into the program.


Mapping UI settings to files and XML elements
In-game settings name File XML element name Notes
Adapter DisplaySettings.xml <Adapter>
Fullscreen DisplaySettings.xml <FullScreen>
Monitor DisplaySettings.xml <Monitor>
Resolution DisplaySettings.xml <ScreenWidth>
<ScreenHeight>
Refresh rate DisplaySettings.xml <DX11_RefreshRateNumerator>
<DX11_RefreshRateDenominator>
Vertical sync DisplaySettings.xml <VSync>
Frame rate limit DisplaySettings.xml <LimitFrameRate>
<MaxFramesPerSecond>
- DisplaySettings.xml <PresentInterval> Not exposed in UI
Field of view Settings.xml <FOV>
3D Settings.xml <StereoscopicMode>
3D separation (experimental) Settings.xml <IPDAmount>
3D focal distance Settings.xml <StereoFocalDistance>
Hardware cursor ? ?
Dashboard brightness Custom.misc <DashboardGUIBrightness>
Gamma Settings.xml <GammaOffset>
Disable GUI effects Settings.xml <DisableGuiEffects>
Pilot Gender Custom.misc <PilotIsFemale>
Shader preparation on startup Settings.xml <ShaderWarming>
Preset Settings.xml <PresetName>
- Settings.xml <AMDCrashFix> Not exposed in UI
- Settings.xml <HighResScreenCapAntiAlias> Not exposed in UI
- Settings.xml <HighResScreenCapScale> Not exposed in UI
- Settings.xml <StencilDump> Not exposed in UI
Model draw distance Custom.fxcfg <LODDistanceScale>
Texture quality Custom.fxcfg <TextureQuality>
Shadow quality Custom.fxcfg <ShadowQuality>
Bloom Custom.fxcfg <BloomQuality>
Blur Custom.fxcfg <BlurEnabled>
Anti-aliasing Custom.fxcfg <AAMode>
Supersampling Custom.fxcfg <SSAAMultiplier>
Ambient occlusion Custom.fxcfg <AOQuality>
Environment quality Custom.fxcfg <EnvironmentQuality>
FX quality Custom.fxcfg <FXQuality>
Reflections quality Custom.fxcfg <EnvmapQuality>
Material quality Custom.fxcfg <MaterialQuality>
Galaxy map quality Custom.fxcfg <GalaxyMapQuality> Choice from Low, Medium, High. These are presets that resolve to a collection of settings taken from GraphicsConfiguration.xml.
Terrain quality Custom.fxcfg <TerrainQuality>
Terrain work Custom.fxcfg <GpuSchedulerMultiplier>
Terrain material quality Custom.fxcfg <SurfaceMaterialQuality>
- Custom.fxcfg <TextureQualityEx> Not exposed in UI
- Custom.fxcfg <HMDPixelsPerDisplayPixel> Not exposed in UI
- Custom.fxcfg <GUIColourQuality> Not exposed in UI

TODO

  • Find out if the game automatically detects custom preset files
  • Find out where the "Hardware cursor" and "Dashboard brightness" and "Pilot Gender" graphics settings are stored (they don't seem to be stored in Settings.xml)


Main Menu > Options > Audio

TODO


Main Menu > Options > Controls

TODO


Logged in

TODO

Most of these probably go into Custom.misc.


GraphicsConfiguration.xml

Relation between in-game UI and file content

GraphicsConfiguration.xml contains a plethora of interesting graphics settings that are, however, not changeable individually via the in-game UI. Instead, when you change a graphics setting in the in-game UI you select an entire collection of settings that are stored GraphicsConfiguration.xml.

This is best explained with an example. Let's say you want to change the "Galaxy map quality" setting. In the in-game UI you have the choice between

  • Low
  • Medium
  • High

Now if we look into GraphicsConfiguration.xml we will find the following structure:

<GalaxyMap>
  <Low>
    <NebulasCount>10</NebulasCount>
    <NebulasInBackgroundCount>40</NebulasInBackgroundCount>
    [...]
  </Low>
  <Medium>
    <NebulasCount>20</NebulasCount>
    <NebulasInBackgroundCount>40</NebulasInBackgroundCount>
    [...]
  </Medium>
  <High>
    <NebulasCount>30</NebulasCount>
    <NebulasInBackgroundCount>40</NebulasInBackgroundCount>
    [...]
  </High>
</GalaxyMap>

As you can see, for each of the 3 quality settings available in the in-game UI, there is a corresponding block in GraphicsConfiguration.xml which contains an entire collection of settings. So when you select a different value in the in-game UI, you actually select one of the collections of settings. Unfortunately, in the in-game UI you cannot change the values of the individual settings within the collection - these values have been pre-determined by Frontier Development and are "frozen" inside GraphicsConfiguration.xml.


How to change the values of individual settings

If you want to change the value of an individual setting, you obviously could just go and edit GraphicsConfiguration.xml. The problem with this approach is that GraphicsConfiguration.xml is overwritten and your changes are lost every time the game is updated to a new version. This is natural and to be expected since GraphicsConfiguration.xml represents sensible factory defaults delivered by Frontier Development to your computer together with the game. If you want your changes to survive a game update, you should take advantage of a mechanism that Frontier Development has been kind enough to provide for us. The place to make your changes is the following file, which will not be touched by game version updates.

<user settings folder>\Graphics\GraphicsConfigurationOverride.xml

The value of any setting found in GraphicsConfigurationOverride.xml will override the value of the corresponding setting in GraphicsConfiguration.xml. One important thing to note is that the structure in GraphicsConfigurationOverride.xml must exactly replicate the structure in GraphicsConfiguration.xml!

To continue with the example from the previous section, let's assume that in the in-game UI you selected "High" for the "Galaxy map quality" setting. After looking at the content of GraphicsConfiguration.xml you see that this will cause a maximum of 30 nebulas to be shown in the game. Let's say you want this to be raised to 40 nebulas, so you place the following snippet into GraphicsConfigurationOverride.xml:

<GalaxyMap>
  <High>
    <NebulasCount>40</NebulasCount>
  </High>
</GalaxyMap>

Because you have selected "High" for the "Galaxy map quality" setting in the in-game UI, you must now also use the <High> block in which to change the <NebulasCount> setting.


Environment quality

The in-game UI setting named "Environment quality" is slightly more complicated, because it contains an additional level of indirection. Let's begin with the choices you have in the UI:

  • Low
  • Medium
  • High
  • Ultra

The structure in GraphicsConfiguration.xml looks like as follows. Note that I have omitted the content of the <Medium> and <High> blocks because it has exactly the same in structure as the <Low> and <Ultra> blocks, and differs only in values.

<Environment>
  <Low>
    <LocalisationName>$QUALITY_LOW;</LocalisationName>
    <Item>
      <Feature>GalaxyBackground</Feature>
      <QualitySetting>0</QualitySetting>
    </Item>
    <Item>
      <Feature>Planets</Feature>
      <QualitySetting>0</QualitySetting>
    </Item>
    <Item>
      <Feature>DamageDecals</Feature>
      <QualitySetting>0</QualitySetting>
    </Item>
    <Item>
      <Feature>SurfaceRocks</Feature>
      <QualitySetting>0</QualitySetting>
    </Item>
  </Low>
  <Medium>
    [...]
  </Medium>
  <High>
    [...]
  </High>
  <Ultra>
    <LocalisationName>$QUALITY_ULTRA;</LocalisationName>
    <Item>
      <Feature>GalaxyBackground</Feature>
      <QualitySetting>2</QualitySetting>
    </Item>
    <Item>
      <Feature>Planets</Feature>
      <QualitySetting>3</QualitySetting>
    </Item>
    <Item>
      <Feature>DamageDecals</Feature>
      <QualitySetting>2</QualitySetting>
    </Item>
    <Item>
      <Feature>SurfaceRocks</Feature>
      <QualitySetting>2</QualitySetting>
    </Item>
  </Ultra>
</Environment>

As we can see, the environment settings are built from 4 different collections of settings. In this context, Frontier Development calls these collections "features":

  • GalaxyBackground
  • Planets
  • DamageDecals
  • SurfaceRocks


Each environment quality (low, medium, high, ultra) has different quality settings for these 4 features. If you want to know the actual individual graphics settings that correspond to a specific quality setting of a feature, you will have to further hunt them down in GraphicsConfiguration.xml.

  • GalaxyBackground: Look for the <GalaxyBackground> XML element
  • Planets: Look for the <Planets> XML element
  • DamageDecals: Look for the <DamageDecals> XML element
  • SurfaceRocks: Look for the <SurfaceRocks> XML element


As an example, let's look at feature "GalaxyBackground". For that feature you will find the following block in GraphicsConfiguration.xml:

<GalaxyBackground>
  <Low>
    <LocalisationName>$QUALITY_LOW;</LocalisationName>
    <TextureSize>512</TextureSize>
  </Low>
  <Medium>
    <LocalisationName>$QUALITY_MEDIUM;</LocalisationName>
    <TextureSize>1024</TextureSize>
  </Medium>
  <High>
    <LocalisationName>$QUALITY_HIGH;</LocalisationName>
    <TextureSize>2048</TextureSize>
  </High>
</GalaxyBackground>

As you can see the block contains 3 sections that correspond to the 3 quality settings that exist for the "GalaxyBackground" feature.


To sum this up: If you want to change an individual environment graphis setting, you have to do this:

  • In the in-game UI, check the value you have selected for "Environment quality". Let's say this is "Ultra".
  • In GraphicsConfiguration.xml (not the override file!), find the <Environment> block and the section within that corresponds to the currently selected "Environment quality". In our case this would be <Ultra>.
  • Check the quality setting of the feature for which you want to make a change. Let's say you want to change something about the "GalaxyBackground" feature: In the <Ultra> section you see that the quality setting for this feature is "2".
  • In GraphicsConfiguration.xml (not the override file!), find the block that corresponds to the feature for which you want to make a change, and the section within that block that corresponds to the feature quality setting. In our case this would be the <GalaxyBackground> block and the <High> section within that (because quality setting 2 corresponds to <High>).
  • Copy the graphics setting you want to change over into GraphicsConfigurationOverride.xml, then change its value.


Let's say you want to increase the texture size of the galaxy background to 8192. So you place this snippet into GraphicsConfigurationOverride.xml:

<GalaxyBackground>
  <High>
    <TextureSize>8192</TextureSize>
  </High>
</GalaxyBackground>


Warning: From tests I made it is not a good idea to override the settings in the <Environment> block. In my case I had problems as soon as I added an override for any of the "Planets", "DamageDecals" or "SurfaceRocks" features. The problem was that as soon as any of these overrides was present, the game no longer honored any of the settings for "GalaxyBackground", regardless if they were made in GraphicsConfiguration.xml or in the override file - the game simply reverted to some very crude and basic galaxy background setting which drew the galaxy in a blurry and unappealing way. I did not test if settings of the other features were similarly affected, but my conclusion was to never override the <Environment> block, but instead to override the individual graphics settings.


Recipes

Modifying the Field of View

Within the game, under "Main Menu > Options > Graphics" there is a setting that allows you to set the field of view (FOV), but only within the limited range that is offered by the UI. On my machine, for instance, the maximum FOV value that I can set via the UI is 60. It is very simple to set this to a higher value, by manually editing this file:

<user settings folder>\Graphics\Settings.xml

You only need to change the value on the FOV line, then restart the game. For instance, in my case I have set the FOV to 70, which is pretty high, but generally works OK:

<FOV>70.000000</FOV>

I have seen people on the forums talking about setting this to 90 [1] but apparently this may lead to problems with font rendering. Maybe it's different for monitors with higher resolutions, but I couldn't say. 70 is what I am currently using, and I'm fine with it. I tried 75 for a short while, but the distortions at the edge of the screen seemed too high.


Despite the distortions, there is one valuable application of an extremely high FOV: In the debug camera you will be able to cover a much wider view, and you can move the camera further away from your ship. The distortions at the screen edge still occur, but if you manage to keep the objects you want to focus on near the centre then this might help with getting a nice wide-angle view of a scene without having to resort to a panoramic stitcher. For intance, a FOV value of 100 provides a spectacular view of the galactic disc in the background while a star or planet in medium distance remains in or near the centre of the picture.


Note: Older versions of the game used to overwrite your custom setting value if you changed any of the graphics settings in the game UI. Apparently this is no longer the case, the custom setting is retained as long as you don't touch the FOV slider in the UI.


Customizing galaxy map settings

Refer to the GraphicsConfiguration.xml section above for a general explanation of how that file "works" and its settings can be overridden.

In-game you select a "Galaxy map quality" under "Main Menu > Options > Graphics". The corresponding block in GraphicsConfiguration.xml is this:

<GalaxyMap>
	<Low>
		[...]
	</Low>
	<Medium>
		[...]
	</Medium>
	<High>
		[...]
	</High>
</GalaxyMap>

Each of the three sections within the block obviously corresponds to one of the galaxy map qualities that you can select in the in-game UI. Each quality section consists of the same collection of settings but with different values. As an example I post here the settings for the "Low" quality section:

<LocalisationName>$QUALITY_LOW;</LocalisationName>
<NebulasCount>10</NebulasCount>
<NebulasInBackgroundCount>40</NebulasInBackgroundCount>
<LowResNebulasCount>16</LowResNebulasCount>
<HighResNebulasCount>1</HighResNebulasCount>
<LowResNebulaDimensions>64</LowResNebulaDimensions>
<HighResNebulaDimensions>256</HighResNebulaDimensions>
<LowResSamplesCount>25</LowResSamplesCount>
<HighResSamplesCount>128</HighResSamplesCount>
<MilkyWayInstancesCount>8000</MilkyWayInstancesCount>
<LocalDustBrightness>0.13</LocalDustBrightness>
<MilkywayInstancesBrightness>1.5</MilkywayInstancesBrightness>
<MilkywayInstancesSize>1.3</MilkywayInstancesSize>
<MilkyWayInstancesOffscreenRTEnabled>true</MilkyWayInstancesOffscreenRTEnabled>
<StarInstanceCount>2000</StarInstanceCount>

Any of these settings can be overridden. Here are some details what they will do:

  • LocalDustBrightness: Increasing the value of this setting to 1.0 has a stunning effect in the skybox: Suddenly your ship flies on top of a beautiful swirling orange dust cloud whereas with a low setting all you can see is a dull reddish mist. The galaxy map is affected in two ways: 1) The galaxy disc becomes slightly brighter, and 2) black dust clouds become a lot more visible and start to obscure nearby stars. If value 1.0 is too invasive, just tone it down a little. Negative values replace the orange with a blue tint in the skybox. At values closer to zero the blue is not noticeable. A typical value selected by some who don't like the orange is -0.12. Personally, I use LocalDustBrightness = 0.50.
  • StarInstanceCount: This value can be increased a lot. For instance, if you set this to 120000 the skybox looks really nice and sparkling, and it also fills the galaxy map in realistic mode with a splendid amount of stars. However, when you zoom out in the galaxy map, more and more stars become visible until the sheer amount starts to interfere with targetting, and also obscures nebula and other things further away. Personally I found 120000 to be impractical, so I have settled for 60000. A side effect of setting StarInstanceCount to a higher value is that in the galaxy map in realistic mode it becomes easier to spot nearby giant/supergiant stars because they stand out more among the many smaller stars.
  • MilkywayInstancesSize: This defines the size of the galaxy in the skybox. Values can be larger than 1, but in my opinion the results quickly become ridiculous. Changing this also has an impact on the galaxy brightness (higher values = brighter galaxy), so when you change this setting you will probably also want to fiddle with MilkywayInstancesBrightness. The default value 1.0 is just fine for me.
  • MilkywayInstancesBrightness: No surprise here, this adjusts the galaxy brightness in the skybox. The default value 1.0 together with MilkywayInstancesSize = 1.0 makes for a very bright galactic core. I have toned this down a little and am currently using a value of 0.75.
  • MilkyWayInstancesCount: This has something to do with the the galaxy size. Increasing this makes the galaxy larger in the skybox and also increases its brightness, similar to what happens if MilkywayInstancesSize is increased. Lowering this, however, also decreases the visibility of local dust clouds, and that's a noticeable difference from the effect of MilkywayInstancesSize, which doesn't affect the local dust clouds. The default value 16000 is just fine for me.


Most of the inspiration for these settings comes from a mid-2016 forum thread [2] started by Qohen Leth. The thread includes screenshots to illustrate most of the effects.


Galaxy background texture

The quality of the galaxy when it is rendered as the background of the skybox can be improved by changing the galaxy background texture size to 4096, or a similarly high value. Add this to the override file:

<GalaxyBackground>
  <High>
    <TextureSize>4096</TextureSize>
  </High>
</GalaxyBackground>

Note that if you change this setting, the texture aspect ratio MUST remain the same (1024, 2048, 4096, 8192, etc.). The difference between 2048 to 4096 is quite noticeable, but between 4096 and 8192 there's not much difference anymore, so I stick with 4096.


Important: The "Environment quality" setting in the UI controls whether the section named <Low>, <Medium> or <High> is used. For the example above to have any effect, the "Environment quality" must be set to either "High" or "Ultra", because only those two settings will cause the section <High> to be used. Refer to the Environment quality section further up on this page if you need more details.


Planet textures

TODO

Obsidian Ant says in a video [3] says that an improved planet texture gives much more lovely views of ELWs and the like.


HUD colors

TODO

See the HUD color editor [4].


Graphics injectors

TODO

A December 2014 forum thread [5] has some information.


References

A few references where I picked up some of the information on this page:

  1. Forum thread (started by Obsidian Ant): For Those that Want SUPER Wide FOV (21:9 Aspect Ratio) - Here's How...
  2. Forum thread (started by Qohen Leth): Graphic Tweaks, Dreamscape Feeling & alii
  3. YouTube video (by Obsidian Ant): Elite: Dangerous - How to get the Best Graphics with Mods and Tweaks. The accompanying forum thread may have additional information, but I'm not sure. The video first shows off the graphics effects improvements that can be achieved, then explains how to set up the injector software Sweet FX (mentioning that this costs about 5 fps), and how a bunch of changes can be made to GraphicsConfiguration.xml to improve the looks of planets and the galaxy background in the skybox.
  4. HUD color editor
  5. December 2014 forum thread: ED & SweetFX - Screenshots and DL link. Information about the 3 graphics injector software package Sweet FX, ReShade and Gem FX.