Commit 7021c035 authored by Mikhail Tergoev's avatar Mikhail Tergoev

###Scripts version 1087###

parent 72329c24
...@@ -15,7 +15,32 @@ ...@@ -15,7 +15,32 @@
* добавить контроль за окнами для правильного отключения прогресс бара * добавить контроль за окнами для правильного отключения прогресс бара
* зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru * зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru
----------------------------------------- -----------------------------------------
###Scripts version 1080### ###Scripts version 1087###
* добавлен вопрос об обновлении скриптов
* HOTFIX - полностью убрана переменная WINE_WIN_START
###Scripts version 1086###
* HOTFIX - изменена переменная export WINE_WIN_START="start.exe /b"
###Scripts version 1085###
* в скрипт var добавлена и временно включена переменная export PW_FORCE_DISABLED_RUNTIME=1 (требуется рашение проблемы с загрузкой faudio)
* добавлено автоматическое создание каталога "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
* HOTFIX - обновление скриптов после установки происходило только при повторном запуске порта
###Scripts version 1084###
* фикc запуска gui winetricks c терминалом
###Scripts version 1083###
* временно вернул работу winetricks без использования контейнера
###Scripts version 1082###
* HOTFIX - смена версии cabextract внутри libs_v14
###Scripts version 1081###
* HOTFIX - автоматичкское удаление wget из libs_v14, что бы winetricks использовал curl для скачивания
###PortProton-80### 19.05.2021 ###Scripts version 1080###
* обновлен WINE до версии Proton 6.8 GE 1
* обновлен контейнер в libs_v14 до версии Debian 10.9 * обновлен контейнер в libs_v14 до версии Debian 10.9
* добавлен аргумент запуска RUNTIME "--filesystem=${PORT_WINE_PATH}" для возможности установки и использования порта вне $HOME * добавлен аргумент запуска RUNTIME "--filesystem=${PORT_WINE_PATH}" для возможности установки и использования порта вне $HOME
* перенос создания символьной ссылки на drive_c из скрипта setup в runlib * перенос создания символьной ссылки на drive_c из скрипта setup в runlib
......
...@@ -29,6 +29,13 @@ then ...@@ -29,6 +29,13 @@ then
export port_upd5="Напомнить позже" export port_upd5="Напомнить позже"
export port_upd6="Больше не напоминать" export port_upd6="Больше не напоминать"
export scripts_upd1="Обновление скриптов"
export scripts_upd2="Доступно обновление скриптов для ${portname}\n"
export scripts_upd3="Действие:"
export scripts_upd4="Обновить сейчас"
export scripts_upd5="Напомнить позже"
export scripts_upd6="Больше не напоминать"
export port_del1="Удаление $portname" export port_del1="Удаление $portname"
export port_del2="Вы действительно хотите удалить $portname,\nс установленным в него клиентом?\n" export port_del2="Вы действительно хотите удалить $portname,\nс установленным в него клиентом?\n"
export port_del3="Удалить?!" export port_del3="Удалить?!"
...@@ -104,8 +111,8 @@ then ...@@ -104,8 +111,8 @@ then
export ss_default_2="Old startup, with questions and logs" export ss_default_2="Old startup, with questions and logs"
export ss_ogl_1="Use OpenGL. (DirectX to OpenGL)" export ss_ogl_1="Use OpenGL. (DirectX to OpenGL)"
export ss_ogl_2="Use VKD3D. (DX12 to vulkan)" export ss_ogl_2="Use VKD3D. (DX12 to vulkan)"
export ss_ogl_3="Use DXVK and D9VK. (DX9-DX11 to Vulkan)" export ss_ogl_3="Use DXVK and D9VK. (DX9-DX11 to Vulkan)"
export ss_done="The shortcut was created in the ${portname} directory.\nAdd it to MENU -> GAMES?" export ss_done="The shortcut was created in the ${portname} directory.\nAdd it to MENU -> GAMES?"
export inst_succ="The installation was successful." export inst_succ="The installation was successful."
...@@ -116,7 +123,14 @@ then ...@@ -116,7 +123,14 @@ then
export port_upd5="Remind me later" export port_upd5="Remind me later"
export port_upd6="Do not remind me" export port_upd6="Do not remind me"
export port_del1="Remove $portname" export scripts_upd1="New update for scripts"
export scripts_upd2="Scripts update avialable for ${portname}\n"
export scripts_upd3="Action:"
export scripts_upd4="Updating now"
export scripts_upd5="Remind me later"
export scripts_upd6="Do not remind me"
export port_del1="Remove $portname"
export port_del2="Are you sure you want to delete the ${portname}?\n" export port_del2="Are you sure you want to delete the ${portname}?\n"
export port_del3="Remove?!" export port_del3="Remove?!"
export port_del4="No!" export port_del4="No!"
......
...@@ -88,6 +88,10 @@ try_download () { ...@@ -88,6 +88,10 @@ try_download () {
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 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 [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
} }
try_download_silent () {
wget -c -t 5 -T 2 "$1" --output-document="$2"
[ "$?" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
}
zenity_error_download () { zenity_error_download () {
`zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1 `zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1
} }
...@@ -282,7 +286,7 @@ START_PORTWINE () ...@@ -282,7 +286,7 @@ START_PORTWINE ()
PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..." PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..."
export WINELOADER="${WINEDIR}/bin/wine" export WINELOADER="${WINEDIR}/bin/wine"
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}" export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
export WINESERVER="${WINEDIR}/bin/wineserver" export WINESERVER="${WINEDIR}/bin/wineserver"
if [ ! -z "${PATH}" ] if [ ! -z "${PATH}" ]
then export PATH="${WINEDIR}/bin:${PATH}" then export PATH="${WINEDIR}/bin:${PATH}"
...@@ -413,7 +417,7 @@ START_PORTWINE () ...@@ -413,7 +417,7 @@ START_PORTWINE ()
if [ ! -z ${PW_XKBD} ]; then if [ ! -z ${PW_XKBD} ]; then
setxkbmap us,ru setxkbmap us,ru
fi fi
if [ -x "`which "gamemoderun" 2>/dev/null`" ] && [ "$PW_FORCE_DISABLED_GAMEMOD" -eq "0" ]; then if [ -x "`which "gamemoderun" 2>/dev/null`" ] && [ "$PW_FORCE_DISABLED_GAMEMOD" != "1" ]; then
export PW_GAMEMODERUN=1 export PW_GAMEMODERUN=1
echo "Gamemod will be launched." echo "Gamemod will be launched."
else else
...@@ -459,7 +463,7 @@ STOP_PORTWINE () { ...@@ -459,7 +463,7 @@ STOP_PORTWINE () {
UPDATE_WINETRICKS () { UPDATE_WINETRICKS () {
W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
pw_ping_test && W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
print_info "Version winetricks on server: ${W_TRX_EXT_VER}" print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
print_info "Version winetricks in port: ${W_TRX_INT_VER}" print_info "Version winetricks in port: ${W_TRX_INT_VER}"
...@@ -509,7 +513,7 @@ RUN_WINETRICKS_FROM_DB () { ...@@ -509,7 +513,7 @@ RUN_WINETRICKS_FROM_DB () {
UPDATE_WINETRICKS UPDATE_WINETRICKS
PW_STOP_PROGRESS_BAR PW_STOP_PROGRESS_BAR
print_info "Need to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" print_info "Need to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
${PW_TERM} ${PW_RUNTIME} "${PORT_WINE_TMP_PATH}/winetricks" -q -r --force ${PW_DLL_NEED_INSTALL} ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q --force ${PW_DLL_NEED_INSTALL}
fi fi
PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..." PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..."
fi fi
...@@ -544,15 +548,14 @@ PW_UPDATE () { ...@@ -544,15 +548,14 @@ PW_UPDATE () {
fi fi
if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then
echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier" echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier"
fi fi
read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier" read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier"
if [ "${update_not}" = "1" ] ; then if [ "${update_not}" = "1" ] ; then
pw_ping_test && echo `curl -s --list-only "${PW_FTP_URL}/current_version/${portname}_ver"` > "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" if try_download_silent "${PW_FTP_URL}/current_version/${portname}_ver" "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" ; then
if [ -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then
read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"
try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"
if [ ! -z "${current_ver}" ] && [ "${current_ver}" -gt "${install_ver}" ] ; then if [ ! -z "${current_ver}" ] && [ "${current_ver}" -gt "${install_ver}" ] ; then
xsd=`zenity --title "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=220 --column="${inst_set}" --column "${port_upd3}" \ xsd=`zenity --title "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=230 --column="${inst_set}" --column "${port_upd3}" \
TRUE "${port_upd4}" \ TRUE "${port_upd4}" \
FALSE "${port_upd5}" \ FALSE "${port_upd5}" \
FALSE "${port_upd6}" ` FALSE "${port_upd6}" `
...@@ -581,7 +584,7 @@ PW_UPDATE () { ...@@ -581,7 +584,7 @@ PW_UPDATE () {
port_time=$((${port_time}-1)) port_time=$((${port_time}-1))
echo "${port_time}" > "${HOME}/.config/.PortTime" echo "${port_time}" > "${HOME}/.config/.PortTime"
else else
xsd2=`zenity --title "${port_time1}" --text "${port_time2}" --list --radiolist --height=240 --column="${inst_set3}" --column "${port_time3}" \ xsd2=`zenity --title "${port_time1}" --text "${port_time2}" --list --radiolist --height=230 --column="${inst_set3}" --column "${port_time3}" \
TRUE "${port_time4}" \ TRUE "${port_time4}" \
FALSE "${port_time5}" \ FALSE "${port_time5}" \
FALSE "${port_time6}" ` FALSE "${port_time6}" `
...@@ -603,6 +606,7 @@ PW_UPDATE () { ...@@ -603,6 +606,7 @@ PW_UPDATE () {
} }
PW_INIT_PFX () { PW_INIT_PFX () {
try_remove_file "${HOME}/.PortWINE/libs_v14/runtime/bin/wget"
rm -f "${WINEDIR}"*/lib*/*steam* rm -f "${WINEDIR}"*/lib*/*steam*
rm -f "${WINEDIR}"*/lib*/wine/*steam* rm -f "${WINEDIR}"*/lib*/wine/*steam*
rm -f "${WINEDIR}"*/lib*/wine/fakedlls/*steam* rm -f "${WINEDIR}"*/lib*/wine/fakedlls/*steam*
...@@ -636,7 +640,7 @@ PW_INIT_PFX () { ...@@ -636,7 +640,7 @@ PW_INIT_PFX () {
if [ ! -d "${PORT_WINE_PATH}/drive_c" ]; then if [ ! -d "${PORT_WINE_PATH}/drive_c" ]; then
try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/"
fi fi
create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/" create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/"
try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf
try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf
...@@ -645,7 +649,7 @@ PW_INIT_PFX () { ...@@ -645,7 +649,7 @@ PW_INIT_PFX () {
try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf
var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n"
export TOTAL_VRAM=`"${WINELIB}/amd64/usr/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` export TOTAL_VRAM=`"${WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
echo "TOTAL_VRAM=${TOTAL_VRAM}" echo "TOTAL_VRAM=${TOTAL_VRAM}"
try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" 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/" try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/"
...@@ -720,28 +724,45 @@ PW_SCRIPTS_UPDATE () { ...@@ -720,28 +724,45 @@ PW_SCRIPTS_UPDATE () {
if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then
echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver" echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver"
fi fi
pw_ping_test && echo `curl -s --list-only "${PW_FTP_URL}/current_version/scripts_ver"` > "${PORT_WINE_TMP_PATH}/scripts_cur_ver" export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
if [ "$?" == "0" ] ; then if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then
read scripts_current_ver < "${PORT_WINE_TMP_PATH}/scripts_cur_ver" echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver" fi
if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
echo "######################################################" if [ "${scripts_update_not}" = "1" ] ; then
echo "Update scripts..." if try_download_silent "${PW_FTP_URL}/current_version/scripts_ver" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" read scripts_current_ver < "${PORT_WINE_TMP_PATH}/scripts_cur_ver"
if try_download "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz" ; then try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver"
tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/" if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then
if [ "$?" == "0" ] ; then xcsd=`zenity --title "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=230 --column="${inst_set}" --column "${scripts_upd3}" \
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" TRUE "${scripts_upd4}" \
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" FALSE "${scripts_upd5}" \
"${pw_yad}" --title="Changelog" --borders=10 \ FALSE "${scripts_upd6}"`
--text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \ case $xcsd in
--text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \ "${scripts_upd4}")
--filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red echo "######################################################"
[ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & echo "Update scripts..."
exit 0 try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
fi if try_download_silent "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz" ; then
else tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/"
zenity_error_download && PW_SCRIPTS_UPDATE if [ "$?" == "0" ] ; then
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
"${pw_yad}" --title="Changelog" --borders=10 \
--text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \
--text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red
[ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &
exit 0
fi
else
zenity_error_download && PW_SCRIPTS_UPDATE
fi ;;
"${scripts_upd5}")
echo " " ;;
"${scripts_upd6}")
echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;;
esac
fi fi
fi fi
fi fi
...@@ -760,18 +781,22 @@ PW_RUN () { ...@@ -760,18 +781,22 @@ PW_RUN () {
export PW_TERM="" export PW_TERM=""
export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" echo "Use logging with gamemode"
$PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" echo "Full command line: $PW_TERM ${optirun_on} gamemoderun ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}"
$PW_TERM ${optirun_on} gamemoderun ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
else else
echo "Use logging without gamemode"
echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}"
$PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
fi fi
else else
[ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM="" [ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM=""
if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" echo "Use gamemode without terminal"
$PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} echo "Full command line: $PW_TERM ${optirun_on} gamemoderun ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}"
$PW_TERM ${optirun_on} gamemoderun ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
else else
echo "Don\`t use gamemode without terminal"
echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}"
$PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
fi fi
...@@ -805,14 +830,18 @@ export WINEDIR="${PORT_WINE_PATH}"/data/dist ...@@ -805,14 +830,18 @@ export WINEDIR="${PORT_WINE_PATH}"/data/dist
export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}" export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}"
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"
export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}" export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}"
export WINE_WIN_START="${WINEPREFIX}/drive_c/windows/system32/start.exe"
export PW_RUNTIME="${WINELIB}/run-in-soldier --remove-game-overlay --share-home --filesystem="${PORT_WINE_PATH}" --runtime=runtime --"
export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui"
export PW_VULKAN_DLL="${HOME}/.PortWINE/vulkan" export PW_VULKAN_DLL="${HOME}/.PortWINE/vulkan"
export PW_DXVK_VER="${PW_DEF_DXVK_VER}" export PW_DXVK_VER="${PW_DEF_DXVK_VER}"
export PW_VKD3D_VER="${PW_DEF_VKD3D_VER}" export PW_VKD3D_VER="${PW_DEF_VKD3D_VER}"
export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1`
export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` if [ ! -z "${PW_FORCE_DISABLED_RUNTIME}" ] && [ "${PW_FORCE_DISABLED_RUNTIME}" != 0 ] ; then
export PW_RUNTIME=""
echo "RUNTIME is disabled"
else
export PW_RUNTIME="${WINELIB}/run-in-soldier --remove-game-overlay --share-home --filesystem="${PORT_WINE_PATH}" --runtime=runtime --"
echo "RUNTIME is enabled"
fi
if [ -z "${INSTALLING_PORT}" ] ; then if [ -z "${INSTALLING_PORT}" ] ; then
PW_LOAD_LIBS PW_LOAD_LIBS
......
...@@ -63,3 +63,5 @@ else ...@@ -63,3 +63,5 @@ else
`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1 `zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1
xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0
fi fi
unset INSTALLING_PORT
\ No newline at end of file
...@@ -13,13 +13,13 @@ PORTWINE_LAUNCH () { ...@@ -13,13 +13,13 @@ PORTWINE_LAUNCH () {
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 [ ! -z "${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" /unix "$portwine_exe" PW_RUN explorer "/desktop=portwine,${pw_screen_resolution}" "$portwine_exe"
elif [ ! -z "${PORTWINE_MSI}" ]; then elif [ ! -z "${PORTWINE_MSI}" ]; then
PW_RUN msiexec /i "$portwine_exe" PW_RUN msiexec /i "$portwine_exe"
elif [ ! -z "${PORTWINE_BAT}" ] || [ ! -z "${portwine_exe}" ]; then elif [ ! -z "${PORTWINE_BAT}" ] || [ ! -z "${portwine_exe}" ]; then
PW_RUN "$WINE_WIN_START" /unix "$portwine_exe" PW_RUN "$portwine_exe"
else else
PW_RUN "$WINE_WIN_START" explorer PW_RUN explorer
fi fi
} }
PORTWINE_CREATE_SHORTCUT () { PORTWINE_CREATE_SHORTCUT () {
...@@ -124,11 +124,11 @@ PORTWINE_DEBUG () { ...@@ -124,11 +124,11 @@ PORTWINE_DEBUG () {
free -m >> "${PORT_WINE_PATH}/${portname}.log" free -m >> "${PORT_WINE_PATH}/${portname}.log"
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"
"${WINELIB}/amd64/usr/bin/glxinfo" -B >> "${PORT_WINE_PATH}/${portname}.log" "${WINELIB}/runtime/bin/glxinfo" -B >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log"
"${WINELIB}/amd64/usr/bin/vulkaninfo" | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log" "${WINELIB}/runtime/bin/vulkaninfo" | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log"
"${WINELIB}/amd64/usr/bin/vkcube" --c 50 "${WINELIB}/runtime/bin/vkcube" --c 50
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log" echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log"
else else
...@@ -141,17 +141,17 @@ PORTWINE_DEBUG () { ...@@ -141,17 +141,17 @@ PORTWINE_DEBUG () {
fi fi
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Version WINE in the Port" >> "${PORT_WINE_PATH}/${portname}.log" echo "Version WINE in the Port" >> "${PORT_WINE_PATH}/${portname}.log"
"$WINELOADER" --version 2>&1 | tee -a "${PORT_WINE_PATH}/${portname}.log" ${PW_RUNTIME} "$WINELOADER" --version 2>&1 | tee -a "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log" echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${WINEPREFIX}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log" cat "${WINEPREFIX}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [ ! -z "${PORTWINE_DB_FILE}" ]; then if [ ! -z "${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' | awk '{print $1 " " $2}' >> "${PORT_WINE_PATH}/${portname}.log" cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
else else
echo "Use ${PORT_SCRIPTS_PATH}/portwine_db/default db file:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Use ${PORT_SCRIPTS_PATH}/portwine_db/default db file:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' | awk '{print $1 " " $2}' >> "${PORT_WINE_PATH}/${portname}.log" cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Log WINE:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Log WINE:" >> "${PORT_WINE_PATH}/${portname}.log"
...@@ -168,11 +168,11 @@ PORTWINE_DEBUG () { ...@@ -168,11 +168,11 @@ PORTWINE_DEBUG () {
} }
PW_WINECFG () { PW_WINECFG () {
START_PORTWINE START_PORTWINE
PW_RUN "$WINE_WIN_START" winecfg PW_RUN winecfg
} }
PW_WINEFILE () { PW_WINEFILE () {
START_PORTWINE START_PORTWINE
PW_RUN "$WINE_WIN_START" explorer PW_RUN explorer
} }
PW_WINECMD () { PW_WINECMD () {
export PW_USE_TERMINAL=1 export PW_USE_TERMINAL=1
...@@ -181,13 +181,13 @@ PW_WINECMD () { ...@@ -181,13 +181,13 @@ PW_WINECMD () {
} }
PW_WINEREG () { PW_WINEREG () {
START_PORTWINE START_PORTWINE
PW_RUN "$WINE_WIN_START" regedit PW_RUN regedit
} }
PW_WINETRICKS () { PW_WINETRICKS () {
UPDATE_WINETRICKS UPDATE_WINETRICKS
export PW_USE_TERMINAL=1 export PW_USE_TERMINAL=1
START_PORTWINE START_PORTWINE
"${PORT_WINE_TMP_PATH}/winetricks" -q -r --force ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q --force
} }
PW_EDIT_DB () { PW_EDIT_DB () {
xdg-open "${PORTWINE_DB_FILE}" xdg-open "${PORTWINE_DB_FILE}"
......
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
#export DXVK_HUD=fps,devinfo #export DXVK_HUD=fps,devinfo
#export PW_VIRTUAL_DESKTOP=1 #export PW_VIRTUAL_DESKTOP=1
export PW_FORCE_DISABLED_GAMEMOD=1 export PW_FORCE_DISABLED_RUNTIME=1
#export PW_FORCE_DISABLED_GAMEMOD=1
export PW_DEF_DXVK_VER=1.8.1 export PW_DEF_DXVK_VER=1.8.1
export PW_DEF_VKD3D_VER=2.3.1 export PW_DEF_VKD3D_VER=2.3.1
......
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