From d35beefffced7d347d3de2365b95f2844da880b6 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Thu, 20 Mar 2025 22:05:07 +0300 Subject: [PATCH] revert GALLIUM NINE to settings --- data_from_portwine/locales/PortProton.pot | 18 ++--- .../locales/es/LC_MESSAGES/PortProton.po | 46 ++++++------ .../locales/ru/LC_MESSAGES/PortProton.po | 21 +++--- data_from_portwine/scripts/functions_helper | 71 ++++++++++++++++++- data_from_portwine/scripts/var | 1 + 5 files changed, 115 insertions(+), 42 deletions(-) diff --git a/data_from_portwine/locales/PortProton.pot b/data_from_portwine/locales/PortProton.pot index ba38872..dfacf9f 100644 --- a/data_from_portwine/locales/PortProton.pot +++ b/data_from_portwine/locales/PortProton.pot @@ -7,7 +7,7 @@ msgid "" msgstr "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2025-03-07 17:18+0500\n" + "POT-Creation-Date: 2025-03-20 21:49+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -350,6 +350,10 @@ msgstr "" msgid "Launched" msgstr "" +msgid "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the " + "missing package: d3dadapter9" +msgstr "" + msgid "You will need to check internet connection,and\\npress Repeat for " "repeat download" msgstr "" @@ -529,6 +533,9 @@ msgstr "" msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)" msgstr "" +msgid "Use Gallium Nine (native DirectX 9 for MESA)" +msgstr "" + msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental " "function." msgstr "" @@ -1615,10 +1622,6 @@ msgstr "" msgid "SAVE" msgstr "" -msgid "This program comes with absolutely no warranty.\n" - "See the License for details." -msgstr "" - msgid "Author: Casro-Fidel (Mikhail Tergoev)\n" "\n" "Developer assistants and testers:" @@ -1635,7 +1638,7 @@ msgid "Do you want to join and help in the development of the project:" msgstr "" msgid "Website: http://linux-gaming.ru\n" - "Discord: http://discord.gg/yJSEFjF\n" + "TG: https://t.me/linux_gaming_ru\n" "VK: https://vk.com/linuxgamingru\n" "-------------------------------------------\n" "Become a paid subscriber:\n" @@ -1661,9 +1664,6 @@ msgstr "" msgid "ABOUT US" msgstr "" -msgid "ABOUT PORTPROTON" -msgstr "" - msgid "AUTORS" msgstr "" diff --git a/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po b/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po index 518ad5a..b15b0ea 100644 --- a/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po +++ b/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-07 17:14+0500\n" +"POT-Creation-Date: 2025-03-20 21:49+0300\n" "PO-Revision-Date: 2024-11-13 08:18+0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -384,6 +384,13 @@ msgstr "¿Quieres instalar las bibliotecas recomendadas en el nuevo prefijo:" msgid "Launched" msgstr "Lanzado" +msgid "" +"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing " +"package: d3dadapter9" +msgstr "" +"d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n" +"Instala el paquete faltante:d3dadapter9" + msgid "" "You will need to check internet connection,and\\npress Repeat for repeat " "download" @@ -634,6 +641,9 @@ msgstr "" msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)" msgstr "Gallium Zink (OpenGL a Vulkan)" +msgid "Use Gallium Nine (native DirectX 9 for MESA)" +msgstr "" + #, fuzzy msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function." msgstr "WineD3D Vulkan (Damavand experimental)" @@ -2064,13 +2074,6 @@ msgstr "ATRÁS" msgid "SAVE" msgstr "AHORRAR" -msgid "" -"This program comes with absolutely no warranty.\n" -"See the License for details." -msgstr "" -"Este programa se proporciona sin ninguna garantía.\n" -"Consulta la licencia para más detalles." - msgid "" "Author: Casro-Fidel (Mikhail Tergoev)\n" "\n" @@ -2093,9 +2096,10 @@ msgstr "La lista se actualizará..." msgid "Do you want to join and help in the development of the project:" msgstr "Quieres unirte y ayudar en el desarrollo del proyecto:" +#, fuzzy msgid "" "Website: http://linux-gaming.ru\n" -"Discord: http://discord.gg/yJSEFjF\n" +"TG: https://t.me/linux_gaming_ru\n" "VK: https://vk.com/linuxgamingru\n" "-------------------------------------------\n" "Become a paid subscriber:\n" @@ -2139,9 +2143,6 @@ msgstr "" msgid "ABOUT US" msgstr "SOBRE NOSOTROS" -msgid "ABOUT PORTPROTON" -msgstr "SOBRE PORTPROTON" - msgid "AUTORS" msgstr "AUTORES" @@ -2157,6 +2158,16 @@ msgstr "UNIRSE" msgid "THIRD PARTY LIBRARIES" msgstr "BIBLIOTECAS DE TERCEROS" +#~ msgid "" +#~ "This program comes with absolutely no warranty.\n" +#~ "See the License for details." +#~ msgstr "" +#~ "Este programa se proporciona sin ninguna garantía.\n" +#~ "Consulta la licencia para más detalles." + +#~ msgid "ABOUT PORTPROTON" +#~ msgstr "SOBRE PORTPROTON" + #~ msgid "Mirror changed to:" #~ msgstr "Espejo cambiado a:" @@ -2172,8 +2183,8 @@ msgstr "BIBLIOTECAS DE TERCEROS" #~ msgid "" #~ "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?" #~ msgstr "" -#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar." -#~ "\\n\\¿Quieres reiniciar STEAM ahora?" +#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar.\\n" +#~ "\\¿Quieres reiniciar STEAM ahora?" #~ msgid "Restarting STEAM... Please wait." #~ msgstr "Restarting STEAM... Please wait." @@ -2213,13 +2224,6 @@ msgstr "BIBLIOTECAS DE TERCEROS" #~ "Recordar la resolución de pantalla al iniciar el juego y devolverla al " #~ "cerrar (útil para juegos que cambian la resolución de pantalla al cerrar)" -#~ msgid "" -#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing " -#~ "package: d3dadapter9" -#~ msgstr "" -#~ "d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n" -#~ "Instala el paquete faltante:d3dadapter9" - #~ msgid "" #~ "MIT License\n" #~ "\n" diff --git a/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po b/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po index 62897a5..fd9c527 100644 --- a/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po +++ b/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-03-20 16:24+0300\n" -"PO-Revision-Date: 2025-03-20 16:12+0300\n" +"POT-Creation-Date: 2025-03-20 21:49+0300\n" +"PO-Revision-Date: 2025-03-20 21:50+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: ru_RU\n" @@ -394,6 +394,13 @@ msgstr "Хотите добавить рекомендуемые библиот msgid "Launched" msgstr "Запущено" +msgid "" +"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing " +"package: d3dadapter9" +msgstr "" +"d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий пакет: " +"d3dadapter9" + msgid "" "You will need to check internet connection,and\\npress Repeat for repeat " "download" @@ -654,6 +661,9 @@ msgstr "" msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)" msgstr "Использовать Gallium Zink (трансляция OpenGL в Vulkan)" +msgid "Use Gallium Nine (native DirectX 9 for MESA)" +msgstr "Принудительно использовать Gallium Nine (нативный DirectX9 для Mesa)" + msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function." msgstr "" "Вместо DXVK используется WineD3D vulkan (Дамаванд). Экспериментальная " @@ -2197,13 +2207,6 @@ msgstr "БИБЛИОТЕКИ" #~ "возвращать его при закрытии (полезно для игр, меняющих разрешение экрана " #~ "рабочего стола)" -#~ msgid "" -#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing " -#~ "package: d3dadapter9" -#~ msgstr "" -#~ "d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий " -#~ "пакет: d3dadapter9" - #~ msgid "" #~ "MIT License\n" #~ "\n" diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index b9ec328..2839f59 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -3608,7 +3608,9 @@ start_portwine () { try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/cudart64_65.dll" # 3D API - unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES + unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES CP_GALLIUM_NINE_FILES + [[ "$PW_USE_GALLIUM_NINE" == "1" ]] && PW_VULKAN_USE="3" + if [[ $PW_USE_DAMAVAND == "1" ]] && [[ $PW_VULKAN_USE != "0" ]] ; then # WINED3D VULKAN (DAMAVAND) print_info "Use DAMAVAND (DirectX to wined3d vulkan)" @@ -3652,6 +3654,23 @@ start_portwine () { CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1" CP_WINE_FILES="d3d10_1 d3d10" ;; + 3) + # GALLIUM NINE + print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" + PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" + CP_GALLIUM_NINE_FILES="d3d9" + CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1" + CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d8 dxgi" + export __GL_YIELD="NOTHING" + export mesa_glthread="true" + export WINE_D3D_CONFIG="renderer=gl" + export PW_VKBASALT="0" + export PW_MANGOHUD="0" + export PW_WINE_FULLSCREEN_FSR="0" + export PW_USE_GALLIUM_ZINK="0" + export DXVK_ENABLE_NVAPI="0" + export PW_USE_VRCLIENT="0" + ;; 5) # LEGACY DXVK print_info "DXVK v.${DXVK_LEGACY_VER} in use" @@ -3707,6 +3726,10 @@ start_portwine () { 2) rm_from_var CP_DXVK_FILES "d3d9 d3d8" ;; + 3) + rm_from_var CP_GALLIUM_NINE_FILES "d3d9" + rm_from_var CP_WINE_FILES "d3d8" + ;; 5) rm_from_var CP_DXVK_FILES "d3d9" rm_from_var CP_WINE_FILES "d3d8" @@ -3941,6 +3964,45 @@ start_portwine () { export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache" fi + if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] ; then + PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}" + if [[ ! -d "$PATH_TO_GALLIUM_NINE_FILES" ]] ; then + if try_download "github.com/Castro-Fidel/vulkan/releases/download/gallium_nine_v.${PW_GALLIUM_NINE_VER}/gallium_nine_v.${PW_GALLIUM_NINE_VER}.tar.xz" \ + "${PORT_WINE_PATH}/data/tmp/gallium_nine_v.${PW_GALLIUM_NINE_VER}.tar.xz" ; then + if ! unpack "${PORT_WINE_PATH}/data/tmp/gallium_nine_v.${PW_GALLIUM_NINE_VER}.tar.xz" "$PW_PLUGINS_PATH/" + then try_remove_dir "$PATH_TO_GALLIUM_NINE_FILES" + fi + try_remove_file "${PORT_WINE_PATH}/data/tmp/gallium_nine_v.${PW_GALLIUM_NINE_VER}.tar.xz" + fi + fi + print_info "Try create symlink GALLIUM_NINE files..." + try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll" + try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll" + unset FIND_D3D_MODULE D3D_MODULE_PATH + if ! check_flatpak ; then + FIND_D3D_MODULE=$(dirname "$(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*" 2>/dev/null)") + if [[ -n "$FIND_D3D_MODULE" ]] ; then + IFS=$'\n' + for D3D_MP in $FIND_D3D_MODULE ; do + if [[ -n "$D3D_MODULE_PATH" ]] + then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}" + else export D3D_MODULE_PATH="/run/host${D3D_MP}" + fi + done + IFS="$orig_IFS" + print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}" + else + pw_stop_progress_bar + yad_error "${translations[d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing package: d3dadapter9]}" + stop_portwine + fi + else + export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d" + print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}" + fi + var_winedlloverride_update "d3d9=n" + fi + if [[ "$PW_USE_VRCLIENT" = "1" ]] ; then if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" @@ -5032,7 +5094,8 @@ gui_edit_db () { PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE - PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_NATIVE_WAYLAND PW_USE_GALLIUM_ZINK PW_USE_DAMAVAND + PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_NATIVE_WAYLAND PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE + PW_USE_DAMAVAND ) if check_wayland_session ; then @@ -5086,6 +5149,7 @@ gui_edit_db () { PW_DINPUT_PROTOCOL_INFO=${translations[Force use DirectInput protocol instead of XInput]} PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support (need special wine build to work)]} PW_USE_GALLIUM_ZINK_INFO=${translations[Use Gallium Zink (OpenGL driver is implemented via Vulkan)]} + PW_USE_GALLIUM_NINE_INFO=${translations[Use Gallium Nine (native DirectX 9 for MESA)]} PW_USE_DAMAVAND_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]} # PW_VULKAN_NO_ASYNC_INFO=${translations[Disable asynchronous calls for VULKAN and DXVK modes]} @@ -6553,7 +6617,7 @@ pw_prefix_manager () { IFS=$'\n' try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp" while read -r PW_BOOL_IN_DLL_LIST ; do - if [[ ! ${PW_BOOL_IN_DLL_LIST} =~ (d3d|directx9|dont_use|dxvk|vkd3d|faudio1|Foundation) ]] ; then + if [[ ! ${PW_BOOL_IN_DLL_LIST} =~ (d3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio1|Foundation) ]] ; then if grep ^"$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}')"$ "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then echo -e "true\n$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PW_TMPFS_PATH}/dll_list_tmp" else @@ -6695,6 +6759,7 @@ portwine_start_debug () { 0) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log" ;; 1) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER}, VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;; 2) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER}, VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;; + 3) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log" ;; 5) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;; *) echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/PortProton.log" ;; esac diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 554f21a..fd7faa7 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -39,6 +39,7 @@ export PW_DINPUT_PROTOCOL="0" export PW_USE_VRCLIENT="0" export STAGING_SHARED_MEMORY="1" export PW_USE_GALLIUM_ZINK="0" +export PW_USE_GALLIUM_NINE="0" export PW_USE_DAMAVAND="0" ###DEFAULT_WINE### export PW_WINE_USE="PROTON_LG"