forked from CastroFidel/PortWINE
		
	Drop lonely legacy dvxk 3d api, transition dgvoodoo2 to syswow64, minor fixes
This commit is contained in:
		| @@ -171,7 +171,6 @@ check_process () { | ||||
| } | ||||
| export -f check_process | ||||
|  | ||||
|  | ||||
| try_download () { | ||||
|     local filename="$(basename "$1")" | ||||
|     local dest="$2" | ||||
| @@ -1509,7 +1508,6 @@ pw_create_unique_exe () { | ||||
|     fi | ||||
| } | ||||
|  | ||||
|  | ||||
| start_portwine () { | ||||
|     WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")" | ||||
|     export WINEPREFIX | ||||
| @@ -1917,22 +1915,12 @@ start_portwine () { | ||||
|  | ||||
|     unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_WINE_FILES PATH_TO_VKD3D_FILES PATH_TO_DXVK_FILES | ||||
|     case "${PW_VULKAN_USE}" in | ||||
|         0)  # OPENGL | ||||
|             print_info "Use OpenGL" | ||||
|         0)  # WINED3D OPENGL | ||||
|             print_info "Use WINED3D OpenGL" | ||||
|             export GL_YIELD="NOTHING" | ||||
|             export mesa_glthread=true | ||||
|             export WINE_D3D_CONFIG='renderer=gl' | ||||
|             CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" | ||||
|             ;; | ||||
|         6)  # WINED3D VULKAN (DAMAVAND) | ||||
|             print_info "Use DAMAVAND (DirectX to wined3d vulkan)" | ||||
|             CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" | ||||
|             export WINE_D3D_CONFIG='renderer=vulkan' | ||||
|             ;; | ||||
|         7)  # LEGACY DXVK | ||||
|             print_info "DXVK v.${DXVK_LEGACY_VER} in use" | ||||
|             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}" | ||||
|             CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi" | ||||
|             CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" | ||||
|             ;; | ||||
|         1)  # STABLE DXVK AND VKD3D | ||||
|             print_info "DXVK v.${DXVK_STABLE_VER} in use" | ||||
| @@ -1942,10 +1930,9 @@ start_portwine () { | ||||
|             CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1" | ||||
|             CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk" | ||||
|             CP_D8VK_FILES="d3d8" | ||||
|             CP_WINE_FILES="d3d10_1 d3d10" | ||||
|             CP_WINE_FILES="ddraw d3d10_1 d3d10" | ||||
|             ;; | ||||
|         2) | ||||
|             # NEWEST DXVK AND VKD3D | ||||
|         2)  # NEWEST DXVK AND VKD3D | ||||
|             print_info "DXVK v.${DXVK_GIT_VER} in use" | ||||
|             print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" | ||||
|             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" | ||||
| @@ -1953,11 +1940,11 @@ start_portwine () { | ||||
|             CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1" | ||||
|             CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk" | ||||
|             CP_D8VK_FILES="d3d8" | ||||
|             CP_WINE_FILES="d3d10_1 d3d10" | ||||
|             CP_WINE_FILES="ddraw d3d10_1 d3d10" | ||||
|             ;; | ||||
|         3)  # GALLIUM NINE | ||||
|             print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" | ||||
|             CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 dxgi d3d12 d3d12core" | ||||
|             CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 dxgi d3d12 d3d12core" | ||||
|             PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}" | ||||
|             try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll" | ||||
|             try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll" | ||||
| @@ -1993,7 +1980,7 @@ start_portwine () { | ||||
|             ;; | ||||
|         4)  # GALLIUM ZINK | ||||
|             print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)" | ||||
|             CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" | ||||
|             CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" | ||||
|             export GL_YIELD="NOTHING" | ||||
|             export mesa_glthread=true | ||||
|             export WINE_D3D_CONFIG='renderer=gl' | ||||
| @@ -2005,27 +1992,24 @@ start_portwine () { | ||||
|                 export LIBGL_KOPPER_DRI2="1" | ||||
|             fi | ||||
|             ;; | ||||
|         5)  # DGVOODOO2 + LEGACY DXVK | ||||
|         5)  # LEGACY DXVK AND DGVOODOO2 | ||||
|             print_info "DXVK v.${DXVK_LEGACY_VER} in use" | ||||
|             print_info "DGVOODOO2 ${DGV2_VER} in use" | ||||
|             CP_WINE_FILES="d3d8 d3d12 d3d12core" | ||||
|             CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi" | ||||
|             print_info "DGVOODOO2 v.${DGV2_VER} in use" | ||||
|             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}" | ||||
|             PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}" | ||||
|             for DGV2_DLL in d3dimm ddraw glide glide2x glide3x ; do | ||||
|                 try_copy_file "$PATH_TO_DGV2_FILES/x32/${DGV2_DLL}.dll" "${PATH_TO_GAME}" | ||||
|             done | ||||
|  | ||||
|             if [[ ! -f "${PATH_TO_GAME}/dgVoodoo.conf" ]] ; then | ||||
|             echo "[General] | ||||
| OutputAPI                            = d3d11_fl11_0 | ||||
| [Glide] | ||||
| 3DfxWatermark                       = false | ||||
| 3DfxSplashScreen                    = false | ||||
| [DirectX] | ||||
| dgVoodooWatermark                   = false" > "${PATH_TO_GAME}/dgVoodoo.conf" | ||||
|             fi | ||||
|             var_winedlloverride_update ddraw=n | ||||
|             CP_DGV2_FILES="ddraw d3dimm glide glide2x glide3x" | ||||
|             CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi" | ||||
|             CP_WINE_FILES="d3d8 d3d12 d3d12core" | ||||
|             ;; | ||||
|         6)  # WINED3D VULKAN (DAMAVAND) | ||||
|             print_info "Use DAMAVAND (DirectX to wined3d vulkan)" | ||||
|             CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" | ||||
|             export WINE_D3D_CONFIG='renderer=vulkan' | ||||
|             ;; | ||||
|         7)  # LEGACY DXVK | ||||
|             print_info "DXVK v.${DXVK_LEGACY_VER} in use" | ||||
|             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}" | ||||
|             CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi" | ||||
|             ;; | ||||
|     esac | ||||
|  | ||||
| @@ -2088,6 +2072,25 @@ dgVoodooWatermark                   = false" > "${PATH_TO_GAME}/dgVoodoo.conf" | ||||
|         done | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -z "$CP_DGV2_FILES" ]] ; then | ||||
|         print_info "Try link native DGVOODOO2 file..." | ||||
|         PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}" | ||||
|         for wine_dgv2_dll in $CP_DGV2_FILES ; do | ||||
|             try_copy_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         done | ||||
|  | ||||
|         if [[ ! -f "${WINEPREFIX}/drive_c/windows/syswow64/dgVoodoo.conf" ]] ; then | ||||
|             echo "[General] | ||||
| OutputAPI                            = d3d11_fl11_0 | ||||
| [Glide] | ||||
| 3DfxWatermark                       = false | ||||
| 3DfxSplashScreen                    = false | ||||
| [DirectX] | ||||
| dgVoodooWatermark                   = false" > "${WINEPREFIX}/drive_c/windows/syswow64/dgVoodoo.conf" | ||||
|         fi | ||||
|         var_winedlloverride_update "ddraw=n" | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" | ||||
|         try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/" | ||||
| @@ -2095,7 +2098,7 @@ dgVoodooWatermark                   = false" > "${PATH_TO_GAME}/dgVoodoo.conf" | ||||
|     fi | ||||
|  | ||||
|     if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then | ||||
|         create_new_dir "${PW_VULKAN_DIR}}/gl_shader_cache" | ||||
|         create_new_dir "${PW_VULKAN_DIR}/gl_shader_cache" | ||||
|         export __GL_SHADER_DISK_CACHE="1" | ||||
|         export __GL_SHADER_DISK_CACHE_PATH="${PW_VULKAN_DIR}/gl_shader_cache" | ||||
|         export __GL_SHADER_DISK_CACHE_SIZE="50000000000" | ||||
| @@ -3622,17 +3625,17 @@ portwine_start_debug () { | ||||
|     echo $(ldd --version | grep -m1 ldd | awk '{print $NF}') >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     if [[ "${PW_VULKAN_USE}" = "0" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OPENGL" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "1" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER} and VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "2" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER} and VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "4" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - OpenGL on MESA vulkan drivers" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "5" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DGVOODOO2 (Glide 3dfx, DirectX 1-7 wrapper)" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER} and DGVOODOO2 v.${DGV2_VER}" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "6" ]] ; then | ||||
|         echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/PortProton.log" | ||||
|     elif [[ "${PW_VULKAN_USE}" = "7" ]] ; then | ||||
|   | ||||
| @@ -348,21 +348,19 @@ popd 1>/dev/null || fatal | ||||
| check_nvidia_rtx && check_variables PW_VULKAN_USE "2" | ||||
|  | ||||
| SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")" | ||||
| SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER} (Vulkan v1.1)" | ||||
| SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER}, DGVOODOO2 ${DGV2_VER} (Vulkan v1.1)" | ||||
| SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER} (Vulkan v1.2)" | ||||
| SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER} (Vulkan v1.3)" | ||||
| SORT_G_NINE="$(eval_gettext "GALLIUM_NINE (DX9 for MESA)")" | ||||
| SORT_G_ZINK="$(eval_gettext "GALLIUM_ZINK (OpenGL for VULKAN)")" | ||||
| SORT_DGV2="$(eval_gettext "DGVOODOO2 (Glide 3dfx, DirectX 1-7 wrapper)")" | ||||
|  | ||||
| case "${PW_VULKAN_USE}" in | ||||
|     0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;; | ||||
|     1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;; | ||||
|     3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_ZINK!$SORT_DGV2" ;; | ||||
|     4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_DGV2" ;; | ||||
|     5) PW_DEFAULT_VULKAN_USE="$SORT_DGV2!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;; | ||||
|     7) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_DGV2!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;; | ||||
|     *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;; | ||||
|     0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE" ;; | ||||
|     1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; | ||||
|     5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; | ||||
|     4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_NINE!$SORT_OPENGL" ;; | ||||
|     3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL" ;; | ||||
|     *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; | ||||
| esac | ||||
|  | ||||
| if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then | ||||
| @@ -601,12 +599,11 @@ fi | ||||
|  | ||||
| case "${VULKAN_MOD}" in | ||||
|     "$SORT_OPENGL" )     export PW_VULKAN_USE="0" ;; | ||||
|     "$SORT_LEGACY" )     export PW_VULKAN_USE="7" ;; | ||||
|     "$SORT_STABLE" )     export PW_VULKAN_USE="1" ;; | ||||
|     "$SORT_NEWEST" )     export PW_VULKAN_USE="2" ;; | ||||
|     "$SORT_G_NINE" )     export PW_VULKAN_USE="3" ;; | ||||
|     "$SORT_G_ZINK" )     export PW_VULKAN_USE="4" ;; | ||||
|       "$SORT_DGV2" )     export PW_VULKAN_USE="5" ;; | ||||
|     "$SORT_LEGACY" )     export PW_VULKAN_USE="5" ;; | ||||
| esac | ||||
|  | ||||
| init_wine_ver | ||||
|   | ||||
		Reference in New Issue
	
	Block a user