Compare commits

...

3 Commits

Author SHA1 Message Date
72e773cfa0 Scripts version 2108 2022-05-27 00:41:45 +03:00
29eb9ba79f Scripts version 2107 2022-05-24 22:08:54 +03:00
f411b5a27c Scripts version 2106 2022-05-14 01:17:04 +03:00
10 changed files with 213 additions and 116 deletions

View File

@ -2,6 +2,22 @@ You can help us in the development of the project on the website: boosty.to/port
----------------------------------------- -----------------------------------------
Changelog: Changelog:
###Scripts version 2108###
* HOTFIX for Rosa Linux
###Scripts version 2107###
* accelerated container launch
* optimization of start.sh script
* updated "libs_v30" (restored work of vkBasalt on previous versions of OS Linux)
* updated "PROTON_GE" to version 7-18
###Scripts version 2106###
* updated libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5)
* added "WINE_FULLSCREEN_FSR" variable to "EDIT_DB" to enable "AMD FidelityFX Super Resolution"
* improved image quality when using FSR (Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen)
* vkBasalt performance improved
* performance improvements in games when using the VULKAN API (DXVK and VKD3D)
###Scripts version 2105### ###Scripts version 2105###
* updated "PROTON_STEAM" to version 7.0-2 * updated "PROTON_STEAM" to version 7.0-2
* updated "PROTON_GE" to version 7-16 * updated "PROTON_GE" to version 7-16

View File

@ -2,6 +2,22 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2108###
* HOTFIX - для правильной работы в Rosa Linux
###Scripts version 2107###
* ускорен запуск контейнера
* оптимизация скрипта start.sh
* обнолвен "libs_v30" (восстановлена работа vkBasalt на предыдущих версиях OS Linux)
* обновлен "PROTON_GE" до версии 7-18
###Scripts version 2106###
* обновлен libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5)
* для включения "AMD FidelityFX Super Resolution" в "EDIT_DB" добавлен переменная "WINE_FULLSCREEN_FSR"
* улучшено качество изображения при использовании FSR (Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана)
* улучшена производительность vkBasalt
* улучшение производительности в играх при использовании API VULKAN (DXVK и VKD3D)
###Scripts version 2105### ###Scripts version 2105###
* обновлен "PROTON_STEAM" до версии 7.0-2 * обновлен "PROTON_STEAM" до версии 7.0-2
* обновлен "PROTON_GE" до версии 7-16 * обновлен "PROTON_GE" до версии 7-16

View File

