default_ini.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553
  1. // SPDX-FileCopyrightText: 2014 Citra Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. namespace DefaultINI {
  5. const char* sdl2_config_file =
  6. R"(
  7. [ControlsP0]
  8. # The input devices and parameters for each Switch native input
  9. # The config section determines the player number where the config will be applied on. For example "ControlsP0", "ControlsP1", ...
  10. # It should be in the format of "engine:[engine_name],[param1]:[value1],[param2]:[value2]..."
  11. # Escape characters $0 (for ':'), $1 (for ',') and $2 (for '$') can be used in values
  12. # Indicates if this player should be connected at boot
  13. # 0 (default): Disabled, 1: Enabled
  14. connected=
  15. # for button input, the following devices are available:
  16. # - "keyboard" (default) for keyboard input. Required parameters:
  17. # - "code": the code of the key to bind
  18. # - "sdl" for joystick input using SDL. Required parameters:
  19. # - "guid": SDL identification GUID of the joystick
  20. # - "port": the index of the joystick to bind
  21. # - "button"(optional): the index of the button to bind
  22. # - "hat"(optional): the index of the hat to bind as direction buttons
  23. # - "axis"(optional): the index of the axis to bind
  24. # - "direction"(only used for hat): the direction name of the hat to bind. Can be "up", "down", "left" or "right"
  25. # - "threshold"(only used for axis): a float value in (-1.0, 1.0) which the button is
  26. # triggered if the axis value crosses
  27. # - "direction"(only used for axis): "+" means the button is triggered when the axis value
  28. # is greater than the threshold; "-" means the button is triggered when the axis value
  29. # is smaller than the threshold
  30. button_a=
  31. button_b=
  32. button_x=
  33. button_y=
  34. button_lstick=
  35. button_rstick=
  36. button_l=
  37. button_r=
  38. button_zl=
  39. button_zr=
  40. button_plus=
  41. button_minus=
  42. button_dleft=
  43. button_dup=
  44. button_dright=
  45. button_ddown=
  46. button_lstick_left=
  47. button_lstick_up=
  48. button_lstick_right=
  49. button_lstick_down=
  50. button_sl=
  51. button_sr=
  52. button_home=
  53. button_screenshot=
  54. # for analog input, the following devices are available:
  55. # - "analog_from_button" (default) for emulating analog input from direction buttons. Required parameters:
  56. # - "up", "down", "left", "right": sub-devices for each direction.
  57. # Should be in the format as a button input devices using escape characters, for example, "engine$0keyboard$1code$00"
  58. # - "modifier": sub-devices as a modifier.
  59. # - "modifier_scale": a float number representing the applied modifier scale to the analog input.
  60. # Must be in range of 0.0-1.0. Defaults to 0.5
  61. # - "sdl" for joystick input using SDL. Required parameters:
  62. # - "guid": SDL identification GUID of the joystick
  63. # - "port": the index of the joystick to bind
  64. # - "axis_x": the index of the axis to bind as x-axis (default to 0)
  65. # - "axis_y": the index of the axis to bind as y-axis (default to 1)
  66. lstick=
  67. rstick=
  68. # for motion input, the following devices are available:
  69. # - "keyboard" (default) for emulating random motion input from buttons. Required parameters:
  70. # - "code": the code of the key to bind
  71. # - "sdl" for motion input using SDL. Required parameters:
  72. # - "guid": SDL identification GUID of the joystick
  73. # - "port": the index of the joystick to bind
  74. # - "motion": the index of the motion sensor to bind
  75. # - "cemuhookudp" for motion input using Cemu Hook protocol. Required parameters:
  76. # - "guid": the IP address of the cemu hook server encoded to a hex string. for example 192.168.0.1 = "c0a80001"
  77. # - "port": the port of the cemu hook server
  78. # - "pad": the index of the joystick
  79. # - "motion": the index of the motion sensor of the joystick to bind
  80. motionleft=
  81. motionright=
  82. [ControlsGeneral]
  83. # To use the debug_pad, prepend `debug_pad_` before each button setting above.
  84. # i.e. debug_pad_button_a=
  85. # Enable debug pad inputs to the guest
  86. # 0 (default): Disabled, 1: Enabled
  87. debug_pad_enabled =
  88. # Enable sdl raw input. Allows to configure up to 8 xinput controllers.
  89. # 0 (default): Disabled, 1: Enabled
  90. enable_raw_input =
  91. # Enable yuzu joycon driver instead of SDL drive.
  92. # 0: Disabled, 1 (default): Enabled
  93. enable_joycon_driver =
  94. # Emulates an analog input from buttons. Allowing to dial any angle.
  95. # 0 (default): Disabled, 1: Enabled
  96. emulate_analog_keyboard =
  97. # Whether to enable or disable vibration
  98. # 0: Disabled, 1 (default): Enabled
  99. vibration_enabled=
  100. # Whether to enable or disable accurate vibrations
  101. # 0 (default): Disabled, 1: Enabled
  102. enable_accurate_vibrations=
  103. # Enables controller motion inputs
  104. # 0: Disabled, 1 (default): Enabled
  105. motion_enabled =
  106. # Defines the udp device's touch screen coordinate system for cemuhookudp devices
  107. # - "min_x", "min_y", "max_x", "max_y"
  108. touch_device=
  109. # for mapping buttons to touch inputs.
  110. #touch_from_button_map=1
  111. #touch_from_button_maps_0_name=default
  112. #touch_from_button_maps_0_count=2
  113. #touch_from_button_maps_0_bind_0=foo
  114. #touch_from_button_maps_0_bind_1=bar
  115. # etc.
  116. # List of Cemuhook UDP servers, delimited by ','.
  117. # Default: 127.0.0.1:26760
  118. # Example: 127.0.0.1:26760,123.4.5.67:26761
  119. udp_input_servers =
  120. # Enable controlling an axis via a mouse input.
  121. # 0 (default): Off, 1: On
  122. mouse_panning =
  123. # Set mouse panning horizontal sensitivity.
  124. # Default: 50.0
  125. mouse_panning_x_sensitivity =
  126. # Set mouse panning vertical sensitivity.
  127. # Default: 50.0
  128. mouse_panning_y_sensitivity =
  129. # Set mouse panning deadzone horizontal counterweight.
  130. # Default: 0.0
  131. mouse_panning_deadzone_x_counterweight =
  132. # Set mouse panning deadzone vertical counterweight.
  133. # Default: 0.0
  134. mouse_panning_deadzone_y_counterweight =
  135. # Set mouse panning stick decay strength.
  136. # Default: 22.0
  137. mouse_panning_decay_strength =
  138. # Set mouse panning stick minimum decay.
  139. # Default: 5.0
  140. mouse_panning_minimum_decay =
  141. # Emulate an analog control stick from keyboard inputs.
  142. # 0 (default): Disabled, 1: Enabled
  143. emulate_analog_keyboard =
  144. # Enable mouse inputs to the guest
  145. # 0 (default): Disabled, 1: Enabled
  146. mouse_enabled =
  147. # Enable keyboard inputs to the guest
  148. # 0 (default): Disabled, 1: Enabled
  149. keyboard_enabled =
  150. )"
  151. R"(
  152. [Core]
  153. # Whether to use multi-core for CPU emulation
  154. # 0: Disabled, 1 (default): Enabled
  155. use_multi_core =
  156. # Enable unsafe extended guest system memory layout (8GB DRAM)
  157. # 0 (default): Disabled, 1: Enabled
  158. use_unsafe_extended_memory_layout =
  159. [Cpu]
  160. # Adjusts various optimizations.
  161. # Auto-select mode enables choice unsafe optimizations.
  162. # Accurate enables only safe optimizations.
  163. # Unsafe allows any unsafe optimizations.
  164. # 0 (default): Auto-select, 1: Accurate, 2: Enable unsafe optimizations
  165. cpu_accuracy =
  166. # Allow disabling safe optimizations.
  167. # 0 (default): Disabled, 1: Enabled
  168. cpu_debug_mode =
  169. # Enable inline page tables optimization (faster guest memory access)
  170. # 0: Disabled, 1 (default): Enabled
  171. cpuopt_page_tables =
  172. # Enable block linking CPU optimization (reduce block dispatcher use during predictable jumps)
  173. # 0: Disabled, 1 (default): Enabled
  174. cpuopt_block_linking =
  175. # Enable return stack buffer CPU optimization (reduce block dispatcher use during predictable returns)
  176. # 0: Disabled, 1 (default): Enabled
  177. cpuopt_return_stack_buffer =
  178. # Enable fast dispatcher CPU optimization (use a two-tiered dispatcher architecture)
  179. # 0: Disabled, 1 (default): Enabled
  180. cpuopt_fast_dispatcher =
  181. # Enable context elimination CPU Optimization (reduce host memory use for guest context)
  182. # 0: Disabled, 1 (default): Enabled
  183. cpuopt_context_elimination =
  184. # Enable constant propagation CPU optimization (basic IR optimization)
  185. # 0: Disabled, 1 (default): Enabled
  186. cpuopt_const_prop =
  187. # Enable miscellaneous CPU optimizations (basic IR optimization)
  188. # 0: Disabled, 1 (default): Enabled
  189. cpuopt_misc_ir =
  190. # Enable reduction of memory misalignment checks (reduce memory fallbacks for misaligned access)
  191. # 0: Disabled, 1 (default): Enabled
  192. cpuopt_reduce_misalign_checks =
  193. # Enable Host MMU Emulation (faster guest memory access)
  194. # 0: Disabled, 1 (default): Enabled
  195. cpuopt_fastmem =
  196. # Enable Host MMU Emulation for exclusive memory instructions (faster guest memory access)
  197. # 0: Disabled, 1 (default): Enabled
  198. cpuopt_fastmem_exclusives =
  199. # Enable fallback on failure of fastmem of exclusive memory instructions (faster guest memory access)
  200. # 0: Disabled, 1 (default): Enabled
  201. cpuopt_recompile_exclusives =
  202. # Enable optimization to ignore invalid memory accesses (faster guest memory access)
  203. # 0: Disabled, 1 (default): Enabled
  204. cpuopt_ignore_memory_aborts =
  205. # Enable unfuse FMA (improve performance on CPUs without FMA)
  206. # Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
  207. # 0: Disabled, 1 (default): Enabled
  208. cpuopt_unsafe_unfuse_fma =
  209. # Enable faster FRSQRTE and FRECPE
  210. # Only enabled if cpu_accuracy is set to Unsafe.
  211. # 0: Disabled, 1 (default): Enabled
  212. cpuopt_unsafe_reduce_fp_error =
  213. # Enable faster ASIMD instructions (32 bits only)
  214. # Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
  215. # 0: Disabled, 1 (default): Enabled
  216. cpuopt_unsafe_ignore_standard_fpcr =
  217. # Enable inaccurate NaN handling
  218. # Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
  219. # 0: Disabled, 1 (default): Enabled
  220. cpuopt_unsafe_inaccurate_nan =
  221. # Disable address space checks (64 bits only)
  222. # Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
  223. # 0: Disabled, 1 (default): Enabled
  224. cpuopt_unsafe_fastmem_check =
  225. # Enable faster exclusive instructions
  226. # Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
  227. # 0: Disabled, 1 (default): Enabled
  228. cpuopt_unsafe_ignore_global_monitor =
  229. )"
  230. R"(
  231. [Renderer]
  232. # Which backend API to use.
  233. # 0: OpenGL, 1 (default): Vulkan
  234. backend =
  235. # Whether to enable asynchronous presentation (Vulkan only)
  236. # 0 (default): Off, 1: On
  237. async_presentation =
  238. # Enable graphics API debugging mode.
  239. # 0 (default): Disabled, 1: Enabled
  240. debug =
  241. # Enable shader feedback.
  242. # 0 (default): Disabled, 1: Enabled
  243. renderer_shader_feedback =
  244. # Enable Nsight Aftermath crash dumps
  245. # 0 (default): Disabled, 1: Enabled
  246. nsight_aftermath =
  247. # Disable shader loop safety checks, executing the shader without loop logic changes
  248. # 0 (default): Disabled, 1: Enabled
  249. disable_shader_loop_safety_checks =
  250. # Which Vulkan physical device to use (defaults to 0)
  251. vulkan_device =
  252. # 0: 0.5x (360p/540p) [EXPERIMENTAL]
  253. # 1: 0.75x (540p/810p) [EXPERIMENTAL]
  254. # 2 (default): 1x (720p/1080p)
  255. # 3: 1.5x (1080p/1620p) [EXPERIMENTAL]
  256. # 4: 2x (1440p/2160p)
  257. # 5: 3x (2160p/3240p)
  258. # 6: 4x (2880p/4320p)
  259. # 7: 5x (3600p/5400p)
  260. # 8: 6x (4320p/6480p)
  261. # 9: 7x (5040p/7560p)
  262. # 10: 8x (5760/8640p)
  263. resolution_setup =
  264. # Pixel filter to use when up- or down-sampling rendered frames.
  265. # 0: Nearest Neighbor
  266. # 1 (default): Bilinear
  267. # 2: Bicubic
  268. # 3: Gaussian
  269. # 4: ScaleForce
  270. # 5: AMD FidelityFX™️ Super Resolution
  271. scaling_filter =
  272. # Anti-Aliasing (AA)
  273. # 0 (default): None, 1: FXAA, 2: SMAA
  274. anti_aliasing =
  275. # Whether to use fullscreen or borderless window mode
  276. # 0 (Windows default): Borderless window, 1 (All other default): Exclusive fullscreen
  277. fullscreen_mode =
  278. # Aspect ratio
  279. # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Force 16:10, 4: Stretch to Window
  280. aspect_ratio =
  281. # Anisotropic filtering
  282. # 0: Default, 1: 2x, 2: 4x, 3: 8x, 4: 16x
  283. max_anisotropy =
  284. # Whether to enable VSync or not.
  285. # OpenGL: Values other than 0 enable VSync
  286. # Vulkan: FIFO is selected if the requested mode is not supported by the driver.
  287. # FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen refresh rate.
  288. # FIFO Relaxed is similar to FIFO but allows tearing as it recovers from a slow down.
  289. # Mailbox can have lower latency than FIFO and does not tear but may drop frames.
  290. # Immediate (no synchronization) just presents whatever is available and can exhibit tearing.
  291. # 0: Immediate (Off), 1: Mailbox, 2 (Default): FIFO (On), 3: FIFO Relaxed
  292. use_vsync =
  293. # Selects the OpenGL shader backend. NV_gpu_program5 is required for GLASM. If NV_gpu_program5 is
  294. # not available and GLASM is selected, GLSL will be used.
  295. # 0: GLSL, 1 (default): GLASM, 2: SPIR-V
  296. shader_backend =
  297. # Uses reactive flushing instead of predictive flushing. Allowing a more accurate syncing of memory.
  298. # 0: Off, 1 (default): On
  299. use_reactive_flushing =
  300. # Whether to allow asynchronous shader building.
  301. # 0 (default): Off, 1: On
  302. use_asynchronous_shaders =
  303. # NVDEC emulation.
  304. # 0: Disabled, 1: CPU Decoding, 2 (default): GPU Decoding
  305. nvdec_emulation =
  306. # Accelerate ASTC texture decoding.
  307. # 0: Off, 1 (default): On
  308. accelerate_astc =
  309. # Decode ASTC textures asynchronously.
  310. # 0 (default): Off, 1: On
  311. async_astc =
  312. # Recompress ASTC textures to a different format.
  313. # 0 (default): Uncompressed, 1: BC1 (Low quality), 2: BC3: (Medium quality)
  314. async_astc =
  315. # Turns on the speed limiter, which will limit the emulation speed to the desired speed limit value
  316. # 0: Off, 1: On (default)
  317. use_speed_limit =
  318. # Limits the speed of the game to run no faster than this value as a percentage of target speed
  319. # 1 - 9999: Speed limit as a percentage of target game speed. 100 (default)
  320. speed_limit =
  321. # Whether to use disk based shader cache
  322. # 0: Off, 1 (default): On
  323. use_disk_shader_cache =
  324. # Which gpu accuracy level to use
  325. # 0: Normal, 1 (default): High, 2: Extreme (Very slow)
  326. gpu_accuracy =
  327. # Whether to use asynchronous GPU emulation
  328. # 0 : Off (slow), 1 (default): On (fast)
  329. use_asynchronous_gpu_emulation =
  330. # Inform the guest that GPU operations completed more quickly than they did.
  331. # 0: Off, 1 (default): On
  332. use_fast_gpu_time =
  333. # Whether to use garbage collection or not for GPU caches.
  334. # 0 (default): Off, 1: On
  335. use_caches_gc =
  336. # The clear color for the renderer. What shows up on the sides of the bottom screen.
  337. # Must be in range of 0-255. Defaults to 0 for all.
  338. bg_red =
  339. bg_blue =
  340. bg_green =
  341. )"
  342. R"(
  343. [Audio]
  344. # Which audio output engine to use.
  345. # auto (default): Auto-select
  346. # cubeb: Cubeb audio engine (if available)
  347. # sdl2: SDL2 audio engine (if available)
  348. # null: No audio output
  349. output_engine =
  350. # Which audio device to use.
  351. # auto (default): Auto-select
  352. output_device =
  353. # Output volume.
  354. # 100 (default): 100%, 0; mute
  355. volume =
  356. [Data Storage]
  357. # Whether to create a virtual SD card.
  358. # 1 (default): Yes, 0: No
  359. use_virtual_sd =
  360. # Whether or not to enable gamecard emulation
  361. # 1: Yes, 0 (default): No
  362. gamecard_inserted =
  363. # Whether or not the gamecard should be emulated as the current game
  364. # If 'gamecard_inserted' is 0 this setting is irrelevant
  365. # 1: Yes, 0 (default): No
  366. gamecard_current_game =
  367. # Path to an XCI file to use as the gamecard
  368. # If 'gamecard_inserted' is 0 this setting is irrelevant
  369. # If 'gamecard_current_game' is 1 this setting is irrelevant
  370. gamecard_path =
  371. [System]
  372. # Whether the system is docked
  373. # 1 (default): Yes, 0: No
  374. use_docked_mode =
  375. # Sets the seed for the RNG generator built into the switch
  376. # rng_seed will be ignored and randomly generated if rng_seed_enabled is false
  377. rng_seed_enabled =
  378. rng_seed =
  379. # Sets the current time (in seconds since 12:00 AM Jan 1, 1970) that will be used by the time service
  380. # This will auto-increment, with the time set being the time the game is started
  381. # This override will only occur if custom_rtc_enabled is true, otherwise the current time is used
  382. custom_rtc_enabled =
  383. custom_rtc =
  384. # Sets the systems language index
  385. # 0: Japanese, 1: English (default), 2: French, 3: German, 4: Italian, 5: Spanish, 6: Chinese,
  386. # 7: Korean, 8: Dutch, 9: Portuguese, 10: Russian, 11: Taiwanese, 12: British English, 13: Canadian French,
  387. # 14: Latin American Spanish, 15: Simplified Chinese, 16: Traditional Chinese, 17: Brazilian Portuguese
  388. language_index =
  389. # The system region that yuzu will use during emulation
  390. # -1: Auto-select (default), 0: Japan, 1: USA, 2: Europe, 3: Australia, 4: China, 5: Korea, 6: Taiwan
  391. region_index =
  392. # The system time zone that yuzu will use during emulation
  393. # 0: Auto-select (default), 1: Default (system archive value), Others: Index for specified time zone
  394. time_zone_index =
  395. # Sets the sound output mode.
  396. # 0: Mono, 1 (default): Stereo, 2: Surround
  397. sound_index =
  398. [Miscellaneous]
  399. # A filter which removes logs below a certain logging level.
  400. # Examples: *:Debug Kernel.SVC:Trace Service.*:Critical
  401. log_filter = *:Trace
  402. # Use developer keys
  403. # 0 (default): Disabled, 1: Enabled
  404. use_dev_keys =
  405. [Debugging]
  406. # Record frame time data, can be found in the log directory. Boolean value
  407. record_frame_times =
  408. # Determines whether or not yuzu will dump the ExeFS of all games it attempts to load while loading them
  409. dump_exefs=false
  410. # Determines whether or not yuzu will dump all NSOs it attempts to load while loading them
  411. dump_nso=false
  412. # Determines whether or not yuzu will save the filesystem access log.
  413. enable_fs_access_log=false
  414. # Enables verbose reporting services
  415. reporting_services =
  416. # Determines whether or not yuzu will report to the game that the emulated console is in Kiosk Mode
  417. # false: Retail/Normal Mode (default), true: Kiosk Mode
  418. quest_flag =
  419. # Determines whether debug asserts should be enabled, which will throw an exception on asserts.
  420. # false: Disabled (default), true: Enabled
  421. use_debug_asserts =
  422. # Determines whether unimplemented HLE service calls should be automatically stubbed.
  423. # false: Disabled (default), true: Enabled
  424. use_auto_stub =
  425. # Enables/Disables the macro JIT compiler
  426. disable_macro_jit=false
  427. # Determines whether to enable the GDB stub and wait for the debugger to attach before running.
  428. # false: Disabled (default), true: Enabled
  429. use_gdbstub=false
  430. # The port to use for the GDB server, if it is enabled.
  431. gdbstub_port=6543
  432. [WebService]
  433. # Whether or not to enable telemetry
  434. # 0: No, 1 (default): Yes
  435. enable_telemetry =
  436. # URL for Web API
  437. web_api_url = https://api.yuzu-emu.org
  438. # Username and token for yuzu Web Service
  439. # See https://profile.yuzu-emu.org/ for more info
  440. yuzu_username =
  441. yuzu_token =
  442. [Network]
  443. # Name of the network interface device to use with yuzu LAN play.
  444. # e.g. On *nix: 'enp7s0', 'wlp6s0u1u3u3', 'lo'
  445. # e.g. On Windows: 'Ethernet', 'Wi-Fi'
  446. network_interface =
  447. [AddOns]
  448. # Used to disable add-ons
  449. # List of title IDs of games that will have add-ons disabled (separated by '|'):
  450. title_ids =
  451. # For each title ID, have a key/value pair called `disabled_<title_id>` equal to the names of the add-ons to disable (sep. by '|')
  452. # e.x. disabled_0100000000010000 = Update|DLC <- disables Updates and DLC on Super Mario Odyssey
  453. )";
  454. } // namespace DefaultINI