summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-15 13:11:06 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-15 13:11:06 -0400
commitec4541dd78f4e2a58b679b20740f323d8ce76698 (patch)
treee86b7bbafc74c68683617904bf77092fc6361c05 /src/components
parent192c6ece06e1a400ca3a559f47001324150a96ea (diff)
downloaddecky-lsfg-vk-ec4541dd78f4e2a58b679b20740f323d8ce76698.tar.gz
decky-lsfg-vk-ec4541dd78f4e2a58b679b20740f323d8ce76698.zip
add disable_vkbasalt=1 defaulted, hidden ui to expose to users later if desired
Diffstat (limited to 'src/components')
-rw-r--r--src/components/ConfigurationSection.tsx14
-rw-r--r--src/components/Content.tsx18
-rw-r--r--src/components/UsageInstructions.tsx5
3 files changed, 30 insertions, 7 deletions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index ee18e5b..34955f8 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -7,6 +7,7 @@ interface LsfgConfig {
hdr: boolean;
perfMode: boolean;
immediateMode: boolean;
+ disableVkbasalt: boolean;
}
interface ConfigurationSectionProps {
@@ -17,6 +18,7 @@ interface ConfigurationSectionProps {
onHdrChange: (value: boolean) => Promise<void>;
onPerfModeChange: (value: boolean) => Promise<void>;
onImmediateModeChange: (value: boolean) => Promise<void>;
+ onDisableVkbasaltChange: (value: boolean) => Promise<void>;
}
export function ConfigurationSection({
@@ -26,7 +28,8 @@ export function ConfigurationSection({
onFlowScaleChange,
onHdrChange,
onPerfModeChange,
- onImmediateModeChange
+ onImmediateModeChange,
+ onDisableVkbasaltChange
}: ConfigurationSectionProps) {
return (
<>
@@ -110,6 +113,15 @@ export function ConfigurationSection({
onChange={onImmediateModeChange}
/>
</PanelSectionRow>
+
+ {/* <PanelSectionRow>
+ <ToggleField
+ label="Disable vkbasalt"
+ description="Some plugins add vkbasalt layer, which can break lsfg. Toggling on fixes this"
+ checked={config.disableVkbasalt}
+ onChange={onDisableVkbasaltChange}
+ />
+ </PanelSectionRow> */}
</>
);
}
diff --git a/src/components/Content.tsx b/src/components/Content.tsx
index 0e17f3c..16c8f2f 100644
--- a/src/components/Content.tsx
+++ b/src/components/Content.tsx
@@ -36,32 +36,37 @@ export function Content() {
// Configuration change handlers
const handleEnableLsfgChange = async (value: boolean) => {
setters.setEnableLsfg(value);
- await updateConfig(value, config.multiplier, config.flowScale, config.hdr, config.perfMode, config.immediateMode);
+ await updateConfig(value, config.multiplier, config.flowScale, config.hdr, config.perfMode, config.immediateMode, config.disableVkbasalt);
};
const handleMultiplierChange = async (value: number) => {
setters.setMultiplier(value);
- await updateConfig(config.enableLsfg, value, config.flowScale, config.hdr, config.perfMode, config.immediateMode);
+ await updateConfig(config.enableLsfg, value, config.flowScale, config.hdr, config.perfMode, config.immediateMode, config.disableVkbasalt);
};
const handleFlowScaleChange = async (value: number) => {
setters.setFlowScale(value);
- await updateConfig(config.enableLsfg, config.multiplier, value, config.hdr, config.perfMode, config.immediateMode);
+ await updateConfig(config.enableLsfg, config.multiplier, value, config.hdr, config.perfMode, config.immediateMode, config.disableVkbasalt);
};
const handleHdrChange = async (value: boolean) => {
setters.setHdr(value);
- await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, value, config.perfMode, config.immediateMode);
+ await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, value, config.perfMode, config.immediateMode, config.disableVkbasalt);
};
const handlePerfModeChange = async (value: boolean) => {
setters.setPerfMode(value);
- await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, config.hdr, value, config.immediateMode);
+ await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, config.hdr, value, config.immediateMode, config.disableVkbasalt);
};
const handleImmediateModeChange = async (value: boolean) => {
setters.setImmediateMode(value);
- await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, config.hdr, config.perfMode, value);
+ await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, config.hdr, config.perfMode, value, config.disableVkbasalt);
+ };
+
+ const handleDisableVkbasaltChange = async (value: boolean) => {
+ setters.setDisableVkbasalt(value);
+ await updateConfig(config.enableLsfg, config.multiplier, config.flowScale, config.hdr, config.perfMode, config.immediateMode, value);
};
const onInstall = () => {
@@ -99,6 +104,7 @@ export function Content() {
onHdrChange={handleHdrChange}
onPerfModeChange={handlePerfModeChange}
onImmediateModeChange={handleImmediateModeChange}
+ onDisableVkbasaltChange={handleDisableVkbasaltChange}
/>
)}
diff --git a/src/components/UsageInstructions.tsx b/src/components/UsageInstructions.tsx
index a826d3d..ca9ddd2 100644
--- a/src/components/UsageInstructions.tsx
+++ b/src/components/UsageInstructions.tsx
@@ -8,6 +8,7 @@ interface ConfigType {
hdr: boolean;
perfMode: boolean;
immediateMode: boolean;
+ disableVkbasalt: boolean;
}
interface UsageInstructionsProps {
@@ -41,6 +42,10 @@ export function UsageInstructions({ config }: UsageInstructionsProps) {
envVars.push("MESA_VK_WSI_PRESENT_MODE=immediate");
}
+ if (config.disableVkbasalt) {
+ envVars.push("DISABLE_VKBASALT=1");
+ }
+
return envVars.length > 0 ? `${envVars.join(" ")} %command%` : "%command%";
};