###Scripts version 2022###
This commit is contained in:
parent
ad6fd6d8cb
commit
9278a8d020
@ -7,6 +7,12 @@
|
||||
* добавить комментарии описывающие функционал скриптов и db файлов
|
||||
* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
|
||||
-----------------------------------------
|
||||
###Scripts version 2022###
|
||||
* добавлен фикc для работы EVE Online
|
||||
* добавлен в GUI вывод версий WINE используемых по умолчанию
|
||||
* в функцию "GET OTHER WINE" добавлена вкладка с версиями WINE от PortWINE-Linux.ru (тест)
|
||||
* исправлено завершение тихого режима установки
|
||||
|
||||
###Scripts version 2021###
|
||||
* HOTFIX - создание каталогов mono и gecko при первом запуске
|
||||
* Добавлена поддержка работы PortProton под ROSA FRESH R12 (необходимые зависимости опубликованы на сайте)
|
||||
|
@ -89,6 +89,10 @@ try_force_link_dir () {
|
||||
return 1
|
||||
}
|
||||
|
||||
check_process () {
|
||||
[ ! -n "`ps cax | grep "$1" | awk '{print $1}'`" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
try_download () {
|
||||
set -o pipefail
|
||||
wget -c -t 5 -T 3 "$1" --output-document="$2" 2>&1 | \
|
||||
@ -97,6 +101,14 @@ try_download () {
|
||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
|
||||
}
|
||||
|
||||
try_download_to_path () {
|
||||
set -o pipefail
|
||||
wget -c -t 5 -T 3 "$1" --directory-prefix="$2" 2>&1 | \
|
||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
||||
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
|
||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
|
||||
}
|
||||
|
||||
try_download_silent () {
|
||||
wget -t 2 -T 10 "$1" --output-document="$2"
|
||||
[ "$?" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
|
||||
@ -272,8 +284,14 @@ init_wine_ver () {
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
|
||||
create_new_dir "${WINEDIR}/lib64/wine"
|
||||
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
|
||||
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
|
||||
fi
|
||||
|
||||
for copy_proton_dll in "dxvk" "vkd3d-proton" ; do
|
||||
if [ ! -d "${WINEDIR}/lib/wine/${copy_proton_dll}/" ] ; then
|
||||
if [[ ! -d "${WINEDIR}/lib/wine/${copy_proton_dll}/" || ! -d "${WINEDIR}/lib64/wine/${copy_proton_dll}/" ]] ; then
|
||||
try_copy_dir "${PORT_WINE_PATH}/data/dist/PROTON_STEAM/lib/wine/${copy_proton_dll}" "${WINEDIR}/lib/wine/"
|
||||
try_copy_dir "${PORT_WINE_PATH}/data/dist/PROTON_STEAM/lib64/wine/${copy_proton_dll}" "${WINEDIR}/lib64/wine/"
|
||||
fi
|
||||
@ -303,19 +321,19 @@ sszen() {
|
||||
|
||||
pw_start_progress_bar_cs () {
|
||||
"${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \
|
||||
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &
|
||||
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 &
|
||||
echo ""
|
||||
}
|
||||
|
||||
pw_start_progress_bar_block () {
|
||||
"${pw_yad}" --progress --progress-text="$@" --pulsate \
|
||||
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &
|
||||
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 &
|
||||
echo ""
|
||||
}
|
||||
|
||||
pw_stop_progress_bar () {
|
||||
while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ]
|
||||
do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` &> /dev/null
|
||||
do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` > /dev/null 2>&1
|
||||
done
|
||||
}
|
||||
|
||||
@ -749,42 +767,77 @@ pw_check_and_download_wine () {
|
||||
}
|
||||
|
||||
gui_proton_downloader () {
|
||||
set -o pipefail
|
||||
export PORT_WINE_TMP_PATH="${HOME}"
|
||||
pw_start_progress_bar_block "Check new version WINE from GitHub"
|
||||
#PROTON_GE
|
||||
export PROTON_GE_GIT=($(curl -s "https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4))
|
||||
[ "${PIPESTATUS[0]}" != 0 ] && exit 1
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
for PGEGIT in ${PROTON_GE_GIT[@]} ; do
|
||||
echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.gz//' >> "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
done
|
||||
sed -i '/Proton-6.5-GE-2/,$d' "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
sed -i '/github-action/d' "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
for INSTALLING_VERSION_IN_DIST in `ls "${PORT_WINE_PATH}/data/dist/"` ; do
|
||||
sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
|
||||
#PROTON_PW
|
||||
export PROTON_PW_GIT=($(curl -s "https://api.github.com/repos/Castro-Fidel/wine_builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4))
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
|
||||
for PPWGIT in ${PROTON_PW_GIT[@]} ; do
|
||||
echo $PPWGIT
|
||||
echo ${PPWGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
|
||||
done
|
||||
VERSION_PROTON_GIT=`"${pw_yad_new}" --list --cheklist --separator="" --listen --width=400 --height=600 --center --borders=15 \
|
||||
--column "Select WINE for download:" --title "Download..." < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"`
|
||||
if [ "${PIPESTATUS[0]}" != 0 ]; then
|
||||
for INSTALLING_VERSION_IN_DIST in `ls "${PORT_WINE_PATH}/data/dist/"` ; do
|
||||
sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
|
||||
done
|
||||
pw_stop_progress_bar
|
||||
|
||||
#GUI
|
||||
export KEY_WINE=$RANDOM
|
||||
"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --cheklist --separator="" --listen \
|
||||
--column "Select WINE for download:" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" &> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" &
|
||||
|
||||
"${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --cheklist --separator="" --listen \
|
||||
--column "Select WINE for download:" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" &> "${PORT_WINE_TMP_PATH}/tmp_proton_set" &
|
||||
|
||||
`yad --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center --center \
|
||||
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Download..." --separator="" \
|
||||
--tab-pos=top --tab="PROTON-GE" --tab="PROTON-PW"`
|
||||
YAD_WINE_STATUS="$?"
|
||||
if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then
|
||||
/bin/bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
fi
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
|
||||
for PGEGIT2 in ${PROTON_GE_GIT[@]} ; do
|
||||
if [ ! -z `echo ${PGEGIT2} | grep "$VERSION_PROTON_GIT"` ] ; then
|
||||
export URL_VERSION_PROTON_GIT="${PGEGIT2}"
|
||||
if [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_set"` ] ; then
|
||||
export VERSION_WINE_GIT=`cat "${PORT_WINE_TMP_PATH}/tmp_proton_set"`
|
||||
elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"` ] ; then
|
||||
export VERSION_WINE_GIT=`cat "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"`
|
||||
fi
|
||||
|
||||
echo "$VERSION_WINE_GIT"
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_set"
|
||||
|
||||
for GIVE_WINE_URL in ${PROTON_GE_GIT[@]} ${PROTON_PW_GIT[@]} ; do
|
||||
if [ ! -z `echo ${GIVE_WINE_URL} | grep "$VERSION_WINE_GIT"` ] ; then
|
||||
export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}"
|
||||
fi
|
||||
done
|
||||
|
||||
print_info "Download and install ${VERSION_PROTON_GIT}..."
|
||||
if try_download "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/${VERSION_PROTON_GIT}.tar.gz" ; then
|
||||
if unpack_tar_gz "${PORT_WINE_PATH}/data/tmp/${VERSION_PROTON_GIT}.tar.gz" "${PORT_WINE_PATH}/data/dist/" ; then
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${VERSION_PROTON_GIT}.tar.gz"
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${VERSION_PROTON_GIT}.tar.gz"
|
||||
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_PROTON_GIT}"
|
||||
|
||||
zenity_error_download && gui_proton_downloader
|
||||
fi
|
||||
print_info "Download and install ${VERSION_WINE_GIT}..."
|
||||
if try_download_to_path "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/" ; then
|
||||
for archive_type in "gz" "xz" ; do
|
||||
if [ -f "${PORT_WINE_PATH}/data/tmp/${VERSION_WINE_GIT}.tar.${archive_type}" ] ; then
|
||||
if unpack_tar_${archive_type} "${PORT_WINE_PATH}/data/tmp/${VERSION_WINE_GIT}.tar.${archive_type}" "${PORT_WINE_PATH}/data/dist/" ; then
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${VERSION_WINE_GIT}.tar.${archive_type}"
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${VERSION_WINE_GIT}.tar.${archive_type}"
|
||||
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_WINE_GIT}"
|
||||
zenity_error_download && gui_proton_downloader
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
zenity_error_download && gui_proton_downloader
|
||||
fi
|
||||
|
@ -13,6 +13,8 @@ export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47
|
||||
|
||||
##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
|
||||
##export ENABLE_VKBASALT=1
|
||||
export PW_VKBASALT_EFFECTS="cas:FilmGrain2"
|
||||
export PW_VKBASALT_FFX_CAS="0.5"
|
||||
|
||||
##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
|
||||
@ -32,4 +34,20 @@ export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47
|
||||
##export PW_LOG=0 # Enable debug mode fo terminal
|
||||
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
|
||||
|
||||
##add_in_start_portwine () { commands ; }
|
||||
eve_fix () {
|
||||
export EVE_SHADER_CASH="$WINEPREFIX/drive_c/Games/EVE Online/SharedCache"
|
||||
if [[ ! -f "$EVE_SHADER_CASH/tq/bin64/launchdarkly_client.pyd" ]] ; then
|
||||
sleep 30
|
||||
while check_process evelauncher.exe && [[ ! -f "$EVE_SHADER_CASH/tq/bin64/launchdarkly_client.pyd" ]]
|
||||
do sleep 1
|
||||
done
|
||||
fi
|
||||
sleep 2
|
||||
try_remove_file "$EVE_SHADER_CASH/tq/launchdarkly_client.pyd"
|
||||
try_copy_file "$EVE_SHADER_CASH/tq/bin64/launchdarkly_client.pyd" "$EVE_SHADER_CASH/tq/"
|
||||
chmod 444 "$EVE_SHADER_CASH/tq/launchdarkly_client.pyd"
|
||||
}
|
||||
|
||||
add_in_start_portwine () {
|
||||
eve_fix &
|
||||
}
|
||||
|
@ -41,8 +41,9 @@ start_portwine () {
|
||||
pw_start_progress_bar_cs "Start ${portname}... Please wait..."
|
||||
|
||||
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
|
||||
export GST_DEBUG="*:0"
|
||||
if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
|
||||
fi
|
||||
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
|
||||
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
|
||||
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
|
||||
@ -56,6 +57,9 @@ start_portwine () {
|
||||
|
||||
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
|
||||
export pw_runtime=""
|
||||
if [ "${PW_MANGOHUD}" = 1 ] ; then
|
||||
[ -z `which mangohud` ] && export PW_MANGOHUD=0
|
||||
fi
|
||||
echo "RUNTIME is disabled"
|
||||
else
|
||||
export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu/:/overrides/lib/x86_64-linux-gnu/aliases/:/overrides/lib/i386-linux-gnu/:/overrides/lib/i386-linux-gnu/aliases/:"
|
||||
@ -144,12 +148,8 @@ start_portwine () {
|
||||
fi
|
||||
if [[ ! -z "${PW_USE_NVAPI_AND_DLSS_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS_AND_DLSS}" == 1 && -d "${WINEDIR}/lib/wine/nvapi/" ]]
|
||||
then
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
else
|
||||
try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update "nvapi,nvapi64=n;nvcuda=b"
|
||||
if [[ ! -f "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" || ! -f "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll" ]] ; then
|
||||
try_copy_file `find /usr/* -type f -name "nvngx.dll" 2>/dev/null | awk '{print $1}'` "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
@ -257,8 +257,9 @@ start_portwine () {
|
||||
fi
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
|
||||
if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then
|
||||
try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser"
|
||||
if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then
|
||||
try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}"
|
||||
fi
|
||||
[ ! -d "${PORT_WINE_PATH}/drive_c" ] && try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
|
||||
@ -271,38 +272,27 @@ start_portwine () {
|
||||
# export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
|
||||
# echo "TOTAL_VRAM=${TOTAL_VRAM}"
|
||||
echo "Try copy native DXGI"
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
fi
|
||||
if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
else
|
||||
if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
fi
|
||||
if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
|
||||
try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
|
||||
if [ "${PW_VULKAN_USE}" = "0" ] ; then
|
||||
echo "Use OpenGL"
|
||||
export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}"
|
||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
export GL_YIELD="NOTHING"
|
||||
for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
fi
|
||||
if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
else
|
||||
if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
fi
|
||||
if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
done
|
||||
var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12="
|
||||
@ -310,31 +300,19 @@ start_portwine () {
|
||||
echo "Use VKD3D-PROTON only (DX12 to vulkan)"
|
||||
echo "Try copy native VKD3D files"
|
||||
for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
else
|
||||
try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
done
|
||||
var_winedlloverride_update "d3d12=n;dxgi=b"
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
try_copy_file "${WINEDIR}/lib/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
else
|
||||
try_copy_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
try_copy_file "${WINEDIR}/lib/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
else
|
||||
export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi"
|
||||
echo "Use DXVK"
|
||||
echo "Try copy native DXVK files"
|
||||
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
else
|
||||
try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update "${wine_dxvk_dll}=n"
|
||||
done
|
||||
fi
|
||||
@ -398,11 +376,7 @@ start_portwine () {
|
||||
fi
|
||||
if [[ -z `cat "${WINEPREFIX}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then
|
||||
if [[ ! -z "${PW_WINDOWS_VER}" && `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ]] ; then
|
||||
if [ "${WINEARCH}" != "win32" ] ; then
|
||||
export PW_WINDOWS_VER="xp64"
|
||||
else
|
||||
export PW_WINDOWS_VER="xp"
|
||||
fi
|
||||
export PW_WINDOWS_VER="xp64"
|
||||
fi
|
||||
${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \
|
||||
"${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'`
|
||||
@ -423,7 +397,7 @@ pw_run () {
|
||||
fi
|
||||
pw_mangohud_check
|
||||
pw_vkbasalt_check
|
||||
print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" "LD_LIBRARY_PATH" "PATH"
|
||||
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" "LD_LIBRARY_PATH" "PATH"
|
||||
if [ "${PW_LOG}" == 1 ] ; then
|
||||
export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
|
||||
if [[ ! -z "${PW_GAMEMODERUN}" && "${PW_GAMEMODERUN}" != 0 ]] ; then
|
||||
|
@ -31,7 +31,7 @@ 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"
|
||||
|
||||
if [ "${s_install}" = "1" ]; then
|
||||
if [ "${silent_install}" = "1" ]; then
|
||||
echo "Installation completed successfully."
|
||||
else
|
||||
`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1
|
||||
|
@ -202,7 +202,7 @@ pw_winetricks () {
|
||||
pw_edit_db () {
|
||||
pw_gui_for_edit_db ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_DXR_ON PW_VULKAN_NO_ASYNC PW_USE_NVAPI_AND_DLSS \
|
||||
PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP PW_WINEDBG_DISABLE PW_USE_TERMINAL \
|
||||
PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS PW_USE_GSTREAMER
|
||||
PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS PW_USE_GSTREAMER PW_USE_RUNTIME
|
||||
if [ "$?" == 0 ] ; then
|
||||
/bin/bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
@ -250,15 +250,15 @@ if [ ! -z "${PORTWINE_DB_FILE}" ] ; then
|
||||
*) export PW_DEFAULT_VULKAN_USE='DXVK (DX 9-11 to Vulkan)\!VKD3D (DX 12 to Vulkan)\!OPENGL ' ;;
|
||||
esac
|
||||
case "${PW_WINE_USE}" in
|
||||
"PROTON_GE") export PW_DEFAULT_WINE_USE="PROTON_GE\!PROTON_STEAM${DIST_ADD_TO_GUI}" ;;
|
||||
"PROTON_STEAM") export PW_DEFAULT_WINE_USE="PROTON_STEAM\!PROTON_GE${DIST_ADD_TO_GUI}" ;;
|
||||
"PROTON_GE") export PW_DEFAULT_WINE_USE="PROTON_GE (${PW_GE_VER})\!PROTON_STEAM (${PW_STEAM_VER})${DIST_ADD_TO_GUI}" ;;
|
||||
"PROTON_STEAM") export PW_DEFAULT_WINE_USE="PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;;
|
||||
*)
|
||||
export DIST_ADD_TO_GUI=`echo ${DIST_ADD_TO_GUI} | sed -e s/"\!${PW_WINE_USE}$//g"`
|
||||
export PW_DEFAULT_WINE_USE="${PW_WINE_USE}\!PROTON_STEAM\!PROTON_GE${DIST_ADD_TO_GUI}" ;;
|
||||
export PW_DEFAULT_WINE_USE="${PW_WINE_USE}\!PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;;
|
||||
esac
|
||||
else
|
||||
export PW_DEFAULT_VULKAN_USE='DXVK (DX 9-11 to Vulkan)\!VKD3D (DX 12 to Vulkan)\!OPENGL '
|
||||
export PW_DEFAULT_WINE_USE="PROTON_STEAM\!PROTON_GE${DIST_ADD_TO_GUI}"
|
||||
export PW_DEFAULT_WINE_USE="PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}"
|
||||
unset PW_GUI_DISABLED_CS
|
||||
fi
|
||||
if [ ! -z "${portwine_exe}" ]; then
|
||||
@ -330,7 +330,7 @@ else
|
||||
--field="CLEAR PREFIX":"BTN" '@bash -c "button_click gui_clear_pfx"' \
|
||||
--field="EDIT SCRIPT VAR":"BTN" '@bash -c "button_click gui_open_var"' \
|
||||
--field="WINE UNINSTALLER":"BTN" '@bash -c "button_click gui_wine_uninstaller"' \
|
||||
--field="REMOVE PORTPROTON":"BTN" '@bash -c "button_click gui_rm_portproton"' & \
|
||||
--field="REMOVE PORTPROTON":"BTN" '@bash -c "button_click gui_rm_portproton"' &
|
||||
|
||||
"${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=3 --scroll --height=500 \
|
||||
--field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \
|
||||
@ -348,7 +348,7 @@ else
|
||||
--field=" Glyph Client"!"$PW_GUI_ICON_PATH/glyph.png":"BTN" '@bash -c "button_click PW_GLYPH"' \
|
||||
--field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png":"BTN" '@bash -c "button_click PW_ANKAMA"' \
|
||||
--field=" League of Legends"!"$PW_GUI_ICON_PATH/lol.png":"BTN" '@bash -c "button_click PW_LOL"' \
|
||||
--field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png":"BTN" '@bash -c "button_click PW_GAMEFORGE"' & \
|
||||
--field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png":"BTN" '@bash -c "button_click PW_GAMEFORGE"' &
|
||||
|
||||
"${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \
|
||||
--image "$PW_GUI_ICON_PATH/port_proton.png" \
|
||||
@ -356,14 +356,14 @@ else
|
||||
--field=":LBL" "" \
|
||||
--field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \
|
||||
--field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \
|
||||
--field=":CB" "PROTON_STEAM\!PROTON_GE${DIST_ADD_TO_GUI}" \
|
||||
--field=":CB" "PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" \
|
||||
--field=":LBL" "" \
|
||||
--field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \
|
||||
--field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \
|
||||
--field="GET OTHER WINE"!!"":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
|
||||
--field=":LBL" "" \
|
||||
--field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \
|
||||
--field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & \
|
||||
--field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
|
||||
|
||||
"${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \
|
||||
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" --separator=";" \
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#Author: Castro-Fidel (PortWINE-Linux.ru)
|
||||
#SCRIPTS_NEXT_VERSION=2021
|
||||
#SCRIPTS_NEXT_VERSION=2022
|
||||
#PORT_NEXT_VERSION=97
|
||||
########################################################################
|
||||
export PW_MANGOHUD=1
|
||||
@ -29,14 +29,18 @@ export PW_LIBS_VER="_v18"
|
||||
export PORTWINE_URL="http://portwine-linux.ru/"
|
||||
export GDK_BACKEND="x11"
|
||||
export PW_USE_GSTREAMER="1"
|
||||
export PW_PROTON_STEAM_VER="PROTON_STEAM_6.3-7"
|
||||
export PW_MONO_VER="6.3.0"
|
||||
export PW_GECKO_VER="2.47.2"
|
||||
export PW_PROTON_GE_VER="PROTON_GE_6.19-2"
|
||||
export PW_MONO_GE_VER="6.4.0"
|
||||
export PW_GECKO_GE_VER="2.47.2"
|
||||
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"
|
||||
export WINE_WIN_START="start.exe /i /unix"
|
||||
###WINE_PROTON_STEAM###
|
||||
export PW_STEAM_VER="6.3-7"
|
||||
export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}"
|
||||
export PW_MONO_VER="6.3.0"
|
||||
export PW_GECKO_VER="2.47.2"
|
||||
###WINE_PROTON_GE###
|
||||
export PW_GE_VER="6.19-2"
|
||||
export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
|
||||
export PW_MONO_GE_VER="6.4.0"
|
||||
export PW_GECKO_GE_VER="2.47.2"
|
||||
export WINE_FULLSCREEN_FSR="1"
|
||||
export WINE_FULLSCREEN_FSR_STRENGTH="2"
|
||||
#################################################################
|
||||
|
Loading…
Reference in New Issue
Block a user