diff --git a/data_from_portwine/port_on b/data_from_portwine/port_on index 493c7ac8..50ef750c 100755 --- a/data_from_portwine/port_on +++ b/data_from_portwine/port_on @@ -135,32 +135,32 @@ class CompatData: use_wined3d = "wined3d" in g_session.compat_config builtin_dll_copy = os.environ.get("PROTON_DLL_COPY", - #dxsetup redist - "d3dcompiler_*.dll," + - "d3dcsx*.dll," + - "d3dx*.dll," + - "x3daudio*.dll," + - "xactengine*.dll," + - "xapofx*.dll," + - "xaudio*.dll," + - "xinput*.dll," + + # #dxsetup redist + # "d3dcompiler_*.dll," + + # "d3dcsx*.dll," + + # "d3dx*.dll," + + # "x3daudio*.dll," + + # "xactengine*.dll," + + # "xapofx*.dll," + + # "xaudio*.dll," + + # "xinput*.dll," + - #vcruntime redist - "atl1*.dll," + - "concrt1*.dll," + - "msvcp1*.dll," + - "msvcr1*.dll," + - "vcamp1*.dll," + - "vcomp1*.dll," + - "vccorlib1*.dll," + - "vcruntime1*.dll," + - "api-ms-win-crt-conio-l1-1-0.dll," + - "api-ms-win-crt-heap-l1-1-0.dll," + - "api-ms-win-crt-locale-l1-1-0.dll," + - "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," + + # #vcruntime redist + # "atl1*.dll," + + # "concrt1*.dll," + + # "msvcp1*.dll," + + # "msvcr1*.dll," + + # "vcamp1*.dll," + + # "vcomp1*.dll," + + # "vccorlib1*.dll," + + # "vcruntime1*.dll," + + # "api-ms-win-crt-conio-l1-1-0.dll," + + # "api-ms-win-crt-heap-l1-1-0.dll," + + # "api-ms-win-crt-locale-l1-1-0.dll," + + # "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," + #some games balk at ntdll symlink(?) "ntdll.dll," + @@ -225,6 +225,7 @@ class Session: def __init__(self): self.env = dict(os.environ) self.dlloverrides = { + "winemenubuilder.exe": "", "dotnetfx35.exe": "b", #replace the broken installer, as does Windows "mfplay": "n", #disable built-in mfplay "steam_api": "n", #disable built-in steam dll @@ -238,14 +239,6 @@ class Session: self.cmdlineappend = [] def init_wine(self): - if "HOST_LC_ALL" in self.env and len(self.env["HOST_LC_ALL"]) > 0: - #steam sets LC_ALL=C to help some games, but Wine requires the real value - #in order to do path conversion between win32 and host. steam sets - #HOST_LC_ALL to allow us to use the real value. - self.env["LC_ALL"] = self.env["HOST_LC_ALL"] - else: - self.env.pop("LC_ALL", "") - self.env.pop("WINEARCH", "") if 'ORIG_'+ld_path_var not in os.environ: @@ -263,10 +256,10 @@ class Session: self.env["WINE_GST_REGISTRY_DIR"] = g_compatdata.path("/tmp/gstreamer-1.0/") if "PW_COMPAT_MEDIA_PATH" in os.environ: - self.env["MEDIACONV_AUDIO_DUMP_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/tmp/audio.foz" - self.env["MEDIACONV_AUDIO_TRANSCODED_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/tmp/transcoded_audio.foz" - self.env["MEDIACONV_VIDEO_DUMP_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/tmp/video.foz" - self.env["MEDIACONV_VIDEO_TRANSCODED_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/tmp/transcoded_video.foz" + self.env["MEDIACONV_AUDIO_DUMP_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/audio.foz" + self.env["MEDIACONV_AUDIO_TRANSCODED_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/transcoded_audio.foz" + self.env["MEDIACONV_VIDEO_DUMP_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/video.foz" + self.env["MEDIACONV_VIDEO_TRANSCODED_FILE"] = os.environ["PW_COMPAT_MEDIA_PATH"] + "/transcoded_video.foz" if "PATH" in os.environ: self.env["PATH"] = g_proton.bin_dir + ":" + os.environ["PATH"] @@ -286,20 +279,20 @@ class Session: self.env["WINEPREFIX"] = g_compatdata.prefix_dir #load environment overrides - - #for performance, logging is disabled by default; override with user_settings.py - self.env.setdefault("WINEDEBUG", "-all") - self.env.setdefault("DXVK_LOG_LEVEL", "none") - self.env.setdefault("VKD3D_DEBUG", "none") if "PW_LOG" in os.environ and nonzero(os.environ["PW_LOG"]): self.env.setdefault("WINEDEBUG", "+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree") self.env.setdefault("DXVK_LOG_LEVEL", "info") self.env.setdefault("VKD3D_DEBUG", "warn") - self.env.setdefault("WINE_MONO_TRACE", "E:System.NotImplementedException") + self.env.setdefault("WINE_MONO_TRACE", "E:System.NotImplementedException") + else: + self.env.setdefault("WINEDEBUG", "-all") + self.env.setdefault("DXVK_LOG_LEVEL", "none") + self.env.setdefault("VKD3D_DEBUG", "none") + self.env.setdefault("DXVK_LOG_PATH","none") #default wine-mono override for FNA games -# self.env.setdefault("WINE_MONO_OVERRIDES", "Microsoft.Xna.Framework.*,Gac=n") + self.env.setdefault("WINE_MONO_OVERRIDES", "Microsoft.Xna.Framework.*,Gac=n") if "wined3d11" in self.compat_config: self.compat_config.add("wined3d") @@ -317,7 +310,8 @@ class Session: self.check_environment("PW_WINEDBG_DISABLE", "nowinedbg") self.check_environment("PW_HIDE_NVIDIA_GPU", "hidenvgpu") self.check_environment("PW_VKD3D_FEATURE_LEVEL", "vkd3dfl12") - + self.check_environment("PW_DX12_DISABLED", "nod3d12") + if "noesync" in self.compat_config: self.env.pop("WINEESYNC", "") else: @@ -347,9 +341,6 @@ class Session: if "hidenvgpu" in self.compat_config: self.env["WINE_HIDE_NVIDIA_GPU"] = "1" - else: - self.env["WINEDEBUG"] = "-all" - g_compatdata.setup_prefix() if "nowritewatch" in self.compat_config: @@ -362,6 +353,9 @@ class Session: if "nowinedbg" in self.compat_config: self.dlloverrides["winedbg.exe"] = "d" + if "nod3d12" in self.compat_config: + self.dlloverrides["d3d12"] = "d" + s = "" for dll in self.dlloverrides: setting = self.dlloverrides[dll] diff --git a/data_from_portwine/scripts/create_shortcut b/data_from_portwine/scripts/create_shortcut index 262c97d7..c377c5ef 100755 --- a/data_from_portwine/scripts/create_shortcut +++ b/data_from_portwine/scripts/create_shortcut @@ -2,9 +2,13 @@ # Author: PortWINE-Linux.ru . "$(dirname $(readlink -f "$0"))/runlib" ######################################################################## -PORTPROTON_EXE=$(zenity --file-selection --file-filter=""*.exe" "*.bat"" \ ---title="${sc_path}" --filename="${PORT_WINE_PATH}/data/pfx/drive_c/") -if [ $? -eq 1 ];then exit 1; fi +if [ ! -z "$1" ]; then + PORTPROTON_EXE="$1" +else + PORTPROTON_EXE=$(zenity --file-selection --file-filter=""*.exe" "*.bat"" \ + --title="${sc_path}" --filename="${PORT_WINE_PATH}/data/pfx/drive_c/") + if [ $? -eq 1 ];then exit 1; fi +fi PORTPROTON_NAME="$(basename "${PORTPROTON_EXE}" | sed s/".exe"/""/g )" PORTPROTON_PATH="$( cd "$( dirname "${PORTPROTON_EXE}" )" >/dev/null 2>&1 && pwd )" if [ -x "`which wrestool 2>/dev/null`" ]; then @@ -13,49 +17,24 @@ if [ -x "`which wrestool 2>/dev/null`" ]; then cp -f "${PORTPROTON_EXE}.ico" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.ico" fi PORTPROTON_CMD="" -PORTPROTON_CMD=$(zenity --entry --text "${sc_cmd}") -if [ $? -eq 1 ];then exit 1; fi +# PORTPROTON_CMD=$(zenity --entry --text "${sc_cmd}") +# if [ $? -eq 1 ];then exit 1; fi 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}" ` - if [ $? -eq 1 ];then exit 1; fi - case $start_settings in - "VKD3D and OpenGL") - dxvk_ogl_var="off" ;; - "DXVK") - hud_settings=`zenity --list --title "HUD" --text "${hud_text}" --list --checklist \ - --column="${inst_set}" --column="HUD info:" --column="${hud_info}" --width=800 --height=550 \ - FALSE "fps" "${hud_fps}" \ - FALSE "devinfo" "${hud_devinfo}" \ - FALSE "frametimes" "${hud_frametimes}" \ - FALSE "submissions" "${hud_submissions}" \ - FALSE "drawcalls" "${hud_drawcalls}" \ - FALSE "pipelines" "${hud_pipelines}" \ - FALSE "memory" "${hud_memory}" \ - FALSE "gpuload" "${hud_gpuload}" \ - FALSE "version" "${hud_version}" \ - FALSE "api" "${hud_api}" \ - FALSE "compiler" "${hud_compiler}" \ - FALSE "samplers" "${hud_samplers}" ` - - if [ ! -z $hud_settings ]; then - for hud_set in $hud_settings - do - echo "${hud_set}" >> "${PORT_WINE_TMP_PATH}/dxvk_on_shortcut" - done - sed -i "s/|/,/g" "${PORT_WINE_TMP_PATH}/dxvk_on_shortcut" - read "hud_set" < "${PORT_WINE_TMP_PATH}/dxvk_on_shortcut" - export dxvk_ogl_var="$hud_set" - else - dxvk_ogl_var="0" - fi ;; - esac +--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}" ` +if [ $? -eq 1 ];then exit 1; fi +case $start_settings in +"VKD3D and OpenGL") + dxvk_ogl_var="off" ;; +"DXVK") + dxvk_ogl_var="0" ;; +esac ######################################################################## name_desktop="${PORTPROTON_NAME}" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Exec="env dxvk_ogl_var=$dxvk_ogl_var launch_parameters="${PORTPROTON_CMD}" PATH_TO_GAME=\""$PORTPROTON_PATH"\" sh \"${PORT_SCRIPTS_PATH}/start\" \"${PORTPROTON_EXE}\" "" \ +echo "Exec="env dxvk_ogl_var=$dxvk_ogl_var launch_parameters=\""${PORTPROTON_CMD}"\" PATH_TO_GAME=\""$PORTPROTON_PATH"\" sh \"${PORT_SCRIPTS_PATH}/start\" \"${PORTPROTON_EXE}\" "" \ >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" diff --git a/data_from_portwine/scripts/debug b/data_from_portwine/scripts/debug index 818c6eac..fbef3ed8 100755 --- a/data_from_portwine/scripts/debug +++ b/data_from_portwine/scripts/debug @@ -1,15 +1,15 @@ #!/bin/bash # Author: PortWINE-Linux.ru . "$(dirname $(readlink -f "$0"))/runlib" -"${WINESERVER}" -k -if [ -e "${PORT_WINE_TMP_PATH}/dxvk_on" ]; then - rm -f "${PORT_WINE_TMP_PATH}/dxvk_on" -fi +KILL_PORTWINE export PW_USE_TERMINAL=1 START_PORTWINE echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log" echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log" echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" +echo "GLIBC version:" >> "${PORT_WINE_PATH}/${portname}.log" +echo "echo $(ldd --version)" | grep ldd >> "${PORT_WINE_PATH}/${portname}.log" +echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "PortWINE version:" >> "${PORT_WINE_PATH}/${portname}.log" read install_ver < "${PORT_WINE_TMP_PATH}/${portname}_ver" echo "${portname}-${install_ver}" >> "${PORT_WINE_PATH}/${portname}.log" @@ -85,7 +85,7 @@ else fi fi zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap && "${WINESERVER}" -k -STOP_PORTWINE | pwzen +STOP_PORTWINE | sszen cat "${PORT_WINE_PATH}/${portname}.log.wine" >> "${PORT_WINE_PATH}/${portname}.log" rm -f "${PORT_WINE_PATH}/${portname}.log.wine" deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') diff --git a/data_from_portwine/scripts/remove b/data_from_portwine/scripts/remove deleted file mode 100755 index 5f2178c4..00000000 --- a/data_from_portwine/scripts/remove +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru - -. "$(dirname $(readlink -f "$0"))/runlib" - -xsd=`zenity --title "${port_del1}" --text "${port_del2}" \ ---list --radiolist --column="${inst_set}" --column "${port_del3}" \ -TRUE "${port_del4}" \ -FALSE "${port_del5}" ` -if [ $? -eq 1 ];then exit 1; fi - case $xsd in - "${port_del4}") - exit 0 ;; - "${port_del5}") - rm -fR "/home/${USER}/.local/share/applications/${gamename}.desktop" - ADD_IN_POST_UNINSTALL - zenity --info --title "PortWINE ${port_del6}!" --text "$portname ${port_del6}!" --no-wrap ;; - esac -exit 0 diff --git a/data_from_portwine/scripts/reset b/data_from_portwine/scripts/reset index 939170fa..29de50e4 100755 --- a/data_from_portwine/scripts/reset +++ b/data_from_portwine/scripts/reset @@ -1,13 +1,9 @@ #!/bin/bash # Author: PortWINE-Linux.ru . "$(dirname $(readlink -f "$0"))/runlib" -"${WINESERVER}" -k -wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | perl -pe 's;^.*/proc/(\d+)/exe.*$;$1;g;') -if ! [ -z "${wine_pids}" ] ; then - kill -9 ${wine_pids} -fi +KILL_PORTWINE if [ -e "${PORT_WINE_TMP_PATH}/dxvk_on" ]; then rm -f "${PORT_WINE_TMP_PATH}/dxvk_on" fi START_PORTWINE -STOP_PORTWINE | pwzen +STOP_PORTWINE | sszen diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index f2fd4b12..f6f71a1d 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -17,14 +17,9 @@ if [ "${s_install}" != "1" ] && [ ! -x "`which "zenity" 2>/dev/null`" ];then fi ######################################################################## sszen() { -zenity --progress --title="Settings..." --text="Updating start parameters" --pulsate --auto-close --auto-kill --width=450 +zenity --progress --title="Settings..." --text="Updating parameters" --no-cancel --pulsate --auto-close --width 400 } ######################################################################## -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}/../../" @@ -48,6 +43,11 @@ if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_loc" ]; then FALSE "ENG" ` echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" fi +if [ "${portname}" = "PortProton" ]; then + if [ -e "${PORT_WINE_TMP_PATH}/dxvk_on" ]; then + rm -f "${PORT_WINE_TMP_PATH}/dxvk_on" + fi +fi ######################################################################## . "${PORT_SCRIPTS_PATH}"/lang if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then @@ -59,14 +59,9 @@ 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}" export WINEARCH=win64 -export WINELOADER="${WINEDIR}/bin/wine" -export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" -export WINESERVER="${WINEDIR}/bin/wineserver" -export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" -export PATH="${WINEDIR}/bin:${PATH}" -export WINESTART="C:\\windows\\command\\start.exe" +export WINEPREFIX="${PORT_WINE_PATH}/data/pfx/" export PW_COMPAT_DATA_PATH="${PORT_WINE_PATH}/data/" -export PW_COMPAT_MEDIA_PATH="${PW_COMPAT_MEDIA_PATH}" +export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}/" export PW_RUNTIME="$WINELIB/run.sh" ######################################################################## export urlg="https://portwine-linux.ru/portwine-faq/" @@ -76,6 +71,33 @@ export PW_TERM="" #if [ ! -f "${PORT_WINE_TMP_PATH}/init_run_suc" ]; then # export PW_USE_TERMINAL="1" #fi +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 + read PW_WINE_VER_DXVK < "${WINEDIR}"_dxvk/version + PW_WINE_VER_DXVK="( wine: $PW_WINE_VER_DXVK )" + zen_width=1000 +fi +export PW_WINE_VER_VKD3D="" +if [ -f "${WINEDIR}"_vkd3d/version ]; then + read PW_WINE_VER_VKD3D < "${WINEDIR}"_vkd3d/version + PW_WINE_VER_VKD3D="( wine: $PW_WINE_VER_VKD3D )" + zen_width=1000 +fi ######################################################################## START_PORTWINE () { @@ -94,14 +116,14 @@ if [ "${PW_USE_TERMINAL}" = "1" ]; then fi sh "${PORT_SCRIPTS_PATH}"/port_update ######################################################################## -if [ ! -d "${WINELIB}" ]; then +if [ ! -e "${WINELIB}/run.sh" ]; then echo "Download and install libraries..." wget -c -T 2 --output-document="${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${PW_FTP_URL}"/dist/libs${pw_libs_ver}.tar.xz | sszen && tar -Jxvf "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" -C "${HOME}/.PortWINE/" | sszen && rm -f "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${WINELIB}"/setup.sh --force fi -if [ -d "${WINELIB}" ]; then +if [ -e "${WINELIB}/run.sh" ]; then echo "######################################################" echo "Runtime libraries is enabled" # "${PW_RUNTIME}" --print-steam-runtime-library-paths @@ -110,112 +132,45 @@ else echo "Runtime libraries is disabled" fi ######################################################################## -export PW_WINE_VER_DXVK="" -zen_width=500 -if [ -f "${WINEDIR}"_dxvk/version ]; then - read PW_WINE_VER_DXVK < "${WINEDIR}"_dxvk/version - PW_WINE_VER_DXVK=" ( wine: $PW_WINE_VER_DXVK )" - zen_width=1000 -fi -export PW_WINE_VER_VKD3D="" -if [ -f "${WINEDIR}"_vkd3d/version ]; then - read PW_WINE_VER_VKD3D < "${WINEDIR}"_vkd3d/version - PW_WINE_VER_VKD3D=" ( wine: $PW_WINE_VER_VKD3D )" - zen_width=1000 -fi -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 -if [ ! -f "${PORT_WINE_TMP_PATH}/dxvk_on" ] -then - start_settings=`zenity --title "${ss_title}" --text "${ss_text}" --list --radiolist \ - --column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}" --width=$zen_width --height=220 \ - TRUE "DXVK ${PW_WINE_VER_DXVK}" "${ss_ogl_3}" \ - FALSE "VKD3D ${PW_WINE_VER_VKD3D}" "${ss_ogl_2}" ` - if [ $? -eq 1 ];then exit 1; fi - case $start_settings in - "VKD3D ${PW_WINE_VER_VKD3D}") - echo "off" > "${PORT_WINE_TMP_PATH}/dxvk_on" ;; - "DXVK ${PW_WINE_VER_DXVK}") - hud_settings=`zenity --list --title "HUD" --text "${hud_text}" --list --checklist \ - --column="${inst_set}" --column="HUD info:" --column="${hud_info}" --width=800 --height=550 \ - FALSE "fps" "${hud_fps}" \ - FALSE "devinfo" "${hud_devinfo}" \ - FALSE "frametimes" "${hud_frametimes}" \ - FALSE "submissions" "${hud_submissions}" \ - FALSE "drawcalls" "${hud_drawcalls}" \ - FALSE "pipelines" "${hud_pipelines}" \ - FALSE "memory" "${hud_memory}" \ - FALSE "gpuload" "${hud_gpuload}" \ - FALSE "version" "${hud_version}" \ - FALSE "api" "${hud_api}" \ - FALSE "compiler" "${hud_compiler}" \ - FALSE "samplers" "${hud_samplers}" ` - - if [ ! -z $hud_settings ]; then - for hud_set in $hud_settings - do - echo "${hud_set}" >> "${PORT_WINE_TMP_PATH}/dxvk_on" - done - sed -i "s/|/,/g" "${PORT_WINE_TMP_PATH}/dxvk_on" - else - echo "0" > "${PORT_WINE_TMP_PATH}/dxvk_on" - fi ;; - esac -fi - if [ ! -z $dxvk_ogl_var ]; then var_dxvk_on="${dxvk_ogl_var}" else + if [ ! -f "${PORT_WINE_TMP_PATH}/dxvk_on" ]; then + start_settings=`zenity --title "${ss_title}" --text "${ss_text}" --list --radiolist \ + --column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}" --width=$zen_width --height=220 \ + TRUE "DXVK ${PW_WINE_VER_DXVK}" "${ss_ogl_3}" \ + FALSE "VKD3D ${PW_WINE_VER_VKD3D}" "${ss_ogl_2}" ` + if [ $? -eq 1 ];then exit 1; fi + case $start_settings in + "VKD3D ${PW_WINE_VER_VKD3D}") + echo "off" > "${PORT_WINE_TMP_PATH}/dxvk_on" ;; + "DXVK ${PW_WINE_VER_DXVK}") + echo "0" > "${PORT_WINE_TMP_PATH}/dxvk_on" ;; + esac + fi read "var_dxvk_on" < "${PORT_WINE_TMP_PATH}/dxvk_on" fi -export DXVK_HUD="${var_dxvk_on}" -echo "DXVK_HUD=${DXVK_HUD}" - - -export WINEDIR="${PORT_WINE_PATH}"/data/dist -export WINELOADER="${WINEDIR}/bin/wine" -export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" -export WINESERVER="${WINEDIR}/bin/wineserver" -export PATH="${WINEDIR}/bin:${PATH}" - - if [ "${var_dxvk_on}" != "off" ]; then export PW_USE_WINED3D=0 export PW_DXGI_FROM_DXVK=1 + export PW_DX12_DISABLED=1 if [ -d "${WINEDIR}_dxvk" ]; then export WINEDIR="${WINEDIR}_dxvk" - export WINELOADER="${WINEDIR}/bin/wine" - export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" - export WINESERVER="${WINEDIR}/bin/wineserver" - export PATH="${WINEDIR}/bin:${PATH}" fi echo "Use DXVK and D9VK (DX9-DX11 to Vulkan)" - else export PW_USE_WINED3D=1 export PW_VKD3D_FEATURE_LEVEL=1 - export VKD3D_CONFIG=force_bindless_texel_buffer if [ -d "${WINEDIR}_vkd3d" ]; then export WINEDIR="${WINEDIR}_vkd3d" - export WINELOADER="${WINEDIR}/bin/wine" - export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" - export WINESERVER="${WINEDIR}/bin/wineserver" - export PATH="${WINEDIR}/bin:${PATH}" fi echo "Use OpenGL and VKD3D (DX9-DX11 to OpenGL and DX12 to vulkan)" fi +export WINELOADER="${WINEDIR}/bin/wine" +export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" +export WINESERVER="${WINEDIR}/bin/wineserver" +export PATH="${WINEDIR}/bin:${PATH}" 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 @@ -252,6 +207,7 @@ if [ ! -z "${PW_NVIDIA}" ] && [ "${check_optimus_manager}" != "intel" ]; then export __GL_DXVK_OPTIMIZATIONS=1 else export DRI_PRIME=1 + export VKD3D_CONFIG=force_bindless_texel_buffer # export MESA_GLSL_CACHE_DIR="${PATH_TO_GAME}" # export mesa_glthread=true fi @@ -290,21 +246,24 @@ 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* +sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf && + +rm -f "${WINEDIR}"*/lib*/*steam* && +rm -f "${WINEDIR}"*/lib*/wine/*steam* && +rm -f "${WINEDIR}"*/lib*/wine/fakedlls/*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 - export SYSTEM_LANG="${LANG}" - export SYSTEM_LC_ALL="${LC_ALL}" - export SYSTEM_LC_CTYPE="${LC_CTYPE}" - export LANG="en_US.UTF-8" - export LC_ALL="en_US.UTF-8" - export LC_CTYPE="en_US.UTF-8" - $PW_TERM "${PW_RUNTIME}" "${WINELOADER}" wineboot -u - export LANG="${SYSTEM_LANG}" - export LC_ALL="${SYSTEM_LC_ALL}" - export LC_CTYPE="${SYSTEM_LC_CTYPE}" + if [ ! -z "$(cat /etc/locale.gen | grep "^en_US.UTF-8")" ]; then + export PW_LANG_OS="${LANG}" + export LANG=en_US.UTF-8 + fi + $PW_TERM "${PW_RUNTIME}" "${WINELOADER}" wineboot -u && + export LANG="${PW_LANG_OS}" fi -rm -f "${WINEPREFIX}/drive_c/windows/system32"/steam* -rm -f "${WINEPREFIX}/drive_c/windows/syswow64"/steam* +sed -i '/steamclient/d' "${WINEPREFIX}"/*.reg && +sed -i '/SteamPath/d' "${WINEPREFIX}"/*.reg && + +rm -f "${WINEPREFIX}/drive_c/windows/system32"/steam* && +rm -f "${WINEPREFIX}/drive_c/windows/syswow64"/steam* && ######################################################################## #if [ ! -f "${PORT_WINE_TMP_PATH}/init_run_suc" ]; then # "${PW_RUNTIME}" "${port_on_run}" "init_run" @@ -330,6 +289,14 @@ while [ $(pgrep wineserver)>'0' ]; do done } ######################################################################## +KILL_PORTWINE () +{ +wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}') #modded by Cefeiko +if ! [ -z "${wine_pids}" ] ; then + kill -9 ${wine_pids} +fi +} +######################################################################## STOP_PORTWINE () { WAIT_WINESERVER @@ -340,7 +307,6 @@ fi if [ ! -z ${PW_XKBD} ]; then setxkbmap ${PW_XKBD} fi -#killall -r -s9 winedevice rm -f "${PORT_WINE_PATH}"/0 rm -f "${PORT_SCRIPTS_PATH}"/0 } diff --git a/data_from_portwine/scripts/settings.sh b/data_from_portwine/scripts/settings.sh new file mode 100755 index 00000000..af15b1a1 --- /dev/null +++ b/data_from_portwine/scripts/settings.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# Author: PortWINE-Linux.ru +########################## +. "$(dirname $(readlink -f "$0"))/runlib" +KILL_PORTWINE +########################## +PW_WINECFG () +{ +START_PORTWINE +$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "winecfg" +} +########################## +PW_WINEFILE () +{ +START_PORTWINE +cd "${WINEPREFIX}/drive_c/" +if [ ! -z ${optirun_on} ] +then + $PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "explorer" +else + $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "explorer" +fi +} +########################## +PW_WINECMD () +{ +export PW_USE_TERMINAL=1 +START_PORTWINE +if [ ! -z ${optirun_on} ] +then + $PW_TERM "${PW_RUNTIME}" "${optirun_on}" "${port_on_run}" "run" "cmd" +else + $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "cmd" +fi +} +########################## +PW_WINEREG () +{ +START_PORTWINE +$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "regedit" +} +########################## +PW_WINETRICKS () +{ +W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" +W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" +if ! [[ -f "${PORT_WINE_TMP_PATH}/winetricks" ]] +then + wget -T 3 --output-document=${PORT_WINE_TMP_PATH}/winetricks ${W_TRX_URL} + chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" +else +W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" + if [[ $W_TRX_INT_VER != $W_TRX_EXT_VER ]] + then + rm -f "${PORT_WINE_TMP_PATH}/winetricks" + wget -T 3 --output-document=${PORT_WINE_TMP_PATH}/winetricks ${W_TRX_URL} + chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" + fi +fi #modded by Cefeiko +export PW_USE_TERMINAL=1 +START_PORTWINE +$PW_TERM "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q --force +} +########################## +OUTPUT=$(yad --form \ +--title "SETTINGS" --image "winecfg" --separator=";" \ +--field="WINE:CB" "DXVK ${PW_WINE_VER_DXVK}"!"VKD3D ${PW_WINE_VER_VKD3D}" \ +--button='WINECFG'!winecfg!"Run winecfg for $portname":100 \ +--button='WINEFILE'!winecfg!'проверка подсказки1':102 \ +--button='WINECMD'!winecfg!'проверка подсказки2':104 \ +--button='WINEREG'!winecfg!'проверка подсказки3':106 \ +--button='WINETRICKS'!winecfg!'проверка подсказки4 - бла бла бла бла бла ла ла ла =)':108 ) +PW_YAD_SET="$?" +export VULKAN_MOD=$(echo $OUTPUT | awk 'BEGIN {FS=";" } { print $1 }') +if [ "${VULKAN_MOD}" = "DXVK ${PW_WINE_VER_DXVK}" ]; then + echo "0" > "${PORT_WINE_TMP_PATH}/dxvk_on" +else + echo "off" > "${PORT_WINE_TMP_PATH}/dxvk_on" +fi +case "$PW_YAD_SET" in + 100) PW_WINECFG ;; + 102) PW_WINEFILE ;; + 104) PW_WINECMD ;; + 106) PW_WINEREG ;; + 108) PW_WINETRICKS ;; +esac +########################## +STOP_PORTWINE diff --git a/data_from_portwine/scripts/setup b/data_from_portwine/scripts/setup index e2b17935..aecbb409 100755 --- a/data_from_portwine/scripts/setup +++ b/data_from_portwine/scripts/setup @@ -7,11 +7,17 @@ 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 "${PORT_WINE_PATH}/Settings" ]; then + rm -fr "${PORT_WINE_PATH}/Settings" +fi + if [ ! -d "/home/${USER}/.local/share/applications" ] then mkdir -p "/home/${USER}/.local/share/applications" fi + + if [ ! -z "${gamename}" ]; then name_desktop="${gamename}" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -25,7 +31,7 @@ if [ ! -z "${gamename}" ]; then chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ else - name_desktop="PortProton" + name_desktop="PortProton" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Exec=env "${PORT_SCRIPTS_PATH}/portproton.sh %U"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -37,6 +43,20 @@ else echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ + + name_desktop="Create_shortcut_PP" + echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Exec=env "${PORT_SCRIPTS_PATH}/create_shortcut %U"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + 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;" >> "${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" + echo "NoDisplay=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" + cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ fi name_desktop="readme" @@ -48,22 +68,6 @@ echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${PORT_WINE_PATH}/${name echo "URL=${urlg}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" -rm -fR "${PORT_WINE_PATH}/Settings" -mkdir -p "${PORT_WINE_PATH}/Settings" - -for name_desktop in "winecfg" "winefile" "winecmd" "winereg" "create_shortcut" -do -echo ""[Desktop Entry]" -"Name=${name_desktop}" -"Exec=sh "${PORT_SCRIPTS_PATH}/${name_desktop}"" -"Type=Application" -"Categories=Game" -"StartupNotify=true" -"Path="${PORT_SCRIPTS_PATH}/"" -"Icon="${PORT_WINE_PATH}/data/img/s.png""" > "${PORT_WINE_PATH}/Settings/${name_desktop}.desktop" -chmod u+x "${PORT_WINE_PATH}/Settings/${name_desktop}.desktop" -done - for name_desktop in "debug" "reset" do echo ""[Desktop Entry]" @@ -77,25 +81,16 @@ do chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" done -echo ""[Desktop Entry]" -"Name=winetricks" -"Exec=sh "${PORT_SCRIPTS_PATH}/remove"" +name_desktop="settings.sh" +echo ""settings" +"Name=settings" +"Exec=sh "${PORT_SCRIPTS_PATH}/${name_desktop}"" "Type=Application" "Categories=Game" "StartupNotify=true" "Path="${PORT_SCRIPTS_PATH}/"" -"Icon="${PORT_WINE_PATH}/data/img/rm.png""" > "${PORT_WINE_PATH}/Settings/remove.desktop" -chmod u+x "${PORT_WINE_PATH}/Settings/remove.desktop" - -echo ""[Desktop Entry]" -"Name=winetricks" -"Exec=sh "${PORT_SCRIPTS_PATH}/winetricks-q-force"" -"Type=Application" -"Categories=Game" -"StartupNotify=true" -"Path="${PORT_SCRIPTS_PATH}/"" -"Icon="${PORT_WINE_PATH}/data/img/s.png""" > "${PORT_WINE_PATH}/Settings/winetricks.desktop" -chmod u+x "${PORT_WINE_PATH}/Settings/winetricks.desktop" +"Icon="${PORT_WINE_PATH}/data/img/s.png""" > "${PORT_WINE_PATH}/${name_desktop}.desktop" +chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_SCRIPTS_PATH}/"* @@ -103,6 +98,14 @@ if [ ! -d "${PORT_WINE_PATH}/drive_c" ]; then ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/drive_c" fi +if [ -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ] && [ ! -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then + cp -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"/* "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/" + rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" +elif [ -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then + rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" +fi +ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" + if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" fi diff --git a/data_from_portwine/scripts/start b/data_from_portwine/scripts/start index 7ffe0dba..42063bbc 100755 --- a/data_from_portwine/scripts/start +++ b/data_from_portwine/scripts/start @@ -1,21 +1,20 @@ #!/bin/bash # Author: PortWINE-Linux.ru . "$(dirname $(readlink -f "$0"))/runlib" -# "${WINESERVER}" -k -START_PORTWINE - if [ ! -z "$1" ]; then + KILL_PORTWINE + START_PORTWINE if [ ! -z $optirun_on ]; then - $PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "$1" + $PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "$1" ${launch_parameters} else - $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "$1" + $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "$1" ${launch_parameters} fi -else +else + START_PORTWINE if [ ! -z $optirun_on ]; then $PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "${gamestart}" ${launch_parameters} else $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "${gamestart}" ${launch_parameters} fi fi - STOP_PORTWINE \ No newline at end of file diff --git a/data_from_portwine/scripts/vars/PortOSU_vars b/data_from_portwine/scripts/vars/PortOSU_vars new file mode 100755 index 00000000..ed755d88 --- /dev/null +++ b/data_from_portwine/scripts/vars/PortOSU_vars @@ -0,0 +1,47 @@ +#!/bin/bash +# License GPL +# Author: Tergoev M.A. +######################################################################## +export portname="PortOSU" +export gamename="OSU!" +export gamedir="osu!" +export porturl="http://portwine-linux.ru/osu-linux/" +if [ ! -z ${gamedir} ]; then + export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/Program Files (x86)/${gamedir}" +fi +export gamestart="${PATH_TO_GAME}/osu!.exe" +######################################################################## +#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT +export WINEDLLOVERRIDES="" +export PW_LOG=0 # Enable debug mode fo terminal +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_USE_TERMINAL=0 +export PW_OLD_GL_STRING=0 +export PW_NVAPI_DISABLE=0 +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=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +export PW_WINEDBG_DISABLE=1 +export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +export PW_FORCE_LARGE_ADDRESS_AWARE=0 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +export PULSE_LATENCY_MSEC=40 +#export MANGOHUD=1 +######################################################################## +ADD_IN_START_PORTWINE () +{ +export launch_parameters="" +export STAGING_AUDIO_DURATION=5000 +cd "${PATH_TO_GAME}" +} +######################################################################## +ADD_IN_STOP_PORTWINE () +{ +echo " " +} +######################################################################## +ADD_IN_POST_INSTALL () +{ +echo " " +} diff --git a/data_from_portwine/scripts/vars/PortProton_vars b/data_from_portwine/scripts/vars/PortProton_vars index 4e08abe7..b120302a 100755 --- a/data_from_portwine/scripts/vars/PortProton_vars +++ b/data_from_portwine/scripts/vars/PortProton_vars @@ -11,23 +11,23 @@ export gamestart="${PATH_TO_GAME}/.exe" export porturl="http://portwine-linux.ru/" ######################################################################## #export MESA_GL_VERSION_OVERRIDE=4.4COMPAT -export WINEDLLOVERRIDES="winemenubuilder.exe=d" +export WINEDLLOVERRIDES="" 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. +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=1 # Do not use eventfd-based in-process synchronization primitives -export PW_DXVK_ASYNC=1 +export PW_DXVK_ASYNC=0 export PW_USE_TERMINAL=0 export PW_OLD_GL_STRING=0 -export PW_NO_WINEMFPLAY=0 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=0 +export PW_WINEDBG_DISABLE=1 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 #export MANGOHUD=1 +#export DXVK_HUD=fps,devinfo ######################################################################## ADD_IN_START_PORTWINE () { diff --git a/data_from_portwine/scripts/winecfg b/data_from_portwine/scripts/winecfg deleted file mode 100755 index e8fee895..00000000 --- a/data_from_portwine/scripts/winecfg +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -. "$(dirname $(readlink -f "$0"))/runlib" -"${WINESERVER}" -k -START_PORTWINE -PW_LOG=1 -if [ ! -z ${optirun_on} ] -then - $PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "winecfg" >&2 -else - $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "winecfg" >&2 -fi -STOP_PORTWINE diff --git a/data_from_portwine/scripts/winecmd b/data_from_portwine/scripts/winecmd deleted file mode 100755 index eb3a307d..00000000 --- a/data_from_portwine/scripts/winecmd +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -. "$(dirname $(readlink -f "$0"))/runlib" -export PW_LOG=1 -START_PORTWINE -if [ ! -z ${optirun_on} ] -then - $PW_TERM '${PW_RUNTIME}" "${optirun_on}" "${port_on_run}" "run" "cmd"' -else - $PW_TERM '${PW_RUNTIME}" "${port_on_run}" "run" "cmd"' -fi -STOP_PORTWINE diff --git a/data_from_portwine/scripts/winefile b/data_from_portwine/scripts/winefile deleted file mode 100755 index 6d3c8455..00000000 --- a/data_from_portwine/scripts/winefile +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -. "$(dirname $(readlink -f "$0"))/runlib" -"${WINESERVER}" -k -START_PORTWINE -cd "${WINEPREFIX}/drive_c/" -if [ ! -z ${optirun_on} ] -then - $PW_TERM "${PW_RUNTIME}" ${optirun_on} "${port_on_run}" "run" "explorer" -else - $PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "explorer" -fi -STOP_PORTWINE diff --git a/data_from_portwine/scripts/winereg b/data_from_portwine/scripts/winereg deleted file mode 100755 index bded4a3f..00000000 --- a/data_from_portwine/scripts/winereg +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -. "$(dirname $(readlink -f "$0"))/runlib" -"${WINESERVER}" -k -START_PORTWINE -$PW_TERM "${PW_RUNTIME}" "${port_on_run}" "run" "regedit" -STOP_PORTWINE diff --git a/data_from_portwine/scripts/winetricks-q-force b/data_from_portwine/scripts/winetricks-q-force deleted file mode 100755 index 93dbc88f..00000000 --- a/data_from_portwine/scripts/winetricks-q-force +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -. "$(dirname "`readlink -f "$0"`")"/runlib -"${WINESERVER}" -k -wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | perl -pe 's;^.*/proc/(\d+)/exe.*$;$1;g;') -if ! [ -z "${wine_pids}" ] ; then - kill -9 ${wine_pids} -fi -if [ -f "${PORT_WINE_TMP_PATH}"/winetricks ]; then - rm -f "${PORT_WINE_TMP_PATH}"/winetricks -fi -wget -T 3 --output-document=${PORT_WINE_TMP_PATH}/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks -chmod +x "${PORT_WINE_TMP_PATH}/winetricks" -export PW_USE_TERMINAL=1 -START_PORTWINE -$PW_TERM "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q --force -STOP_PORTWINE diff --git a/portwine_install_script/PortNAME-XX b/portwine_install_script/PortNAME-XX index 3bea60c7..240897e3 100644 --- a/portwine_install_script/PortNAME-XX +++ b/portwine_install_script/PortNAME-XX @@ -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" "libs" "tmp" "scripts" "pfx/drive_c/windows" + for CLEAN_PORT in "dist" "dist_dxvk" "dist_vkd3d" "libs" "tmp" "scripts" do if [ -d "${PORT_WINE_PATH}/data/${CLEAN_PORT}" ];then rm -fR "${PORT_WINE_PATH}/data/${CLEAN_PORT}" @@ -143,7 +143,10 @@ read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" export update_loc=${update_loc} ######################################################################## cd "${PORT_WINE_PATH}" -tail -n +187 "${links}/${setup_script}" > "${PORT_WINE_PATH}/${ARCH_NAME}" +tail -n +193 "${links}/${setup_script}" > "${PORT_WINE_PATH}/${ARCH_NAME}" +#if [ -d "${PORT_WINE_PATH}"/data/pfx/ ]; then +# mv "${PORT_WINE_PATH}"/data/pfx/*.reg "${PORT_WINE_PATH}"/data/tmp/ +#fi if [ "${s_install}" = "1" ]; then tar -Jxvf "${PORT_WINE_PATH}/${ARCH_NAME}" -C "${PORT_WINE_PATH}/" else @@ -151,7 +154,10 @@ else fi chmod 755 -R "${PORT_WINE_PATH}" mv -f "${PORT_WINE_PATH}/${ARCH_NAME}" "${PORT_WINE_PATH}/data/tmp" -sed -n 1,186p "${links}/${setup_script}" > "${PORT_WINE_PATH}/data/tmp/${setup_script}" +sed -n 1,192p "${links}/${setup_script}" > "${PORT_WINE_PATH}/data/tmp/${setup_script}" +#if [ -d "${PORT_WINE_PATH}"/data/tmp/*.reg ]; then +# mv -f "${PORT_WINE_PATH}"/data/tmp/*.reg "${PORT_WINE_PATH}"/data/pfx/ +#fi ######################################################################## if [ -d "${PORT_GAMEDIR}_old" ];then rm -fR "${PORT_GAMEDIR}"