Commit c7b3a08b authored by Mikhail Tergoev's avatar Mikhail Tergoev

###Scripts version 2028###

parent 6646485c
...@@ -2,10 +2,16 @@ ...@@ -2,10 +2,16 @@
----------------------------------------- -----------------------------------------
В планах: В планах:
* добавить inxi в runtime и его вывод с аргументом -G в log * добавить inxi в runtime и его вывод с аргументом -G в log
* добавить 32-битный mangohud_dlsym в runtime
* добавить cs_block при запуске порта * добавить cs_block при запуске порта
* добавить проверку количества db файлов на один exe * добавить проверку количества db файлов на один exe
* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
----------------------------------------- -----------------------------------------
###Scripts version 2028###
* добавлена поддержка UBUNTU 21.10
* добавлен графический интерфейс для настройки vkBasalt под каждую игру
* добавлено автоматическое создание db файла при первом запуске *.exe
###Scripts version 2027### ###Scripts version 2027###
* в редакторе db файлов (EDIT_DB) добавлены всплывающие описания к каждому параметру. * в редакторе db файлов (EDIT_DB) добавлены всплывающие описания к каждому параметру.
* возващены libs_v17 * возващены libs_v17
......
...@@ -660,8 +660,6 @@ pw_gui_for_edit_db () { ...@@ -660,8 +660,6 @@ pw_gui_for_edit_db () {
fi fi
TMP_HELP_FOR_GUI="${int_to_boole}_INFO" TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
ADD_CHK_BOX_EDIT_DB+="--field=${int_to_boole}!${!TMP_HELP_FOR_GUI}:CHK%${!int_to_boole}%" ADD_CHK_BOX_EDIT_DB+="--field=${int_to_boole}!${!TMP_HELP_FOR_GUI}:CHK%${!int_to_boole}%"
echo "$ADD_CHK_BOX_EDIT_DB"
echo "${int_to_boole}=${!int_to_boole}"
done done
} }
edit_db_field_add $@ edit_db_field_add $@
...@@ -677,7 +675,6 @@ pw_gui_for_edit_db () { ...@@ -677,7 +675,6 @@ pw_gui_for_edit_db () {
exit 0 exit 0
fi fi
export IFS=$old_IFS export IFS=$old_IFS
echo "$output_yad_edit_db"
export output_yad_edit_db=($output_yad_edit_db) export output_yad_edit_db=($output_yad_edit_db)
export bool_from_yad=0 export bool_from_yad=0
edit_db_field_read () { edit_db_field_read () {
...@@ -824,3 +821,66 @@ gui_proton_downloader () { ...@@ -824,3 +821,66 @@ gui_proton_downloader () {
exit 0 exit 0
} }
export -f gui_proton_downloader export -f gui_proton_downloader
gui_vkBasalt () {
KEY_FX_GUI=$RANDOM
FILE_VKBASALT_CONF="${PORT_WINE_PATH}/data/vkBasalt.conf"
LIST_FX=(`grep ".fx$" "${FILE_VKBASALT_CONF}" | awk '{print $1}'`)
GET_FX_IN_FILE=(`echo ${PW_VKBASALT_EFFECTS} | sed s/"cas:"// | sed s/":"/" "/g`)
unset ADD_GUI_FX GUI_FX_RESULT
for add_list_fx in ${LIST_FX[@]} ; do
if [[ ! -z `echo " ${GET_FX_IN_FILE[@]} " | grep " ${add_list_fx} "` ]] ; then
ADD_GUI_FX+=("--field $add_list_fx:CHK TRUE")
else
ADD_GUI_FX+=("--field $add_list_fx:CHK FALSE")
fi
done
if [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
VKBASALT_FFX_CAS_GUI=`bc -s <<< "${PW_VKBASALT_FFX_CAS}*100" | sed 's/\..*//'`
else
VKBASALT_FFX_CAS_GUI=75
fi
"${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \
${ADD_GUI_FX[@]} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" &
"${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \
--field="AMD FidelityFX - Contrast Adaptive Sharpening":SCL "${VKBASALT_FFX_CAS_GUI}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" &
"${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="600" --title="vkBasalt" --center --borders=10 \
--button="CANCEL":1 --button="DISABLED VKBASALT":180 --button="ENABLED VKBASALT":182
YAD_VKBASALT_STATUS="$?"
case "${YAD_VKBASALT_STATUS}" in
1|252)
/bin/bash -c ${pw_full_command_line[*]} &
exit 0 ;;
180)
export ENABLE_VKBASALT=0 ;;
182)
export ENABLE_VKBASALT=1 ;;
esac
YAD_BASALT_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set"`
YAD_CAS_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" | sed s/" "//g`
INT_COUNT_FX=0
for read_list_fx in ${YAD_BASALT_SET} ; do
if [[ "$read_list_fx" == "TRUE" ]] ; then
export GUI_FX_RESULT+=":${LIST_FX[$INT_COUNT_FX]}"
fi
export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 ))
done
GUI_FX_RESULT="cas${GUI_FX_RESULT}"
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
if [[ "$YAD_CAS_SET" == "0" ]] ; then
export PW_VKBASALT_FFX_CAS="0"
elif [[ "$YAD_CAS_SET" == "100" ]] ; then
export PW_VKBASALT_FFX_CAS="1"
else
export PW_VKBASALT_FFX_CAS="0`bc -s <<< "scale=2; $YAD_CAS_SET/100"`"
fi
edit_db_from_gui PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS ENABLE_VKBASALT
/bin/bash -c ${pw_full_command_line[*]} &
exit 0
}
#!/bin/bash #!/bin/bash
#Author: chal55rus #Author: chal55rus
#UbisoftConnect.exe #UbisoftConnect.exe
#Rating=1-5 #Rating=1-5
################################################ ################################################
#export PW_VULKAN_USE=dxvk export PW_VULKAN_USE=1
export PW_DLL_INSTALL="arial corefonts d3dcompiler_43 d3dcompiler_47 d3dx9" export PW_DLL_INSTALL="arial corefonts d3dcompiler_43 d3dcompiler_47 d3dx9 d3dx11_42 d3dx11_43"
#####################examples########################### #####################examples###########################
##export PW_COMMENT_DB="blablabla" ##export PW_COMMENT_DB="blablabla"
##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL ##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL
##export WINEDLLOVERRIDES="blabla=n,b" ##export WINEDLLOVERRIDES="blabla=n,b"
##export PW_DLL_INSTALL="vcrun2019 " # Install DDL in port prefix (used winetricks) ##export PW_DLL_INSTALL="vcrun2019 " # Install DDL in port prefix (used winetricks)
##export PW_LOG=0 # Enable debug mode fo terminal ##export PW_LOG=0 # Enable debug mode fo terminal
##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. ##export PW_NO_FSYNC=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 ##export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
......
...@@ -69,7 +69,7 @@ start_portwine () { ...@@ -69,7 +69,7 @@ start_portwine () {
container_args+=("--ld-preload=$word") container_args+=("--ld-preload=$word")
fi fi
done done
export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu:/overrides/lib/i386-linux-gnu:" 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/:"
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \ --unshare-home \
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
try_remove_file "${PORT_WINE_TMP_PATH}/update_notifier" try_remove_file "${PORT_WINE_TMP_PATH}/update_notifier"
try_remove_dir "${PORT_SCRIPTS_PATH}/vars" try_remove_dir "${PORT_SCRIPTS_PATH}/vars"
create_new_dir "/home/${USER}/.local/share/applications" create_new_dir "${HOME}/.local/share/applications"
name_desktop="PortProton" name_desktop="PortProton"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
...@@ -17,7 +17,7 @@ echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp; ...@@ -17,7 +17,7 @@ echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
update-desktop-database -q "${HOME}/.local/share/applications" update-desktop-database -q "${HOME}/.local/share/applications"
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
......
...@@ -61,7 +61,7 @@ portwine_create_shortcut () { ...@@ -61,7 +61,7 @@ portwine_create_shortcut () {
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
`zenity --question --title "${inst_set}." --text "${ss_done}" --no-wrap ` &> /dev/null `zenity --question --title "${inst_set}." --text "${ss_done}" --no-wrap ` &> /dev/null
if [ $? -eq "0" ]; then if [ $? -eq "0" ]; then
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
fi fi
xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
} }
...@@ -204,9 +204,9 @@ pw_winetricks () { ...@@ -204,9 +204,9 @@ pw_winetricks () {
} }
pw_edit_db () { 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_gui_for_edit_db PW_MANGOHUD 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_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_USE_RUNTIME 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 if [ "$?" == 0 ] ; then
/bin/bash -c ${pw_full_command_line[*]} & /bin/bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
...@@ -241,7 +241,6 @@ do ...@@ -241,7 +241,6 @@ 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 [ ! -z "${PORTWINE_DB_FILE}" ] ; then
export YAD_EDIT_DB="--button=EDIT DB!!${loc_edit_db} ${PORTWINE_DB}:118"
[ -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
...@@ -273,7 +272,8 @@ if [ ! -z "${portwine_exe}" ]; then ...@@ -273,7 +272,8 @@ if [ ! -z "${portwine_exe}" ]; then
--field="Run with :CB" "${PW_DEFAULT_VULKAN_USE}" \ --field="Run with :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field="Run with :CB" "${PW_DEFAULT_WINE_USE}" \ --field="Run with :CB" "${PW_DEFAULT_WINE_USE}" \
--field=":LBL" "" \ --field=":LBL" "" \
"${YAD_EDIT_DB}" \ --button='VKBASALT'!!"${ENABLE_VKBASALT_INFO}":120 \
--button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \
--button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \
--button='DEBUG'!!"${loc_debug}":102 \ --button='DEBUG'!!"${loc_debug}":102 \
--button='LAUNCH'!!"${loc_launch}":106 ) --button='LAUNCH'!!"${loc_launch}":106 )
...@@ -426,6 +426,7 @@ case "$PW_YAD_SET" in ...@@ -426,6 +426,7 @@ case "$PW_YAD_SET" in
gui_wine_uninstaller) gui_wine_uninstaller ;; gui_wine_uninstaller) gui_wine_uninstaller ;;
gui_rm_portproton) gui_rm_portproton ;; gui_rm_portproton) gui_rm_portproton ;;
gui_proton_downloader) gui_proton_downloader ;; gui_proton_downloader) gui_proton_downloader ;;
120) gui_vkBasalt ;;
*) pw_autoinstall_from_db ;; *) pw_autoinstall_from_db ;;
esac esac
......
#!/bin/bash #!/bin/bash
#Author: Castro-Fidel (PortWINE-Linux.ru) #Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2027 #SCRIPTS_NEXT_VERSION=2028
#PORT_NEXT_VERSION=97 #PORT_NEXT_VERSION=97
######################################################################## ########################################################################
export PW_MANGOHUD=1 export PW_MANGOHUD=1
......
...@@ -29,7 +29,7 @@ fi ...@@ -29,7 +29,7 @@ fi
######################################################################## ########################################################################
cd "$(dirname "`readlink -f "$0"`")" cd "$(dirname "`readlink -f "$0"`")"
links="$(pwd)" links="$(pwd)"
deflink="/home/${USER}/PortWINE/${portname}" deflink="${HOME}/PortWINE/${portname}"
[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 [ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1
######################################################################## ########################################################################
if [ "$1" = "-rus" ] ; then if [ "$1" = "-rus" ] ; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment