summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-24 10:06:34 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-24 10:06:34 -0400
commited804515981cd5176ac244a0fdaa301a55fa97f9 (patch)
tree1229d381b5c04d4d50b72e4b9a3eb7a26ecbdc13 /src
parent402d8fb6856acd893a61d2052666d54058de64b0 (diff)
downloaddecky-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.tsx22
-rw-r--r--src/config/configSchema.ts5
-rw-r--r--src/config/generatedConfigSchema.ts30
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,
};
}