__TOC__

''[https://github.com/xenia-canary/xenia-canary/wiki/Options Xenia Canary Options]''

= How to use =
# Run xenia if you haven't before.
# [https://social.technet.microsoft.com/wiki/contents/articles/1784.windows-how-to-view-file-name-extensions.aspx Show file name extensions in Explorer].
# Go to <code>Documents\Xenia</code> and open <code>xenia.config.toml</code> in a text editor like [https://notepad-plus-plus.org/download/ Notepad++].
#* If a <code>portable.txt</code> file is present in the same directory as xenia.exe it will be in the same directory as xenia.exe.
#* Per-game configs go in <code>config\TitleID.config.toml</code>.
# For launchers/frontends like [https://github.com/quinton-ashley/bottlenose Bottlenose] you can use the <code>--config</code> launch parameter to specify what config to use.
#* To launch specific games, add the path to the game before the launch options. For example: <code>xenia.exe path/to/game/default.xex --vsync=false</code>

= Options =
== Run games as full/activated ==
{|
! <code>license_mask</code> =
! <code>#</code>
|-
| Deactivated/trial/demo mode ''(default)''
| <code>0</code>
|-
| Activated/full mode
| <code>-1</code> or <code>1</code>
|}

== Game language ==
{|
! <code>user_language</code> =
!align="center"| <code>#</code>
|-
| EN (English, ''default'')
|align="center"| <code>1</code>
|-
| JA (Japanese/日本語)
|align="center"| <code>2</code>
|-
| DE (German/Deutsche)
|align="center"| <code>3</code>
|-
| FR (French/Français)
|align="center"| <code>4</code>
|-
| ES (Spanish/Español)
|align="center"| <code>5</code>
|-
| IT (Italian/Italiano)
|align="center"| <code>6</code>
|-
| KO (Korean/한국어)
|align="center"| <code>7</code>
|-
| ZH (Traditional Chinese/繁體中文)
|align="center"| <code>8</code>
|-
| PT (Portuguese/Português)
|align="center"| <code>9</code>
|-
| PL (Polish/Polski)
|align="center"| <code>11</code>
|-
| RU (Russian/русский)
|align="center"| <code>12</code>
|-
| SV (Swedish/Svenska)
|align="center"| <code>13</code>
|-
| TR (Turkish/Türk)
|align="center"| <code>14</code>
|-
| NB (Norwegian/Norsk)
|align="center"| <code>15</code>
|-
| NL (Dutch/Nederlands)
|align="center"| <code>16</code>
|-
| ZH (Simplified Chinese/简体中文)
|align="center"| <code>17</code>
|}

== GPU ==
=== D3D12 ===
==== Render target path ====
[https://github.com/xenia-project/xenia/wiki/ROV What is ROV (rasterizer-ordered views)?]

Leave this option blank for auto-selection.

{|
! <code>render_target_path_d3d12</code> =
! <code>string</code>
|-
| RTV ''(recommended for speed)''
| <code>rtv</code>
|-
| ROV ''(if available, for higher accuracy in certain cases)''
| <code>rov</code>
|}

==== Resolution scaling ====
{|
! <code>draw_resolution_scale</code> =
! <code>#</code>
|-
| 1x (''default'', 1280x720)
| <code>1</code>
|-
| 2x (2560x1440)
| <code>2</code>
|-
| 3x (3840x2160)
| <code>3</code>
|}

==== CPU readback after render target resolving ====
* This is needed for certain games, including but not limited to:
** Orange Box (text/save icons)
** SSX (2012, core temp missions)

{|
! <code>d3d12_readback_resolve</code> =
! <code>bool</code>
|-
| Off (''default'')
| <code>false</code>
|-
| On (''slower'')
| <code>true</code>
|}

=== Misc ===
==== Allow invalid fetch constants ====
Allow texture and vertex fetch constants with invalid type - generally unsafe because the constant may contain completely invalid values, but may be used to bypass fetch constant type errors in certain games until the real reason why they're invalid is found.

{|
! <code>gpu_allow_invalid_fetch_constants</code> =
! <code>bool</code>
|-
| Off (''default'')
| <code>false</code>
|-
| On
| <code>true</code>
|}

==== Vsync ====
{|
! <code>vsync</code> =
! <code>bool</code>
|-
| On ''(default)''
| <code>true</code>
|-
| Off ''(uncaps FPS)''
| <code>false</code>
|}

* ''This won’t improve the framerate if your PC can’t handle running the game at it’s native FPS.''
* This doesn’t work with all games, including but not limited to:
** Banjo Kazooie/Tooie
** Halo 3/ODST/Reach/4
** Sonic The Hedgehog (2006)

==== Renderer/Backend ====
{|
! <code>gpu</code> =
! <code>string</code>
|-
| Any ''(default, '''recommended''')''
| <code>any</code>
|-
| Direct3D 12
| <code>d3d12</code>
|-
| <s>Vulkan ''('''not''' recommended)''</s>
| <s><code>vulkan</code></s>
|-
| Null ''(blank/nothing)''
| <code>null</code>
|}

== HID (Input) ==
{|
! <code>hid</code> =
! <code>string</code>
|-
| Any ''(default)''
| <code>any</code>
|-
| SDL2* ''(needed for non-XInput controllers, '''DOES NOT REQUIRE DLL''')''
| <code>sdl</code>
|-
| XInput
| <code>xinput</code>
|-
| Keyboard
| <code>winkey</code>
|}
*When using SDL: If your game controller is not mapped correctly, [https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt download gamecontrollerdb.txt] and place it in the folder next to your xenia executable.
