Windows STEAM works for any version of the wine-proton

This commit is contained in:
castro-fidel
2020-12-17 23:23:37 +03:00
parent 999b4592be
commit 71b6108ee4
13 changed files with 65 additions and 127 deletions

View File

@ -5,6 +5,7 @@ START_PORTWINE
if [ -f "$1" ]; then
export portwine_exe="$(readlink -f "$1")"
export PATH_TO_GAME="$( cd "$( dirname "$1" )" >/dev/null 2>&1 && pwd )"
cd "$PATH_TO_GAME"
if [ ! -z ${optirun_on} ]; then
"${PW_RUNTIME}" $PW_TERM ${optirun_on} "${port_on_run}" "run" "$portwine_exe"
else

View File

@ -24,6 +24,7 @@ pwzen() {
zenity --progress --title="Settings..." --text="Please wait!" --pulsate --auto-close --auto-kill --width=450
}
########################################################################
ulimit -c unlimited
cd "$(dirname "`readlink -f "$0"`")"
export PORT_SCRIPTS_PATH="$(pwd)"
cd "${PORT_SCRIPTS_PATH}/../../"
@ -53,7 +54,7 @@ if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then
echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
fi
########################################################################
export pw_libs_ver="_v2"
export pw_libs_ver="_v3"
export port_on_run="${PORT_WINE_PATH}/data/port_on"
export WINEDIR="${PORT_WINE_PATH}"/data/dist
export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}"
@ -114,7 +115,7 @@ then
start_settings=`zenity --title "${ss_title}" --text "${ss_text}" --list --radiolist \
--column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}" --width=500 --height=220 \
TRUE "DXVK" "${ss_ogl_3}" \
FALSE "VKD3D and OpenGL" "${ss_ogl_2}" `
FALSE "VKD3D and OpenGL" "${ss_ogl_2}" `
if [ $? -eq 1 ];then exit 1; fi
case $start_settings in
"VKD3D and OpenGL")
@ -157,17 +158,20 @@ echo "DXVK_HUD=${DXVK_HUD}"
if [ "${var_dxvk_on}" != "off" ]; then
export PW_USE_WINED3D=0
export WINEDLLOVERRIDES="${WINEDLLOVERRIDES};dxgi=n"
export PW_DXGI_FROM_DXVK=1
echo "Use DXVK and D9VK (DX9-DX11 to Vulkan)"
else
export PW_USE_WINED3D=1
echo "Use OpenGL and VKD3D (DX9-DX11 to OpenGL and DX12 to vulkan)"
export PW_VKD3D_FEATURE_LEVEL=1
export VKD3D_CONFIG=force_bindless_texel_buffer
echo "Use OpenGL and VKD3D (DX9-DX11 to OpenGL and DX12 to vulkan)"
fi
export DXVK_STATE_CACHE_PATH="${PATH_TO_GAME}"
export DXVK_STATE_CACHE=1
export STAGING_SHARED_MEMORY=1
########################################################################
export optirun_on=
export check_optimus_manager=
@ -231,6 +235,11 @@ else
fi
echo "######################################################"
########################################################################
sed -i '/HKCU,Software\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf" &&
sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf" &&
sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf" &&
sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}/share/wine/wine.inf" &&
rm -f "${WINEDIR}"/lib*/wine/*steam*
if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/dosdevices ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || [ ! -f "${WINEPREFIX}"/system.reg ] || [ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ]; then
"${PW_RUNTIME}" $PW_TERM "${WINELOADER}" wineboot -u
fi
@ -248,8 +257,8 @@ fi
# echo "######################################################"
#fi
########################################################################
cp -f "${WINEDIR}/lib/wine/fakedlls/dxgi.dll" "${WINEDIR}/lib/wine/dxgi.dll"
cp -f "${WINEDIR}/lib64/wine/fakedlls/dxgi.dll" "${WINEDIR}/lib64/wine/dxgi.dll"
#cp -f "${WINEDIR}/lib/wine/fakedlls/dxgi.dll" "${WINEDIR}/lib/wine/dxgi.dll"
#cp -f "${WINEDIR}/lib64/wine/fakedlls/dxgi.dll" "${WINEDIR}/lib64/wine/dxgi.dll"
ADD_IN_START_PORTWINE
}

View File

@ -5,6 +5,7 @@
rm -f "${PORT_WINE_PATH}/"*".log"
rm -f "${PORT_WINE_TMP_PATH}/update_notifier"
rm -f "${PORT_WINE_TMP_PATH}/init_run_suc"
rm -fr "${PORT_WINE_PATH}/data/pfx/dosdevices"
if [ ! -d "/home/${USER}/.local/share/applications" ]
then
@ -117,8 +118,6 @@ if [ -f "${PORT_WINE_PATH}/restart.desktop" ]; then
rm "${PORT_WINE_PATH}/restart.desktop"
fi
update-desktop-database -q "${HOME}/.local/share/applications"
if [ "${s_install}" = "1" ]; then
echo "Installation completed successfully."
else

View File

@ -11,17 +11,10 @@ export gamestart="${PATH_TO_GAME}/Battle.net Launcher.exe"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_TERMINAL=0
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -30,7 +23,6 @@ export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches i
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=0
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
########################################################################

View File

@ -11,17 +11,10 @@ export gamestart="${PATH_TO_GAME}/EpicGamesLauncher.exe"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_TERMINAL=0
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -30,7 +23,6 @@ export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches i
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
########################################################################

View File

@ -11,17 +11,10 @@ export gamestart="${PATH_TO_GAME}/GalaxyClient.exe"
########################################################################
export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_TERMINAL=0
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -30,13 +23,25 @@ export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches i
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
########################################################################
GalaxyCommunication ()
{
for ((;;)); do
if [ $(pgrep !!!!.*)>'0' ]; then
"${WINEPREFIX}/drive_c/ProgramData/GOG.com/Galaxy/redists/GalaxyCommunication.exe"
break
else
sleep 2
fi
done
}
ADD_IN_START_PORTWINE ()
{
export launch_parameters=""
export launch_parameters="/runWithoutUpdating /deelevated"
GalaxyCommunication &
cd "${PATH_TO_GAME}"
}
########################################################################

View File

@ -10,7 +10,6 @@ export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/${gamedir}"
export gamestart="${PATH_TO_GAME}/RiotClientServices.exe"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export STAGING_SHARED_MEMORY=1
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export PW_LOG=0
export PW_ACO=1
@ -19,13 +18,11 @@ export PW_NO_FSYNC=1
export PW_NO_ESYNC=1
export PW_FILELOCK=1
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_SECCOMP=0
export PW_NO_WINEMFPLAY=0
export PW_NVAPI_DISABLE=1
export PW_NO_WRITE_WATCH=1
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_LARGE_ADDRESS_AWARE=0
########################################################################
ADD_IN_START_PORTWINE ()

View File

@ -10,7 +10,6 @@ export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/Local Se
export gamestart="${PATH_TO_GAME}/GameCenter.exe"
########################################################################
export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export STAGING_SHARED_MEMORY=0
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export PW_LOG=0
export PW_ACO=1
@ -22,7 +21,6 @@ export PW_NO_WINEMFPLAY=0
export PW_NVAPI_DISABLE=1
export PW_NO_WRITE_WATCH=1
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=1
export PW_FORCE_LARGE_ADDRESS_AWARE=1
########################################################################
ADD_IN_START_PORTWINE ()

View File

@ -13,17 +13,10 @@ export porturl="http://portwine-linux.ru/origin-linux/"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_TERMINAL=0
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -32,7 +25,6 @@ export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches i
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
########################################################################

View File

@ -12,17 +12,10 @@ export porturl="http://portwine-linux.ru/"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=1
export PW_USE_TERMINAL=0
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -30,10 +23,10 @@ export PW_NVAPI_DISABLE=1
export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_WINEDBG_DISABLE=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
#export PULSE_LATENCY_MSEC=60
########################################################################
ADD_IN_START_PORTWINE ()
{
@ -63,5 +56,5 @@ done
########################################################################
ADD_IN_POST_INSTALL ()
{
echo " "
update-desktop-database -q "${HOME}/.local/share/applications"
}

View File

@ -11,17 +11,10 @@ export porturl="https://portwine-linux.ru/uplay-linux/"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_TERMINAL=0
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -30,7 +23,6 @@ export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches i
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
########################################################################

View File

@ -11,17 +11,10 @@ export gamestart="${PATH_TO_GAME}/wgc.exe"
########################################################################
#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export STAGING_SHARED_MEMORY=1
export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_VR=1 # Disabled VR support
export PW_NO_D3D9=0 # Disable d3d9.dll
export PW_NO_D3D10=0 # Disable d3d10.dll, for d3d10 games which can fall back to and run better with d3d9
export PW_NO_D3D11=0 # Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9
export PW_NO_D3D12=0 # Disable d3d12.dll, for d3d12 games which can fall back to and run better with d3d11 or d3d9
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
export PW_DXVK_ASYNC=0
export PW_DXGI_NATIVE=0
export PW_USE_TERMINAL=1
export PW_OLD_GL_STRING=0
export PW_NO_WINEMFPLAY=0
@ -30,7 +23,6 @@ export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches i
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_WINEDBG_DISABLE=1
export PW_PULSE_LOWLATENCY=0
export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
########################################################################