Commit bfeb559a authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2271

parent 26307299
...@@ -2,6 +2,11 @@ You can help us in the development of the project on the website: https://linux- ...@@ -2,6 +2,11 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: Changelog:
###Scripts version 2271### Date: 03.04.2024 / Download update size: 15 megabytes
* improved interface of the prefix manager (xterm has been replaced with the standard PortProton interface)
* fixed the launch of the game "Dragon Age: Origin" from EAapp
* many small script improvements
###Scripts version 2270### Date: 31.03.2024 / Download update size: 15 megabytes ###Scripts version 2270### Date: 31.03.2024 / Download update size: 15 megabytes
* added support for the game Horizon Forbidden West (to apply, you need to run the exe of the game and select SETTINGS -> RESET SETTINGS) * added support for the game Horizon Forbidden West (to apply, you need to run the exe of the game and select SETTINGS -> RESET SETTINGS)
* fixed the operation of WINE from Kron4ek and returned the ability to download it using GET-OTHER-WINE * fixed the operation of WINE from Kron4ek and returned the ability to download it using GET-OTHER-WINE
......
...@@ -2,6 +2,12 @@ ...@@ -2,6 +2,12 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2271### Дата: 03.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* улучшен интерфейс менеджера префиксов (xterm заменен на стандартный интерфейс PortProton)
* исправлена работа русского языка в EAapp (для применения необходимо запустить EALauncher и в PP выбрать НАСТРОЙКИ -> СБРОСИТЬ НАСТРОЙКИ)
* исправлен запуск игры "DragonAge: Origin" из EAapp
* множество небольших улучшений скриптов
###Scripts version 2270### Дата: 31.03.2024 / Размер скачиваемого обновления: 15 мегабайт ###Scripts version 2270### Дата: 31.03.2024 / Размер скачиваемого обновления: 15 мегабайт
* добавлена поддержка игры Horizon Forbidden West (для применения необходимо запустить exe игры и выбрать НАСТРОЙКИ -> СБРОСИТЬ НАСТРОЙКИ) * добавлена поддержка игры Horizon Forbidden West (для применения необходимо запустить exe игры и выбрать НАСТРОЙКИ -> СБРОСИТЬ НАСТРОЙКИ)
* исправлена работа WINE от Kron4ek и возвращена возможность его скачивания с помощью GET-OTHER-WINE * исправлена работа WINE от Kron4ek и возвращена возможность его скачивания с помощью GET-OTHER-WINE
......
...@@ -720,19 +720,25 @@ wait_wineserver () { ...@@ -720,19 +720,25 @@ wait_wineserver () {
export -f wait_wineserver export -f wait_wineserver
kill_portwine () { kill_portwine () {
if [[ "${PW_WINE_USE}" != "USE_SYSTEM_WINE" ]] ; then
wine_pids="`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}'`" wine_pids="`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}'`"
if [ ! -z "${wine_pids}" ] ; then
for pw_kill_pids in ${wine_pids} ; do for pw_kill_pids in ${wine_pids} ; do
if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then if ps cax | grep ${pw_kill_pids} ; then
kill -n 9 ${pw_kill_pids} > /dev/null 2>&1 kill -n 9 ${pw_kill_pids} &>/dev/null
fi fi
done done
fi
bwrap_pids="`pgrep -a wrap | grep ${portname} | head -n 1 | awk '{print $1}'`" bwrap_pids="`pgrep -a wrap | grep ${portname} | head -n 1 | awk '{print $1}'`"
if [ ! -z "${bwrap_pids}" ] ; then
for pw_kill_pids in ${bwrap_pids} ; do for pw_kill_pids in ${bwrap_pids} ; do
if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then if ps cax | grep ${pw_kill_pids} ; then
kill -n 9 ${pw_kill_pids} > /dev/null 2>&1 kill -n 9 ${pw_kill_pids} &>/dev/null
fi
done
else
wine_pids="`ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}'`"
for pw_kill_pids in ${wine_pids} ; do
if ps cax | grep ${pw_kill_pids} ; then
kill -n 9 ${pw_kill_pids} &>/dev/null
fi fi
done done
fi fi
......
...@@ -410,7 +410,7 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1" ...@@ -410,7 +410,7 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1"
then then
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi fi
#try link d3d extras libs # try link d3d extras libs
PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras" PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras"
for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do
try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
...@@ -427,6 +427,15 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1" ...@@ -427,6 +427,15 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1"
done done
fi fi
# fix physx
PHYSX_PATH="${WINEPREFIX}/drive_c/Program Files (x86)/NVIDIA Corporation/PhysX/Common"
for physx_dll in PhysXDevice PhysXLoader PhysXUpdateLoader ; do
try_force_link_file "${PHYSX_PATH}/${physx_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
try_force_link_file "${PHYSX_PATH}/${physx_dll}64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
done
try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/"
create_new_dir "${PW_VULKAN_DIR}/opengl" create_new_dir "${PW_VULKAN_DIR}/opengl"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl"
...@@ -605,7 +614,7 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1" ...@@ -605,7 +614,7 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1"
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log" echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \ ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} | tee -a "${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver wait_wineserver
kill_portwine kill_portwine
fi fi
......
...@@ -383,8 +383,15 @@ pw_prefix_manager () { ...@@ -383,8 +383,15 @@ pw_prefix_manager () {
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 [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then
${pw_runtime} "${PW_PLUGINS_PATH}/portable/bin/xterm" -e env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \ pw_update_pfx_cover_gui "winetricks"
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} echo "START WINETRICKS..." >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
echo "Try to install DLL in prefix: ${SET_FROM_PFX_MANAGER}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
print_info "Try to install DLL in prefix: ${SET_FROM_PFX_MANAGER}"
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} | tee -a "${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver
kill_portwine
pw_stop_progress_bar
gui_prefix_manager gui_prefix_manager
else else
print_info "Nothing to do. Restarting PortProton..." print_info "Nothing to do. Restarting PortProton..."
...@@ -396,33 +403,6 @@ pw_prefix_manager () { ...@@ -396,33 +403,6 @@ pw_prefix_manager () {
gui_prefix_manager gui_prefix_manager
} }
pw_winetricks () {
update_winetricks
export PW_USE_TERMINAL=1
start_portwine
pw_stop_progress_bar
echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
unset PW_TIMER
while read -r line || [[ ! -z $(pgrep -a yad | grep "yad_v12_3 --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do
sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
then
echo "# ${line}"
fi
if [[ "${PW_TIMER}" != 1 ]] ; then
sleep 3
PW_TIMER=1
fi
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --text-info --tail --no-buttons --title="WINETRICKS" \
--auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y 2>/dev/null &
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
kill -s SIGTERM "$(pgrep -a yad_v12_3 | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1
stop_portwine
}
pw_start_cont_xterm () { pw_start_cont_xterm () {
cd "$HOME" cd "$HOME"
unset PW_SANDBOX_HOME_PATH unset PW_SANDBOX_HOME_PATH
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2270 #SCRIPTS_NEXT_VERSION=2271
######################################################################## ########################################################################
export PW_MANGOHUD="0" export PW_MANGOHUD="0"
export DEFAULT_MANGOHUD_CONFIG="arch,cpu_mhz,cpu_temp,engine_version,gamemode,gpu_core_clock,gpu_mem_clock,gpu_name,gpu_temp,ram,resolution,vkbasalt,vram,vulkan_driver,wine" export DEFAULT_MANGOHUD_CONFIG="arch,cpu_mhz,cpu_temp,engine_version,gamemode,gpu_core_clock,gpu_mem_clock,gpu_name,gpu_temp,ram,resolution,vkbasalt,vram,vulkan_driver,wine"
......
...@@ -73,6 +73,18 @@ pw_start_progress_bar_cover_block () { ...@@ -73,6 +73,18 @@ pw_start_progress_bar_cover_block () {
} }
pw_update_pfx_cover_gui () { pw_update_pfx_cover_gui () {
if [[ "$1" == "winetricks" ]] ; then
TAB_PLACE='--tab=TERMINAL --tab=LOGO'
TAB_N1=2
TAB_N2=1
YAD_UNDECORATED=""
else
TAB_PLACE='--tab=LOGO --tab=TERMINAL'
TAB_N1=1
TAB_N2=2
YAD_UNDECORATED="--undecorated --center"
fi
if ! check_start_from_steam && ! pgrep -a yad | grep "yad_v12_3 --notebook --key=$PW_KEY_PROGRESS_BAR_UP" &>/dev/null ; then if ! check_start_from_steam && ! pgrep -a yad | grep "yad_v12_3 --notebook --key=$PW_KEY_PROGRESS_BAR_UP" &>/dev/null ; then
PW_KEY_PROGRESS_BAR_UP=$RANDOM PW_KEY_PROGRESS_BAR_UP=$RANDOM
PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/update_prefix_${update_loc}.gif" PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/update_prefix_${update_loc}.gif"
...@@ -92,11 +104,12 @@ pw_update_pfx_cover_gui () { ...@@ -92,11 +104,12 @@ pw_update_pfx_cover_gui () {
sleep 3 sleep 3
PW_TIMER=1 PW_TIMER=1
fi fi
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum="2" --text-info --tail 2>/dev/null & done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum=$TAB_N2 --text-info --tail 2>/dev/null &
"${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null & "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR_UP --tabnum=$TAB_N1 --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null &
"${pw_yad_v12_3}" --notebook --key="$PW_KEY_PROGRESS_BAR_UP" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \ "${pw_yad_v12_3}" --notebook --key="$PW_KEY_PROGRESS_BAR_UP" $TAB_PLACE --no-buttons \
--center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom 2>/dev/null & --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y $YAD_UNDECORATED \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "PortProton" --tab-pos=bottom 2>/dev/null &
export PW_YAD_PID_PFX_COVER_UI="$!" export PW_YAD_PID_PFX_COVER_UI="$!"
return 0 return 0
fi fi
...@@ -105,7 +118,8 @@ pw_update_pfx_cover_gui () { ...@@ -105,7 +118,8 @@ pw_update_pfx_cover_gui () {
pw_start_progress_bar_cs () { pw_start_progress_bar_cs () {
if ! check_start_from_steam ; then if ! check_start_from_steam ; then
"${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \ "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &>/dev/null & --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" &>/dev/null &
export PW_YAD_PID_PROGRESS_BAR_CS="$!" export PW_YAD_PID_PROGRESS_BAR_CS="$!"
return 0 return 0
fi fi
...@@ -114,7 +128,8 @@ pw_start_progress_bar_cs () { ...@@ -114,7 +128,8 @@ pw_start_progress_bar_cs () {
pw_start_progress_bar_block () { pw_start_progress_bar_block () {
if ! check_start_from_steam ; then if ! check_start_from_steam ; then
"${pw_yad}" --progress --progress-text="$@" --pulsate \ "${pw_yad}" --progress --progress-text="$@" --pulsate \
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 &>/dev/null & --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" &>/dev/null &
export PW_YAD_PID_PROGRESS_BAR_BLOCK="$!" export PW_YAD_PID_PROGRESS_BAR_BLOCK="$!"
return 0 return 0
fi fi
...@@ -145,6 +160,7 @@ export -f pw_stop_progress_bar_cover_block ...@@ -145,6 +160,7 @@ export -f pw_stop_progress_bar_cover_block
open_changelog () { open_changelog () {
"${pw_yad}" --title="$loc_gui_changelog" --borders=${YAD_BORDERS} --no-buttons --text-align=center \ "${pw_yad}" --title="$loc_gui_changelog" --borders=${YAD_BORDERS} --no-buttons --text-align=center \
--text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \ --text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" &>/dev/null --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" &>/dev/null
} }
export -f open_changelog export -f open_changelog
......
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