diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog new file mode 100644 index 0000000..c1473a3 --- /dev/null +++ b/data_from_portwine/changelog @@ -0,0 +1,83 @@ +В планах: +* вывод changlog после обновления +* перепроверить KILL_WINESERVER +* исправить работу windows steam +* создать defaut префик и сделать авто симлинки в другие префиксы (games, programm files, users) +* добавить кнопку отчистки префикса без затрагивания игр и программ +* удалить старые mono и gecko из .PortWINE +* добавить вопрос перед обновлением скриптов +* проверить windows steam под PortProton +* убрать все *_vars +* выкачка либов из серверов кроссовера? +* иконка в трей для PortProton +* пофиксить выхлоп debug +* зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru + +###Scripts version 1034### +* hotfix для EGS +* в dxvk и opengl режиме, по умолчанию выбран win7 + +###Scripts version 1033### +* убран xterm из debug (иначе ломает шрифты) +* добавлена кнопка редактирования найденного db файла +* ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force + +###Scripts version 1032### +* изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")" +* автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42" +* по умолчанию под dxvk и opengl используется win10 +* исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла + +###Scripts version 1031### +* исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs + +###PortProton-71### 11.04.2021 +* отключено обновление libs, mono и gecko во время установки PortProton +* проверка версии glibc перед установкой, если версия ниже необходимой, то выводим ошибку +* добавлена проверка хеш-суммы порта на ftp перед установкой +* добавлен прогресс загрузки библиотек с интернета +* добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла +* исправлено дублирование db файлов при создании ярлыков +* перенос libs с сервера PortWINE-Linux.ru на https://github.com/Castro-Fidel/PortWINE/releases/ +* скачивание mono оф. github mono +* скачивание gecko оф. ftp winehq +* в /data/scripts/vars/PortProton_vars добавлена переменная PW_MANGOHUD=1 что включает HUD для монитроринга FPS, нагрузку на CPU, GPU и т.п (при условии что в системе предустановлен пакет mangohud) +* обновлена локализация подсказок при наведении на кнопки на экране выбора режимов запуска (русская и английская версии) +* добавлена проверка соединения с серверами и докачки winetricks, libs, mono, gecko. +* произведена глобальная чистка кода и вынос множества решений в отдельные функции +* дебаг теперь открывается в системном текстовом редакторе +* в дебаг добавлен инвайт (ссылка-приглашение) на наш сервер Discord +* убран CREATE_SHORTCUT и LAUNCH при запуске PortProton.desktop +* убрано удаление кэша winetricks + +###PortProton-70### 05.04.2021 +* обновлен wine до версии proton 6.3-1 +* обновлены dxvk и vkd3d поставляемые вместе с proton 6.3-1 +* обновлены библиотеки до версии libs_v7 +* обновлен Mono до 6.1.1 +* обновлен Gecko до 2.47.2 + +###PortProton-65### 13.02.2021 +* реализовано автоматическое обновление скриптов + +###PortProton-63### 22.11.2020 +* при запуске exe по ПКМ выбор режима появляется всегда (удобно для тестов) +* все настройки переехали в один файл PortProton (псевдографика использует YAD) +* обновлены runlib (добавлен YAD что бы не было необходимости устанавливать его в систему) +* ускорен запуск порта после изменения версии WINE  +* reset убивает процессы wine только для текущего порта +* winetricks теперь не скачивается при каждом запуске, а идет проверка актуальности версии +* добавлена функция использования базы данных для запускаемых игр и программ (автоматическая настройка префикса) +* добавлена функция тихой установки порта (sh PortProton-XX -rus, или sh PortProton-XX -eng) + +###PortProton-51### 22.11.2020 - RELEASE +* включает в себя 2 версии вайна: WINE PROTON 5.21 GE 1 и WINE PROTON 5.13 EXPEREMENTAL (переключаются автоматически, в зависимости от выбранного режима запуска dxvk, или vkd3d) +* обновлен DXVK до версии 1.7.3 (работают как старые игры требующие DirectX 9, так и новые с DirectX 11) +* обновлен VKD3D до версии 2.1 (работают новинки которые требуют DirectX 12. Например Cyberpunk2077 и Death Stranding) +* добавлена функция автоматического удаление мусора в виде steamclien.dll из префикса, реестра и библиотек предустановленного вайна +* обновлены скрипты (подробнее у нас на github) +значительно переработан и улучшен debug режим (запускается из каталога с портом) +* обновлены runtime библиотеки до версии libs_v4, что улучшает совместимость с разными ОС Linux и повышает производительность в играх +поддерживаются gamemode, FSYNC, ESYNC  из "коробки"  +* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению)  +* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась) diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index 1059c11..b73d071 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -90,6 +90,7 @@ then export loc_scripts_update=" Обновление базы данных для игр\n и программ успешно завершено.\n\n Перезапустите ${portname}." + export loc_edit_db="Изменить файл настроек для" elif [ "${update_loc}" = "ENG" ] then @@ -177,4 +178,5 @@ then export loc_scripts_update="Updating scripts and database of games\n and programs completed successfully.\n\n Restart ${portname}." + export loc_edit_db="Edit database file for" fi diff --git a/data_from_portwine/scripts/portwine_db/Baldurs_Gate_3_vkd3d b/data_from_portwine/scripts/portwine_db/Baldurs_Gate_3 similarity index 100% rename from data_from_portwine/scripts/portwine_db/Baldurs_Gate_3_vkd3d rename to data_from_portwine/scripts/portwine_db/Baldurs_Gate_3 diff --git a/data_from_portwine/scripts/portwine_db/Baldurs_Gate_3_dxvk b/data_from_portwine/scripts/portwine_db/Baldurs_Gate_3_dxvk deleted file mode 100644 index 53c5a5b..0000000 --- a/data_from_portwine/scripts/portwine_db/Baldurs_Gate_3_dxvk +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -#Author: -#bg3_dx11.exe -#Rating=1-5 -################################################ -export PW_VULKAN_USE=dxvk -export LAUNCH_PARAMETERS="" -export PW_DLL_INSTALL="d3dcompiler_43 d3dcompiler_47 vcrun2019" -#export DXVK_HUD=1 diff --git a/data_from_portwine/scripts/portwine_db/Battle.net_Launcher b/data_from_portwine/scripts/portwine_db/Battle.net_Launcher index 2e37d50..b204f46 100644 --- a/data_from_portwine/scripts/portwine_db/Battle.net_Launcher +++ b/data_from_portwine/scripts/portwine_db/Battle.net_Launcher @@ -6,6 +6,12 @@ ################################################ export PW_VULKAN_USE=dxvk export LAUNCH_PARAMETERS="" -export PW_DLL_INSTALL="vcrun2019 arial" +export PW_DLL_INSTALL="vcrun2017 d3dx11_42 d3dx11_43" export PW_WINDOWS_VER=10 -export PW_NVAPI_DISABLE=1 + +ADD_IN_START_PORTWINE () { + rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data" + rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/Blizzard Entertainment/Battle.net/Cache" + rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache" + try_remove_file "${PORT_WINE_PATH}/data/pfx/drive_c/windows/Fonts/sourcehansans.ttc" +} \ No newline at end of file diff --git a/data_from_portwine/scripts/portwine_db/Epic Games Launcher b/data_from_portwine/scripts/portwine_db/EpicGamesLauncher old mode 100755 new mode 100644 similarity index 79% rename from data_from_portwine/scripts/portwine_db/Epic Games Launcher rename to data_from_portwine/scripts/portwine_db/EpicGamesLauncher index d5f034b..155ea27 --- a/data_from_portwine/scripts/portwine_db/Epic Games Launcher +++ b/data_from_portwine/scripts/portwine_db/EpicGamesLauncher @@ -1,9 +1,9 @@ #!/bin/bash #Author: PortWINE -#EpicGamesLauncher.exe +#EpicGamesLauncher.exe #Rating=5 ################################################ export WINEDLLOVERRIDES="libglesv2=" export LAUNCH_PARAMETERS="-opengl -SkipBuildPatchPrereq" -export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2013 vcrun2017 d3dcompiler_43 d3dcompiler_47 arial cjkfonts d3dx9" +export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2013 vcrun2017 d3dcompiler_43 d3dcompiler_47 d3dx9" export MESA_GL_VERSION_OVERRIDE=4.4COMPAT diff --git a/data_from_portwine/scripts/portwine_db/FarLoneSails b/data_from_portwine/scripts/portwine_db/FarLoneSails new file mode 100644 index 0000000..0be77cd --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/FarLoneSails @@ -0,0 +1,34 @@ +#!/bin/bash + #Author: xuser + #FarLoneSails.exe + #Rating=1-5 + ################################################ + export PW_VULKAN_USE=0 +#####################examples########################### +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +##export PW_DLL_INSTALL="vcrun2019 vcrun6" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_VIRTUAL_DESKTOP=1 +##export DXVK_HUD=fps,devinfo +##export PW_HEAP_DELAY_FREE=0 +##export PW_DXGI_FROM_DXVK=0 +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/MassEffect b/data_from_portwine/scripts/portwine_db/MassEffect new file mode 100644 index 0000000..9527fc3 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/MassEffect @@ -0,0 +1,32 @@ +#!/bin/bash + #Author: xuser + #MassEffect.exe + #Rating=1-5 +#####################examples########################### +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +export PW_DLL_INSTALL="physx d3dx9" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_VIRTUAL_DESKTOP=1 +##export DXVK_HUD=fps,devinfo +##export PW_HEAP_DELAY_FREE=0 +##export PW_DXGI_FROM_DXVK=0 +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/MassEffect2 b/data_from_portwine/scripts/portwine_db/MassEffect2 new file mode 100644 index 0000000..69396cf --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/MassEffect2 @@ -0,0 +1,32 @@ +#!/bin/bash + #Author: xuser + #MassEffect2.exe + #Rating=1-5 +#####################examples########################### +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +export PW_DLL_INSTALL="physx d3dx9" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_VIRTUAL_DESKTOP=1 +##export DXVK_HUD=fps,devinfo +##export PW_HEAP_DELAY_FREE=0 +##export PW_DXGI_FROM_DXVK=0 +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher b/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher index 7dffb79..33d17d6 100644 --- a/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher +++ b/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher @@ -6,5 +6,5 @@ #Rating=? ################################################ export PW_VULKAN_USE=dxvk -export PW_DLL_INSTALL="arial vcrun2019" +export PW_DLL_INSTALL="vcrun2017" export PW_WINDOWS_VER=10 \ No newline at end of file diff --git a/data_from_portwine/scripts/portwine_db/Suite b/data_from_portwine/scripts/portwine_db/Suite new file mode 100644 index 0000000..880265e --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/Suite @@ -0,0 +1,33 @@ +#!/bin/bash + #Author: xuser + #Suite.exe + #Rating=1-5 +#####################examples########################### +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +export PW_DLL_INSTALL="corefonts" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr +export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +#export PW_VIRTUAL_DESKTOP=1 +##export DXVK_HUD=fps,devinfo +##export PW_HEAP_DELAY_FREE=0 +##export PW_DXGI_FROM_DXVK=0 +##ADD_IN_START_PORTWINE () { commands ; } +export PW_VULKAN_USE=0 diff --git a/data_from_portwine/scripts/portwine_db/WarGame3 b/data_from_portwine/scripts/portwine_db/WarGame3 new file mode 100644 index 0000000..b65c671 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/WarGame3 @@ -0,0 +1,34 @@ +#!/bin/bash + #Author: chal55rus + #WarGame3.exe + #Rating=1-5 + ################################################ + export PW_VULKAN_USE=vkd3d + export PW_DLL_INSTALL="wmp9" +#####################examples########################### +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +##export PW_DLL_INSTALL="vcrun2019 vcrun6" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_VIRTUAL_DESKTOP=1 +##export DXVK_HUD=fps,devinfo +##export PW_HEAP_DELAY_FREE=0 +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/default b/data_from_portwine/scripts/portwine_db/default index 19a27ab..2ce58ff 100644 --- a/data_from_portwine/scripts/portwine_db/default +++ b/data_from_portwine/scripts/portwine_db/default @@ -2,8 +2,9 @@ #Author: PortWINE-Linux.ru #name_exe_file.exe #Rating=1-5 -#export PW_COMMENT_DB="blablabla" +export PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42" # Install DDL in port prefix (used winetricks) #####################examples########################### +##export PW_COMMENT_DB="blablabla" ##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL ##export WINEDLLOVERRIDES="blabla=n,b" ##export PW_DLL_INSTALL="vcrun2019 vcrun6" # Install DDL in port prefix (used winetricks) @@ -25,9 +26,11 @@ ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options ##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr -##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP ##export PW_VIRTUAL_DESKTOP=1 ##export DXVK_HUD=fps,devinfo ##export PW_HEAP_DELAY_FREE=0 ##export PW_DXGI_FROM_DXVK=0 +##export WINEARCH=win32 # defaut = win64 +##export WINEPREFIX= ##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/dontstarve b/data_from_portwine/scripts/portwine_db/dontstarve new file mode 100644 index 0000000..9539890 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/dontstarve @@ -0,0 +1,37 @@ +#!/bin/bash + #Author: xuser + #dontstarve.exe + #Rating=1-5 + ################################################ + export PW_VULKAN_USE=vkd3d +#####################examples########################### +##export PW_COMMENT_DB="blablabla" +##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +##export PW_DLL_INSTALL="vcrun2017 d3dcompiler_43" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_VIRTUAL_DESKTOP=1 +##export DXVK_HUD=fps,devinfo +##export PW_HEAP_DELAY_FREE=0 +##export PW_DXGI_FROM_DXVK=0 +##export WINEARCH=win32 # defaut = win64 +##export WINEPREFIX= +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/risen-1 b/data_from_portwine/scripts/portwine_db/risen-1 new file mode 100644 index 0000000..ef0cb3a --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/risen-1 @@ -0,0 +1,29 @@ +#!/bin/bash +#Author: Ridbowt +#Risen.exe +#Rating 4 +#####################examples########################### +export PW_VULKAN_USE=0 # dxvk, vkd3d or 0 for OpenGL +##export WINEDLLOVERRIDES="blabla=n,b" +export PW_DLL_INSTALL="physx d3dx9" # Install DDL in port prefix (used winetricks) +##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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives +##export PW_DXVK_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_OLD_GL_STRING=0 +##export PW_NVAPI_DISABLE=1 +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export VKD3D_CONFIG=force_bindless_texel_buffer +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +#export PW_VIRTUAL_DESKTOP=1 +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/setup b/data_from_portwine/scripts/portwine_db/setup index f20b3d5..198fb84 100644 --- a/data_from_portwine/scripts/portwine_db/setup +++ b/data_from_portwine/scripts/portwine_db/setup @@ -1,6 +1,8 @@ #!/bin/bash #Author: PortWINE-Linux.ru #setup.exe +#Setup.exe +#SETUP.exe #.msi #Rating=5 #export PW_COMMENT_DB="blablabla" @@ -25,4 +27,4 @@ export PW_FORCE_LARGE_ADDRESS_AWARE=0 # Force Wine to enable the LARGE_ export PW_DLL_INSTALL="vcrun6 mfc42 vcrun6sp6" #export LAUNCH_PARAMETERS="-d3d9" export PW_GUI_DISABLED_CS=1 -export PW_WINDOWS_VER=XP # Set windows version 10, 7 or XP +#export PW_WINDOWS_VER=XP # Set windows version 10, 7 or XP diff --git a/data_from_portwine/scripts/portwine_db/steam b/data_from_portwine/scripts/portwine_db/steam index e2b4f56..b894f3e 100644 --- a/data_from_portwine/scripts/portwine_db/steam +++ b/data_from_portwine/scripts/portwine_db/steam @@ -5,5 +5,4 @@ ################################################ export LAUNCH_PARAMETERS="" export WINEDLLOVERRIDES="libglesv2=" - - +export LAUNCH_PARAMETERS"-no-cef-sandbox" diff --git a/data_from_portwine/scripts/portwine_db/wgc b/data_from_portwine/scripts/portwine_db/wgc index 8a76f8c..055724a 100644 --- a/data_from_portwine/scripts/portwine_db/wgc +++ b/data_from_portwine/scripts/portwine_db/wgc @@ -7,3 +7,6 @@ export PW_VULKAN_USE=dxvk #dxvk, vkd3d or 0 for OpenGL #export PW_DLL_INSTALL="" # Install DDL in port prefix (used winetricks) export LAUNCH_PARAMETERS="--disable-gpu" # Additional launch options export PW_USE_TERMINAL=1 +ADD_IN_START_PORTWINE () { + sed -i 's/true/false/g' "${PORT_WINE_PATH}/data/pfx/drive_c/Games/WGC/preferences.xml" +} \ No newline at end of file diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 41f5c51..2bfdf80 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -1,5 +1,6 @@ #!/bin/bash -# Author: PortWINE-Linux.ru +# Author: Castro-Fidel (PortWINE-Linux.ru) +# Development assistants: Cefeiko; Rus_Nor; gavr; RidBowt; ######################################################################## echo ' ████─████─████─███─█───█─███─█──█─███ @@ -15,19 +16,13 @@ if [ "${s_install}" != "1" ] && [ ! -x "`which "zenity" 2>/dev/null`" ];then xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 fi print_error () { - PS1_old="${PS1}" && PS1="\e[40;11;31m[\u@\h \W]$" echo "ERROR: $@" - PS1="${PS1_old}" } print_info () { - PS1_old="${PS1}" && PS1="\e[40;11;36m[\u@\h \W]$" echo "INFO: $@" - PS1="${PS1_old}" } print_var () { - PS1_old="${PS1}" && PS1="\e[47;11;30m[\u@\h \W]$" for vp in $@ ; do echo "${vp}=${!vp}" ; done - PS1="${PS1_old}" } try_copy_file () { if [ ! -f "$1" ] ; then print_info "file $1 not found for copy" @@ -48,16 +43,14 @@ try_copy_dir () { return 1 } try_remove_file () { - if [ ! -f "$1" ] ; then print_info "file $1 not found for remove" - else + if [ -f "$1" ] ; then rm -f "$1" [ "$?" != 0 ] && print_error "failed to remove file $1" || return 0 fi return 1 } try_remove_dir () { - if [ ! -d "$1" ] ; then print_info "directory $1 not found for remove" - else + if [ -d "$1" ] ; then rm -fr "$1" [ "$?" != 0 ] && print_error "failed to remove directory $1" || return 0 fi @@ -83,8 +76,11 @@ try_force_link_dir () { return 1 } try_download () { - wget -c -t 3 -T 2 "$1" --output-document="$2" - [ "$?" != 0 ] && print_error "failed to download $1. Scipping." && export DOWNLOAD_ERROR=1 && return 1 || export DOWNLOAD_ERROR=0 && return 0 + set -o pipefail + wget -c -t 3 -T 2 "$1" --output-document="$2" 2>&1 | \ + sed -u 's/^[a-zA-Z\-].*//; s/.* \{1,2\}\([0-9]\{1,3\}\)%.*/\1\n#Downloading... \1%/; s/^20[0-9][0-9].*/#Done./' | \ + 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." && export DOWNLOAD_ERROR=1 && return 1 || export DOWNLOAD_ERROR=0 && return 0 } create_new_dir () { if [ ! -d "$1" ] ; then @@ -97,21 +93,19 @@ var_winedlloverride_update () { else export WINEDLLOVERRIDES="${1}" fi } - sszen() { - zenity --progress --title="Settings..." --text="Updating parameters" --no-cancel --pulsate --auto-close --width 400 - } + zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel +} PW_START_PROGRESS_BAR () { "${pw_yad}" --progress --progress-text="Start ${portname}... Please wait..." --pulsate --close-on-unfocus \ --no-buttons --undecorated --center --skip-taskbar --width=600 --wrap-width=500 & export start_progress_yad_pid=$(echo $!) - } +} PW_STOP_PROGRESS_BAR () { if [ ! -z "${start_progress_yad_pid}" ] ; then kill "${start_progress_yad_pid}" fi } -export PW_WINDOWS_VER="7" cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)" export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" @@ -139,12 +133,15 @@ if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then fi export pw_libs_ver="_v7" -export pw_gecko_mono_ver="_v2" -export WINEARCH= +export mono_ver="6.1.1" +export gecko_ver="2.47.2" +export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz" +export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz" +export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86_64.tar.xz" +export WINEARCH=win64 export PW_VULKAN_DLL="${PORT_WINE_PATH}"/data/vulkan export WINEDIR="${PORT_WINE_PATH}"/data/dist export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}" -export WINE_MONO_GECKO="${HOME}/.PortWINE/mono_gecko${pw_gecko_mono_ver}" export WINEPREFIX="${PORT_WINE_PATH}/data/pfx/" export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}/" export PW_RUNTIME="$WINELIB/run.sh" @@ -153,6 +150,8 @@ export urlg="https://portwine-linux.ru/portwine-faq/" export PW_FTP_URL="https://portwine-linux.ru/ftp" export PW_TERM="" export PW_WINE_VER_DXVK="" +export PW_WINDOWS_VER="7" +export PW_LOG=0 var_winedlloverride_update "winemenubuilder.exe=" zen_width=500 @@ -167,57 +166,82 @@ if [ -f "${WINEDIR}"_vkd3d/version ]; then PW_WINE_VER_VKD3D="( wine: $PW_WINE_VER_VKD3D )" zen_width=1000 fi -if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then - echo "Download and install libraries..." - try_download "${PW_FTP_URL}/dist/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" | sszen && - [ "${DOWNLOAD_ERROR}" != 1 ] && tar -Jxvf "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" -C "${HOME}/.PortWINE/" | sszen && - [ "${DOWNLOAD_ERROR}" != 1 ] && rm -f "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" - [ "${DOWNLOAD_ERROR}" != 1 ] && "${WINELIB}"/setup.sh --force -fi -if [ -e "${WINELIB}/run.sh" ]; then - echo "######################################################" - echo "Runtime libraries is enabled" - export pw_yad="${WINELIB}/usr/bin/yad" - export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e" -else - echo "######################################################" - echo "Runtime libraries is disabled" -fi -if [ ! -d "${WINE_MONO_GECKO}/gecko" ] || [ ! -d "${WINE_MONO_GECKO}/mono" ] || [ -e "${WINE_MONO_GECKO}.tar.xz" ] ; then - echo "######################################################" - echo "Download and install wine mono and gecko..." - try_download "${PW_FTP_URL}"/dist/mono_gecko${pw_gecko_mono_ver}.tar.xz "${WINE_MONO_GECKO}.tar.xz" | sszen && - [ "${DOWNLOAD_ERROR}" != 1 ] && ${PW_XTERM} tar -Jxvf "${WINE_MONO_GECKO}.tar.xz" -C "${HOME}/.PortWINE/" - [ "${DOWNLOAD_ERROR}" != 1 ] && try_remove_file "${WINE_MONO_GECKO}.tar.xz" -fi -create_new_dir "${WINEDIR}/share/wine/" -try_force_link_dir "${WINE_MONO_GECKO}"/gecko "${WINEDIR}"/share/wine/ -try_force_link_dir "${WINE_MONO_GECKO}"/mono "${WINEDIR}"/share/wine/ - -for pw_dist in "dxvk" "vkd3d" -do - if [ -d "${WINEDIR}"_"${pw_dist}"/share/wine/ ]; then - try_force_link_dir "${WINEDIR}"/share/wine/gecko "${WINEDIR}"_"${pw_dist}"/share/wine/ - try_force_link_dir "${WINEDIR}"/share/wine/mono "${WINEDIR}"_"${pw_dist}"/share/wine/ +if [ -z "${INSTALLING_PORT}" ] ; then + if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then + echo "Download and install libraries..." + try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" + [ "${DOWNLOAD_ERROR}" != 1 ] && tar -Jxvf "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" -C "${HOME}/.PortWINE/" | sszen && + [ "${DOWNLOAD_ERROR}" != 1 ] && rm -f "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" + #[ "${DOWNLOAD_ERROR}" != 1 ] && "${WINELIB}"/setup.sh --force fi -done -if [ ! -z "${gamestart}" ]; then - export PORTWINE_DB=`echo "${gamestart}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` -elif [ ! -z "${portwine_exe}" ]; then - export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` - export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" - export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` -fi -if [ ! -z "${PORTWINE_DB}" ]; then - PORTWINE_DB_FILE=`grep -il "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` - if [ ! -z "${PORTWINE_DB_FILE}" ]; then - . "${PORTWINE_DB_FILE}" - echo "Use ${PORTWINE_DB_FILE} db file." + if [ -e "${WINELIB}/run.sh" ]; then + echo "######################################################" + echo "Runtime libraries is enabled" + try_remove_dir "${WINELIB}/pinned_libs_32" + try_remove_dir "${WINELIB}/pinned_libs_64" + export pw_yad="${WINELIB}/usr/bin/yad" + if [ -x "`which xterm 2>/dev/null`" ]; then + export PW_XTERM="xterm -geometry 159x37 -e" + else + export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e" + fi else - . "${PORT_SCRIPTS_PATH}/portwine_db/default" - echo "Use default db file." + echo "######################################################" + echo "Runtime libraries is disabled" fi -fi + if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then + echo "######################################################" + echo "Download and install wine mono..." + try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" + [ "${DOWNLOAD_ERROR}" != 1 ] && create_new_dir "${HOME}/.PortWINE/mono" + [ "${DOWNLOAD_ERROR}" != 1 ] && tar -Jxvf "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" -C "${HOME}/.PortWINE/mono/" | sszen && + [ "${DOWNLOAD_ERROR}" != 1 ] && try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" + fi + if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then + echo "######################################################" + echo "Download and install wine gecko x86..." + try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" + [ "${DOWNLOAD_ERROR}" != 1 ] && create_new_dir "${HOME}/.PortWINE/gecko" + [ "${DOWNLOAD_ERROR}" != 1 ] && tar -Jxvf "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" -C "${HOME}/.PortWINE/gecko/" | sszen && + [ "${DOWNLOAD_ERROR}" != 1 ] && try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" + fi + if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then + echo "######################################################" + echo "Download and install wine gecko x86_64..." + try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" + [ "${DOWNLOAD_ERROR}" != 1 ] && create_new_dir "${HOME}/.PortWINE/gecko" + [ "${DOWNLOAD_ERROR}" != 1 ] && tar -Jxvf "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" -C "${HOME}/.PortWINE/gecko/" | sszen && + [ "${DOWNLOAD_ERROR}" != 1 ] && try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" + fi + create_new_dir "${WINEDIR}/share/wine/" + try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/ + try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/ + + for pw_dist in "dxvk" "vkd3d" + do + if [ -d "${WINEDIR}"_"${pw_dist}"/share/wine/ ]; then + try_force_link_dir "${WINEDIR}"/share/wine/gecko "${WINEDIR}"_"${pw_dist}"/share/wine/ + try_force_link_dir "${WINEDIR}"/share/wine/mono "${WINEDIR}"_"${pw_dist}"/share/wine/ + fi + done + if [ ! -z "${gamestart}" ]; then + export PORTWINE_DB=`echo "${gamestart}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` + elif [ ! -z "${portwine_exe}" ]; then + export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` + export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" + export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` + fi + if [ ! -z "${PORTWINE_DB}" ]; then + PORTWINE_DB_FILE=`grep -il "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` + if [ ! -z "${PORTWINE_DB_FILE}" ]; then + . "${PORTWINE_DB_FILE}" + echo "Use ${PORTWINE_DB_FILE} db file." + else + . "${PORT_SCRIPTS_PATH}/portwine_db/default" + echo "Use default db file." + fi + fi +fi START_PORTWINE () { if [ "${PW_USE_TERMINAL}" = "1" ]; then @@ -233,7 +257,9 @@ START_PORTWINE () export PW_TERM="${PW_XTERM}" fi fi - PW_UPDATE + if [ -z "${INSTALLING_PORT}" ] ; then + PW_UPDATE + fi if [ ! -z "${PW_VULKAN_USE}" ]; then export var_pw_vulkan="${PW_VULKAN_USE}" echo "${var_pw_vulkan}" > "${PORT_WINE_TMP_PATH}/pw_vulkan" @@ -246,11 +272,11 @@ START_PORTWINE () export WINEDIR="${WINEDIR}_dxvk" fi export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}" - export GL_NO_DSO_FINALIZER=1 #Modded by Rus_Nor - export GL_YIELD="NOTHING" #Modded by Rus_Nor - export GL_SHARPEN_IGNORE_FILM_GRAIN=0 #Modded by Rus_Nor - export GL_SHARPEN_ENABLE=1 #Modded by Rus_Nor - export __GL_SHARPEN_VALUE=0 #Modded by Rus_Nor + export GL_NO_DSO_FINALIZER=1 + export GL_YIELD="NOTHING" + export GL_SHARPEN_IGNORE_FILM_GRAIN=0 + export GL_SHARPEN_ENABLE=1 + export __GL_SHARPEN_VALUE=0 for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" @@ -324,7 +350,7 @@ START_PORTWINE () try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" [ "$?" == 0 ] && var_winedlloverride_update "${wine_build_dll}=b" done - var_winedlloverride_update "vstdlib_s,tier0_s,steam,steam2,steam_api,steam_api64,steamclient,steamclient64=n" + var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" # export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/gstreamer-1.0" export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}" export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz @@ -461,7 +487,7 @@ WAIT_WINESERVER () { } KILL_PORTWINE () { - wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}') #modded by Cefeiko + 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 "${WINESERVER}" -k kill -9 ${wine_pids} @@ -541,12 +567,12 @@ PW_UPDATE () { fi read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier" if [ "${update_not}" = "1" ] ; then - try_download "${PW_FTP_URL}/current_version/${portname}_ver" "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" && + echo `curl -s --list-only "${PW_FTP_URL}/current_version/${portname}_ver"` > "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" if [ -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" read install_ver < "${PORT_WINE_TMP_PATH}/${portname}_ver" try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" - if [ "${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}" \ TRUE "${port_upd4}" \ FALSE "${port_upd5}" \ @@ -622,12 +648,12 @@ PW_SCRIPTS_UPDATE () { if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver" fi - try_download "${PW_FTP_URL}/current_version/scripts_ver" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" + echo `curl -s --list-only "${PW_FTP_URL}/current_version/scripts_ver"` > "${PORT_WINE_TMP_PATH}/scripts_cur_ver" if [ "$?" == "0" ] ; then read scripts_current_ver < "${PORT_WINE_TMP_PATH}/scripts_cur_ver" read scripts_install_ver < "${PORT_WINE_TMP_PATH}/scripts_ver" try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver" - if [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then + if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then echo "######################################################" echo "Update scripts..." try_download "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz" @@ -651,23 +677,26 @@ PW_RUN () { fi export RUN_MANGOHUD="" [ "${PW_MANGOHUD}" == "1" ] && export RUN_MANGOHUD=mangohud - print_var "PATH_TO_GAME" "WINEDLLOVERRIDES" "PATH" - + print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" + if [ "${PW_LOG}" == 1 ] + then export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" + else export PW_LOG_TO_FILE="/dev/null" + fi if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then if [ ! -z ${optirun_on} ]; then - echo "Full command line: ${optirun_on} $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" - ${optirun_on} $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} + echo "Full command line: ${optirun_on} $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE} + ${optirun_on} $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" else - echo "Full command line: $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" - $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} + echo "Full command line: $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE} + $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" fi else if [ ! -z ${optirun_on} ]; then - echo "Full command line: ${optirun_on} $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" - ${optirun_on} $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} + echo "Full command line: ${optirun_on} $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE} + ${optirun_on} $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" else - echo "Full command line: $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" - $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} + echo "Full command line: $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE} + $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" fi fi } diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 144d422..001aa3e 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -47,7 +47,7 @@ PORTWINE_CREATE_SHORTCUT () { if [ $? -eq 1 ] ; then exit 1 ; fi export PW_VULKAN_TO_DB=`cat "${PORT_WINE_TMP_PATH}/pw_vulkan"` if [ ! -z "${PORTWINE_DB}" ]; then - PORTWINE_DB_FILE=`grep -il "${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` + PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then echo "export PW_VULKAN_USE=${PW_VULKAN_TO_DB}" >> "${PORTWINE_DB_FILE}" elif [ -z "${PORTWINE_DB_FILE}" ]; then @@ -57,8 +57,8 @@ PORTWINE_CREATE_SHORTCUT () { #Rating=1-5 ################################################ export PW_VULKAN_USE=${PW_VULKAN_TO_DB}" > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - fi cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + fi fi name_desktop="${PORTPROTON_NAME}" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -78,21 +78,25 @@ PORTWINE_CREATE_SHORTCUT () { xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & } PORTWINE_DEBUG () { - KILL_PORTWINE + KILL_PORTWINE export PW_LOG=1 export PW_WINEDBG_DISABLE=0 - export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -l -lf ${PORT_WINE_PATH}/${portname}.log.wine -geometry 159x37 -e" START_PORTWINE echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log" echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "GLIBC version:" >> "${PORT_WINE_PATH}/${portname}.log" - echo "echo $(ldd --version)" | grep ldd >> "${PORT_WINE_PATH}/${portname}.log" - echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" + echo "-----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "PortWINE version:" >> "${PORT_WINE_PATH}/${portname}.log" read install_ver < "${PORT_WINE_TMP_PATH}/${portname}_ver" echo "${portname}-${install_ver}" >> "${PORT_WINE_PATH}/${portname}.log" - echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" + echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" + if [ ! -z "${portwine_exe}" ] ; then + echo "Debug for programm:" >> "${PORT_WINE_PATH}/${portname}.log" + echo "${portwine_exe}" >> "${PORT_WINE_PATH}/${portname}.log" + echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" + fi + echo "GLIBC version:" >> "${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 "var_pw_vulkan = ${var_pw_vulkan}" >> "${PORT_WINE_PATH}/${portname}.log" echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "Date and time of start debug for ${portname}" >> "${PORT_WINE_PATH}/${portname}.log" @@ -140,41 +144,11 @@ PORTWINE_DEBUG () { echo "log WINE:" >> "${PORT_WINE_PATH}/${portname}.log" export DXVK_HUD="full" - export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -l -lf ${PORT_WINE_PATH}/${portname}.log.wine -geometry 159x37 -e" - try_remove_file "${PORT_WINE_PATH}/${portname}.log.wine" - if [ ! -z "${portwine_exe}" ]; then - export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" - cd "$PATH_TO_GAME" - if [ ! -z ${optirun_on} ]; then - ${optirun_on} $PW_XTERM "${WINELOADER}" "$portwine_exe" ${LAUNCH_PARAMETERS[*]} 2>&1 & - else - $PW_XTERM "${WINELOADER}" "$portwine_exe" ${LAUNCH_PARAMETERS[*]} 2>&1 & - fi - elif [ -z "${gamestart}" ]; then - if [ ! -z $optirun_on ]; then - ${optirun_on} $PW_XTERM "${WINELOADER}" explorer 2>&1 & - else - $PW_XTERM "${WINELOADER}" explorer 2>&1 & - fi - else - export PATH_TO_GAME="$( cd "$( dirname "${gamestart}" )" >/dev/null 2>&1 && pwd )" - cd "$PATH_TO_GAME" - if [ ! -z $optirun_on ]; then - ${optirun_on} $PW_XTERM "${PW_RUNTIME}" "${WINELOADER}" "${gamestart}" ${LAUNCH_PARAMETERS[*]} 2>&1 & - else - $PW_XTERM "${PW_RUNTIME}" "${WINELOADER}" "${gamestart}" ${LAUNCH_PARAMETERS[*]} 2>&1 & - fi - fi - - zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap && "${WINESERVER}" -k - STOP_PORTWINE | sszen - cat "${PORT_WINE_PATH}/${portname}.log.wine" >> "${PORT_WINE_PATH}/${portname}.log" - try_remove_file "${PORT_WINE_PATH}/${portname}.log.wine" + PORTWINE_LAUNCH & zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap && KILL_PORTWINE deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" xdg-open "${PORT_WINE_PATH}/${portname}.log" - #echo "$deb_text" | zenity --text-info --editable --width=800 --height=600 --title="${portname}.log" } PW_WINECFG () { START_PORTWINE @@ -199,6 +173,9 @@ PW_WINETRICKS () { START_PORTWINE $PW_TERM "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q --force } +PW_EDIT_DB () { + xdg-open "${PORTWINE_DB_FILE}" +} if [ ! -z "${portwine_exe}" ]; then if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] ; then if [ ! -z "${PORTWINE_DB_FILE}" ] && [ ! -z "${PW_VULKAN_USE}" ]; then @@ -207,6 +184,19 @@ if [ ! -z "${portwine_exe}" ]; then fi OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center \ --title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ + --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ + --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ + --button='DEBUG'!!"${loc_debug}":102 \ + --button='LAUNCH'!!"${loc_launch}":106 ) + PW_YAD_SET="$?" + elif [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then + if [ -z "${PW_COMMENT_DB}" ] ; then + PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." + fi + OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center \ + --title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ + --field="WINE:CB" "DXVK ${PW_WINE_VER_DXVK}"!"VKD3D ${PW_WINE_VER_VKD3D}"!"OPENGL ${PW_WINE_VER_DXVK}" \ + --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='DEBUG'!!"${loc_debug}":102 \ --button='LAUNCH'!!"${loc_launch}":106 ) @@ -260,6 +250,7 @@ case "$PW_YAD_SET" in 112) PW_WINECMD ;; 114) PW_WINEREG ;; 116) PW_WINETRICKS ;; + 118) PW_EDIT_DB ;; esac ######################################################################## STOP_PORTWINE diff --git a/data_from_portwine/scripts/vars/PortBattleNET_vars b/data_from_portwine/scripts/vars/PortBattleNET_vars deleted file mode 100755 index 7bf09b0..0000000 --- a/data_from_portwine/scripts/vars/PortBattleNET_vars +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -######################################################################## -export gamedir="Battle.net" -export gamename="Battle.net" -export porturl="http://portwine-linux.ru/battle-net-linux/" -export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/Program Files (x86)/${gamedir}" -export gamestart="${PATH_TO_GAME}/Battle.net Launcher.exe" -######################################################################## -#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT -export WINEDLLOVERRIDES="winemenubuilder.exe=d" -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_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives -export PW_DXVK_ASYNC=0 -export PW_USE_TERMINAL=0 -export PW_OLD_GL_STRING=0 -export PW_NO_WINEMFPLAY=0 -export PW_NVAPI_DISABLE=1 -export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 -export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT -export PW_WINEDBG_DISABLE=0 -export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod -export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. -#export MANGOHUD=1 -######################################################################## -ADD_IN_START_PORTWINE () -{ -export LAUNCH_PARAMETERS="" -cd "${PATH_TO_GAME}" -rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data" -rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/Blizzard Entertainment/Battle.net/Cache" -rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache" -} -######################################################################## -ADD_IN_STOP_PORTWINE () -{ -echo " " -} -######################################################################## -ADD_IN_POST_INSTALL () -{ -rm -f "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Battle.net/Agent/product.db" -} diff --git a/data_from_portwine/scripts/vars/PortEpic_vars b/data_from_portwine/scripts/vars/PortEpic_vars deleted file mode 100755 index 53788d6..0000000 --- a/data_from_portwine/scripts/vars/PortEpic_vars +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -######################################################################## -export gamename="Epic_Games" -export gamedir="Epic Games/Launcher/Portal/Binaries/Win32/" -export porturl="http://portwine-linux.ru/epic-games-linux/" -export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/Program Files (x86)/${gamedir}" -export gamestart="${PATH_TO_GAME}/EpicGamesLauncher.exe" -######################################################################## -#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT -export WINEDLLOVERRIDES="winemenubuilder.exe=d" -export PW_LOG=0 # Enable debug mode fo terminal -export PW_NO_FSYNC=0 # 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 PW_DXVK_ASYNC=0 -export PW_USE_TERMINAL=0 -export PW_OLD_GL_STRING=0 -export PW_NO_WINEMFPLAY=0 -export PW_NVAPI_DISABLE=1 -export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 -export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT -export PW_WINEDBG_DISABLE=1 -export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod -export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. -#export MANGOHUD=1 -######################################################################## -ADD_IN_START_PORTWINE () -{ -export LAUNCH_PARAMETERS="-opengl -SkipBuildPatchPrereq" -cd "${PATH_TO_GAME}" -} -######################################################################## -ADD_IN_STOP_PORTWINE () -{ -echo " " -} -######################################################################## -ADD_IN_POST_INSTALL () -{ -echo " " -} - diff --git a/data_from_portwine/scripts/vars/PortUplay_vars b/data_from_portwine/scripts/vars/PortUplay_vars deleted file mode 100755 index ab29c10..0000000 --- a/data_from_portwine/scripts/vars/PortUplay_vars +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -######################################################################## -export gamename=Uplay -export gamedir="Ubisoft/Ubisoft Game Launcher" -export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/Program Files (x86)/${gamedir}" -export gamestart="${PATH_TO_GAME}/Uplay.exe" -export porturl="https://portwine-linux.ru/uplay-linux/" -######################################################################## -#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT -export WINEDLLOVERRIDES="winemenubuilder.exe=d" -export PW_LOG=0 # Enable debug mode fo terminal -export PW_NO_FSYNC=0 # 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 PW_DXVK_ASYNC=0 -export PW_USE_TERMINAL=0 -export PW_OLD_GL_STRING=0 -export PW_NO_WINEMFPLAY=0 -export PW_NVAPI_DISABLE=1 -export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 -export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT -export PW_WINEDBG_DISABLE=1 -export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod -export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. -#export MANGOHUD=1 -######################################################################## -ADD_IN_START_PORTWINE () -{ -export LAUNCH_PARAMETERS="" -cd "${PATH_TO_GAME}" -} -######################################################################## -ADD_IN_STOP_PORTWINE () -{ -echo " " -} -######################################################################## -ADD_IN_POST_INSTALL () -{ -echo " " -} diff --git a/data_from_portwine/scripts/vars/PortWGC_vars b/data_from_portwine/scripts/vars/PortWGC_vars deleted file mode 100755 index 91bb1b2..0000000 --- a/data_from_portwine/scripts/vars/PortWGC_vars +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# Author: PortWINE-Linux.ru -######################################################################## -export gamedir="WGC" -export gamename="WGC" -export porturl="http://portwine-linux.ru/port-wargaming-game-center/" -export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/Games/${gamedir}" -export gamestart="${PATH_TO_GAME}/wgc.exe" -######################################################################## -#export MESA_GL_VERSION_OVERRIDE=4.4COMPAT -export WINEDLLOVERRIDES="winemenubuilder.exe=d" -export PW_LOG=0 # Enable debug mode fo terminal -export PW_NO_FSYNC=0 # 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 PW_DXVK_ASYNC=0 -export PW_USE_TERMINAL=1 -export PW_OLD_GL_STRING=0 -export PW_NO_WINEMFPLAY=0 -export PW_NVAPI_DISABLE=1 -export PW_NO_WRITE_WATCH=0 # 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_HIDE_NVIDIA_GPU=0 -export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT -export PW_WINEDBG_DISABLE=1 -export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod -export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. -#export MANGOHUD=1 -######################################################################## -ADD_IN_START_PORTWINE () -{ -export LAUNCH_PARAMETERS="" -cd "${PATH_TO_GAME}" -sed -i 's/true/false/g' "${PORT_WINE_PATH}/data/pfx/drive_c/Games/WGC/preferences.xml" -} -######################################################################## -ADD_IN_STOP_PORTWINE () -{ -echo " " -} -######################################################################## -ADD_IN_POST_INSTALL () -{ -if [ "${update_loc}" = "ENG" ]; then - sed -i 's/RU/EN/g' "${PORT_WINE_PATH}/data/pfx/drive_c/Games/WGC/preferences.xml" - sed -i 's/ru/en/g' "${PORT_WINE_PATH}/data/pfx/drive_c/Games/WGC/preferences.xml" -fi -} diff --git a/portwine_install_script/PortNAME-XX b/portwine_install_script/PortNAME-XX index b998d68..3f0d437 100644 --- a/portwine_install_script/PortNAME-XX +++ b/portwine_install_script/PortNAME-XX @@ -15,13 +15,29 @@ export gamename="Proton" export portname="PortProton" export port_ver=XX ######################################################################## +export PW_FTP_URL="https://portwine-linux.ru/ftp" +export INSTALLING_PORT=1 export PROGS_INST="" export vexit=0 +export minimum_ldd_ver="2.28" +######################################################################## +export local_script_hash=$(sha256sum "$0" | awk '{print $1}') +export remote_script_hash=`curl -s --list-only "${PW_FTP_URL}/portwine/${portname}-${port_ver}.sha256sum" | awk '{print $1}'` +if [ "${local_script_hash}" != "${remote_script_hash}" ] ; then + echo "\033[31mHash sum does not match, please download the ${portname}-${port_ver} again.\033[0m" + zenity --error --no-wrap --text "Hash sum does not match, please download the ${portname}-${port_ver} again." 2> /dev/null + exit 1 +fi +export system_ldd_ver=`ldd --version | grep -m1 ldd | awk '{print $NF}'` +if [ `echo ${system_ldd_ver} | tr -d .` -lt `echo ${minimum_ldd_ver} | tr -d .` ] ; then + echo "\033[31mYour system doesn\`t support ${portname}.\nGlibc version required >= ${minimum_ldd_ver}\nGlibc in your system = ${system_ldd_ver}\033[0m" + zenity --error --no-wrap --text "Your system doesn\`t support ${portname}.\nGlibc version required >= ${minimum_ldd_ver}\nGlibc in your system = ${system_ldd_ver}" 2> /dev/null + exit 1 +fi for PROGS in "wget" "curl" "tar" do if [ ! -x "`which "${PROGS}" 2>/dev/null`" ] ; then - PROGS_INST="${PROGS_INST} ${PROGS}" - vexit=1 + PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1 fi done if [ "${vexit}" -eq "1" ] ; then @@ -140,7 +156,7 @@ read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" export update_loc=${update_loc} ######################################################################## cd "${PORT_WINE_PATH}" -tail -n +162 "${links}/${setup_script}" > "${PORT_WINE_PATH}/${ARCH_NAME}" +tail -n +178 "${links}/${setup_script}" > "${PORT_WINE_PATH}/${ARCH_NAME}" if [ "${s_install}" = "1" ] ; then tar -Jxvf "${PORT_WINE_PATH}/${ARCH_NAME}" -C "${PORT_WINE_PATH}/" else @@ -148,7 +164,7 @@ else fi chmod 755 -R "${PORT_WINE_PATH}" mv -f "${PORT_WINE_PATH}/${ARCH_NAME}" "${PORT_WINE_PATH}/data/tmp" -sed -n 1,161p "${links}/${setup_script}" > "${PORT_WINE_PATH}/data/tmp/${setup_script}" +sed -n 1,177p "${links}/${setup_script}" > "${PORT_WINE_PATH}/data/tmp/${setup_script}" ######################################################################## if [ -d "${PORT_PFX}_old" ] ; then rm -fR "${PORT_PFX}"