diff options
Diffstat (limited to 'src/components/ConfigurationSection.tsx')
| -rw-r--r-- | src/components/ConfigurationSection.tsx | 77 |
1 files changed, 57 insertions, 20 deletions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 0734297..538975e 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -1,10 +1,10 @@ -import { PanelSectionRow, ToggleField, SliderField, ButtonItem } from "@decky/ui"; +import { PanelSectionRow, ToggleField, SliderField, ButtonItem, TextField } from "@decky/ui"; 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, + ACTIVE_IN, ALLOW_FP16, DISABLE_LSFGVK, DLL, FLOW_SCALE, GPU, + 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"; @@ -114,6 +114,15 @@ export function ConfigurationSection({ {!configCollapsed && ( <> <PanelSectionRow> + <TextField + label="Lossless.dll Path" + description="Optional full path to Lossless.dll. Leave blank for lsfg-vk automatic discovery." + value={config.dll} + onChange={(event) => onConfigChange(DLL, event.currentTarget.value)} + /> + </PanelSectionRow> + + <PanelSectionRow> <SliderField label={`Flow Scale (${Math.round(config.flow_scale * 100)}%)`} description="Lowers internal motion estimation resolution, improving performance slightly" @@ -126,6 +135,51 @@ export function ConfigurationSection({ </PanelSectionRow> <PanelSectionRow> + <ToggleField + label="Disable Frame Generation" + description="Disables lsfg-vk on the next game launch. Requires a game restart." + checked={config.disable_lsfgvk} + onChange={(value) => onConfigChange(DISABLE_LSFGVK, value)} + /> + </PanelSectionRow> + + <PanelSectionRow> + <ToggleField + label="Allow FP16" + description="Improves performance on AMD; disable for older NVIDIA GPUs." + checked={config.allow_fp16} + onChange={(value) => onConfigChange(ALLOW_FP16, value)} + /> + </PanelSectionRow> + + <PanelSectionRow> + <TextField + label="GPU" + description="Optional GPU name, vendor:device ID, or PCI bus ID." + value={config.gpu} + onChange={(event) => onConfigChange(GPU, event.currentTarget.value)} + /> + </PanelSectionRow> + + <PanelSectionRow> + <TextField + label="Active In" + 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)" @@ -139,15 +193,6 @@ 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} @@ -155,14 +200,6 @@ export function ConfigurationSection({ /> </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> </> )} |
