diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-07-30 21:09:27 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-07-30 21:09:27 -0400 |
| commit | eb51ec80231cf13accf8af156fa7a4283e2a2f88 (patch) | |
| tree | 95fd368b42efa29f28b924c8884a8f0d4c80d123 /src | |
| parent | 4390d600ffd35184c4c30bc64480f58e468627de (diff) | |
| download | decky-lsfg-vk-feat/lsfg-v2-release.tar.gz decky-lsfg-vk-feat/lsfg-v2-release.zip | |
fix: harden lsfg-v2 migration and flatpak supportfeat/lsfg-v2-release
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/ConfigurationSection.tsx | 13 | ||||
| -rw-r--r-- | src/config/configSchema.ts | 2 | ||||
| -rw-r--r-- | src/config/generatedConfigSchema.ts | 10 |
3 files changed, 22 insertions, 3 deletions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 7143bb1..538975e 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -4,7 +4,7 @@ import { RiArrowDownSFill, RiArrowUpSFill } from "react-icons/ri"; import { ConfigurationData } from "../config/configSchema"; import { ACTIVE_IN, ALLOW_FP16, DISABLE_LSFGVK, DLL, FLOW_SCALE, GPU, - PERFORMANCE_MODE, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE, + PERFORMANCE_MODE, USE_NATIVE_MATCHING, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE, MANGOHUD_WORKAROUND, DISABLE_VKBASALT, FORCE_ENABLE_VKBASALT, ENABLE_WSI, ENABLE_ZINK } from "../config/generatedConfigSchema"; @@ -164,13 +164,22 @@ export function ConfigurationSection({ <PanelSectionRow> <TextField label="Active In" - description="Executable/process names separated by commas. When set, lsfg-vk matches profiles automatically." + description="Executable/process names separated by commas." value={config.active_in} onChange={(event) => onConfigChange(ACTIVE_IN, event.currentTarget.value)} /> </PanelSectionRow> <PanelSectionRow> + <ToggleField + label="Use Automatic Profile Matching" + description="Let lsfg-vk choose a matching Active In profile instead of forcing the profile selected in Decky." + checked={config.use_native_matching} + onChange={(value) => onConfigChange(USE_NATIVE_MATCHING, value)} + /> + </PanelSectionRow> + + <PanelSectionRow> <SliderField label={`Base FPS Cap${config.dxvk_frame_rate > 0 ? ` (${config.dxvk_frame_rate} FPS)` : " (Off)"}`} description="Base framerate cap for DirectX games, before frame multiplier. (Requires game restart to apply)" diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts index 9c4437d..7b608c3 100644 --- a/src/config/configSchema.ts +++ b/src/config/configSchema.ts @@ -7,7 +7,7 @@ export { getDefaults, getFieldTypes, DLL, ALLOW_FP16, MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, PACING, - ACTIVE_IN, GPU, DISABLE_LSFGVK, DXVK_FRAME_RATE, ENABLE_WOW64, + ACTIVE_IN, USE_NATIVE_MATCHING, GPU, DISABLE_LSFGVK, DXVK_FRAME_RATE, ENABLE_WOW64, DISABLE_STEAMDECK_MODE, MANGOHUD_WORKAROUND, DISABLE_VKBASALT, FORCE_ENABLE_VKBASALT, ENABLE_WSI, ENABLE_ZINK } from './generatedConfigSchema'; diff --git a/src/config/generatedConfigSchema.ts b/src/config/generatedConfigSchema.ts index 9b7e6d1..5c5df39 100644 --- a/src/config/generatedConfigSchema.ts +++ b/src/config/generatedConfigSchema.ts @@ -15,6 +15,7 @@ export const FLOW_SCALE = "flow_scale" as const; export const PERFORMANCE_MODE = "performance_mode" as const; export const PACING = "pacing" as const; export const ACTIVE_IN = "active_in" as const; +export const USE_NATIVE_MATCHING = "use_native_matching" as const; export const GPU = "gpu" as const; export const DISABLE_LSFGVK = "disable_lsfgvk" as const; export const DXVK_FRAME_RATE = "dxvk_frame_rate" as const; @@ -78,6 +79,12 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = { default: "", description: "optional executable or process names, separated by commas" }, + use_native_matching: { + name: "use_native_matching", + fieldType: ConfigFieldType.BOOLEAN, + default: false, + description: "let lsfg-vk choose a profile from Active In instead of forcing the selected profile" + }, gpu: { name: "gpu", fieldType: ConfigFieldType.STRING, @@ -149,6 +156,7 @@ export interface ConfigurationData { performance_mode: boolean; pacing: string; active_in: string; + use_native_matching: boolean; gpu: string; disable_lsfgvk: boolean; dxvk_frame_rate: number; @@ -175,6 +183,7 @@ export function getDefaults(): ConfigurationData { performance_mode: false, pacing: "none", active_in: "", + use_native_matching: false, gpu: "", disable_lsfgvk: false, dxvk_frame_rate: 0, @@ -197,6 +206,7 @@ export function getFieldTypes(): Record<string, ConfigFieldType> { performance_mode: ConfigFieldType.BOOLEAN, pacing: ConfigFieldType.STRING, active_in: ConfigFieldType.STRING, + use_native_matching: ConfigFieldType.BOOLEAN, gpu: ConfigFieldType.STRING, disable_lsfgvk: ConfigFieldType.BOOLEAN, dxvk_frame_rate: ConfigFieldType.INTEGER, |
