diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog index e0132f0..7ed3f23 100644 --- a/data_from_portwine/changelog +++ b/data_from_portwine/changelog @@ -10,6 +10,14 @@ * добавить комментарии описывающие функционал скриптов * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru ----------------------------------------- +###Scripts version 2005### +* обновлен db файл для steam (под ProtonGE связь с интернетом снова есть) - Спасибо Cefeiko! +* обновлен WINE PROTON_GE 6.16-GE1 +* переменная PW_GUI_DISABLED_CS сбрасывается при запуске порта (для совместимости со старыми ярлыками которые были созданы на предыдущих версиях порта) +* добавлена возможность создавать 32-х битный префикс (необходимо для будущей автоустановки League of Legends) +* в GUI AUTOINSTALL добавлены лаунчеры Bethesda.net Launcher и Rockstar-Games-Launcher +* улучшена функция pw_kill_autostart + ###Scripts version 2004### * HOTFIX - использование и редактирование db файла Battle.NET @@ -23,16 +31,16 @@ * добавлен графический интерфейс для настройки db файлов ###PortProton-94### 25.08.2021 ###Scripts version 2000### -* добавлено автоматическое скачивание и обновление Proton GE -* db файлы создаются автоматически при запуске любого *.exe +* добавлено автоматическое скачивание и обновление Proton GE +* db файлы создаются автоматически при запуске любого *.exe * последние выбранные режимы запуска сохраняются автоматически в db файлы * добавлены переменные для более точной настройки vkBasalt под каждую игру с помощью db файлов: -export PW_VKBASALT_EFFECTS="FakeHDR:cas" - можно изменять на любые эффекты из путь_до_порта/data/vkBasalt.conf -export PW_VKBASALT_FFX_CAS="0.7" - изменение резкости в играх (от 0 до 1 с шагом 0.01) +export PW_VKBASALT_EFFECTS="FakeHDR:cas" - можно изменять на любые эффекты из путь_до_порта/data/vkBasalt.conf +export PW_VKBASALT_FFX_CAS="0.7" - изменение резкости в играх (от 0 до 1 с шагом 0.01) так же можно настроить эти пар-ры глобально и для всех игр с помощью: путь_до_порта/data/user.conf PS: не забывает для активации добавить переменную: export ENABLE_VKBASALT=1 в db файл, или для глобального включения в user.conf * добавлены условия для правильного определения переменных LD_LIBRARY_PATH и LD_PRELOAD при автоматическом перезапуске скриптов -* запуск нескольких приложений можно запустить только через один и тот же протон +* запуск нескольких приложений можно запустить только через один и тот же протон * добавлена автоматическая очиста каталога Temp в префиксе порта * создан новый скрипт functions_helper, в который перенесены все вспомогательные функции из runlib * создана новая ветка обновлений скриптов v.2XXX diff --git a/data_from_portwine/img/gui/Bethesda.png b/data_from_portwine/img/gui/Bethesda.png new file mode 100644 index 0000000..f6ba130 Binary files /dev/null and b/data_from_portwine/img/gui/Bethesda.png differ diff --git a/data_from_portwine/img/gui/Rockstar.png b/data_from_portwine/img/gui/Rockstar.png new file mode 100644 index 0000000..fb90181 Binary files /dev/null and b/data_from_portwine/img/gui/Rockstar.png differ diff --git a/data_from_portwine/scripts/autoinstall b/data_from_portwine/scripts/autoinstall index 713896f..646521a 100644 --- a/data_from_portwine/scripts/autoinstall +++ b/data_from_portwine/scripts/autoinstall @@ -197,4 +197,40 @@ PW_OSU () { kill_portwine fi stop_portwine +} + +PW_BETHESDA () { + export LAUNCH_PARAMETERS=("/silent" ) + export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BethesdaNetLauncher_Setup.exe" + start_portwine + if try_download "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}" + then + pw_start_progress_bar_block "Installing the BethesdaNetLauncher. Please wait..." + pw_kill_autostart BethesdaNetLauncher.exe & + pw_run "${PW_AUTOINSTALL_EXE}" + portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Bethesda.net Launcher/BethesdaNetLauncher.exe" + try_remove_file "${PW_AUTOINSTALL_EXE}" + kill_portwine + pw_stop_progress_bar + export PORTWINE_CREATE_SHORTCUT_NAME="Bethesda.net" + portwine_create_shortcut + fi + stop_portwine +} + +PW_ROCKSTAR () { + export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe" + start_portwine + if try_download "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" + then + pw_start_progress_bar_block "Rockstar-Games-Launcher. Please wait..." + "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher" + portwine_exe="$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher/Launcher.exe" + try_remove_file "${PW_AUTOINSTALL_EXE}" + kill_portwine + pw_stop_progress_bar + export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar" + portwine_create_shortcut + fi + stop_portwine } \ No newline at end of file diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index e4bdc89..58acbb8 100644 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -148,11 +148,11 @@ pw_vkbasalt_check () { fi 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" - else + else export DISABLE_VKBASALT=1 fi -} +} gui_question () { `zenity --question --title "${inst_set}." --text "$1" --no-wrap ` &> /dev/null @@ -259,7 +259,7 @@ pw_start_progress_bar_block () { } pw_stop_progress_bar () { - while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] + while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` &> /dev/null done } @@ -404,11 +404,11 @@ stop_portwine () { try_remove_file "${PORT_SCRIPTS_PATH}/0" try_remove_file "${PORT_SCRIPTS_PATH}/1" kill_portwine - if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] + if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" fi - if [ ! -z "`ls "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | head -n 1`" ] - then + if [ ! -z "`ls "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | head -n 1`" ] + then chmod -R 755 "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ rm -fr "${WINEPREFIX}"/drive_c/users/steamuser/Temp/* fi @@ -422,7 +422,7 @@ pw_tray_icon () { export -f tray_icon_click tray_icon_click_exit() { kill_portwine - if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] + if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" fi killall start.sh @@ -528,7 +528,7 @@ pw_scripts_update () { fi read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier" if [ "${scripts_update_not}" = "1" ] ; then - if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then + if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'` try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver" echo "Scripts version in github = ${scripts_current_ver}" @@ -544,7 +544,7 @@ pw_scripts_update () { echo "Update scripts..." try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then - tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" + tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" if [ "$?" == "0" ] ; then cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/" try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" @@ -553,7 +553,7 @@ pw_scripts_update () { "${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 + --filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & exit 0 fi @@ -576,7 +576,7 @@ pw_kill_autostart () { else sleep 10 while true ; do - if [ -z `pgrep "$1" | head -n 1` ] && [ ! -z `pgrep wrap | head -n 1` ]; then + if [ -z "`ps aux | grep "$1" | head -n 1 | awk '{print $2}'`" ] && [ ! -z "`pgrep wrap | head -n 1`" ]; then echo -e "PID "$1" not found" sleep 1 else @@ -588,7 +588,7 @@ pw_kill_autostart () { } edit_db_from_gui () { - for mod_db in $@ ; do + for mod_db in $@ ; do echo "${mod_db}=${!mod_db}" if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then echo "export ${mod_db}=${!mod_db}" >> "${PORTWINE_DB_FILE}" @@ -618,9 +618,9 @@ pw_gui_for_edit_db () { output_yad_edit_db=`"${pw_yad}" --title "EDIT_DB" --text-align=center --text "Change settings in database file for ${PORTWINE_DB}\n" \ --columns=4 --form --separator=" " --borders=10 --center ${ADD_CHK_BOX_EDIT_DB} ` YAD_STATUS="$?" - if [ "$YAD_STATUS" == "1" ] ; then exit 0 - elif [ "$YAD_STATUS" == "252" ] ; then - xdg-open "${PORTWINE_DB_FILE}" & + if [ "$YAD_STATUS" == "1" ] ; then exit 0 + elif [ "$YAD_STATUS" == "252" ] ; then + xdg-open "${PORTWINE_DB_FILE}" & exit 0 fi export output_yad_edit_db=($output_yad_edit_db) @@ -638,7 +638,7 @@ pw_gui_for_edit_db () { } edit_db_field_read $@ edit_db_from_gui $@ - PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"` + PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"` echo "${PW_DB_TMP}" | awk '! a[$0]++' > "${PORTWINE_DB_FILE}" unset PW_DB_TMP return 0 @@ -662,7 +662,7 @@ pw_check_and_download_wine () { try_remove_file "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" try_remove_dir "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}" try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge" - + `zenity --error --title "Error..." \ --text "Failed to download WINE: proton_ge.\nCheck internet connection and press OK" \ --no-wrap ` > /dev/null 2>&1 && pw_check_and_download_wine @@ -675,4 +675,3 @@ pw_check_and_download_wine () { fi fi } - diff --git a/data_from_portwine/scripts/portwine_db/League of Legends b/data_from_portwine/scripts/portwine_db/League of Legends index 87bddaf..9709f86 100644 --- a/data_from_portwine/scripts/portwine_db/League of Legends +++ b/data_from_portwine/scripts/portwine_db/League of Legends @@ -1,15 +1,42 @@ -export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" -cd "${PATH_TO_GAME}" - -if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] -then - zenity --question --title="Fix for LoL anti-cheat" \ - --text='Root rights are required to execute the command: \n"sysctl -w abi.vsyscall32=0" and "sysctl -p"' --no-wrap - if [ "$?" = 1 ] - then - exit 0 +#!/bin/bash +#Author: xuser +#LeagueClient.exe +#Rating=1-5 +#####################examples########################### +##export PW_COMMENT_DB="blablabla" +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks) +##export WINEDLLOVERRIDES="blabla=n,b" +export LAUNCH_PARAMETERS="('--launch-product=league_of_legends' '--launch-patchline=live')" # Additional launch options +export PW_WINE_USE=proton_ge +export PW_VULKAN_USE=dxvk +##export PW_DXR_ON=1 +##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_NVAPI=0 +##export PW_OLD_GL_STRING=1 +##export PW_HIDE_NVIDIA_GPU=1 +##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_VIRTUAL_DESKTOP=1 +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue +##export ENABLE_VKBASALT=1 +##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only) +##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) +##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=0 # Do not use eventfd-based in-process synchronization primitives +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). +##export PW_HEAP_DELAY_FREE=1 +##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread +export WINEARCH=win32 # defaut = win64 +export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_x86" +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_USE_TERMINAL=1 # Force run in terminal +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +add_in_start_portwine () { + if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] ; then + zenity --question --title="Fix for LoL anti-cheat" \ + --text='Root rights are required to execute the command: \n"sysctl -w abi.vsyscall32=0" and "sysctl -p"' --no-wrap + [ "$?" = 1 ] && exit 0 + pkexec sh -c 'sysctl -w abi.vsyscall32=0 && sysctl -p' fi - pkexec sh -c 'sysctl -w abi.vsyscall32=0 && sysctl -p' -fi -sh "${PORT_SCRIPTS_PATH}"/fix_start_lol.sh | zenity --progress --title="Start PortLoL" --text="Please wait, launch is in progress, it may take few minutes" --pulsate --auto-close --auto-kill --width=450 & } \ No newline at end of file diff --git a/data_from_portwine/scripts/portwine_db/Medal Of Honor -Allied Assault b/data_from_portwine/scripts/portwine_db/Medal Of Honor -Allied Assault deleted file mode 100755 index c842a9d..0000000 --- a/data_from_portwine/scripts/portwine_db/Medal Of Honor -Allied Assault +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -#Author: Ridbowt (Nikola P.) -#MOHAA.exe -#moh_spearhead.exe -#moh_breakthrough.exe -#Rating=5 -################################################ -export PW_VULKAN_USE=0 -export LAUNCH_PARAMETERS="" -export MESA_EXTENSION_MAX_YEAR=2002 diff --git a/data_from_portwine/scripts/portwine_db/setup b/data_from_portwine/scripts/portwine_db/setup index 7f8929a..d8ee807 100644 --- a/data_from_portwine/scripts/portwine_db/setup +++ b/data_from_portwine/scripts/portwine_db/setup @@ -8,6 +8,7 @@ #export PW_COMMENT_DB="blablabla" ################################################ export PW_VULKAN_USE=0 #dxvk or vkd3d +export PW_WINE_USE=proton_steam #export WINEDLLOVERRIDES="blabla=n,b" #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. diff --git a/data_from_portwine/scripts/portwine_db/steam b/data_from_portwine/scripts/portwine_db/steam index b89ee79..77f30d0 100644 --- a/data_from_portwine/scripts/portwine_db/steam +++ b/data_from_portwine/scripts/portwine_db/steam @@ -1,10 +1,12 @@ #!/bin/bash #Author: Cefeiko -#steam.exe +#steam.exe #Rating=5 ################################################ export PW_COMMENT_DB="Steam" export PW_WINDOWS_VER=7 # Set windows version 10, 7 or XP export PW_DLL_INSTALL="vcrun2019 d3dcompiler_46" -export WINEDLLOVERRIDES="libglesv2=" +export WINEDLLOVERRIDES="libglesv2,lsteamclient=" export LAUNCH_PARAMETERS="-no-cef-sandbox" +export PW_VULKAN_USE=dxvk +export PW_WINE_USE=proton_ge diff --git a/data_from_portwine/scripts/portwine_db/trine b/data_from_portwine/scripts/portwine_db/trine new file mode 100755 index 0000000..819fbdb --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/trine @@ -0,0 +1,32 @@ +#!/bin/bash +#Author: xuser +#trine.exe +#Rating=1-5 +#####################examples########################### +##export PW_COMMENT_DB="blablabla" +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +export PW_DLL_INSTALL="physx" # Install DDL in port prefix (used winetricks) +##export WINEDLLOVERRIDES="blabla=n,b" +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export PW_DXR_ON=1 +##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_NVAPI=0 +##export PW_OLD_GL_STRING=1 +##export PW_HIDE_NVIDIA_GPU=1 +##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_VIRTUAL_DESKTOP=1 +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue +##export ENABLE_VKBASALT=1 +##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=0 # Do not use eventfd-based in-process synchronization primitives +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). +##export PW_HEAP_DELAY_FREE=1 +##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread +##export WINEARCH=win32 # defaut = win64 +##export WINEPREFIX= +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_USE_TERMINAL=1 # Force run in terminal +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/witcher3 b/data_from_portwine/scripts/portwine_db/witcher3 new file mode 100755 index 0000000..dfc1e11 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/witcher3 @@ -0,0 +1,37 @@ +#!/bin/bash +#Author: xuser +#witcher3.exe +#Rating=1-5 +######################################################## +export PW_VULKAN_USE=dxvk +#####################examples########################### +##export PW_COMMENT_DB="blablabla" +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks) +##export WINEDLLOVERRIDES="blabla=n,b" +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +export PW_DXR_ON=0 +export PW_VULKAN_NO_ASYNC=0 +##export PW_NVAPI_DISABLE=1 +export PW_OLD_GL_STRING=0 +export PW_HIDE_NVIDIA_GPU=0 +export PW_FORCE_USE_VSYNC=0 +export PW_VIRTUAL_DESKTOP=0 +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue +export ENABLE_VKBASALT=1 +export PW_VKBASALT_FFX_CAS="0.5" +export PW_NO_FSYNC=0 +export PW_NO_ESYNC=1 +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +export PW_NO_WRITE_WATCH=0 +export PW_HEAP_DELAY_FREE=0 +export PW_WINE_ALLOW_XIM=0 +##export WINEARCH=win32 # defaut = win64 +##export WINEPREFIX= +export PW_WINEDBG_DISABLE=0 +export PW_USE_TERMINAL=0 +##ADD_IN_START_PORTWINE () { commands ; } +export PW_WINE_USE=proton_ge +export PW_USE_NVAPI=0 +export PW_GUI_DISABLED_CS=0 diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 1347150..c287ba8 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -134,8 +134,12 @@ start_portwine () { fi if [ ! -z "${PW_USE_NVAPI}" ] && [ "${PW_USE_NVAPI}" == 1 ] && [ -d "${WINEDIR}/lib/wine/nvapi/" ] then - try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" + if [ "${WINEARCH}" != "win32" ] ; then + try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" + else + try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/system32/" + fi var_winedlloverride_update "nvapi,nvapi64=n" else var_winedlloverride_update "nvapi,nvapi64=" @@ -255,24 +259,37 @@ start_portwine () { # export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` # echo "TOTAL_VRAM=${TOTAL_VRAM}" echo "Try copy native DXGI" - if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" - then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" + if [ "${WINEARCH}" != "win32" ] ; then + if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" + then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" + fi + if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" + then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" + fi + try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" + else + if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" + then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" + fi + try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" fi - if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" - then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" - fi - try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" if [ "${PW_VULKAN_USE}" = "0" ] ; then export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}" export __GLX_VENDOR_LIBRARY_NAME=nvidia export GL_YIELD="NOTHING" for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do - if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - fi - if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" - then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + if [ "${WINEARCH}" != "win32" ] ; then + if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + fi + if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + fi + else + if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + fi fi done var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12=" @@ -280,8 +297,12 @@ start_portwine () { elif [ "${PW_VULKAN_USE}" = "vkd3d" ] ; then echo "Try copy native VKD3D files" for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do - try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + if [ "${WINEARCH}" != "win32" ] ; then + try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + else + try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + fi var_winedlloverride_update "${wine_vkd3d_dll}=n" create_new_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache" export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache" @@ -295,8 +316,12 @@ start_portwine () { export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi" echo "Try copy native DXVK files" for wine_dxvk_dll in ${CP_DXVK_FILES} ; do - try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + if [ "${WINEARCH}" != "win32" ] ; then + try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + else + try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" + fi var_winedlloverride_update "${wine_dxvk_dll}=n" done create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" @@ -357,7 +382,11 @@ start_portwine () { fi if [[ -z `cat "${WINEPREFIX}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then if [ ! -z "${PW_WINDOWS_VER}" ] && [ `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ] ; then - export PW_WINDOWS_VER="xp64" + if [ "${WINEARCH}" != "win32" ] ; then + export PW_WINDOWS_VER="xp64" + else + export PW_WINDOWS_VER="xp" + fi fi ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` echo "Set to win${PW_WINDOWS_VER}" @@ -396,7 +425,7 @@ pw_run () { } ###MAIN### -unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH +unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREAT_DB cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index ea39edd..7382df0 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -50,7 +50,7 @@ portwine_create_shortcut () { echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" if [ -z "${PW_CHECK_AUTOINSTAL}" ] - then echo "Exec=env PW_GUI_DISABLED_CS=1 "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ + then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ >> "${PORT_WINE_PATH}/${name_desktop}.desktop" else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -204,7 +204,7 @@ 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 \ 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 - [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & + [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & exit 0 } @@ -214,15 +214,15 @@ pw_autoinstall_from_db () { } ###MAIN### -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." if [ -z "${PW_VULKAN_USE}" ] || [ -z "${PW_WINE_USE}" ] ; then unset PW_GUI_DISABLED_CS - [ -z "${PW_VULKAN_USE}" ] && export PW_VULKAN_USE=dxvk + [ -z "${PW_VULKAN_USE}" ] && export PW_VULKAN_USE=dxvk [ -z "${PW_WINE_USE}" ] && export PW_WINE_USE=proton_steam fi - case "${PW_VULKAN_USE}" in + case "${PW_VULKAN_USE}" in "vkd3d") export PW_DEFAULT_VULKAN_USE='VKD3D (DX 12 to Vulkan)\!DXVK (DX 9-11 to Vulkan)\!OPENGL ' ;; "0") @@ -253,7 +253,7 @@ if [ ! -z "${portwine_exe}" ]; then --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='DEBUG'!!"${loc_debug}":102 \ --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 export VULKAN_MOD=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}' | awk '{print $1}'` export PW_WINE_VER=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}' | awk '{print $1}'` @@ -320,6 +320,8 @@ else --field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png":"BTN" '@bash -c "button_click PW_STEAM"' \ --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \ --field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' \ + --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/Bethesda.png":"BTN" '@bash -c "button_click PW_BETHESDA"' \ + --field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png":"BTN" '@bash -c "button_click PW_ROCKSTAR"' \ --field=" OSU"!"$PW_GUI_ICON_PATH/osu.png":"BTN" '@bash -c "button_click PW_OSU"' & \ "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \ diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 08578fb..5f58c3f 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/bin/bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2004 +#SCRIPTS_NEXT_VERSION=2005 ######################################################################## export PW_MANGOHUD=1 export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt @@ -28,7 +28,7 @@ export PW_LIBS_VER="_v17" export PORTWINE_URL="http://portwine-linux.ru/" export GDK_BACKEND="x11" -export PW_PROTON_GE_VER="6.15-GE-2" +export PW_PROTON_GE_VER="6.16-GE-1" export PW_MONO_VER="6.3.0" export PW_GECKO_VER="2.47.2" export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"