From b9c089412d147155f3bf43c2b9b05181eca6d0c9 Mon Sep 17 00:00:00 2001 From: Htylol <55416159+Htylol@users.noreply.github.com> Date: Tue, 7 Nov 2023 06:04:01 +0500 Subject: [PATCH] Added OpenGL zink support for vkBasalt --- data_from_portwine/scripts/lang | 2 ++ data_from_portwine/scripts/runlib | 11 +++++++++++ data_from_portwine/scripts/start.sh | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index fc7d327..b83085e 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -150,6 +150,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then export PW_USE_US_LAYOUT_INFO='Работает только РїРѕРґ x11. Принудительное использование английской раскладки (полезно для РёРіСЂ РІ которых управление верно работает исключительно РЅР° английской раскладке)' export PW_USE_SYSTEM_VK_LAYERS_INFO='Рспользовать системные mangohud, vkBasalt, obs-vkcapture Рё прочие приложения использующие vulkan layers' export PW_USE_OBS_VKCAPTURE_INFO='Включить возможность записи РІ OBS Studio СЃ помощью obs-vkcapture (Р’РќРРњРђРќРР•: будет включено принудительное использование системных mangohud, vkBasalt, obs-vkcapture Рё прочих приложений использующих vulkan layers)' + export PW_USE_GALLIUM_ZINK_INFO='Рспользовать драйвер OpenGL zink, позволяет использовать vkBasalt РІ играх РЅР° OpenGL (Р’РќРРњРђРќРР•: необходима поддерка vulkan, используется wined3d вместо dxvk, РїРѕРґС…РѕРґРёС‚ для РёРіСЂ РЅР° OpenGL Рё старых версий DirectX)' export PW_3DFX_INFO='Рмитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместно СЃ CAS' @@ -428,6 +429,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then export PW_USE_US_LAYOUT_INFO='Works only x11. Forced use of the us layout (useful for games in which the control works correctly only on the us layout)' export PW_USE_SYSTEM_VK_LAYERS_INFO='Use system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers' export PW_USE_OBS_VKCAPTURE_INFO='Enable the ability to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)' + export PW_USE_GALLIUM_ZINK_INFO='Use the OpenGL zink driver, allows you to use vkBasalt in games on OpenGL (ATTENTION: vulkan support is required, wined3d is used instead of dxvk, suitable for games on OpenGL and older versions of DirectX)' export PW_3DFX_INFO='Simulation of an old 3dfx graphics accelerator (adds horizontal stripes)' export PW_AdaptiveSharpen_INFO='Sharpness increase, can be used with CAS' diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 28a92cf..042478a 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -157,6 +157,9 @@ start_portwine () { export DXVK_ENABLE_NVAPI=0 var_winedlloverride_update "nvngx,_nvngx=" fi + if [[ "${PW_USE_GALLIUM_ZINK}" == 1 ]] ; then + export PW_VULKAN_USE=5 + fi if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then if [[ ! -z $(command -v glxinfo) ]] \ @@ -389,6 +392,14 @@ start_portwine () { export GL_YIELD="NOTHING" export mesa_glthread=true var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core=" + elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then + print_info "Use OpenGL Zink" + export GL_YIELD="NOTHING" + export mesa_glthread=true + export __GLX_VENDOR_LIBRARY_NAME=mesa + export MESA_LOADER_DRIVER_OVERRIDE=zink + export GALLIUM_DRIVER=zink + var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core=" elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" export PW_GALLIUM_NINE_VER="0.8" diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index dbf409f..9476db5 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -437,7 +437,7 @@ pw_edit_db () { PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \ PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \ - PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE + PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK if [ "$?" == 0 ] ; then print_info "Restarting PP after update ppdb file..." /usr/bin/env bash -c ${pw_full_command_line[*]} & -- 2.24.1