@ -367,22 +367,19 @@ pw_init_runtime () {
--home="${PW_SANDBOX_HOME_PATH}" \ --home="${PW_SANDBOX_HOME_PATH}" \
--no-gc-legacy-runtimes \ --no-gc-legacy-runtimes \
--no-gc-runtimes \ --no-gc-runtimes \
--generate-locales \ --copy-runtime \
--remove-game-overlay \ --remove-game-overlay \
--systemd-scope \
${PW_ADD_TO_ARGS_IN_RUNTIME} --" ${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else else
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--share-home \ --share-home \
--no-gc-legacy-runtimes \ --no-gc-legacy-runtimes \
--no-gc-runtimes \ --no-gc-runtimes \
--generate-locales \ --copy-runtime \
--remove-game-overlay \ --remove-game-overlay \
--systemd-scope \
${PW_ADD_TO_ARGS_IN_RUNTIME} --" ${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi fi
export PRESSURE_VESSEL_COPY_RUNTIME=1
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0 export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
# export PRESSURE_VESSEL_GRAPHICS_PROVIDER="" # export PRESSURE_VESSEL_GRAPHICS_PROVIDER=""
@ -431,7 +428,7 @@ pw_mangohud_check () {
pw_vkbasalt_check () { pw_vkbasalt_check () {
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then
export PW_VKBASALT_EFFECTS="cas:FilmGrain2" export PW_VKBASALT_EFFECTS="Curves:cas"
fi fi
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
@ -439,9 +436,7 @@ pw_vkbasalt_check () {
fi fi
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx" # sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx"
sed -i s/'> = 0.65;'/'> = 0.4;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Curves.fx"
sed -i s/'> = 0.8;'/'> = 0.9;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Bloom.fx"
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing32:VK_LAYER_VKBASALT_post_processing64" var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing32:VK_LAYER_VKBASALT_post_processing64"
print_info "vkBasalt is enabled" print_info "vkBasalt is enabled"
else else

View File

@ -108,6 +108,7 @@ then
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе' export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD' export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)' export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS' export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'

View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
#Author: xuser
#soulstorm.exe
#Rating=5
#################################################
export PW_VULKAN_USE="1"
export PW_WINE_USE="PROTON_GE"
export PW_PREFIX_NAME="DEFAULT"
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.75"
export ENABLE_VKBASALT="1"
export PW_MANGOHUD="1"
export PW_MANGOHUD_USER_CONF="0"
export PW_NO_ESYNC="1"
export PW_NO_FSYNC="0"
export PW_USE_DXR10="0"
export PW_USE_DXR11="0"
export PW_VULKAN_NO_ASYNC="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_FORCE_USE_VSYNC="0"
export PW_VIRTUAL_DESKTOP="0"
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_WINE_ALLOW_XIM="0"
export PW_HEAP_DELAY_FREE="0"
export PW_GUI_DISABLED_CS="0"
export PW_USE_GSTREAMER="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_D3D_EXTRAS_DISABLE="0"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export LAUNCH_PARAMETERS=""
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export PW_WINE_FULLSCREEN_FSR="1"

View File

@ -7,7 +7,7 @@
##export PW_COMMENT_DB="blablabla" ##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER=10 export PW_WINDOWS_VER=10
export PW_DLL_INSTALL="" export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES="vulkan-1=n" export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS="+gfx_strApi Vulkan" export LAUNCH_PARAMETERS="+gfx_strApi Vulkan"
export PW_WINE_USE=PROTON_GE_7.1-2 export PW_WINE_USE=PROTON_GE_7.1-2
export PW_VULKAN_USE=1 export PW_VULKAN_USE=1

View File

@ -251,12 +251,12 @@ start_portwine () {
if [[ -d "${PW_PLUGINS_PATH}/default_pfx/" ]] ; then if [[ -d "${PW_PLUGINS_PATH}/default_pfx/" ]] ; then
cp -frL "${PW_PLUGINS_PATH}/default_pfx/"* "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" cp -frL "${PW_PLUGINS_PATH}/default_pfx/"* "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"
fi fi
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver && wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
elif [[ -z "`cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | grep ${PW_WINE_USE}`" ]] ; then elif [[ -z "`cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | grep ${PW_WINE_USE}`" ]] ; then
check_dirs_and_files_in_pfx check_dirs_and_files_in_pfx
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver && wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
fi fi
@ -424,6 +424,25 @@ start_portwine () {
export RADV_DEBUG=nocache export RADV_DEBUG=nocache
fi fi
if [[ "${PW_WINE_FULLSCREEN_FSR}" == 1 ]] || [[ "${WINE_FULLSCREEN_FSR}" == 1 ]] ; then
export WINE_FULLSCREEN_FSR=1
export WINE_FULLSCREEN_FSR_STRENGTH=0
export WINE_FULLSCREEN_INTEGER_SCALING=0
# export WINE_FULLSCREEN_FAKE_CURRENT_RES=1920x1080
else
export WINE_FULLSCREEN_FSR=0
unset WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING
fi
for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" ; do
if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
fi
if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${try_cp_dll_from_wine}"
then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${try_cp_dll_from_wine}"
fi
done
#run_winetricks_from_db #run_winetricks_from_db
if [[ ! -z "${PW_MUST_HAVE_DLL}" ]] if [[ ! -z "${PW_MUST_HAVE_DLL}" ]]
then export PW_DLL_INSTALL="`echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' `" then export PW_DLL_INSTALL="`echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' `"
@ -500,14 +519,24 @@ pw_run () {
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
echo "------------------------------------" >> "${PW_LOG_TO_FILE}" echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
echo "Log WINE:" >> "${PW_LOG_TO_FILE}" echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} env ${PW_MANGOHUD_SLR} LD_PRELOAD="${PW_LD_PRELOAD}" \ ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
PATH="${PATH}" VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ env ${PW_MANGOHUD_SLR} \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
else else
[ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM="" [[ "${PW_USE_TERMINAL}" != "1" ]] && export PW_TERM=""
$PW_TERM ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} env ${PW_MANGOHUD_SLR} LD_PRELOAD="${PW_LD_PRELOAD}"\ $PW_TERM ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
PATH="${PATH}" VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ env ${PW_MANGOHUD_SLR} \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]}
fi fi
} }
export -f pw_run export -f pw_run

View File

@ -19,20 +19,20 @@ if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/che
echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland" echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland"
fi fi
if [[ -n `basename "${portwine_exe}" | grep .ppack` ]] ; then if [[ -n $(basename "${portwine_exe}" | grep .ppack) ]] ; then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
unset PW_SANDBOX_HOME_PATH unset PW_SANDBOX_HOME_PATH
pw_init_runtime pw_init_runtime
export PW_PREFIX_NAME=`basename "$1" | awk -F'.' '{print $1}'` export PW_PREFIX_NAME=$(basename "$1" | awk -F'.' '{print $1}')
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" & ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" &
sleep 10 sleep 10
while true ; do while true ; do
if [[ -n `pgrep -a xterm | grep ".ppack" | head -n 1 | awk '{print $1}'` ]] ; then if [[ -n $(pgrep -a xterm | grep ".ppack" | head -n 1 | awk '{print $1}') ]] ; then
sleep 0.5 sleep 0.5
else else
kill -TERM `pgrep -a unsquashfs | grep ".ppack" | head -n 1 | awk '{print $1}'` kill -TERM $(pgrep -a unsquashfs | grep ".ppack" | head -n 1 | awk '{print $1}')
sleep 0.3 sleep 0.3
if [[ -z "`pgrep -a unsquashfs | grep ".ppack" | head -n 1 | awk '{print $1}'`" ]] if [[ -z "$(pgrep -a unsquashfs | grep ".ppack" | head -n 1 | awk '{print $1}')" ]]
then break then break
else sleep 0.3 else sleep 0.3
fi fi
@ -41,7 +41,7 @@ if [[ -n `basename "${portwine_exe}" | grep .ppack` ]] ; then
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" ]] ; then if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" ]] ; then
orig_IFS="$IFS" orig_IFS="$IFS"
IFS=$'\n' IFS=$'\n'
for crfb in `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"` ; do for crfb in $(cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut") ; do
export portwine_exe="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/${crfb}" export portwine_exe="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/${crfb}"
portwine_create_shortcut "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/${crfb}" portwine_create_shortcut "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/${crfb}"
done done
@ -52,14 +52,14 @@ fi
portwine_launch () { portwine_launch () {
start_portwine start_portwine
PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi` PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi)
PORTWINE_BAT=`basename "${portwine_exe}" | grep .bat` PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat)
if [[ ! -z "${PW_VIRTUAL_DESKTOP}" && "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then if [[ -n "${PW_VIRTUAL_DESKTOP}" && "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then
pw_screen_resolution=`xrandr --current | grep "*" | awk '{print $1;}' | head -1` pw_screen_resolution=$(xrandr --current | grep "*" | awk '{print $1;}' | head -1)
pw_run explorer "/desktop=portwine,${pw_screen_resolution}" ${WINE_WIN_START} "$portwine_exe" pw_run explorer "/desktop=portwine,${pw_screen_resolution}" ${WINE_WIN_START} "$portwine_exe"
elif [ ! -z "${PORTWINE_MSI}" ]; then elif [ -n "${PORTWINE_MSI}" ]; then
pw_run msiexec /i "$portwine_exe" pw_run msiexec /i "$portwine_exe"
elif [[ ! -z "${PORTWINE_BAT}" || ! -z "${portwine_exe}" ]] ; then elif [[ -n "${PORTWINE_BAT}" || -n "${portwine_exe}" ]] ; then
pw_run ${WINE_WIN_START} "$portwine_exe" pw_run ${WINE_WIN_START} "$portwine_exe"
else else
pw_run winefile pw_run winefile
@ -86,13 +86,13 @@ portwine_start_debug () {
echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/${portname}.log" echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [ ! -z "${portwine_exe}" ] ; then if [ -n "${portwine_exe}" ] ; then
echo "Debug for programm:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Debug for programm:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "${portwine_exe}" >> "${PORT_WINE_PATH}/${portname}.log" echo "${portwine_exe}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
echo "GLIBC version:" >> "${PORT_WINE_PATH}/${portname}.log" echo "GLIBC version:" >> "${PORT_WINE_PATH}/${portname}.log"
echo `ldd --version | grep -m1 ldd | awk '{print $NF}'` >> "${PORT_WINE_PATH}/${portname}.log" echo $(ldd --version | grep -m1 ldd | awk '{print $NF}') >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OpenGL" >> "${PORT_WINE_PATH}/${portname}.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OpenGL" >> "${PORT_WINE_PATH}/${portname}.log"
@ -131,7 +131,7 @@ portwine_start_debug () {
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'lspci -k | grep -EA3 VGA|3D|Display:' >> "${PORT_WINE_PATH}/${portname}.log" echo 'lspci -k | grep -EA3 VGA|3D|Display:' >> "${PORT_WINE_PATH}/${portname}.log"
echo `lspci -k | grep -EA3 'VGA|3D|Display'` >> "${PORT_WINE_PATH}/${portname}.log" echo $(lspci -k | grep -EA3 'VGA|3D|Display') >> "${PORT_WINE_PATH}/${portname}.log"
[[ `which glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log" [[ `which glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
echo " " >> "${PORT_WINE_PATH}/${portname}.log" echo " " >> "${PORT_WINE_PATH}/${portname}.log"
echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log"
@ -145,7 +145,7 @@ portwine_start_debug () {
else else
echo "Vkcube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log" echo "Vkcube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
if [ ! -x "`which gamemoderun 2>/dev/null`" ] if [ ! -x "$(which gamemoderun 2>/dev/null)" ]
then then
echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "!!!gamemod not found!!!" >> "${PORT_WINE_PATH}/${portname}.log" echo "!!!gamemod not found!!!" >> "${PORT_WINE_PATH}/${portname}.log"
@ -159,7 +159,7 @@ portwine_start_debug () {
echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log" echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/${portname}.log" cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [ ! -z "${PORTWINE_DB_FILE}" ]; then if [ -n "${PORTWINE_DB_FILE}" ]; then
echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log" cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
else else
@ -178,11 +178,11 @@ portwine_start_debug () {
sleep 3 sleep 3
pw_stop_progress_bar_cover pw_stop_progress_bar_cover
unset PW_TIMER unset PW_TIMER
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}'` ]] ; do while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}') ]] ; do
sleep 0.005 sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \
&& [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "`echo "${line}" | grep -i "ntlm"`" ]] && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
then then
echo "# ${line}" echo "# ${line}"
fi fi
@ -251,31 +251,31 @@ pw_prefix_manager () {
IFS=$'\n' IFS=$'\n'
try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp" try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp"
while read PW_BOOL_IN_DLL_LIST ; do while read PW_BOOL_IN_DLL_LIST ; do
if [[ -z `echo "${PW_BOOL_IN_DLL_LIST}" | grep -E 'd3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio1'` ]] ; then if [[ -z $(echo "${PW_BOOL_IN_DLL_LIST}" | grep -E 'd3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio1') ]] ; then
if grep "^`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then if grep "^$(echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}')$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then
echo -e "true\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" echo -e "true\n$(echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}')\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp"
else else
echo -e "false\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp" echo -e "false\n`echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp"
fi fi
fi fi
done < "${PORT_WINE_TMP_PATH}/dll_list" done < "${PORT_WINE_TMP_PATH}/dll_list"
try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp" try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp"
while read PW_BOOL_IN_FONTS_LIST ; do while read PW_BOOL_IN_FONTS_LIST ; do
if [[ -z `echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'dont_use'` ]] ; then if [[ -z $(echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'dont_use') ]] ; then
if grep "^`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then if grep "^$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then
echo -e "true\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp" echo -e "true\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp"
else else
echo -e "false\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp" echo -e "false\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/fonts_list_tmp"
fi fi
fi fi
done < "${PORT_WINE_TMP_PATH}/fonts_list" done < "${PORT_WINE_TMP_PATH}/fonts_list"
try_remove_file "${PORT_WINE_TMP_PATH}/settings_list_tmp" try_remove_file "${PORT_WINE_TMP_PATH}/settings_list_tmp"
while read PW_BOOL_IN_FONTS_LIST ; do while read PW_BOOL_IN_FONTS_LIST ; do
if [[ -z `echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'vista|alldlls|autostart_|bad|good|win|videomemory|vd=|isolate_home'` ]] ; then if [[ -z $(echo "${PW_BOOL_IN_FONTS_LIST}" | grep -E 'vista|alldlls|autostart_|bad|good|win|videomemory|vd=|isolate_home') ]] ; then
if grep "^`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then if grep "^$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then
echo -e "true\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/settings_list_tmp" echo -e "true\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/settings_list_tmp"
else else
echo -e "false\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_FONTS_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/settings_list_tmp" echo -e "false\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_FONTS_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PORT_WINE_TMP_PATH}/settings_list_tmp"
fi fi
fi fi
done < "${PORT_WINE_TMP_PATH}/settings_list" done < "${PORT_WINE_TMP_PATH}/settings_list"
@ -305,16 +305,16 @@ pw_prefix_manager () {
try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp" try_remove_file "${PORT_WINE_TMP_PATH}/fonts_list_tmp"
try_remove_file "${PORT_WINE_TMP_PATH}/settings_list_tmp" try_remove_file "${PORT_WINE_TMP_PATH}/settings_list_tmp"
for STPFXMNG in `cat "${PORT_WINE_TMP_PATH}/to_winetricks"` ; do for STPFXMNG in $(cat "${PORT_WINE_TMP_PATH}/to_winetricks") ; do
grep `echo ${STPFXMNG} | awk -F'|' '{print $2}'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null grep $(echo ${STPFXMNG} | awk -F'|' '{print $2}') "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null
if [ "$?" == "1" ] ; then if [ "$?" == "1" ] ; then
[[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="`echo ${STPFXMNG} | awk -F'|' '{print $2}'` " [[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="$(echo "${STPFXMNG}" | awk -F'|' '{print $2}') "
fi fi
done done
IFS=${old_IFS} IFS=${old_IFS}
try_remove_file "${PORT_WINE_TMP_PATH}/to_winetricks" try_remove_file "${PORT_WINE_TMP_PATH}/to_winetricks"
if [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then if [[ -n ${SET_FROM_PFX_MANAGER} ]] ; then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime pw_init_runtime
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER}
@ -335,11 +335,11 @@ pw_winetricks () {
pw_stop_progress_bar pw_stop_progress_bar
echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
unset PW_TIMER unset PW_TIMER
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}'` ]] ; do while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do
sleep 0.005 sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \
&& [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "`echo "${line}" | grep -i "ntlm"`" ]] && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
then then
echo "# ${line}" echo "# ${line}"
fi fi
@ -351,17 +351,17 @@ pw_winetricks () {
--auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y & --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y &
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log" try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log"
kill -s SIGTERM "`pgrep -a yad_new | grep "title=WINETRICKS" | awk '{print $1}'`" > /dev/null 2>&1 kill -s SIGTERM "$(pgrep -a yad_new | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1
stop_portwine stop_portwine
} }
pw_create_prefix_backup () { pw_create_prefix_backup () {
cd "$HOME" cd "$HOME"
PW_PREFIX_TO_BACKUP=`"${pw_yad_new}" --file --directory --borders=5 --width=650 --height=500 --auto-close --center \ PW_PREFIX_TO_BACKUP=$("${pw_yad_new}" --file --directory --borders=5 --width=650 --height=500 --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO..."` --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO...")
YAD_STATUS="$?" YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
if [[ ! -z "`grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop `" ]] ; then if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \ grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \
| awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" | awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
@ -373,12 +373,12 @@ pw_create_prefix_backup () {
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" mksquashfs "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" -comp zstd & ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" mksquashfs "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" -comp zstd &
sleep 10 sleep 10
while true ; do while true ; do
if [[ -n `pgrep -a xterm | grep ".ppack.part" | head -n 1 | awk '{print $1}'` ]] ; then if [[ -n $(pgrep -a xterm | grep ".ppack.part" | head -n 1 | awk '{print $1}') ]] ; then
sleep 0.5 sleep 0.5
else else
kill -TERM `pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}'` kill -TERM $(pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}')
sleep 0.3 sleep 0.3
if [[ -z "`pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}'`" ]] if [[ -z "$(pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}')" ]]
then break then break
else sleep 0.3 else sleep 0.3
fi fi
@ -396,7 +396,7 @@ pw_create_prefix_backup () {
pw_edit_db () { pw_edit_db () {
pw_gui_for_edit_db \ pw_gui_for_edit_db \
PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 \ PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 \
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_USE_NVAPI_AND_DLSS PW_WINE_FULLSCREEN_FSR 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_GUI_DISABLED_CS PW_USE_GSTREAMER \ PW_WINEDBG_DISABLE PW_USE_TERMINAL PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_GUI_DISABLED_CS PW_USE_GSTREAMER \
PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_D3D_EXTRAS_DISABLE PW_FIX_VIDEO_IN_GAME PW_USE_AMDVLK_DRIVER \ PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_D3D_EXTRAS_DISABLE PW_FIX_VIDEO_IN_GAME PW_USE_AMDVLK_DRIVER \
PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE
@ -439,10 +439,11 @@ gui_about_portproton () {
export -f gui_about_portproton export -f gui_about_portproton
###MAIN### ###MAIN###
export PW_PREFIX_NAME="`echo "${PW_PREFIX_NAME}" | sed -e s/[[:blank:]]/_/g`" PW_PREFIX_NAME="$(echo "${PW_PREFIX_NAME}" | sed -e s/[[:blank:]]/_/g)"
PW_ALL_PREFIXES=`ls "${PORT_WINE_PATH}/data/prefixes/" | sed -e s/"${PW_PREFIX_NAME}$"//g` PW_ALL_PREFIXES=$(ls "${PORT_WINE_PATH}/data/prefixes/" | sed -e s/"${PW_PREFIX_NAME}$"//g)
export PW_PREFIX_NAME PW_ALL_PREFIXES
# if [[ ! -z "${PORTWINE_DB}" ]] && [[ -z `echo "${PW_PREFIX_NAME}" | grep -i "$(echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g)"` ]] ; then # if [[ -n "${PORTWINE_DB}" ]] && [[ -z `echo "${PW_PREFIX_NAME}" | grep -i "$(echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g)"` ]] ; then
# export PW_PREFIX_NAME="${PW_PREFIX_NAME}!`echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g`" # export PW_PREFIX_NAME="${PW_PREFIX_NAME}!`echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g`"
# fi # fi
@ -450,23 +451,23 @@ unset PW_ADD_PREFIXES_TO_GUI
IFS_OLD=$IFS IFS_OLD=$IFS
IFS=$'\n' IFS=$'\n'
for PAIG in ${PW_ALL_PREFIXES[*]} ; do for PAIG in ${PW_ALL_PREFIXES[*]} ; do
[[ "${PAIG}" != `echo "${PORTWINE_DB^^}" | sed -e s/[[:blank:]]/_/g` ]] && \ [[ "${PAIG}" != $(echo "${PORTWINE_DB^^}" | sed -e s/[[:blank:]]/_/g) ]] && \
export PW_ADD_PREFIXES_TO_GUI="${PW_ADD_PREFIXES_TO_GUI}!${PAIG}" export PW_ADD_PREFIXES_TO_GUI="${PW_ADD_PREFIXES_TO_GUI}!${PAIG}"
done done
IFS=$IFS_OLD IFS=$IFS_OLD
export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}" export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}"
PW_ALL_DIST=`ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_PROTON_GE_VER}$//g" | sed -e s/"${PW_PROTON_STEAM_VER}$//g"` PW_ALL_DIST=$(ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_PROTON_GE_VER}$//g" | sed -e s/"${PW_PROTON_STEAM_VER}$//g")
unset DIST_ADD_TO_GUI unset DIST_ADD_TO_GUI
for DAIG in ${PW_ALL_DIST} for DAIG in ${PW_ALL_DIST}
do do
export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}"
done done
if [ ! -z "${PORTWINE_DB_FILE}" ] ; then if [[ -n "${PORTWINE_DB_FILE}" ]] ; then
[ -z "${PW_COMMENT_DB}" ] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." [[ -z "${PW_COMMENT_DB}" ]] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found."
if [[ -z "${PW_VULKAN_USE}" || -z "${PW_WINE_USE}" ]] ; then if [[ -z "${PW_VULKAN_USE}" || -z "${PW_WINE_USE}" ]] ; then
unset PW_GUI_DISABLED_CS unset PW_GUI_DISABLED_CS
[ -z "${PW_VULKAN_USE}" ] && export PW_VULKAN_USE=1 [[ -z "${PW_VULKAN_USE}" ]] && export PW_VULKAN_USE=1
fi fi
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
"0") export PW_DEFAULT_VULKAN_USE='OPENGL!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!GALLIUM_NINE (native DX9 on MESA)' ;; "0") export PW_DEFAULT_VULKAN_USE='OPENGL!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!GALLIUM_NINE (native DX9 on MESA)' ;;
@ -474,9 +475,9 @@ if [ ! -z "${PORTWINE_DB_FILE}" ] ; then
"3") export PW_DEFAULT_VULKAN_USE='GALLIUM_NINE (native DX9 on MESA)!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL' ;; "3") export PW_DEFAULT_VULKAN_USE='GALLIUM_NINE (native DX9 on MESA)!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL' ;;
*) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' ;; *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' ;;
esac esac
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$"` ]] ; then if [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$") ]] ; then
export PW_DEFAULT_WINE_USE="${PW_PROTON_STEAM_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_PROTON_STEAM_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]] ; then elif [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_GE$") ]] ; then
export PW_DEFAULT_WINE_USE="${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
else else
if [[ "${PW_WINE_USE}" == "${PW_PROTON_STEAM_VER}" ]] ; then if [[ "${PW_WINE_USE}" == "${PW_PROTON_STEAM_VER}" ]] ; then
@ -484,15 +485,15 @@ if [ ! -z "${PORTWINE_DB_FILE}" ] ; then
elif [[ "${PW_WINE_USE}" == "${PW_PROTON_GE_VER}" ]] ; then elif [[ "${PW_WINE_USE}" == "${PW_PROTON_GE_VER}" ]] ; then
export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
else else
export DIST_ADD_TO_GUI=`echo ${DIST_ADD_TO_GUI} | sed -e s/"\!${PW_WINE_USE}$//g"` 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}!${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
fi fi
fi fi
else else
export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)'
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$"` ]] ; then if [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$") ]] ; then
export PW_DEFAULT_WINE_USE="${PW_PROTON_STEAM_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_PROTON_STEAM_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]] ; then elif [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_GE$") ]] ; then
export PW_DEFAULT_WINE_USE="${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
else else
if [[ "${PW_WINE_USE}" == "${PW_PROTON_STEAM_VER}" ]] ; then if [[ "${PW_WINE_USE}" == "${PW_PROTON_STEAM_VER}" ]] ; then
@ -500,13 +501,13 @@ else
elif [[ "${PW_WINE_USE}" == "${PW_PROTON_GE_VER}" ]] ; then elif [[ "${PW_WINE_USE}" == "${PW_PROTON_GE_VER}" ]] ; then
export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
else else
export DIST_ADD_TO_GUI=`echo ${DIST_ADD_TO_GUI} | sed -e s/"\!${PW_WINE_USE}$//g"` 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}!${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!${PW_PROTON_GE_VER}!${PW_PROTON_STEAM_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE"
fi fi
fi fi
unset PW_GUI_DISABLED_CS unset PW_GUI_DISABLED_CS
fi fi
if [ ! -z "${portwine_exe}" ]; then if [ -n "${portwine_exe}" ]; then
if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then
pw_create_gui_png pw_create_gui_png
grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop
@ -529,22 +530,22 @@ if [ ! -z "${portwine_exe}" ]; then
--button='LAUNCH'!!"${loc_launch}":106 ) --button='LAUNCH'!!"${loc_launch}":106 )
export PW_YAD_SET="$?" export PW_YAD_SET="$?"
if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi
export VULKAN_MOD=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}'` export VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}')
export PW_WINE_VER=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}'` export PW_WINE_VER=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}')
export PW_PREFIX_NAME=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g` export PW_PREFIX_NAME=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $3}' | sed -e s/[[:blank:]]/_/g)
if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "`echo "${PW_PREFIX_NAME}" | grep -E '^_.*' `" ]] ; then if [[ -z "${PW_PREFIX_NAME}" ]] || [[ -n "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then
export PW_PREFIX_NAME="DEFAULT" export PW_PREFIX_NAME="DEFAULT"
else else
export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}"
fi fi
elif [ ! -z "${PORTWINE_DB_FILE}" ]; then elif [ -n "${PORTWINE_DB_FILE}" ]; then
portwine_launch portwine_launch
fi fi
else else
button_click () { button_click () {
[ ! -z "$1" ] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" [[ -n "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [ ! -z `pidof -s yad` ] || [ ! -z `pidof -s yad_new` ] ; then if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_new) ]] ; then
kill -s SIGUSR1 `pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}'` > /dev/null 2>&1 kill -s SIGUSR1 $(pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}') > /dev/null 2>&1
fi fi
} }
export -f button_click export -f button_click
@ -563,7 +564,7 @@ else
rm -fr "${PORT_WINE_PATH}" rm -fr "${PORT_WINE_PATH}"
rm -fr "${PORT_WINE_TMP_PATH}" rm -fr "${PORT_WINE_TMP_PATH}"
rm -fr "${HOME}/PortWINE" rm -fr "${HOME}/PortWINE"
rm -f `grep -il PortProton "${HOME}/.local/share/applications"/*` rm -f $(grep -il PortProton "${HOME}/.local/share/applications"/*)
update-desktop-database -q "${HOME}/.local/share/applications" update-desktop-database -q "${HOME}/.local/share/applications"
fi fi
exit 0 exit 0
@ -589,8 +590,8 @@ else
gui_open_scripts_from_backup () { gui_open_scripts_from_backup () {
cd "${PORT_WINE_TMP_PATH}/scripts_backup/" cd "${PORT_WINE_TMP_PATH}/scripts_backup/"
PW_SCRIPT_FROM_BACKUP=`"${pw_yad_new}" --file --borders=5 --width=650 --height=500 --auto-close --center \ PW_SCRIPT_FROM_BACKUP=$("${pw_yad_new}" --file --borders=5 --width=650 --height=500 --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz"` --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz")
YAD_STATUS="$?" YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/" unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/"
@ -663,15 +664,15 @@ else
YAD_STATUS="$?" YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ]]; then
export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'` export PW_YAD_SET=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}')
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form"
fi fi
if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then if [[ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ]] ; then
export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $1}'` export VULKAN_MOD=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $1}')
export PW_PREFIX_NAME=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $2}' | sed -e "s/[[:blank:]]/_/g" ` export PW_PREFIX_NAME=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $2}' | sed -e "s/[[:blank:]]/_/g" )
export PW_WINE_VER=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $3}'` export PW_WINE_VER=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $3}')
if [[ -z "${PW_PREFIX_NAME}" ]] || [[ ! -z "`echo "${PW_PREFIX_NAME}" | grep -E '^_.*' `" ]] ; then if [[ -z "${PW_PREFIX_NAME}" ]] || [[ -n "$(echo "${PW_PREFIX_NAME}" | grep -E '^_.*' )" ]] ; then
export PW_PREFIX_NAME="DEFAULT" export PW_PREFIX_NAME="DEFAULT"
else else
export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}" export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}"
@ -681,21 +682,21 @@ else
export PW_DISABLED_CREATE_DB=1 export PW_DISABLED_CREATE_DB=1
fi fi
if [[ ! -z "${VULKAN_MOD}" && "${VULKAN_MOD}" = "OPENGL" ]] if [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "OPENGL" ]]
then export PW_VULKAN_USE="0" then export PW_VULKAN_USE="0"
elif [[ ! -z "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (DXVK and VKD3D)" ]] elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (DXVK and VKD3D)" ]]
then export PW_VULKAN_USE="1" then export PW_VULKAN_USE="1"
elif [[ ! -z "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (WINE DXGI)" ]] elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (WINE DXGI)" ]]
then export PW_VULKAN_USE="2" then export PW_VULKAN_USE="2"
elif [[ ! -z "${VULKAN_MOD}" && "${VULKAN_MOD}" = "GALLIUM_NINE (native DX9 on MESA)" ]] elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "GALLIUM_NINE (native DX9 on MESA)" ]]
then export PW_VULKAN_USE="3" then export PW_VULKAN_USE="3"
fi fi
init_wine_ver init_wine_ver
if [[ -z "${PW_DISABLED_CREATE_DB}" ]] ; then if [[ -z "${PW_DISABLED_CREATE_DB}" ]] ; then
if [[ ! -z "${PORTWINE_DB}" ]] && [[ -z "${PORTWINE_DB_FILE}" ]] ; then if [[ -n "${PORTWINE_DB}" ]] && [[ -z "${PORTWINE_DB_FILE}" ]] ; then
PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` PORTWINE_DB_FILE=$(grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*)
if [[ -z "${PORTWINE_DB_FILE}" ]] ; then if [[ -z "${PORTWINE_DB_FILE}" ]] ; then
echo "#!/usr/bin/env bash" > "${portwine_exe}".ppdb echo "#!/usr/bin/env bash" > "${portwine_exe}".ppdb
echo "#Author: "${USER}"" >> "${portwine_exe}".ppdb echo "#Author: "${USER}"" >> "${portwine_exe}".ppdb

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (PortWINE-Linux.ru) #Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2105 #SCRIPTS_NEXT_VERSION=2108
######################################################################## ########################################################################
export PW_MANGOHUD=0 export PW_MANGOHUD=0
export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt
@ -21,8 +21,8 @@ export PW_USE_TERMINAL=0
export PW_WINEDBG_DISABLE=1 export PW_WINEDBG_DISABLE=1
export PW_WINDOWS_VER="10" export PW_WINDOWS_VER="10"
export WINEARCH="win64" export WINEARCH="win64"
export PW_LIBS_VER="_v28" export PW_LIBS_VER="_v30"
export PORTWINE_URL="portwine-linux.ru/" export PORTWINE_URL="https://portwine-linux.ru/"
export GDK_BACKEND="x11" export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1" export PW_USE_GSTREAMER="1"
export PW_PREFIX_NAME="DEFAULT" export PW_PREFIX_NAME="DEFAULT"
@ -37,10 +37,9 @@ export PW_PLUGINS_VER="_v5"
export PW_STEAM_VER="7.0-2" export PW_STEAM_VER="7.0-2"
export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}" export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}"
###WINE_PROTON_GE### ###WINE_PROTON_GE###
export PW_GE_VER="7-16" export PW_GE_VER="7-18"
export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
export WINE_FULLSCREEN_FSR="1" export PW_WINE_FULLSCREEN_FSR=0
export WINE_FULLSCREEN_FSR_STRENGTH="2"
###WINE_PROTON_PW_FOR_GALLIUM_NINE### ###WINE_PROTON_PW_FOR_GALLIUM_NINE###
export PW_PW_VER="7.5" export PW_PW_VER="7.5"
export PW_PROTON_PW_VER="PROTON_PW_${PW_PW_VER}" export PW_PROTON_PW_VER="PROTON_PW_${PW_PW_VER}"

View File

@ -333,7 +333,7 @@ export -f gui_proton_downloader
gui_vkBasalt () { gui_vkBasalt () {
KEY_FX_GUI=$RANDOM KEY_FX_GUI=$RANDOM
FILE_VKBASALT_CONF="${PORT_WINE_PATH}/data/vkBasalt.conf" FILE_VKBASALT_CONF="${PORT_WINE_PATH}/data/vkBasalt.conf"
LIST_FX=(`grep ".fx$" "${FILE_VKBASALT_CONF}" | awk '{print $1}'`) LIST_FX=(`grep -E '.fx$|.fxh$' "${FILE_VKBASALT_CONF}" | awk '{print $1}'`)
GET_FX_IN_FILE=(`echo ${PW_VKBASALT_EFFECTS} | sed s/"cas:"// | sed s/":"/" "/g`) GET_FX_IN_FILE=(`echo ${PW_VKBASALT_EFFECTS} | sed s/"cas:"// | sed s/":"/" "/g`)
unset ADD_GUI_FX GUI_FX_RESULT unset ADD_GUI_FX GUI_FX_RESULT
for add_list_fx in ${LIST_FX[@]} ; do for add_list_fx in ${LIST_FX[@]} ; do
@ -378,11 +378,11 @@ gui_vkBasalt () {
INT_COUNT_FX=0 INT_COUNT_FX=0
for read_list_fx in ${YAD_BASALT_SET} ; do for read_list_fx in ${YAD_BASALT_SET} ; do
if [[ "$read_list_fx" == "TRUE" ]] ; then if [[ "$read_list_fx" == "TRUE" ]] ; then
export GUI_FX_RESULT+=":${LIST_FX[$INT_COUNT_FX]}" export GUI_FX_RESULT+="${LIST_FX[$INT_COUNT_FX]}:"
fi fi
export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 )) export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 ))
done done
GUI_FX_RESULT="cas${GUI_FX_RESULT}" GUI_FX_RESULT="${GUI_FX_RESULT}cas"
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}" export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
if [[ "$YAD_CAS_SET" == "0" ]] ; then if [[ "$YAD_CAS_SET" == "0" ]] ; then