1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
from enum import Enum
from typing import Dict, Union
class ConfigFieldType(str, Enum):
BOOLEAN = "boolean"
INTEGER = "integer"
FLOAT = "float"
STRING = "string"
CONFIG_SCHEMA_DEF = {
"dll": {
"name": "dll",
"fieldType": ConfigFieldType.STRING,
"default": "",
"description": "override the lsfg-vk.dll path",
"location": "toml",
},
"no_fp16": {
"name": "no_fp16",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "disable FP16 acceleration",
"location": "toml",
},
"multiplier": {
"name": "multiplier",
"fieldType": ConfigFieldType.INTEGER,
"default": 1,
"description": "frame generation multiplier",
"location": "toml",
},
"flow_scale": {
"name": "flow_scale",
"fieldType": ConfigFieldType.FLOAT,
"default": 1.0,
"description": "motion estimation resolution scale",
"location": "toml",
},
"performance_mode": {
"name": "performance_mode",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "use the lighter frame generation model",
"location": "toml",
},
"experimental_present_mode": {
"name": "experimental_present_mode",
"fieldType": ConfigFieldType.STRING,
"default": "fifo",
"description": "control the v2 present mode override",
"location": "toml",
},
"dxvk_frame_rate": {
"name": "dxvk_frame_rate",
"fieldType": ConfigFieldType.INTEGER,
"default": 0,
"description": "base framerate cap for DirectX games before frame multiplier",
"location": "script",
},
"enable_wow64": {
"name": "enable_wow64",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "enable PROTON_USE_WOW64=1 for 32-bit games",
"location": "script",
},
"disable_steamdeck_mode": {
"name": "disable_steamdeck_mode",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "disable Steam Deck mode",
"location": "script",
},
"mangohud_workaround": {
"name": "mangohud_workaround",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "enable a transparent MangoHud overlay workaround",
"location": "script",
},
"disable_vkbasalt": {
"name": "disable_vkbasalt",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "disable vkBasalt for games where it conflicts with lsfg-vk",
"location": "script",
},
"force_enable_vkbasalt": {
"name": "force_enable_vkbasalt",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "force-enable vkBasalt",
"location": "script",
},
"enable_wsi": {
"name": "enable_wsi",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "enable the Gamescope WSI layer",
"location": "script",
},
"enable_zink": {
"name": "enable_zink",
"fieldType": ConfigFieldType.BOOLEAN,
"default": False,
"description": "enable Zink for OpenGL games",
"location": "script",
},
}
def get_field_names() -> list[str]:
return list(CONFIG_SCHEMA_DEF)
def get_defaults() -> Dict[str, Union[bool, int, float, str]]:
return {name: definition["default"] for name, definition in CONFIG_SCHEMA_DEF.items()}
def get_field_types() -> Dict[str, str]:
return {name: definition["fieldType"].value for name, definition in CONFIG_SCHEMA_DEF.items()}
|