Commit 8721598d authored by Mikhail Tergoev's avatar Mikhail Tergoev

Gecko and Mono in .PortWINE. Fix for DEBUG. Add run *.bat

parent 8f825cd4
......@@ -136,7 +136,7 @@ class CompatData:
use_wined3d = "wined3d" in g_session.compat_config
builtin_dll_copy = os.environ.get("PROTON_DLL_COPY",
# #dxsetup redist
#dxsetup redist
# "d3dcompiler_*.dll," +
# "d3dcsx*.dll," +
# "d3dx*.dll," +
......@@ -146,8 +146,8 @@ class CompatData:
# "xaudio*.dll," +
# "xinput*.dll," +
# #vcruntime redist
"atl1*.dll," +
#vcruntime redist
# "atl1*.dll," +
# "concrt1*.dll," +
# "msvcp1*.dll," +
# "msvcr1*.dll," +
......@@ -161,7 +161,7 @@ class CompatData:
# "api-ms-win-crt-math-l1-1-0.dll," +
# "api-ms-win-crt-runtime-l1-1-0.dll," +
# "api-ms-win-crt-stdio-l1-1-0.dll," +
"ucrtbase.dll," +
# "ucrtbase.dll," +
#some games balk at ntdll symlink(?)
"ntdll.dll," +
......@@ -286,7 +286,7 @@ class Session:
#load environment overrides
if "PW_LOG" in os.environ and nonzero(os.environ["PW_LOG"]):
self.env.setdefault("WINEDEBUG", "+timestamp,+pid,+tid,+seh,+debugstr,+mscoree")
self.env.setdefault("WINEDEBUG", "fixme-all,err+loaddll,err+dll,err+file,err+reg")
self.env.setdefault("DXVK_LOG_LEVEL", "info")
self.env.setdefault("VKD3D_DEBUG", "warn")
self.env.setdefault("WINE_MONO_TRACE", "E:System.NotImplementedException")
......
......@@ -3,7 +3,7 @@
#DOOMEternalx64vk.exe
#Rating=1-5
################################################
#export PW_VULKAN_USE=dxvk #dxvk, vkd3d or 0 for OpenGL
export PW_VULKAN_USE=vkd3d
export WINEDLLOVERRIDES="amd_ags_x64=b,n"
#export PW_LOG=0 # Enable debug mode fo terminal
export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
......@@ -24,3 +24,5 @@ export PW_DXVK_NO_ASYNC=1
export LAUNCH_PARAMETERS="+com_skipIntroVideo 1 +com_skipSignInManager 1"
#export VK_ICD_FILENAMES="/home/xuser/.PortWINE/libs_v5/usr/lib/x86_64-linux-gnu/amd_icd64.json"
#export PW_GUI_DISABLED_CS=1
export PW_DXGI_FROM_DXVK=1
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
\ No newline at end of file
......@@ -9,4 +9,3 @@ export PW_GUI_DISABLED_CS=1
if [ -d "${PATH_TO_GAME}"/Movies ] ; then
mv "${PATH_TO_GAME}"/Movies "${PATH_TO_GAME}"/Movies_bak
fi
#!/bin/bash
#Author:
#RDR2.exe
#PlayRDR2.exe
#Rating=1-5
################################################
export PW_VULKAN_USE=vkd3d
export WINEDLLOVERRIDES="amd_ags_x64=b,n"
export PW_DXGI_FROM_DXVK=1
export LAUNCH_PARAMETERS="-adapter 1 -vulkan -width 1920 -height 1080 -USEALLAVAILABLECORES -cpuLoadRebalancing -ignorepipelinecach"
export PULSE_LATENCY_MSEC=60
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
......@@ -68,9 +68,11 @@ fi
########################################################################
export LAUNCH_PARAMETERS=""
export pw_libs_ver="_v5"
export pw_gecko_mono_ver="_v1"
export port_on_run="${PORT_SCRIPTS_PATH}/port_on"
export WINEDIR="${PORT_WINE_PATH}"/data/dist
export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}"
export WINE_MONO_GECKO="${HOME}/.PortWINE/mono_gecko${pw_gecko_mono_ver}"
export WINEARCH=win64
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx/"
export PW_COMPAT_DATA_PATH="${PORT_WINE_PATH}/data/"
......@@ -82,20 +84,6 @@ export urlg="https://portwine-linux.ru/portwine-faq/"
export PW_FTP_URL="https://portwine-linux.ru/ftp"
########################################################################
export PW_TERM=""
for pw_dist in "dxvk" "vkd3d"
do
if [ -d "${WINEDIR}"_"${pw_dist}"/share/wine/ ]; then
if [ -d "${WINEDIR}"/share/wine/gecko ]; then
rm -fr "${WINEDIR}"_"${pw_dist}"/share/wine/gecko
ln -s "${WINEDIR}"/share/wine/gecko "${WINEDIR}"_"${pw_dist}"/share/wine/
fi
if [ -d "${WINEDIR}"/share/wine/mono ]; then
rm -fr "${WINEDIR}"_"${pw_dist}"/share/wine/mono
ln -s "${WINEDIR}"/share/wine/mono "${WINEDIR}"_"${pw_dist}"/share/wine/
fi
fi
done
export PW_WINE_VER_DXVK=""
zen_width=500
if [ -f "${WINEDIR}"_dxvk/version ]; then
......@@ -120,13 +108,45 @@ fi
if [ -e "${WINELIB}/run.sh" ]; then
echo "######################################################"
echo "Runtime libraries is enabled"
pw_yad="${WINELIB}/usr/bin/yad"
PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e"
export pw_yad="${WINELIB}/usr/bin/yad"
export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e"
else
echo "######################################################"
echo "Runtime libraries is disabled"
fi
########################################################################
if [ ! -d "${WINE_MONO_GECKO}/gecko" ] || [ ! -d "${WINE_MONO_GECKO}/mono" ] ; then
echo "######################################################"
echo "Download and install wine mono and gecko..."
${PW_XTERM} wget -c -T 2 --output-document="${WINE_MONO_GECKO}.tar.xz" "${PW_FTP_URL}"/dist/mono_gecko${pw_gecko_mono_ver}.tar.xz
${PW_XTERM} tar -Jxvf "${WINE_MONO_GECKO}.tar.xz" -C "${HOME}/.PortWINE/"
rm -f "${WINE_MONO_GECKO}.tar.xz"
fi
if [ ! -d "${WINEDIR}"/share/wine/ ]; then
mkdir -p "${WINEDIR}"/share/wine/
fi
if [ -d "${WINEDIR}"/share/wine/gecko ]; then
rm -fr "${WINEDIR}"/share/wine/gecko
fi
ln -s "${WINE_MONO_GECKO}"/gecko "${WINEDIR}"/share/wine/
if [ -d "${WINEDIR}"/share/wine/mono ]; then
rm -fr "${WINEDIR}"/share/wine/mono
fi
ln -s "${WINE_MONO_GECKO}"/mono "${WINEDIR}"/share/wine/
for pw_dist in "dxvk" "vkd3d"
do
if [ -d "${WINEDIR}"_"${pw_dist}"/share/wine/ ]; then
if [ -d "${WINEDIR}"/share/wine/gecko ]; then
rm -fr "${WINEDIR}"_"${pw_dist}"/share/wine/gecko
cp -fr "${WINEDIR}"/share/wine/gecko "${WINEDIR}"_"${pw_dist}"/share/wine/
fi
if [ -d "${WINEDIR}"/share/wine/mono ]; then
rm -fr "${WINEDIR}"_"${pw_dist}"/share/wine/mono
cp -fr "${WINEDIR}"/share/wine/mono "${WINEDIR}"_"${pw_dist}"/share/wine/
fi
fi
done
########################################################################
if [ ! -z "${gamestart}" ]; then
export PORTWINE_DB=`echo "${gamestart}" | awk -F '/' 'NF>1{print $NF}' | awk -F '.exe' '{print $1}'`
elif [ ! -z "${portwine_exe}" ]; then
......@@ -174,8 +194,17 @@ if [ "${var_pw_vulkan}" = "0" ]; then
export WINEDIR="${WINEDIR}_dxvk"
export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}"
export mesa_glthread=true
export __GL_THREADED_OPTIMIZATIONS=1
export __GL_SHARPEN_IGNORE_FILM_GRAIN=0
export __GL_LOG_MAX_ANISO=0
export __GL_ALLOW_FXAA_USAGE=0
export __GL_SHARPEN_ENABLE=1
export __GL_SHARPEN_VALUE=0
export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}"
export __GL_SHADER_DISK_CACHE=1
export __GL_SHADER_DISK_CACHE_SIZE=1000000000
echo "Use OpenGL"
fi
fi #Modded by Rus_Nor
elif [ "${var_pw_vulkan}" = "dxvk" ]; then
export PW_USE_WINED3D=0
export PW_DXGI_FROM_DXVK=1
......@@ -229,7 +258,6 @@ if [ ! -z "${PW_NVIDIA}" ] && [ "${check_optimus_manager}" != "intel" ]; then
export __GL_SHADER_DISK_CACHE_SIZE=1000000000
export __GL_DXVK_OPTIMIZATIONS=1
else
export VK_ICD_FILENAMES
export DRI_PRIME=1
export VKD3D_CONFIG=force_bindless_texel_buffer
fi
......
......@@ -55,7 +55,7 @@ else
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
......
......@@ -10,6 +10,7 @@ PORTWINE_LAUNCH ()
KILL_PORTWINE
START_PORTWINE
PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi`
PORTWINE_BAT=`basename "${portwine_exe}" | grep .bat`
if [ ! -z "${PORTWINE_MSI}" ]; then
echo "PORTWINE_MSI=${PORTWINE_MSI}"
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
......@@ -19,6 +20,15 @@ if [ ! -z "${PORTWINE_MSI}" ]; then
else
$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" msiexec /i "$portwine_exe"
fi
elif [ ! -z "${PORTWINE_BAT}" ]; then
echo "PORTWINE_BAT=${PORTWINE_BAT}"
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
cd "$PATH_TO_GAME"
if [ ! -z ${optirun_on} ]; then
$PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" explorer "$portwine_exe"
else
$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" explorer "$portwine_exe"
fi
elif [ ! -z "${portwine_exe}" ]; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
cd "$PATH_TO_GAME"
......@@ -168,21 +178,21 @@ if [ ! -z "${portwine_exe}" ]; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
cd "$PATH_TO_GAME"
if [ ! -z ${optirun_on} ]; then
$PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "$portwine_exe" ${LAUNCH_PARAMETERS} 2>&1 &
$PW_XTERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "$portwine_exe" 2>&1 &
else
$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "$portwine_exe" ${LAUNCH_PARAMETERS} 2>&1 &
$PW_XTERM "${PW_RUNTIME}" "${port_on_run}" "run" "$portwine_exe" 2>&1 &
fi
elif [ -z "${gamestart}" ]; then
if [ ! -z $optirun_on ]; then
$PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" explorer 2>&1 &
$PW_XTERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" explorer 2>&1 &
else
$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" explorer 2>&1 &
$PW_XTERM "${PW_RUNTIME}" "${port_on_run}" "run" explorer 2>&1 &
fi
else
if [ ! -z $optirun_on ]; then
$PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "${gamestart}" ${LAUNCH_PARAMETERS} 2>&1 &
$PW_XTERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "${gamestart}" 2>&1 &
else
$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "${gamestart}" ${LAUNCH_PARAMETERS} 2>&1 &
$PW_XTERM "${PW_RUNTIME}" "${port_on_run}" "run" "${gamestart}" 2>&1 &
fi
fi
zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap && "${WINESERVER}" -k
......
......@@ -111,7 +111,7 @@ export PORT_WINE_PATH="${D_PATH}"
if [ ! -d "${PORT_WINE_PATH}" ];then
mkdir -p "$PORT_WINE_PATH"
else
for CLEAN_PORT in "dist" "dist_dxvk" "dist_vkd3d" "libs" "tmp" "scripts"
for CLEAN_PORT in "dist" "dist_dxvk" "dist_vkd3d" "libs" "tmp"
do
if [ -d "${PORT_WINE_PATH}/data/${CLEAN_PORT}" ];then
rm -fR "${PORT_WINE_PATH}/data/${CLEAN_PORT}"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment