- Task bar and console ^ introduction|User Guide ^ Renderer settings ->
====== Configuration ======
===== Basic settings =====
The default settings are reasonable for most users. Doomsday has many configuration options if something is not working quite to your liking.
==== FOV and pixel density ====
DOOM (1993) and other games based on it were designed to run on VGA 320x200 resolution displays. Doomsday is able to run in any display size, but depending on your preferences you may like to tune the rendering options a little.
The two most important settings are Field of View (FOV) angle and pixel density:
* **Field of View** determines the width of your vision. This may be a familiar setting from other games. A good FOV value depends on the size and shape of your screen, and how far it is from your eyes. Most screens nowadays have a wide aspect ratio, so a FOV around 110 degrees may produce a comfortable viewing experience. Experiment with the setting by dragging the slider left and right while a game is running to find a value that works for you.
* **Pixel density:** The pixels on a VGA screen are huge compared to modern high-density screens. For some added nostalgia, you could try reducing the pixel density setting to enlarge Doomsday's pixels. This is preferable to reducing your monitor resolution because this doesn't hinder using the rest of the UI.
{{ file:pixel_density.jpg }}
==== Player controls ====
{{ image:intro3.jpg?200x0}} If the default player controls don't feel right, you can change them in the game's Options menu. Note that all games in one game family use the same control bindings.
Game controllers can be enabled in the Input Settings via the Task Bar. Doomsday comes with a couple of //game controller presets// (e.g., DualShock 4 and Xbox 360), but you can also bind the buttons and other controls manually in the game's Options menu.
===== Config menu =====
Config dialogs
"Advanced Settings" (gauge) buttons
Resetting to default
===== Command line options =====
Doomsday is primarily intended to be used a desktop GUI application, but it does offer a set of command line options for CLI use. These allow you to launch into a specific game directly, skipping the [[Home screen]]. This is helpful if you want to create a shortcut on your desktop for starting a particular game.
Check out the [[guide:2.1:readme_windows#command_line_usage|Readme for the list of supported options]].
===== Configuration files =====
==== .cfg files ====
Quake-style .cfg files, each containing values for cvars.
Each game plugin has its own subfolder under **configs/**.
Separate .cfg for the player controls **bindings.cfg**
autoexec.cfg
==== persist.pack ====
Found in the [[runtime folder]].
Contains persistent preferences such as window mode, vsync, etc. Also persistent UI state (e.g., console command history, search terms).
Can be deleted to force Doomsday reset back to "factory settings."
==== Response files ====
//Response files// are text files that are read by Doomsday and interpreted as command line options. This is convenient for frequent CLI use.
Example (in operating system terminal):
$ doomsday @~/myoptions.rsp
The contents of **myoptions.rsp**:
-file ~/doom/somemap.wad -iwad ~/iwads
==== Unix system-level config files ====
On Unix operating systems, Doomsday supports additional configuration files for various settings. These files can be used by users and by package maintainers to define the appropriate configuration for personal needs or for the needs of an OS distribution.
The configuration files ///etc/doomsday/paths// and //~/.doomsday/paths// can be used to override the compile-time base and library directories, and specify the directory for IWAD files.
basedir: /opt/deng/share
libdir: /opt/deng/lib
iwaddir: ~/iwads/
The files ///etc/doomsday/defaults// and //~/.doomsday/defaults// can be used to define various default values. ([[version:1.9.10]] →)
audio fluidsynth {
driver: pulseaudio
}
All of these configuration files use the [[modding:Info syntax]].
===== Scripting =====
In the [[:Script]] prompt, the contents of **persist.pack** can be viewed as the object ''Config''. For example, try entering:
Config