summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json2
-rw-r--r--py_modules/lsfg_vk/config_schema_generated.py16
-rw-r--r--py_modules/lsfg_vk/configuration_helpers_generated.py2
-rw-r--r--py_modules/lsfg_vk/constants.py5
-rw-r--r--shared_config.py18
-rw-r--r--src/components/ConfigurationSection.tsx22
-rw-r--r--src/config/configSchema.ts4
-rw-r--r--src/config/generatedConfigSchema.ts26
8 files changed, 29 insertions, 66 deletions
diff --git a/package.json b/package.json
index 0791681..2018e52 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "decky-lsfg-vk",
- "version": "0.12.3",
+ "version": "0.13.0-beta.1",
"description": "Use Lossless Scaling on the Steam Deck using the lsfg-vk vulkan layer",
"type": "module",
"scripts": {
diff --git a/py_modules/lsfg_vk/config_schema_generated.py b/py_modules/lsfg_vk/config_schema_generated.py
index 53e9693..93169b9 100644
--- a/py_modules/lsfg_vk/config_schema_generated.py
+++ b/py_modules/lsfg_vk/config_schema_generated.py
@@ -18,8 +18,7 @@ NO_FP16 = "no_fp16"
MULTIPLIER = "multiplier"
FLOW_SCALE = "flow_scale"
PERFORMANCE_MODE = "performance_mode"
-HDR_MODE = "hdr_mode"
-EXPERIMENTAL_PRESENT_MODE = "experimental_present_mode"
+PACING = "pacing"
DXVK_FRAME_RATE = "dxvk_frame_rate"
ENABLE_WOW64 = "enable_wow64"
DISABLE_STEAMDECK_MODE = "disable_steamdeck_mode"
@@ -37,8 +36,7 @@ class ConfigurationData(TypedDict):
multiplier: int
flow_scale: float
performance_mode: bool
- hdr_mode: bool
- experimental_present_mode: str
+ pacing: str
dxvk_frame_rate: int
enable_wow64: bool
disable_steamdeck_mode: bool
@@ -129,8 +127,7 @@ def get_function_parameters() -> str:
multiplier: int = 1,
flow_scale: float = 0.8,
performance_mode: bool = False,
- hdr_mode: bool = False,
- experimental_present_mode: str = "fifo",
+ pacing: str = "none",
dxvk_frame_rate: int = 0,
enable_wow64: bool = False,
disable_steamdeck_mode: bool = False,
@@ -149,8 +146,7 @@ def create_config_dict(**kwargs) -> ConfigurationData:
"multiplier": kwargs.get("multiplier"),
"flow_scale": kwargs.get("flow_scale"),
"performance_mode": kwargs.get("performance_mode"),
- "hdr_mode": kwargs.get("hdr_mode"),
- "experimental_present_mode": kwargs.get("experimental_present_mode"),
+ "pacing": kwargs.get("pacing"),
"dxvk_frame_rate": kwargs.get("dxvk_frame_rate"),
"enable_wow64": kwargs.get("enable_wow64"),
"disable_steamdeck_mode": kwargs.get("disable_steamdeck_mode"),
@@ -163,6 +159,6 @@ def create_config_dict(**kwargs) -> ConfigurationData:
# Field lists for dynamic operations
-TOML_FIELDS = ['dll', 'no_fp16', 'multiplier', 'flow_scale', 'performance_mode', 'hdr_mode', 'experimental_present_mode']
+TOML_FIELDS = ['dll', 'no_fp16', 'multiplier', 'flow_scale', 'performance_mode', 'pacing']
SCRIPT_FIELDS = ['dxvk_frame_rate', 'enable_wow64', 'disable_steamdeck_mode', 'mangohud_workaround', 'disable_vkbasalt', 'force_enable_vkbasalt', 'enable_wsi', 'enable_zink']
-ALL_FIELDS = ['dll', 'no_fp16', 'multiplier', 'flow_scale', 'performance_mode', 'hdr_mode', 'experimental_present_mode', 'dxvk_frame_rate', 'enable_wow64', 'disable_steamdeck_mode', 'mangohud_workaround', 'disable_vkbasalt', 'force_enable_vkbasalt', 'enable_wsi', 'enable_zink']
+ALL_FIELDS = ['dll', 'no_fp16', 'multiplier', 'flow_scale', 'performance_mode', 'pacing', 'dxvk_frame_rate', 'enable_wow64', 'disable_steamdeck_mode', 'mangohud_workaround', 'disable_vkbasalt', 'force_enable_vkbasalt', 'enable_wsi', 'enable_zink']
diff --git a/py_modules/lsfg_vk/configuration_helpers_generated.py b/py_modules/lsfg_vk/configuration_helpers_generated.py
index 1383174..6321f7d 100644
--- a/py_modules/lsfg_vk/configuration_helpers_generated.py
+++ b/py_modules/lsfg_vk/configuration_helpers_generated.py
@@ -9,7 +9,7 @@ from .config_schema_generated import ConfigurationData, ALL_FIELDS
def log_configuration_update(logger, config: ConfigurationData) -> None:
"""Log configuration update with all field values"""
- logger.info(f"Updated lsfg TOML configuration: dll={config['dll']}, no_fp16={config['no_fp16']}, multiplier={config['multiplier']}, flow_scale={config['flow_scale']}, performance_mode={config['performance_mode']}, hdr_mode={config['hdr_mode']}, experimental_present_mode={config['experimental_present_mode']}, dxvk_frame_rate={config['dxvk_frame_rate']}, enable_wow64={config['enable_wow64']}, disable_steamdeck_mode={config['disable_steamdeck_mode']}, mangohud_workaround={config['mangohud_workaround']}, disable_vkbasalt={config['disable_vkbasalt']}, force_enable_vkbasalt={config['force_enable_vkbasalt']}, enable_wsi={config['enable_wsi']}, enable_zink={config['enable_zink']}")
+ logger.info(f"Updated lsfg TOML configuration: dll={config['dll']}, no_fp16={config['no_fp16']}, multiplier={config['multiplier']}, flow_scale={config['flow_scale']}, performance_mode={config['performance_mode']}, pacing={config['pacing']}, dxvk_frame_rate={config['dxvk_frame_rate']}, enable_wow64={config['enable_wow64']}, disable_steamdeck_mode={config['disable_steamdeck_mode']}, mangohud_workaround={config['mangohud_workaround']}, disable_vkbasalt={config['disable_vkbasalt']}, force_enable_vkbasalt={config['force_enable_vkbasalt']}, enable_wsi={config['enable_wsi']}, enable_zink={config['enable_zink']}")
def get_config_field_names() -> list[str]:
diff --git a/py_modules/lsfg_vk/constants.py b/py_modules/lsfg_vk/constants.py
index 3d8e44a..4cbf7a5 100644
--- a/py_modules/lsfg_vk/constants.py
+++ b/py_modules/lsfg_vk/constants.py
@@ -11,8 +11,9 @@ CONFIG_DIR = ".config/lsfg-vk"
SCRIPT_NAME = "lsfg"
CONFIG_FILENAME = "conf.toml"
-LIB_FILENAME = "liblsfg-vk.so"
-JSON_FILENAME = "VkLayer_LS_frame_generation.json"
+# v2.0 file names
+LIB_FILENAME = "libVkLayer_LSFGVK_frame_generation.so"
+JSON_FILENAME = "VkLayer_LSFGVK_frame_generation.json"
ZIP_FILENAME = "lsfg-vk_noui.zip"
FLATPAK_23_08_FILENAME = "org.freedesktop.Platform.VulkanLayer.lsfg_vk_23.08.flatpak"
diff --git a/shared_config.py b/shared_config.py
index 997717b..4e3ab68 100644
--- a/shared_config.py
+++ b/shared_config.py
@@ -59,22 +59,16 @@ CONFIG_SCHEMA_DEF = {
"location": "toml"
},
- "hdr_mode": {
- "name": "hdr_mode",
- "fieldType": ConfigFieldType.BOOLEAN,
- "default": False,
- "description": "enable HDR mode (only for games that support HDR)",
- "location": "toml"
- },
-
- "experimental_present_mode": {
- "name": "experimental_present_mode",
+ "pacing": {
+ "name": "pacing",
"fieldType": ConfigFieldType.STRING,
- "default": "fifo",
- "description": "override Vulkan present mode (may cause crashes)",
+ "default": "none",
+ "description": "frame pacing mode (currently only 'none' supported)",
"location": "toml"
},
+ # Removed in v2.0: hdr_mode and experimental_present_mode no longer supported
+
"dxvk_frame_rate": {
"name": "dxvk_frame_rate",
"fieldType": ConfigFieldType.INTEGER,
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index 0734297..7b39dfb 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -3,8 +3,8 @@ import { useState, useEffect } from "react";
import { RiArrowDownSFill, RiArrowUpSFill } from "react-icons/ri";
import { ConfigurationData } from "../config/configSchema";
import {
- FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE,
- EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE,
+ FLOW_SCALE, PERFORMANCE_MODE, PACING,
+ DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE,
MANGOHUD_WORKAROUND, DISABLE_VKBASALT, FORCE_ENABLE_VKBASALT, ENABLE_WSI, ENABLE_ZINK
} from "../config/generatedConfigSchema";
@@ -139,30 +139,12 @@ export function ConfigurationSection({
<PanelSectionRow>
<ToggleField
- label={`Present Mode (${(config.experimental_present_mode || "fifo") === "fifo" ? "FIFO - VSync" : "Mailbox"})`}
- description="Toggle between FIFO - VSync (default) and Mailbox presentation modes for better performance or compatibility"
- checked={(config.experimental_present_mode || "fifo") === "fifo"}
- onChange={(value) => onConfigChange(EXPERIMENTAL_PRESENT_MODE, value ? "fifo" : "mailbox")}
- />
- </PanelSectionRow>
-
- <PanelSectionRow>
- <ToggleField
label="Performance Mode"
description="Uses a lighter model for FG (Recommended for most games)"
checked={config.performance_mode}
onChange={(value) => onConfigChange(PERFORMANCE_MODE, value)}
/>
</PanelSectionRow>
-
- <PanelSectionRow>
- <ToggleField
- label="HDR Mode"
- description="Enables HDR mode (only for games that support HDR)"
- checked={config.hdr_mode}
- onChange={(value) => onConfigChange(HDR_MODE, value)}
- />
- </PanelSectionRow>
</>
)}
diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts
index 6c6cf19..6c70df3 100644
--- a/src/config/configSchema.ts
+++ b/src/config/configSchema.ts
@@ -18,8 +18,8 @@ export {
getFieldNames,
getDefaults,
getFieldTypes,
- DLL, NO_FP16, MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE,
- EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, ENABLE_WOW64,
+ DLL, NO_FP16, MULTIPLIER, FLOW_SCALE, PERFORMANCE_MODE, PACING,
+ 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 3c5d34e..ce3c3f7 100644
--- a/src/config/generatedConfigSchema.ts
+++ b/src/config/generatedConfigSchema.ts
@@ -13,8 +13,7 @@ export const NO_FP16 = "no_fp16" as const;
export const MULTIPLIER = "multiplier" as const;
export const FLOW_SCALE = "flow_scale" 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;
+export const PACING = "pacing" as const;
export const DXVK_FRAME_RATE = "dxvk_frame_rate" as const;
export const ENABLE_WOW64 = "enable_wow64" as const;
export const DISABLE_STEAMDECK_MODE = "disable_steamdeck_mode" as const;
@@ -64,17 +63,11 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = {
default: false,
description: "use a lighter model for FG (recommended for most games)"
},
- hdr_mode: {
- name: "hdr_mode",
- fieldType: ConfigFieldType.BOOLEAN,
- default: false,
- description: "enable HDR mode (only for games that support HDR)"
- },
- experimental_present_mode: {
- name: "experimental_present_mode",
+ pacing: {
+ name: "pacing",
fieldType: ConfigFieldType.STRING,
- default: "fifo",
- description: "override Vulkan present mode (may cause crashes)"
+ default: "none",
+ description: "frame pacing mode (currently only 'none' supported)"
},
dxvk_frame_rate: {
name: "dxvk_frame_rate",
@@ -133,8 +126,7 @@ export interface ConfigurationData {
multiplier: number;
flow_scale: number;
performance_mode: boolean;
- hdr_mode: boolean;
- experimental_present_mode: string;
+ pacing: string;
dxvk_frame_rate: number;
enable_wow64: boolean;
disable_steamdeck_mode: boolean;
@@ -157,8 +149,7 @@ export function getDefaults(): ConfigurationData {
multiplier: 1,
flow_scale: 0.8,
performance_mode: false,
- hdr_mode: false,
- experimental_present_mode: "fifo",
+ pacing: "none",
dxvk_frame_rate: 0,
enable_wow64: false,
disable_steamdeck_mode: false,
@@ -177,8 +168,7 @@ export function getFieldTypes(): Record<string, ConfigFieldType> {
multiplier: ConfigFieldType.INTEGER,
flow_scale: ConfigFieldType.FLOAT,
performance_mode: ConfigFieldType.BOOLEAN,
- hdr_mode: ConfigFieldType.BOOLEAN,
- experimental_present_mode: ConfigFieldType.STRING,
+ pacing: ConfigFieldType.STRING,
dxvk_frame_rate: ConfigFieldType.INTEGER,
enable_wow64: ConfigFieldType.BOOLEAN,
disable_steamdeck_mode: ConfigFieldType.BOOLEAN,