{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://ryujinx.org/_schema/config.json", "type": "object", "title": "Ryujinx Configuration Schema", "required": [ "graphics_shaders_dump_path", "logging_enable_debug", "logging_enable_stub", "logging_enable_info", "logging_enable_warn", "logging_enable_error", "logging_enable_guest", "logging_enable_fs_access_log", "logging_filtered_classes", "enable_file_log", "system_language", "docked_mode", "enable_vsync", "enable_multicore_scheduling", "enable_fs_integrity_checks", "fs_global_access_log_mode", "enable_aggressive_cpu_opts", "controller_type", "enable_keyboard", "keyboard_controls", "gamepad_controls" ], "definitions": { "key": { "type": "string", "enum": [ "ShiftLeft", "LShift", "ShiftRight", "RShift", "ControlLeft", "LControl", "ControlRight", "RControl", "AltLeft", "LAlt", "AltRight", "RAlt", "WinLeft", "LWin", "WinRight", "RWin", "Menu", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "F25", "F26", "F27", "F28", "F29", "F30", "F31", "F32", "F33", "F34", "F35", "Up", "Down", "Left", "Right", "Enter", "Escape", "Space", "Tab", "BackSpace", "Back", "Insert", "Delete", "PageUp", "PageDown", "Home", "End", "CapsLock", "ScrollLock", "PrintScreen", "Pause", "NumLock", "Clear", "Sleep", "Keypad0", "Keypad1", "Keypad2", "Keypad3", "Keypad4", "Keypad5", "Keypad6", "Keypad7", "Keypad8", "Keypad9", "KeypadDivide", "KeypadMultiply", "KeypadSubtract", "KeypadMinus", "KeypadAdd", "KeypadPlus", "KeypadDecimal", "KeypadPeriod", "KeypadEnter", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Number0", "Number1", "Number2", "Number3", "Number4", "Number5", "Number6", "Number7", "Number8", "Number9", "Tilde", "Grave", "Minus", "Plus", "BracketLeft", "LBracket", "BracketRight", "RBracket", "Semicolon", "Quote", "Comma", "Period", "Slash", "BackSlash", "NonUSBackSlash", "LastKey" ] }, "input": { "type": "string", "enum": [ "DPadUp", "DPadDown", "DPadLeft", "DPadRight", "LStick", "RStick", "LShoulder", "RShoulder", "LTrigger", "RTrigger", "LJoystick", "RJoystick", "A", "B", "X", "Y", "Start", "Back" ] } }, "properties": { "graphics_shaders_dump_path": { "$id": "#/properties/graphics_shaders_dump_path", "type": "string", "title": "Graphics Shaders Dump Path", "description": "Dumps shaders in this local directory", "default": "", "examples": [ "C:\\ShaderDumps" ] }, "logging_enable_debug": { "$id": "#/properties/logging_enable_debug", "type": "boolean", "title": "Logging Enable Debug", "description": "Enables printing debug log messages", "default": false, "examples": [ true, false ] }, "logging_enable_stub": { "$id": "#/properties/logging_enable_stub", "type": "boolean", "title": "Logging Enable Stub", "description": "Enables printing stub log messages", "default": true, "examples": [ true, false ] }, "logging_enable_info": { "$id": "#/properties/logging_enable_info", "type": "boolean", "title": "Logging Enable Info", "description": "Enables printing info log messages", "default": true, "examples": [ true, false ] }, "logging_enable_warn": { "$id": "#/properties/logging_enable_warn", "type": "boolean", "title": "Logging Enable Warn", "description": "Enables printing warning log messages", "default": true, "examples": [ true, false ] }, "logging_enable_error": { "$id": "#/properties/logging_enable_error", "type": "boolean", "title": "Logging Enable Error", "description": "Enables printing error log messages", "default": true, "examples": [ true, false ] }, "logging_enable_guest": { "$id": "#/properties/logging_enable_guest", "type": "boolean", "title": "Logging Enable Guest", "description": "Enables printing guest log messages", "default": true, "examples": [ true, false ] }, "logging_enable_fs_access": { "$id": "#/properties/logging_enable_fs_access_log", "type": "boolean", "title": "Logging Enable FS Access Log", "description": "Enables printing FS access log messages", "default": true, "examples": [ true, false ] }, "logging_filtered_classes": { "$id": "#/properties/logging_filtered_classes", "type": "array", "title": "Logging Filtered Classes", "description": "Controls which log messages are written to the log targets", "items": { "type": "string", "enum": [ "Application", "Audio", "Cpu", "Font", "Emulation", "Gpu", "Hid", "Kernel", "KernelIpc", "KernelScheduler", "KernelSvc", "Loader", "Service", "ServiceAcc", "ServiceAm", "ServiceApm", "ServiceAudio", "ServiceBsd", "ServiceCaps", "ServiceFriend", "ServiceFs", "ServiceHid", "ServiceIrs", "ServiceLdr", "ServiceLm", "ServiceMm", "ServiceNfp", "ServiceNifm", "ServiceNs", "ServiceNv", "ServicePctl", "ServicePl", "ServicePrepo", "ServicePsm", "ServiceSet", "ServiceSfdnsres", "ServiceSm", "ServiceSsl", "ServiceSss", "ServiceTime", "ServiceVi" ] } }, "enable_file_log": { "$id": "#/properties/enable_file_log", "type": "boolean", "title": "Enable File Log", "description": "Enables logging to a file on disk", "default": true, "examples": [ true, false ] }, "system_language": { "$id": "#/properties/system_language", "type": "string", "title": "System Language", "description": "Change System Language", "default": "AmericanEnglish", "enum": [ "Japanese", "AmericanEnglish", "French", "German", "Italian", "Spanish", "Chinese", "Korean", "Dutch", "Portuguese", "Russian", "Taiwanese", "BritishEnglish", "CanadianFrench", "LatinAmericanSpanish", "SimplifiedChinese", "TraditionalChinese" ], "examples": [ "AmericanEnglish" ] }, "docked_mode": { "$id": "#/properties/docked_mode", "type": "boolean", "title": "Enable Docked Mode", "description": "Enables or disables Docked Mode", "default": false, "examples": [ true, false ] }, "enable_discord_intergration": { "$id": "#/properties/enable_discord_intergration", "type": "boolean", "title": "Enable Discord Rich Presense", "description": "Enable or disable Discord Rich Presense", "default": true, "examples": [ true, false ] }, "enable_vsync": { "$id": "#/properties/enable_vsync", "type": "boolean", "title": "Enable Vertical Sync", "description": "Enables or disables Vertical Sync", "default": true, "examples": [ true, false ] }, "enable_multicore_scheduling": { "$id": "#/properties/enable_multicore_scheduling", "type": "boolean", "title": "Enable Multicore Scheduling", "description": "Enables or disables multi-core scheduling of threads", "default": true, "examples": [ true, false ] }, "enable_fs_integrity_checks": { "$id": "#/properties/enable_fs_integrity_checks", "type": "boolean", "title": "Enable Filesystem Integrity Checks", "description": "Enables integrity checks on Game content files. Only applies to ROMs loaded as XCI files", "default": true, "examples": [ true, false ] }, "fs_global_access_log_mode": { "$id": "#/properties/fs_global_access_log_mode", "type": "integer", "title": "Enable FS access log", "description": "Enables FS access log output. Possible modes are 0-3. Modes 2 and 3 output to the console.", "default": 0, "minimum": 0, "examples": [ 0, 1, 2, 3 ] }, "enable_aggressive_cpu_opts": { "$id": "#/properties/enable_aggressive_cpu_opts", "type": "boolean", "title": "Enable Aggressive CPU Optimizations", "description": "Enable or disable aggressive CPU optimizations", "default": true, "examples": [ true, false ] }, "ignore_missing_services": { "$id": "#/properties/ignore_missing_services", "type": "boolean", "title": "Ignore Missing Services", "description": "Enable or disable ignoring missing services, this may cause instability", "default": false, "examples": [ true, false ] }, "controller_type": { "$id": "#/properties/controller_type", "type": "string", "title": "Controller Type", "default": "Handheld", "enum": [ "Handheld", "ProController", "NpadPair", "NpadLeft", "NpadRight" ], "examples": [ "Handheld", "ProController", "NpadPair", "NpadLeft", "NpadRight" ] }, "enable_keyboard": { "$id": "#/properties/enable_keyboard", "type": "boolean", "title": "(HID) Keyboard Enable", "description": "Enable or disable direct keyboard access (HID) support (Provides games access to your keyboard as a text entry device).", "default": true, "examples": [ true, false ] }, "keyboard_controls": { "$id": "#/properties/keyboard_controls", "type": "object", "title": "Keyboard Controls", "required": [ "left_joycon", "right_joycon" ], "properties": { "left_joycon": { "$id": "#/properties/keyboard_controls/properties/left_joycon", "type": "object", "title": "Left JoyCon Controls", "required": [ "stick_up", "stick_down", "stick_left", "stick_right", "stick_button", "dpad_up", "dpad_down", "dpad_left", "dpad_right", "button_minus", "button_l", "button_zl" ], "properties": { "stick_up": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_up", "$ref": "#/definitions/key", "title": "Stick Up", "default": "w" }, "stick_down": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_down", "$ref": "#/definitions/key", "title": "Stick Down", "default": "S" }, "stick_left": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_left", "$ref": "#/definitions/key", "title": "Stick Left", "default": "A" }, "stick_right": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_right", "$ref": "#/definitions/key", "title": "Stick Right", "default": "D" }, "stick_button": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_button", "$ref": "#/definitions/key", "title": "Stick Button", "default": "F" }, "dpad_up": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_up", "$ref": "#/definitions/key", "title": "Dpad Up", "default": "Up" }, "dpad_down": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_down", "$ref": "#/definitions/key", "title": "Dpad Down", "default": "Down" }, "dpad_left": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_left", "$ref": "#/definitions/key", "title": "Dpad Left", "default": "Left" }, "dpad_right": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_right", "$ref": "#/definitions/key", "title": "Dpad Right", "default": "Right" }, "button_minus": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/button_minus", "$ref": "#/definitions/key", "title": "Button Minus", "default": "Minus" }, "button_l": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/button_l", "$ref": "#/definitions/key", "title": "Button L", "default": "E" }, "button_zl": { "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/button_zl", "$ref": "#/definitions/key", "title": "Button ZL", "default": "Q" } } }, "right_joycon": { "$id": "#/properties/keyboard_controls/properties/right_joycon", "type": "object", "title": "Right JoyCon Controls", "required": [ "stick_up", "stick_down", "stick_left", "stick_right", "stick_button", "button_a", "button_b", "button_x", "button_y", "button_plus", "button_r", "button_zr" ], "properties": { "stick_up": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_up", "$ref": "#/definitions/key", "title": "Stick Up", "default": "I" }, "stick_down": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_down", "$ref": "#/definitions/key", "title": "Stick Down", "default": "K" }, "stick_left": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_left", "$ref": "#/definitions/key", "title": "Stick Left", "default": "J" }, "stick_right": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_right", "$ref": "#/definitions/key", "title": "Stick Right", "default": "L" }, "stick_button": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_button", "$ref": "#/definitions/key", "title": "Stick Button", "default": "H" }, "button_a": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_a", "$ref": "#/definitions/key", "title": "Button A", "default": "Z" }, "button_b": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_b", "$ref": "#/definitions/key", "title": "Button B", "default": "X" }, "button_x": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_x", "$ref": "#/definitions/key", "title": "Button X", "default": "C" }, "button_y": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_y", "$ref": "#/definitions/key", "title": "Button Y", "default": "V" }, "button_plus": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_plus", "$ref": "#/definitions/key", "title": "Button Plus", "default": "Plus" }, "button_r": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_r", "$ref": "#/definitions/key", "title": "Button R", "default": "U" }, "button_zr": { "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_zr", "$ref": "#/definitions/key", "title": "Button Zr", "default": "O" } } }, "hotkeys": { "$id": "#/properties/keyboard_controls/properties/hotkeys", "type": "object", "title": "Hotkey Controls", "required": [ "toggle_vsync" ], "properties": { "toggle_vsync": { "$id": "#/properties/keyboard_controls/properties/hotkeys/properties/toggle_vsync", "$ref": "#/definitions/key", "title": "Toggle VSync", "default": "Tab" } } } } }, "gamepad_controls": { "$id": "#/properties/gamepad_controls", "type": "object", "title": "GamePad Controls", "required": [ "left_joycon", "right_joycon" ], "properties": { "enable": { "$id": "#/properties/gamepad_controls/properties/enable", "type": "boolean", "title": "Gamepad Enable", "description": "Enables or disables controller support", "default": true, "examples": [ true, false ] }, "index": { "$id": "#/properties/gamepad_controls/properties/index", "type": "integer", "title": "Gamepad Index", "description": "Controller Device Index", "default": 0, "minimum": 0, "examples": [ 0, 1, 2 ] }, "deadzone": { "$id": "#/properties/gamepad_controls/properties/deadzone", "type": "number", "title": "Gamepad Deadzone", "description": "Controller Analog Stick Deadzone", "default": 0.05, "minimum": -32768.0, "maximum": 32767.0, "examples": [ 0.05 ] }, "trigger_threshold": { "$id": "#/properties/gamepad_controls/properties/trigger_threshold", "type": "number", "title": "Controller Trigger Threshold", "description": "The value of how pressed down each trigger has to be in order to register a button press", "default": 0.5, "minimum": 0.0, "maximum": 1.0, "examples": [ 0.5 ] }, "left_joycon": { "$id": "#/properties/gamepad_controls/properties/left_joycon", "type": "object", "title": "Left JoyCon Controls", "required": [ "stick", "stick_button", "dpad_up", "dpad_down", "dpad_left", "dpad_right", "button_minus", "button_l", "button_zl" ], "properties": { "stick": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/stick", "$ref": "#/definitions/input", "title": "Stick", "default": "LJoystick" }, "stick_button": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/stick_button", "$ref": "#/definitions/input", "title": "Stick Button", "default": "LStick" }, "dpad_up": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_up", "$ref": "#/definitions/input", "title": "Dpad Up", "default": "DPadUp" }, "dpad_down": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_down", "$ref": "#/definitions/input", "title": "Dpad Down", "default": "DPadDown" }, "dpad_left": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_left", "$ref": "#/definitions/input", "title": "Dpad Left", "default": "DPadLeft" }, "dpad_right": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_right", "$ref": "#/definitions/input", "title": "Dpad Right", "default": "DPadRight" }, "button_minus": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/button_minus", "$ref": "#/definitions/input", "title": "Button Minus", "default": "Back" }, "button_l": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/button_l", "$ref": "#/definitions/input", "title": "Button L", "default": "LShoulder" }, "button_zl": { "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/button_zl", "$ref": "#/definitions/input", "title": "Button ZL", "default": "LTrigger" } } }, "right_joycon": { "$id": "#/properties/gamepad_controls/properties/right_joycon", "type": "object", "title": "Right JoyCon Controls", "required": [ "stick", "stick_button", "button_a", "button_b", "button_x", "button_y", "button_plus", "button_r", "button_zr" ], "properties": { "stick": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/stick", "$ref": "#/definitions/input", "title": "Stick", "default": "RJoystick" }, "stick_button": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/stick_button", "$ref": "#/definitions/input", "title": "Stick Button", "default": "RStick" }, "button_a": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_a", "$ref": "#/definitions/input", "title": "Button A", "default": "B" }, "button_b": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_b", "$ref": "#/definitions/input", "title": "Button B", "default": "A" }, "button_x": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_x", "$ref": "#/definitions/input", "title": "Button X", "default": "Y" }, "button_y": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_y", "$ref": "#/definitions/input", "title": "Button Y", "default": "X" }, "button_plus": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_plus", "$ref": "#/definitions/input", "title": "Button Plus", "default": "Start" }, "button_r": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_r", "$ref": "#/definitions/input", "title": "Button R", "default": "RShoulder" }, "button_zr": { "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_zr", "$ref": "#/definitions/input", "title": "Button ZR", "default": "RTrigger" } } } } } } }