From ed804515981cd5176ac244a0fdaa301a55fa97f9 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Thu, 24 Jul 2025 10:06:34 -0400 Subject: add wsi and force enable vkbasalt env var args and ui --- src/components/ConfigurationSection.tsx | 22 ++++++++++++++++++++-- src/config/configSchema.ts | 5 +++-- src/config/generatedConfigSchema.ts | 30 ++++++++++++++++++++---------- 3 files changed, 43 insertions(+), 14 deletions(-) (limited to 'src') 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)} /> + + + onConfigChange(FORCE_ENABLE_VKBASALT, value)} + /> + + + + onConfigChange(DEACTIVATE_WSI, value)} + /> + ); } 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 = { 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 = { 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 { 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 { disable_steamdeck_mode: ConfigFieldType.BOOLEAN, mangohud_workaround: ConfigFieldType.BOOLEAN, disable_vkbasalt: ConfigFieldType.BOOLEAN, + force_enable_vkbasalt: ConfigFieldType.BOOLEAN, + deactivate_wsi: ConfigFieldType.BOOLEAN, }; } -- cgit v1.2.3