|
|
|
@ -339,26 +339,27 @@ start_portwine () {
|
|
|
|
|
# export TOTAL_VRAM=`"${PW_WINELIB}/runtime/files/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
|
|
|
|
|
# echo "TOTAL_VRAM=${TOTAL_VRAM}"
|
|
|
|
|
|
|
|
|
|
echo "Try link wine DXGI by default..."
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
echo "Try link wine d3d filese by default..."
|
|
|
|
|
for wine_build_dll in d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
if [[ "${PW_VULKAN_USE}" == "0" ]] ; then
|
|
|
|
|
echo "Use OpenGL"
|
|
|
|
|
export GL_YIELD="NOTHING"
|
|
|
|
|
export mesa_glthread=true
|
|
|
|
|
echo "Try link wine DXGI..."
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
echo "Try link wine d3d filese..."
|
|
|
|
|
for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12="
|
|
|
|
|
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
|
|
|
|
|
echo "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
|
|
|
|
@ -367,22 +368,6 @@ start_portwine () {
|
|
|
|
|
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/d3d9.dll"
|
|
|
|
|
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/d3d9.dll"
|
|
|
|
|
var_winedlloverride_update "d3d9=n;wined3d=b;dxvk_config,vulkan-1,winevulkan="
|
|
|
|
|
echo "Try link wine DXGI..."
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
echo "Try link wine d3d filese..."
|
|
|
|
|
for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 dxgi ; do
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
unset FIND_D3D_MODULE D3D_MODULE_PATH
|
|
|
|
|
FIND_D3D_MODULE=`dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null`
|
|
|
|
|
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
|
|
|
|
@ -408,36 +393,30 @@ start_portwine () {
|
|
|
|
|
export WINE_FULLSCREEN_FSR=0
|
|
|
|
|
else
|
|
|
|
|
echo "Use VKD3D-PROTON and DXVK (DX 9-12 to vulkan)"
|
|
|
|
|
if [[ ! -z "${PW_USE_AMDVLK_DRIVER}" ]] && [[ "${PW_USE_AMDVLK_DRIVER}" != 0 ]] ; then
|
|
|
|
|
export AMD_VULKAN_ICD=AMDVLK
|
|
|
|
|
unset DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1
|
|
|
|
|
print_info "Try to use AMDVLK driver (only with MESA)"
|
|
|
|
|
else
|
|
|
|
|
export AMD_VULKAN_ICD=RADV
|
|
|
|
|
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
|
|
|
|
print_info "Try to use RADV driver (only with MESA)"
|
|
|
|
|
# if [[ ! -z "${PW_USE_AMDVLK_DRIVER}" ]] && [[ "${PW_USE_AMDVLK_DRIVER}" != 0 ]] ; then
|
|
|
|
|
# export AMD_VULKAN_ICD=AMDVLK
|
|
|
|
|
# unset DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1
|
|
|
|
|
# print_info "Try to use AMDVLK driver (only with MESA)"
|
|
|
|
|
# else
|
|
|
|
|
# export AMD_VULKAN_ICD=RADV
|
|
|
|
|
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
|
|
|
|
# print_info "Try to use RADV driver (only with MESA)"
|
|
|
|
|
# fi
|
|
|
|
|
# export VKD3D_FEATURE_LEVEL="12_0"
|
|
|
|
|
# export __GL_DXVK_OPTIMIZATIONS=1
|
|
|
|
|
# var_vkd3d_config_update no_upload_hvv
|
|
|
|
|
if [[ "${PW_USE_WINE_DXGI}" == 1 ]] || [[ "${PW_VULKAN_USE}" == 2 ]]; then
|
|
|
|
|
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config openvr_api_dxvk"
|
|
|
|
|
var_winedlloverride_update "d3d11,d3d10core,d3d9=n"
|
|
|
|
|
else
|
|
|
|
|
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config openvr_api_dxvk"
|
|
|
|
|
var_winedlloverride_update "d3d11,d3d10core,d3d9,dxgi=n"
|
|
|
|
|
fi
|
|
|
|
|
export VKD3D_FEATURE_LEVEL="12_0"
|
|
|
|
|
export __GL_DXVK_OPTIMIZATIONS=1
|
|
|
|
|
var_vkd3d_config_update no_upload_hvv
|
|
|
|
|
export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi dxvk_config openvr_api_dxvk"
|
|
|
|
|
echo "Try link native DXVK files..."
|
|
|
|
|
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
|
|
|
|
|
try_force_link_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
|
|
|
|
|
try_force_link_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_dxvk_dll}.dll"
|
|
|
|
|
done
|
|
|
|
|
if [[ "${PW_USE_WINE_DXGI}" == 1 ]] || [[ "${PW_VULKAN_USE}" == 2 ]]; then
|
|
|
|
|
echo "Try link wine DXGI..."
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
|
|
|
|
|
fi
|
|
|
|
|
var_winedlloverride_update "d3d11,d3d10core,d3d9,dxvk_config=n;dxgi=b"
|
|
|
|
|
else
|
|
|
|
|
var_winedlloverride_update "d3d11,d3d10core,d3d9,dxgi,dxvk_config=n"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
echo "Try link native VKD3D files..."
|
|
|
|
|
try_force_link_file "${WINEDIR}/lib/vkd3d/libvkd3d-shader-1.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/libvkd3d-shader-1.dll"
|
|
|
|
|
try_force_link_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/libvkd3d-shader-1.dll"
|
|
|
|
@ -446,6 +425,7 @@ start_portwine () {
|
|
|
|
|
try_force_link_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ ! -z "${PW_DX12_DISABLE}" && "${PW_DX12_DISABLE}" != 0 ]]
|
|
|
|
|
then var_winedlloverride_update "libvkd3d-proton-utils-3,libvkd3d-shader-1=n;d3d12="
|
|
|
|
|
else var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3,libvkd3d-shader-1=n"
|
|
|
|
@ -472,7 +452,7 @@ start_portwine () {
|
|
|
|
|
export DXVK_STATE_CACHE=1
|
|
|
|
|
create_new_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache"
|
|
|
|
|
export VKD3D_SHADER_CACHE_PATH="${PORT_WINE_TMP_PATH}/vkd3d_cache"
|
|
|
|
|
var_vkd3d_config_update pipeline_library_app_cache
|
|
|
|
|
# var_vkd3d_config_update pipeline_library_app_cache
|
|
|
|
|
else
|
|
|
|
|
export __GL_SHADER_DISK_CACHE=0
|
|
|
|
|
export DXVK_STATE_CACHE=0
|
|
|
|
@ -482,7 +462,7 @@ start_portwine () {
|
|
|
|
|
|
|
|
|
|
if [[ "${PW_WINE_FULLSCREEN_FSR}" == 1 ]] || [[ "${WINE_FULLSCREEN_FSR}" == 1 ]] ; then
|
|
|
|
|
export WINE_FULLSCREEN_FSR=1
|
|
|
|
|
export WINE_FULLSCREEN_FSR_STRENGTH=0
|
|
|
|
|
export WINE_FULLSCREEN_FSR_STRENGTH=1
|
|
|
|
|
export WINE_FULLSCREEN_INTEGER_SCALING=0
|
|
|
|
|
else
|
|
|
|
|
export WINE_FULLSCREEN_FSR=0
|
|
|
|
|