summaryrefslogtreecommitdiff
path: root/py_modules
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-09-16 20:12:27 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-09-16 20:12:27 -0400
commit08dd3c3d6dba652fd678941286bb9c0132dd9522 (patch)
tree1777d18399d72c89c070ebf3785ba327723ccf92 /py_modules
parent86e95630b43a27e3e90268849432d11839303a81 (diff)
downloaddecky-lsfg-vk-08dd3c3d6dba652fd678941286bb9c0132dd9522.tar.gz
decky-lsfg-vk-08dd3c3d6dba652fd678941286bb9c0132dd9522.zip
feat: add enable zink toggle for openGL compat
Diffstat (limited to 'py_modules')
-rw-r--r--py_modules/lsfg_vk/config_schema_generated.py20
-rw-r--r--py_modules/lsfg_vk/configuration_helpers_generated.py2
2 files changed, 18 insertions, 4 deletions
diff --git a/py_modules/lsfg_vk/config_schema_generated.py b/py_modules/lsfg_vk/config_schema_generated.py
index 4e701ac..6a0a7f6 100644
--- a/py_modules/lsfg_vk/config_schema_generated.py
+++ b/py_modules/lsfg_vk/config_schema_generated.py
@@ -27,6 +27,7 @@ MANGOHUD_WORKAROUND = "mangohud_workaround"
DISABLE_VKBASALT = "disable_vkbasalt"
FORCE_ENABLE_VKBASALT = "force_enable_vkbasalt"
ENABLE_WSI = "enable_wsi"
+ENABLE_ZINK = "enable_zink"
class ConfigurationData(TypedDict):
@@ -45,6 +46,7 @@ class ConfigurationData(TypedDict):
disable_vkbasalt: bool
force_enable_vkbasalt: bool
enable_wsi: bool
+ enable_zink: bool
def get_script_parsing_logic():
@@ -79,6 +81,12 @@ def get_script_parsing_logic():
script_values["force_enable_vkbasalt"] = value == "1"
if key == "ENABLE_GAMESCOPE_WSI":
script_values["enable_wsi"] = value != "0"
+ if key == "__GLX_VENDOR_LIBRARY_NAME" and value == "mesa":
+ script_values["enable_zink"] = True
+ if key == "MESA_LOADER_DRIVER_OVERRIDE" and value == "zink":
+ script_values["enable_zink"] = True
+ if key == "GALLIUM_DRIVER" and value == "zink":
+ script_values["enable_zink"] = True
return script_values
return parse_script_values
@@ -103,6 +111,10 @@ def get_script_generation_logic():
lines.append("export ENABLE_VKBASALT=1")
if not config.get("enable_wsi", False):
lines.append("export ENABLE_GAMESCOPE_WSI=0")
+ if config.get("enable_zink", False):
+ lines.append("export __GLX_VENDOR_LIBRARY_NAME=mesa")
+ lines.append("export MESA_LOADER_DRIVER_OVERRIDE=zink")
+ lines.append("export GALLIUM_DRIVER=zink")
return lines
return generate_script_lines
@@ -122,7 +134,8 @@ def get_function_parameters() -> str:
mangohud_workaround: bool = False,
disable_vkbasalt: bool = False,
force_enable_vkbasalt: bool = False,
- enable_wsi: bool = False"""
+ enable_wsi: bool = False,
+ enable_zink: bool = False"""
def create_config_dict(**kwargs) -> ConfigurationData:
@@ -142,10 +155,11 @@ def create_config_dict(**kwargs) -> ConfigurationData:
"disable_vkbasalt": kwargs.get("disable_vkbasalt"),
"force_enable_vkbasalt": kwargs.get("force_enable_vkbasalt"),
"enable_wsi": kwargs.get("enable_wsi"),
+ "enable_zink": kwargs.get("enable_zink"),
})
# Field lists for dynamic operations
TOML_FIELDS = ['dll', 'no_fp16', 'multiplier', 'flow_scale', 'performance_mode', 'hdr_mode', 'experimental_present_mode']
-SCRIPT_FIELDS = ['dxvk_frame_rate', 'enable_wow64', 'disable_steamdeck_mode', 'mangohud_workaround', 'disable_vkbasalt', 'force_enable_vkbasalt', 'enable_wsi']
-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']
+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']
diff --git a/py_modules/lsfg_vk/configuration_helpers_generated.py b/py_modules/lsfg_vk/configuration_helpers_generated.py
index f8edd97..1383174 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']}")
+ 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']}")
def get_config_field_names() -> list[str]: