diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-07-24 10:06:34 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-07-24 10:06:34 -0400 |
| commit | ed804515981cd5176ac244a0fdaa301a55fa97f9 (patch) | |
| tree | 1229d381b5c04d4d50b72e4b9a3eb7a26ecbdc13 /src | |
| parent | 402d8fb6856acd893a61d2052666d54058de64b0 (diff) | |
| download | decky-lsfg-vk-ed804515981cd5176ac244a0fdaa301a55fa97f9.tar.gz decky-lsfg-vk-ed804515981cd5176ac244a0fdaa301a55fa97f9.zip | |
add wsi and force enable vkbasalt env var args and ui
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/ConfigurationSection.tsx | 22 | ||||
| -rw-r--r-- | src/config/configSchema.ts | 5 | ||||
| -rw-r--r-- | src/config/generatedConfigSchema.ts | 30 |
3 files changed, 43 insertions, 14 deletions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 01b0ba1..55a27d2 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -2,9 +2,9 @@ import { PanelSectionRow, ToggleField, SliderField, DropdownItem } from "@decky/ import { ConfigurationData } from "../config/configSchema"; import { FpsMultiplierControl } from "./FpsMultiplierControl"; import { - FLOW_SCALE, TARGET_TOTAL_FPS, PERFORMANCE_MODE, HDR_MODE, + FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE, - MANGOHUD_WORKAROUND, DISABLE_VKBASALT + MANGOHUD_WORKAROUND, DISABLE_VKBASALT, FORCE_ENABLE_VKBASALT, DEACTIVATE_WSI } from "../config/generatedConfigSchema"; interface ConfigurationSectionProps { @@ -170,6 +170,24 @@ export function ConfigurationSection({ onChange={(value) => onConfigChange(DISABLE_VKBASALT, value)} /> </PanelSectionRow> + + <PanelSectionRow> + <ToggleField + label="Force Enable vkBasalt" + description="Force vkBasalt to engage to fix framepacing issues in gamemode" + checked={config.force_enable_vkbasalt} + onChange={(value) => onConfigChange(FORCE_ENABLE_VKBASALT, value)} + /> + </PanelSectionRow> + + <PanelSectionRow> + <ToggleField + label="Deactivate WSI" + description="Deactivates Gamescope WSI Layer, use with HDR off, workaround if frame generation isn't applying or isn't feeling smooth" + checked={config.deactivate_wsi} + onChange={(value) => onConfigChange(DEACTIVATE_WSI, value)} + /> + </PanelSectionRow> </> ); } diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts index af36dec..0fe3d16 100644 --- a/src/config/configSchema.ts +++ b/src/config/configSchema.ts @@ -20,9 +20,10 @@ export { getDefaults, getFieldTypes, // Field name constants for type-safe access - DLL, MULTIPLIER, FLOW_SCALE, TARGET_TOTAL_FPS, PERFORMANCE_MODE, HDR_MODE, + DLL, MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, ENABLE_WOW64, - DISABLE_STEAMDECK_MODE, MANGOHUD_WORKAROUND, DISABLE_VKBASALT + DISABLE_STEAMDECK_MODE, MANGOHUD_WORKAROUND, DISABLE_VKBASALT, + FORCE_ENABLE_VKBASALT, DEACTIVATE_WSI } from './generatedConfigSchema'; /** diff --git a/src/config/generatedConfigSchema.ts b/src/config/generatedConfigSchema.ts index a30474c..1ce08f4 100644 --- a/src/config/generatedConfigSchema.ts +++ b/src/config/generatedConfigSchema.ts @@ -11,7 +11,6 @@ export enum ConfigFieldType { export const DLL = "dll" as const; export const MULTIPLIER = "multiplier" as const; export const FLOW_SCALE = "flow_scale" as const; -export const TARGET_TOTAL_FPS = "target_total_fps" as const; export const PERFORMANCE_MODE = "performance_mode" as const; export const HDR_MODE = "hdr_mode" as const; export const EXPERIMENTAL_PRESENT_MODE = "experimental_present_mode" as const; @@ -20,6 +19,8 @@ export const ENABLE_WOW64 = "enable_wow64" as const; export const DISABLE_STEAMDECK_MODE = "disable_steamdeck_mode" as const; export const MANGOHUD_WORKAROUND = "mangohud_workaround" as const; export const DISABLE_VKBASALT = "disable_vkbasalt" as const; +export const FORCE_ENABLE_VKBASALT = "force_enable_vkbasalt" as const; +export const DEACTIVATE_WSI = "deactivate_wsi" as const; // Configuration field definition export interface ConfigField { @@ -49,12 +50,6 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = { default: 0.8, description: "change the flow scale" }, - target_total_fps: { - name: "target_total_fps", - fieldType: ConfigFieldType.FLOAT, - default: 0.0, - description: "specify your post-frame gen target framerate to force specific frame pacing logic. 0 = default pacing" - }, performance_mode: { name: "performance_mode", fieldType: ConfigFieldType.BOOLEAN, @@ -103,6 +98,18 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = { default: false, description: "Disables vkBasalt layer which can conflict with LSFG (Reshade, some Decky plugins)" }, + force_enable_vkbasalt: { + name: "force_enable_vkbasalt", + fieldType: ConfigFieldType.BOOLEAN, + default: false, + description: "Force vkBasalt to engage to fix framepacing issues in gamemode" + }, + deactivate_wsi: { + name: "deactivate_wsi", + fieldType: ConfigFieldType.BOOLEAN, + default: false, + description: "Deactivates Gamescope WSI Layer, use with HDR off, workaround if frame generation isn't applying or isn't feeling smooth" + }, }; // Type-safe configuration data structure @@ -110,7 +117,6 @@ export interface ConfigurationData { dll: string; multiplier: number; flow_scale: number; - target_total_fps: number; performance_mode: boolean; hdr_mode: boolean; experimental_present_mode: string; @@ -119,6 +125,8 @@ export interface ConfigurationData { disable_steamdeck_mode: boolean; mangohud_workaround: boolean; disable_vkbasalt: boolean; + force_enable_vkbasalt: boolean; + deactivate_wsi: boolean; } // Helper functions @@ -131,7 +139,6 @@ export function getDefaults(): ConfigurationData { dll: "/games/Lossless Scaling/Lossless.dll", multiplier: 1, flow_scale: 0.8, - target_total_fps: 0.0, performance_mode: true, hdr_mode: false, experimental_present_mode: "fifo", @@ -140,6 +147,8 @@ export function getDefaults(): ConfigurationData { disable_steamdeck_mode: false, mangohud_workaround: false, disable_vkbasalt: false, + force_enable_vkbasalt: false, + deactivate_wsi: false, }; } @@ -148,7 +157,6 @@ export function getFieldTypes(): Record<string, ConfigFieldType> { dll: ConfigFieldType.STRING, multiplier: ConfigFieldType.INTEGER, flow_scale: ConfigFieldType.FLOAT, - target_total_fps: ConfigFieldType.FLOAT, performance_mode: ConfigFieldType.BOOLEAN, hdr_mode: ConfigFieldType.BOOLEAN, experimental_present_mode: ConfigFieldType.STRING, @@ -157,6 +165,8 @@ export function getFieldTypes(): Record<string, ConfigFieldType> { disable_steamdeck_mode: ConfigFieldType.BOOLEAN, mangohud_workaround: ConfigFieldType.BOOLEAN, disable_vkbasalt: ConfigFieldType.BOOLEAN, + force_enable_vkbasalt: ConfigFieldType.BOOLEAN, + deactivate_wsi: ConfigFieldType.BOOLEAN, }; } |
