diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog index 2105e528..3cae30cd 100755 --- a/data_from_portwine/changelog +++ b/data_from_portwine/changelog @@ -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 (необходимые зависимости опубликованы на сайте) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 689fea9e..bfbb9ad0 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -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 diff --git a/data_from_portwine/scripts/portwine_db/eve b/data_from_portwine/scripts/portwine_db/eve index 504a7bb3..72a5a56d 100755 --- a/data_from_portwine/scripts/portwine_db/eve +++ b/data_from_portwine/scripts/portwine_db/eve @@ -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 & +} diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 0c2cb2de..2908f7dc 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -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 diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh index e9e12729..b009eab1 100755 --- a/data_from_portwine/scripts/setup.sh +++ b/data_from_portwine/scripts/setup.sh @@ -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 diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 53841777..1171c7b5 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -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=";" \ diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 6474a1e3..3eac15c2 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -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" #################################################################