Compare commits

...

38 Commits

Author SHA1 Message Date
81738d5584 Scripts version 2158 2023-01-29 17:58:52 +03:00
81947443a7 Scripts version 2157 2023-01-22 19:24:34 +03:00
d6ed28c382 Scripts version 2156 2023-01-22 00:53:31 +03:00
3584b832a3 Scripts version 2155 2023-01-21 15:54:13 +03:00
8a83ff1745 Scripts version 2154 2022-12-24 21:49:54 +03:00
8ef052acd4 Scripts version 2153-2 2022-12-19 21:15:58 +03:00
db70aaebfa Scripts version 2153 2022-12-19 21:15:17 +03:00
62005d5bde Scripts version 2152 2022-12-18 23:19:08 +03:00
d7aac3dee6 pre-update for PoE 2022-12-16 11:41:21 +03:00
8d03563dbc Scripts version 2151 2022-12-11 23:04:42 +03:00
bd440ce8e7 Scripts version 2150 2022-12-11 19:07:17 +03:00
cc8529c551 Scripts version 2149-4 2022-12-10 21:13:47 +03:00
45c5e052d6 Scripts version 2149-3 2022-12-10 21:12:37 +03:00
4bf9cb677f Scripts version 2149-2 2022-12-10 21:10:00 +03:00
d2cb6fefee Scripts version 2149 2022-12-10 21:09:25 +03:00
13142f8ed6 Merge pull request #27 from zorn-v/patch-1
Use ENG locale if missing lang
2022-12-08 22:09:17 +03:00
e10facc9ba Use ENG as default lang 2022-12-08 03:56:24 +10:00
c584c3697d Use ENG locale if missing lang 2022-12-08 03:48:36 +10:00
4a083a9300 Update img for gui 2022-12-06 20:30:36 +03:00
5f4bdc536c Scripts version 2148 2022-12-06 20:22:13 +03:00
d2ab7a6c18 Scripts version 2147 2022-12-02 19:20:57 +03:00
5f02f61550 Scripts version 2146 2022-12-01 20:37:35 +03:00
15b84b931b Scripts version 2145 2022-11-22 18:28:21 +03:00
9cc48c4761 Scripts version 2144 2022-11-21 21:10:42 +03:00
b9754bfab2 Scripts version 2144 2022-11-21 21:10:15 +03:00
88baf8b0d2 test git pull from ftp 2022-11-20 15:11:08 +03:00
7dc2676de8 Scripts version 2143 - fix version 2022-11-17 21:52:42 +03:00
0c8b21648c Scripts version 2143 2022-11-17 21:32:28 +03:00
406de39ba5 Scripts version 2142 2022-11-16 20:51:16 +03:00
1db0baad5b Scripts version 2141 2022-11-11 01:02:47 +03:00
41bc48fb1f Scripts version 2140 2022-11-11 00:49:39 +03:00
d8f96debe9 Scripts version 2139 2022-11-06 17:16:02 +03:00
21c21f8769 Scripts version 2138 2022-10-31 21:46:00 +03:00
9d4934ca35 Scripts version 2137 2022-10-26 18:56:14 +03:00
cbf9648193 Scripts version 2136 2022-10-12 20:11:24 +03:00
c826f58567 Scripts version 2135 2022-10-09 21:18:44 +03:00
dbdc0d5a77 Scripts version 2134 2022-10-09 18:52:00 +03:00
6620fa6582 Scripts version 2133 2022-10-05 03:37:35 +03:00
162 changed files with 1671 additions and 562 deletions

0
LICENSE Normal file → Executable file
View File

131
data_from_portwine/changelog_eng Normal file → Executable file
View File

@ -2,10 +2,139 @@ You can help us in the development of the project on the website: boosty.to/linu
----------------------------------------- -----------------------------------------
Changelog: Changelog:
###Scripts version 2158###
* Updated libs_v37:
fix: kernel32.dll
###Scripts version 2157###
* Updated libs_v36:
depot 0.20230111.68
pressure-vessel 0.20221215.0 scout
scripts 0.20221215.0
sniper 0.20230109.1
###Scripts version 2156###
* the variable "PW_MANGOHUD_x32" has been added to EDIT_BD, which enables MANGOHUD for 32-bit games (temporary need to bypass the error of MANGOHUD in 64-bit games in some systems)
###Scripts version 2155###
* updated versions:
PROTON_LG="7-47"
PROTON_GE="7-47"
DXVK_GIT_VER="2.0-116"
VKD3D_GIT_VER="1.1-3115"
###Scripts version 2154###
* updated PROTON_LG 7-43
###Scripts version 2153###
* updated versions:
PROTON_GE="7-43"
DXVK_GIT_VER="2.0-36"
VKD3D_GIT_VER="1.1-3094"
* fixed crashes of the Witcher 3 game (next gen. DX12) It is necessary to use the PROTON_GE_7-43 version
###Scripts version 2152###
* added installation of the game Path of Exile
* updated versions of GIT DXVK and VKD3D:
DXVK_GIT_VER="2.0-34"
VKD3D_GIT_VER="1.1-3088"
* added vkbasalt unexpected shutdown when building GIT versions of DXVK and VKD3D (temporarily)
* libs_v34 (updated container and created a prefix template transfer plugin from a directory in the libs directory)
pressure vessel 0.20221130.0
sniper 0.20221130.0
* updated FAKE_DLSS version to 091122
###Scripts version 2151###
* added Panzar
###Scripts version 2150###
* added Warframe
###Scripts version 2149###
* added STEAM (version for Windows)
* added Indiegala Client
###Scripts version 2148###
* added Crossout
###Scripts version 2147###
* created a repository https://github.com/Castro-Fidel/vulkan/releases with DXVK and VKD3D versions compiled specifically to work under the container, which reduces problems and increases the number of games launched
* default versions:
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.0-26"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-2967"
* you can still set the standard versions of DXVK and VKD3D for individual games and they will be downloaded from off. GitHub repositories
* solved problem with League of Legends game on some systems (eg Rosa Linux)
###Scripts version 2146###
* added interface language switching in the "PORTPROTON SETTINGS" section
* added the ability to download the new version of PROTON STEAM 7.0-5
* minor fixes and script improvements
###Scripts version 2145###
* added the ability to change SVN and VKD3D versions in the game settings file .pdb and globally in user.conf using variables (values are given for example):
export DXVK_STABLE_VER="1.10.3"
export SVN_GIT_VER="2.0"
export VKD3D_STABLE_VER="2.6"
export VKD3D_GIT_VER="2.7"
* for League of Legends, the default version is DXVK 1.10.2 - as more stable for this game
###Scripts version 2144###
* updated WINE for League of Legends
###Scripts version 2143###
* due to EA Launcher issues, the Origin installer has been temporarily reverted
###Scripts version 2142###
* added alternative FTP server for PP component updates if download failed from main GITHUB server
* added display of current versions of DXVK and VKD3D when they are selected in the PortProton interface
* Changed the WINE_WIN_START="start /i /b /wait /high /unix" variable to increase the priority of the application being started (test) and more detailed output of information when creating a Log.
* for lovers of MMORPGs and weak hardware, an automatic installer Fulqrum Games has been added to launch Royal Quest - a massively multiplayer online game developed by 1C and Katauri Interactive. Thanks chal55rus (Sergey P.)
* Added PlariumPlay automatic installer to launch Raid: Shadow Legends
###Scripts version 2141###
* HOTFIX - added EA icon
###Scripts version 2140###
* added the USE_WINE_DXGI variable to EDIT_DB
* added the function of modular updating of DXVK and VKD3D-PROTON from GitHub servers
* added selection of DXVK and VKD3D-PROTON versions when launching games/launchers
* changed the automatic installation of ORIGIN on EA Launcher (beta test)
###Scripts version 2139###
* added the function of reinstalling PortProton from the menu of PortProton itself and using the "--reinstall" argument in the terminal
* updated version of PROTON_LG 7.34 based on PROTON GE 7.39 (Updated support for running game: "Overwatch 2")
###Scripts version 2138###
* added "Calibre" in AUTOINSTALL (thanks chal55rus)
###Scripts version 2137###
* updated version of PROTON_LG 7.32 based on PROTON GE 7.38 (Added support for running game: "Uncharted: Legacy of Thieves")
* minor script optimizations for running PortProton
###Scripts version 2136###
* added "Lesta Game Center" in AUTOINSTALL
###Scripts version 2135###
* updated PROTON_GE_7-37 (updated dxvk and vkd3d)
###Scripts version 2134###
* added the WINE-GE-CUSTOM tab in GET_OTHER_WINE to download versions of wine LUTRIS
* updated the PROTON_LG 7.31 version (together with dxvk and vkd3d)
* changed the MY.GAMES auto-installer to vkPlay (with the creation of a separate VK_PLAY prefix)
###Scripts version 2133###
* update libs_v33 (steam runtime sniper container 09/29/2022, version MANGOHUD 0.6.8)
* update plugins_v8 (updated version of FAKE DLSS - FSR 2.1.1)
* removed variables from the EDIT_DB menu that are no longer necessary
* made a small optimization of scripts to speed up the launch of games
* ORIGIN is working again (if you already have ORIGIN installed, enable USE_TERMINAL in EDIT_DB)
###Scripts version 2132### ###Scripts version 2132###
* ATTENTION! The site portwine-linux.ru which is working again - FAKE! What kind of person did this and with what motives is unknown. So be vigilant! The site of our project: LINUX-GAMING.RU - and once again I will ask all the authors of their sites and Youtube channels to change their links. Thank you. * ATTENTION! The site portwine-linux.ru which is working again - FAKE! What kind of person did this and with what motives is unknown. So be vigilant! The site of our project: LINUX-GAMING.RU - and once again I will ask all the authors of their sites and Youtube channels to change their links. Thank you.
###Scripts version 2132### ###Scripts version 2131###
* HOTFIX and change url * HOTFIX and change url
###Scripts version 2130### ###Scripts version 2130###

View File

@ -2,6 +2,142 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2158###
* Обнорвлен пакет библиотек libs_v37
исправлена ошибка kernel32.dll при создании нового префикса
###Scripts version 2157###
* Обнорвлен пакет библиотек libs_v36
depot 0.20230111.68
pressure-vessel 0.20221215.0 scout
scripts 0.20221215.0
sniper 0.20230109.1
* обновлен шаблон default префикса
###Scripts version 2156###
* в EDIT_BD (НАСТРОЙКИ) добавлена переменная "PW_MANGOHUD_x32" которая включает MANGOHUD для 32-битных игр (временная необходимость для обхода ошибки работы MANGOHUD в 64-битных играх на некоторых системах)
###Scripts version 2155###
* обновлены версии:
PROTON_LG="7-47"
PROTON_GE="7-47"
DXVK_GIT_VER="2.0-116"
VKD3D_GIT_VER="1.1-3115"
###Scripts version 2154###
* обновлена версия PROTON_LG до 7-43
###Scripts version 2153###
* обновлены версии:
PROTON_GE="7-43"
DXVK_GIT_VER="2.0-36"
VKD3D_GIT_VER="1.1-3094"
* исправлены вылеты игры Ведьмак 3 (next gen. DX12) Необходимо использование версии PROTON_GE_7-43
###Scripts version 2152###
* обновлен шаблон дял создания префикса (улучшено отобраение кирилицы в некоторых приложениях, например Path of Exile)
* добавлена установка игры Path of Exile
* обновлены GIT версии DXVK и VKD3D:
DXVK_GIT_VER="2.0-34"
VKD3D_GIT_VER="1.1-3088"
* добавлено автоматическое отключение vkbasalt при использовании GIT версий DXVK и VKD3D (временно)
* libs_v34 (обновлен контейнер и произведен перенос шаблона префикса из каталога plugin в каталог libs)
pressure-vessel 0.20221130.0
sniper 0.20221130.0
для экономии места, шаблон default_pfx запакован в архив
* обновлена версия FAKE_DLSS до 091122
* обновлена поддержка DLSS для видеокарт NVIDIA серии RTX (требуется проверка)
###Scripts version 2151###
* добавлена установка игры Panzar - Российская клиентская сессионная многопользовательская онлайн-игра 3D MMO, сочетающий в себе несколько жанров,из RPG, MOBA и шутеров от отечественных разработчиков Panzar Studio (спасибо chal55rus) + бонус: улучшенная из коробки графика в игре с помощью vkbasalt
###Scripts version 2150###
* добавлена установка игры Warframe
###Scripts version 2149###
* возвращена установка Windows версии STEAM (проблема с миганием окон внутри клиента еще актуальна, но на работу игр не влияет)
* добавлена установка Indiegala Client
###Scripts version 2148###
* добавлена автоматическая установка игры Crossout (античит EAC проверен) Внимание: Если после запуска лончера будет ошибка - она на работу не влияет, просто нажмите close для её закрытия.
###Scripts version 2147###
* создан репозиторий https://github.com/Castro-Fidel/vulkan/releases с версиями DXVK и VKD3D скомпилированные специально для работы под контейнером, что уменьшает проблемы у увеличевает количество запускаемых игр
* версии по умолчанию:
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.0-26"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-2967"
* вы всё еще можете выставить для отдельных игр стандартные версии DXVK и VKD3D и они скачаются с офф. репозиториев GitHub
* решена проблема с игрой League of Legends на некоторых системах (например Rosa Linux)
###Scripts version 2146###
* добавлено переключение языка интерфейса в разделе "НАСТРОЙКИ PORTPROTON"
* добавлена возможность скачивания новой версии PROTON STEAM 7.0-5
* небольшие исправления и улучшения скриптов
###Scripts version 2145###
* добавлена возможность смены версий DXVK и VKD3D в файле настроек игры .ppdb и глобально в user.conf с помощью переменных (значения приведены для примера):
export DXVK_STABLE_VER="1.10.3"
export DXVK_GIT_VER="2.0"
export VKD3D_STABLE_VER="2.6"
export VKD3D_GIT_VER="2.7"
* для League of Legends по умолчанию выбана версия DXVK 1.10.2 - как более стабильная для данной игры
###Scripts version 2144###
* обновлена версия WINE для League of Legends
###Scripts version 2143###
* из за проблем связанных с EA Launcher, временно возвращен установщик Origin
###Scripts version 2142###
* добавлен альтернативный FTP сервер для обновлений компонентов PP если не удалось скачать с основного сервера GITHUB
* добавлен вывод текущих версий DXVK и VKD3D при их выборе в интерфейсе PortProton
* изменена перемееная WINE_WIN_START="start /i /b /wait /high /unix" для увеличения приоритета запускаемого приложения (тест) и более подробного вывода информации при создании Лога.
* для любителей MMORPG и слабого железа добавлен автоматический установщик Fulqrum Games для запуска Royal Quest — массовая многопользовательская онлайн-игра, разработанная Фирмой «1С» и Katauri Interactive. Спасибо chal55rus (Sergey P.)
* добавлен автоматический установщик PlariumPlay для запуска игры Raid: Shadow Legends
* небольшие улучшения локализации
###Scripts version 2141###
* HOTFIX - добавлена иконка EA
###Scripts version 2140###
* значительно улучшена локализация интерфейса PortProton.
* добавлено множество всплывющих подсказок при наведении курсора мыши
* добавлена переменная USE_WINE_DXGI в EDIT_DB (настройки)
* добавлена функция модульного обновления DXVK и VKD3D-PROTON из серверов GitHub
* добавлен выбор версий DXVK и VKD3D-PROTON при запуске игр/лончеров
* изменена автоматическая установка ORIGIN на EA Launcher (бета тест)
###Scripts version 2139###
* добавлена функция переустановки PortProton из меню самого PortProton и с помощью аргумента "--reinstall" в терминале
* обновлена версия PROTON_LG 7.34 на основе PROTON GE 7.39 (Обновлена поддержка запуска игры: "Overwatch 2")
###Scripts version 2138###
* добавлена установка игры Калибр (спасибо chal55rus за помощь)
###Scripts version 2137###
* обновлена версия PROTON_LG 7.32 на основе PROTON GE 7.38 (Добавлена поддержка запуска игры: "Uncharted: Legacy of Thieves")
* небольшие оптимизации скриптов для запуска PortProton
###Scripts version 2136###
* добавлен автоустановщик "Lesta Game Center" и автоматическое обновление ярлыков, при условии что LGC уже установлен, но запущен ярлык для WGC.
###Scripts version 2135###
* обновлен "PROTON_GE" до версии 7-37 (версии dxvk и vkd3d обновлены)
###Scripts version 2134###
* добавлена вкладка WINE-GE-CUSTOM в GET_OTHER_WINE для скачивания версий вайн LUTRIS
* обновлена версия PROTON_LG 7.31 (совместно с dxvk и vkd3d)
* изменён автоустановщик MY.GAMES на vkPlay (с созданием отдельного префикса VK_PLAY)
###Scripts version 2133###
* обновление libs_v33 (контейнер steam runtime sniper 29.09.2022, версия MANGOHUD 0.6.8)
* обновление plugins_v8 (обновлена версия FAKE DLSS - FSR 2.1.1)
* из меню EDIT_DB удалены переменные в которых более нет необходимости
* произведена небольшая оптимизация скриптов для ускорения запуска игр
* ORIGIN снова работает (если у вас уже установлен ORIGIN, включите USE_TERMINAL в EDIT_DB)
###Scripts version 2132### ###Scripts version 2132###
* добавлен фикс для работы PortProton на системах Alt и Simply Linux (подготовка к возможному добавлению в репозитории) * добавлен фикс для работы PortProton на системах Alt и Simply Linux (подготовка к возможному добавлению в репозитории)
* ВНИМАНИЕ! Сайт portwine-linux.ru который снова заработал - ФЕЙК! Что за человек это сделал и с какими мотивами - неизвестно. Так что будте бдительны! Сайт нашего проекта: LINUX-GAMING.RU - и еще раз попрошу всех авторов своих сайтов и каналов на Youtube сменить ссылки у себя. Спасибо. * ВНИМАНИЕ! Сайт portwine-linux.ru который снова заработал - ФЕЙК! Что за человек это сделал и с какими мотивами - неизвестно. Так что будте бдительны! Сайт нашего проекта: LINUX-GAMING.RU - и еще раз попрошу всех авторов своих сайтов и каналов на Youtube сменить ссылки у себя. Спасибо.
@ -12,7 +148,7 @@
###Scripts version 2130### ###Scripts version 2130###
* по умолчанию используется WINE версии PROTON_LG (основан на wine-ge-custom с добавлением патчей необходимых для PortProton) Вы всё так же можете использовать версию PROTON_GE выбрав его в меню при запуске .exe файла. * по умолчанию используется WINE версии PROTON_LG (основан на wine-ge-custom с добавлением патчей необходимых для PortProton) Вы всё так же можете использовать версию PROTON_GE выбрав его в меню при запуске .exe файла.
* в связи с ребрендингом и переходом на новую ветку WINE-PROTON, значительно обновлены скрипты * в связи с ребрендингом и переходом на новую PROTON_LG ветку WINE-PROTON, значительно обновлены скрипты
* ВНИМАНИЕ: префикс переменных в "EDIT_DB" и "user.conf" изменился с "PW_" на "PW_". При первом запуске после обновления, обновяться и ваши файлы настроек. * ВНИМАНИЕ: префикс переменных в "EDIT_DB" и "user.conf" изменился с "PW_" на "PW_". При первом запуске после обновления, обновяться и ваши файлы настроек.
###Scripts version 2129### ###Scripts version 2129###
@ -1071,6 +1207,3 @@ PS: не забывает для активации добавить перем
* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению)  * простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению) 
* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась) * добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась)
###ЗАМЕТКИ###
* проверка версий dxvk на github: curl -s github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
* проверка версий vkd3d на github: curl -s github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'

View File

@ -1,4 +1,4 @@
# Create the VkSurface on the first call to IDXGISwapChain::Present, # Create the VkSurface on the first call to IDXGISwapChain::Present,
# rather than when creating the swap chain. Some games that start # rather than when creating the swap chain. Some games that start
# rendering with a different graphics API may require this option, # rendering with a different graphics API may require this option,
# or otherwise the window may stay black. # or otherwise the window may stay black.
@ -15,8 +15,17 @@
# #
# Supported values : 0 - 16 # Supported values : 0 - 16
# dxgi.maxFrameLatency = 0 # dxgi.maxFrameLatency = 1
# d3d9.maxFrameLatency = 0 # d3d9.maxFrameLatency = 1
# Enables frame rate limiter. The main purpose of this is to work around
# bugs in games that have physics or other simulation tied to their frame
# rate, but do not provide their own limiter.
#
# Supported values : Any non-negative integer
# dxgi.maxFrameRate = 0
# d3d9.maxFrameRate = 0
# Override PCI vendor and device IDs reported to the application. Can # Override PCI vendor and device IDs reported to the application. Can
@ -30,12 +39,15 @@ dxgi.customVendorId = 10de
# d3d9.customDeviceId = 222F # d3d9.customDeviceId = 222F
# d3d9.customVendorId = 10de # d3d9.customVendorId = 10de
# Report Nvidia GPUs as AMD GPUs by default. This is enabled by default
# to work around issues with NVAPI, but may cause issues in some games.
#
# Supported values: True, False
dxgi.nvapiHack = False # Override the reported device description
#
# Supported values: Any string.
# dxgi.customDeviceDesc = ""
# d3d9.customDeviceDesc = ""
# Override maximum amount of device memory and shared system memory # Override maximum amount of device memory and shared system memory
# reported to the application. This may fix texture streaming issues # reported to the application. This may fix texture streaming issues
@ -47,6 +59,15 @@ dxgi.nvapiHack = False
# dxgi.maxSharedMemory = 0 # dxgi.maxSharedMemory = 0
# Some games think we are on Intel given a lack of NVAPI or
# AGS/atiadlxx support. Report our device memory as shared memory,
# and some small amount for a "carveout".
# Supported values: True, False
# dxgi.emulateUMA = False
# Override back buffer count for the Vulkan swap chain. # Override back buffer count for the Vulkan swap chain.
# Setting this to 0 or less will have no effect. # Setting this to 0 or less will have no effect.
# #
@ -84,15 +105,6 @@ dxgi.nvapiHack = False
# d3d9.tearFree = Auto # d3d9.tearFree = Auto
# Performs range check on dynamically indexed constant buffers in shaders.
# This may be needed to work around a certain type of game bug, but may
# also introduce incorrect behaviour.
#
# Supported values: True, False
# d3d11.constantBufferRangeCheck = False
# Assume single-use mode for command lists created on deferred contexts. # Assume single-use mode for command lists created on deferred contexts.
# This may need to be disabled for some applications to avoid rendering # This may need to be disabled for some applications to avoid rendering
# issues, which may come at a significant performance cost. # issues, which may come at a significant performance cost.
@ -106,9 +118,9 @@ dxgi.nvapiHack = False
# with. Setting this to a higher value may allow some applications to run # with. Setting this to a higher value may allow some applications to run
# that would otherwise fail to create a D3D11 device. # that would otherwise fail to create a D3D11 device.
# #
# Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1 # Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1, 12_0, 12_1
# d3d11.maxFeatureLevel = 11_1 # d3d11.maxFeatureLevel = 12_1
# Overrides the maximum allowed tessellation factor. This can be used to # Overrides the maximum allowed tessellation factor. This can be used to
@ -116,7 +128,7 @@ dxgi.nvapiHack = False
# #
# Supported values: Any number between 8 and 64 # Supported values: Any number between 8 and 64
# d3d11.maxTessFactor = 0 # d3d11.maxTessFactor = 16
# Enables relaxed pipeline barriers around UAV writes. # Enables relaxed pipeline barriers around UAV writes.
@ -129,6 +141,16 @@ dxgi.nvapiHack = False
# d3d11.relaxedBarriers = False # d3d11.relaxedBarriers = False
# Ignores barriers around UAV writes from fragment shaders.
#
# This may improve performance in some games, but may also introduce
# rendering issues. Please don't report bugs with the option enabled.
#
# Supported values: True, False
# d3d11.ignoreGraphicsBarriers = False
# Overrides anisotropic filtering for all samplers. Set this to a positive # Overrides anisotropic filtering for all samplers. Set this to a positive
# value to enable AF for all samplers in the game, or to 0 in order to # value to enable AF for all samplers in the game, or to 0 in order to
# disable AF entirely. Negative values will have no effect. # disable AF entirely. Negative values will have no effect.
@ -139,21 +161,31 @@ dxgi.nvapiHack = False
# d3d9.samplerAnisotropy = -1 # d3d9.samplerAnisotropy = -1
# Changes the mipmap LOD bias for all samplers. The given number will be
# added to the LOD bias provided by the application, rather than replacing
# it entirely. Positive values will reduce texture detail, while negative
# values may increase sharpness at the cost of shimmer.
#
# Supported values: Any number between -2.0 and 1.0
# d3d11.samplerLodBias = -0.3
# Declares vertex positions as invariant in order to solve # Declares vertex positions as invariant in order to solve
# potential Z-fighting issues at a small performance cost. # potential Z-fighting issues at a small performance cost.
# #
# Supported values: True, False # Supported values: True, False
# d3d11.invariantPosition = True # d3d11.invariantPosition = True
# d3d9.invariantPosition = False # d3d9.invariantPosition = True
# Replaces NaN outputs from fragment shaders with zeroes for floating # Forces the sample count of all textures to 1, and performs
# point render target. Used in some games to prevent artifacting. # the needed fixups in resolve operations and shaders.
# #
# Supported values: True, False # Supported values: True, False
# d3d11.enableRtOutputNanFixup = False # d3d11.disableMsaa = False
# Clears workgroup memory in compute shaders to zero. Some games don't do # Clears workgroup memory in compute shaders to zero. Some games don't do
@ -164,10 +196,53 @@ dxgi.nvapiHack = False
# d3d11.zeroWorkgroupMemory = False # d3d11.zeroWorkgroupMemory = False
# Resource size limit for implicit discards, in kilobytes. For small staging
# resources mapped with MAP_WRITE, DXVK will sometimes allocate new backing
# storage in order to avoid GPU synchronization, so setting this too high
# may cause memory issues, setting it to -1 disables the feature.
# d3d11.maxImplicitDiscardSize = 256
# Resource size limit for buffer-mapped dynamic images, in kilobytes.
# A higher threshold may reduce memory usage and PCI-E bandwidth in
# some games, but may also increase GPU synchronizations. Setting it
# to -1 disables the feature.
# d3d11.maxDynamicImageBufferSize = -1
# Allocates dynamic resources with the given set of bind flags in
# cached system memory rather than uncached memory or host-visible
# VRAM, in order to allow fast readback from the CPU. This is only
# useful for buggy applications, and may reduce GPU-bound performance.
#
# Supported values: Any combination of the following:
# - v: Vertex buffers
# - i: Index buffers
# - c: Constant buffers
# - r: Shader resources
# - a: All dynamic resources
# d3d11.cachedDynamicResources = ""
# Force-enables the D3D11 context lock via the ID3D10Multithread
# interface. This may be useful to debug race conditions.
#
# Supported values: True, False
# d3d11.enableContextLock = False
# Sets number of pipeline compiler threads. # Sets number of pipeline compiler threads.
# #
# If the graphics pipeline library feature is enabled, the given
# number of threads will be used for shader compilation. Some of
# these threads will be reserved for high-priority work.
#
# Supported values: # Supported values:
# - 0 to automatically determine the number of threads to use # - 0 to use all available CPU cores
# - any positive number to enforce the thread count # - any positive number to enforce the thread count
# dxvk.numCompilerThreads = 0 # dxvk.numCompilerThreads = 0
@ -188,33 +263,32 @@ dxgi.nvapiHack = False
# dxvk.useRawSsbo = Auto # dxvk.useRawSsbo = Auto
# Toggles early discard. # Controls graphics pipeline library behaviour
# #
# Uses subgroup operations to determine whether it is safe to # Can be used to change VK_EXT_graphics_pipeline_library usage for
# discard fragments before the end of a fragment shader. This # debugging purpose. Doing so will likely result in increased stutter
# is enabled by default on all drivers except RADV and Nvidia. # or degraded performance.
# Enabling this may improve or degrade performance depending
# on the game and hardware, or cause other issues.
# #
# Supported values: # Supported values:
# - Auto: Don't change the default # - Auto: Enable if supported, and compile optimized pipelines in the background
# - True, False: Always enable / disable # - True: Enable if supported, but do not compile optimized pipelines
# - False: Always disable the feature
# dxvk.useEarlyDiscard = Auto # dxvk.enableGraphicsPipelineLibrary = Auto
# Controls workaround for NVIDIA HVV Heap bug. # Controls pipeline lifetime tracking
# #
# Limits the budget of NVIDIA's HVV (host-visible, # If enabled, pipeline libraries will be freed aggressively in order
# device-local) heap to be half of the reported size. This is # save memory and address space. Has no effect if graphics pipeline
# needed to avoid NVIDIA driver bug 3114283, and defaults to # libraries are not supported or disabled.
# being enabled on all affected drivers.
# #
# Supported values: # Supported values:
# - Auto: Don't change the default # - Auto: Enable tracking for 32-bit applications only
# - True, False: Always enable / disable # - True: Always enable tracking
# - False: Always disable tracking
# dxvk.halveNvidiaHVVHeap = Auto # dxvk.trackPipelineLifetime = Auto
# Sets enabled HUD elements # Sets enabled HUD elements
@ -239,17 +313,6 @@ dxgi.nvapiHack = False
# d3d9.shaderModel = 3 # d3d9.shaderModel = 3
# Evict Managed on Unlock
#
# Decides whether we should evict managed resources from
# system memory when they are unlocked entirely.
#
# Supported values:
# - True, False: Always enable / disable
# d3d9.evictManagedOnUnlock = False
# DPI Awareness # DPI Awareness
# #
# Decides whether we should call SetProcessDPIAware on device # Decides whether we should call SetProcessDPIAware on device
@ -305,18 +368,21 @@ dxgi.nvapiHack = False
# - Max Available Memory: Any int32_t # - Max Available Memory: Any int32_t
# - Memory Tracking Testing: True, False # - Memory Tracking Testing: True, False
# d3d9.maxAvailableMemory = 1024 # d3d9.maxAvailableMemory = 4096
# d3d9.memoryTrackTest = False # d3d9.memoryTrackTest = False
# Force enable/disable floating point quirk emulation # Force enable/disable floating point quirk emulation
# #
# Force toggle anything * 0 emulation # Force toggle anything * 0 emulation
# Tristate # Setting it to True will use a faster but less accurate approach that works for most games.
# Supported values: # Supported values:
# - True/False # - True: Use a faster but less accurate approach. Good enough for most games
# - False: Disable float emulation completely
# - Strict: Use a slower but more correct approach. Necessary for some games
# - Auto: DXVK will pick automatically
# d3d9.floatEmulation = # d3d9.floatEmulation = Auto
# Enable dialog box mode # Enable dialog box mode
@ -347,16 +413,6 @@ dxgi.nvapiHack = False
# d3d9.longMad = False # d3d9.longMad = False
# Alpha Test Wiggle Room
#
# Workaround for games using alpha test == 1.0, etc due to wonky interpolation or
# misc. imprecision on some vendors
#
# Supported values:
# - True/False
# d3d9.alphaTestWiggleRoom = False
# Device Local Constant Buffers # Device Local Constant Buffers
# #
# Enables using device local, host accessible memory for constant buffers in D3D9. # Enables using device local, host accessible memory for constant buffers in D3D9.
@ -368,16 +424,6 @@ dxgi.nvapiHack = False
# d3d9.deviceLocalConstantBuffers = False # d3d9.deviceLocalConstantBuffers = False
# Allow Read Only
#
# Enables using the D3DLOCK_READONLY flag. Some apps use this
# incorrectly, and write when they should be reading.
#
# Supported values:
# - True/False
# d3d9.allowLockFlagReadonly = True
# No Explicit Front Buffer # No Explicit Front Buffer
# #
# Disables the front buffer # Disables the front buffer
@ -396,6 +442,15 @@ dxgi.nvapiHack = False
# d3d9.supportDFFormats = True # d3d9.supportDFFormats = True
# Use D32f for D24
#
# Useful for reproducing AMD issues on other hw.
#
# Supported values:
# - True/False
# d3d9.useD32forD24 = False
# Support X4R4G4B4 # Support X4R4G4B4
# #
# Support the X4R4G4B4 format. # Support the X4R4G4B4 format.
@ -415,17 +470,6 @@ dxgi.nvapiHack = False
# d3d9.supportD32 = True # d3d9.supportD32 = True
# SWVP Constant Counts
#
# The number of constants available when using Software Vertex Processing.
#
# Supported values:
# - Integers
# d3d9.swvpFloatCount = 8192
# d3d9.swvpIntCount = 2048
# d3d9.swvpBoolCount = 2048
# Disable A8 as a Render Target # Disable A8 as a Render Target
# #
# Disable support for A8 format render targets # Disable support for A8 format render targets
@ -436,17 +480,6 @@ dxgi.nvapiHack = False
# d3d9.disableA8RT = False # d3d9.disableA8RT = False
# Support for VCache Query
#
# Support for the vcache query
# Not very important as a user config.
# Used internally.
#
# Supported values:
# - True/False
# Defaults to True if vendorId == 0x10de
# d3d9.supportVCache = True
# Force Sampler Type Spec Constants # Force Sampler Type Spec Constants
# #
@ -469,16 +502,6 @@ dxgi.nvapiHack = False
# d3d9.forceAspectRatio = "" # d3d9.forceAspectRatio = ""
# Allow Do Not Wait
#
# Allow the do not wait lock flag to be used
# Useful if some apps use this incorrectly.
#
# Supported values:
# - True/False
# d3d9.allowDoNotWait = True
# Allow Discard # Allow Discard
# #
# Allow the discard lock flag to be used # Allow the discard lock flag to be used
@ -510,4 +533,13 @@ dxgi.nvapiHack = False
# - True/False # - True/False
# d3d9.apitraceMode = False # d3d9.apitraceMode = False
# d3d11.apitraceMode = False
# Seamless Cubes
#
# Don't use non seamless cube maps even if they are supported.
# Non seamless cubes are correct d3d9 behavior, but can produce worse looking edges.
#
# Supported values:
# - True/False
# d3d9.seamlessCubes = False

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

0
data_from_portwine/img/gui/cemu.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

0
data_from_portwine/img/gui/citra.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

0
data_from_portwine/img/gui/covers/lol_cover.jpg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

0
data_from_portwine/img/gui/covers/pw_loading_cover.gif Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 3.5 MiB

View File

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

0
data_from_portwine/img/gui/dolphin.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 729 B

After

Width:  |  Height:  |  Size: 729 B

0
data_from_portwine/img/gui/duckstation.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

0
data_from_portwine/img/gui/epsxe.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
data_from_portwine/img/gui/itch.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

BIN
data_from_portwine/img/gui/lol.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

0
data_from_portwine/img/gui/mame.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 953 B

After

Width:  |  Height:  |  Size: 953 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

0
data_from_portwine/img/gui/port_proton.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

0
data_from_portwine/img/gui/port_winefile.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

0
data_from_portwine/img/gui/ppsspp.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

0
data_from_portwine/img/gui/project64.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

0
data_from_portwine/img/gui/retroarch.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 787 B

After

Width:  |  Height:  |  Size: 787 B

0
data_from_portwine/img/gui/scummvm.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

0
data_from_portwine/img/gui/vba-m.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
data_from_portwine/img/gui/wosb.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

0
data_from_portwine/img/gui/yabause.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

0
data_from_portwine/img/setup.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
data_from_portwine/img/w.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 409 KiB

View File

@ -4,6 +4,7 @@ import os
import re import re
import shlex import shlex
import shutil import shutil
import logging
from configparser import RawConfigParser from configparser import RawConfigParser
from pathlib import Path from pathlib import Path
from subprocess import run from subprocess import run
@ -36,9 +37,9 @@ class MainWindow(QMainWindow):
QMessageBox.critical(self, 'Error', 'Can not find installed PortProton') QMessageBox.critical(self, 'Error', 'Can not find installed PortProton')
exit(1) exit(1)
g.scripts_dir = scripts_dir.rstrip('/') g.scripts_dir = scripts_dir.rstrip('/')
g.pw_icon = shortcut.get('Desktop Entry', 'Icon', fallback='/usr/share/pixmaps/portproton.png') g.pp_icon = shortcut.get('Desktop Entry', 'Icon', fallback='/usr/share/pixmaps/portproton.png')
pw_icon = QIcon(g.pw_icon) pp_icon = QIcon(g.pp_icon)
self.setWindowIcon(pw_icon) self.setWindowIcon(pp_icon)
self.setWindowTitle('PortProton games library') self.setWindowTitle('PortProton games library')
g.base_dir = str(Path(scripts_dir + '/../..').resolve()) g.base_dir = str(Path(scripts_dir + '/../..').resolve())
@ -58,8 +59,10 @@ class MainWindow(QMainWindow):
sep.setFrameShadow(QFrame.Shadow.Sunken) sep.setFrameShadow(QFrame.Shadow.Sunken)
self._status_size = QLabel(self) self._status_size = QLabel(self)
self._status_dir = QLabel(self) self._status_dir = QLabel(self)
self._status_wine = QLabel(self)
self.statusBar().setVisible(False) self.statusBar().setVisible(False)
self.statusBar().addWidget(self._status_dir, 1) self.statusBar().addWidget(self._status_dir, 1)
self.statusBar().addWidget(self._status_wine)
self.statusBar().addWidget(sep) self.statusBar().addWidget(sep)
self.statusBar().addWidget(self._status_size) self.statusBar().addWidget(self._status_size)
@ -86,7 +89,7 @@ class MainWindow(QMainWindow):
spacer = QWidget(self) spacer = QWidget(self)
spacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) spacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
self.toolbar.addWidget(spacer) self.toolbar.addWidget(spacer)
action = QAction(pw_icon, 'PortProton', self) action = QAction(pp_icon, 'PortProton', self)
action.triggered.connect(self.run_pp) action.triggered.connect(self.run_pp)
self.toolbar.addAction(action) self.toolbar.addAction(action)
@ -100,7 +103,7 @@ class MainWindow(QMainWindow):
self.game_list.reload() self.game_list.reload()
def drop_prefix(self): def drop_prefix(self):
res = QMessageBox.question(self, _tr('Are you shure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx)) res = QMessageBox.question(self, _tr('Are you sure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx))
if res == QMessageBox.StandardButton.Yes: if res == QMessageBox.StandardButton.Yes:
shutil.rmtree(g.install_pfx, True) shutil.rmtree(g.install_pfx, True)
@ -115,6 +118,7 @@ class MainWindow(QMainWindow):
if item: if item:
self._status_size.setText('Size: ' + item.dir_size_human) self._status_size.setText('Size: ' + item.dir_size_human)
self._status_dir.setText(' ' + item.game_dir) self._status_dir.setText(' ' + item.game_dir)
self._status_wine.setText(item.wine_use)
def closeEvent(self, event): def closeEvent(self, event):
geometry = self.saveGeometry() geometry = self.saveGeometry()
@ -233,7 +237,7 @@ class InstallGame(QDialog):
src_dir = self.install_dir + '/' + game_dir src_dir = self.install_dir + '/' + game_dir
dst_dir = g.games_dir + '/' + game_dir dst_dir = g.games_dir + '/' + game_dir
exe_file = shlex.quote(g.games_dir + '/' + item.text()) exe_file = shlex.quote(g.games_dir + '/' + item.text())
ppdb = shlex.quote(g.games_dir + '/' + item.text()) + '.ppdb' ppdb = shlex.quote(g.games_dir + '/' + item.text() + '.ppdb')
self.setDisabled(True) self.setDisabled(True)
if self._installing and Path(dst_dir).exists(): if self._installing and Path(dst_dir).exists():
res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir)) res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir))
@ -246,15 +250,14 @@ class InstallGame(QDialog):
export portwine_exe={exe_file} export portwine_exe={exe_file}
cd {shlex.quote(g.scripts_dir)} cd {shlex.quote(g.scripts_dir)}
. {shlex.quote(g.scripts_dir + '/runlib')} . {shlex.quote(g.scripts_dir + '/runlib')}
pw_create_gui_png
pw_init_db pw_init_db
[ -f {ppdb} ] && . {ppdb} [ -f {ppdb} ] && . {ppdb}
echo -e "export PW_VULKAN_USE=${{PW_VULKAN_USE:-1}}\nexport PW_GUI_DISABLED_CS=1" >> {ppdb} echo -e "export PW_VULKAN_USE=${{PW_VULKAN_USE:-1}}\nexport PW_GUI_DISABLED_CS=1" >> {ppdb}
""" """
run(['bash', '-c', script]) run(['bash', '-c', script])
icon_path = g.base_dir + '/data/img/' + Path(item.text()).stem + '.png' icon_path = g.games_dir + '/' + item.text() + '.ico'
if not Path(icon_path).exists(): if not Path(icon_path).exists():
icon_path = g.pw_icon icon_path = g.pp_icon
Path(shortcut).write_text(f"""[Desktop Entry] Path(shortcut).write_text(f"""[Desktop Entry]
Name={shortcut_name} Name={shortcut_name}
Exec=env {shlex.quote(g.scripts_dir + '/start.sh')} {exe_file} Exec=env {shlex.quote(g.scripts_dir + '/start.sh')} {exe_file}
@ -294,8 +297,10 @@ class GameList(QListWidget):
try: try:
item = GameItem(self, shortcut) item = GameItem(self, shortcut)
self.addItem(item) self.addItem(item)
except Exception: except ValueError:
pass pass
except:
logging.exception('Error while parse "%s"', shortcut)
self.sortItems() self.sortItems()
self.setCurrentIndex(QModelIndex()) self.setCurrentIndex(QModelIndex())
@ -316,8 +321,13 @@ class GameList(QListWidget):
menu = QMenu(self) menu = QMenu(self)
desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop')) desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop'))
restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI')) restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI'))
default_wine = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogOkButton), _tr('Set default wine'))
remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry')) remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry'))
uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game')) uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game'))
if not selected.pp_gui_disabled:
restore_gui.setVisible(False)
if not selected.wine_use:
default_wine.setVisible(False)
if not selected.game_dir.startswith(g.games_dir): if not selected.game_dir.startswith(g.games_dir):
uninstall.setVisible(False) uninstall.setVisible(False)
action = menu.exec(self.mapToGlobal(event.pos())) action = menu.exec(self.mapToGlobal(event.pos()))
@ -328,31 +338,38 @@ class GameList(QListWidget):
if res != QMessageBox.StandardButton.Yes: if res != QMessageBox.StandardButton.Yes:
return return
shutil.copy(selected.desktop_file, desktop_shortcut) shutil.copy(selected.desktop_file, desktop_shortcut)
if action == restore_gui: if action == restore_gui or action == default_wine:
ignore_line = 'PW_GUI_DISABLED_CS' if action == restore_gui else 'PW_WINE_USE'
ppdb = shlex.split(selected.get('Exec'))[-1] + '.ppdb' ppdb = shlex.split(selected.get('Exec'))[-1] + '.ppdb'
if not Path(ppdb).exists(): if not Path(ppdb).exists():
return return
with open(ppdb, 'r') as read: with open(ppdb, 'r') as read:
with open(ppdb + '.new', 'w') as write: with open(ppdb + '.new', 'w') as write:
while (line := read.readline()): while (line := read.readline()):
if 'PW_GUI_DISABLED_CS' not in line: if ignore_line not in line:
write.write(line) write.write(line)
os.rename(ppdb + '.new', ppdb) os.rename(ppdb + '.new', ppdb)
if action == remove: if action == restore_gui:
selected.pp_gui_disabled = False
if action == default_wine:
selected.wine_use = None
self.selectItem(selected)
def remove_shortcut():
Path(desktop_shortcut).unlink(True) Path(desktop_shortcut).unlink(True)
Path(selected.desktop_file).unlink(True) Path(selected.desktop_file).unlink(True)
Path(selected.get('Icon')).unlink(True) def_icon_path = g.base_dir + '/data/img/' + Path(shlex.split(selected.get('Exec'))[-1]).stem + '.png'
Path(def_icon_path).unlink(True)
if action == remove:
remove_shortcut()
self.reload() self.reload()
if action == uninstall: if action == uninstall:
res = QMessageBox.question(self, res = QMessageBox.question(self,
_tr('Are you shure ?'), _tr('Are you sure ?'),
_tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir) _tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir)
) )
if res != QMessageBox.StandardButton.Yes: if res != QMessageBox.StandardButton.Yes:
return return
Path(desktop_shortcut).unlink(True) remove_shortcut()
Path(selected.desktop_file).unlink(True)
Path(selected.get('Icon')).unlink(True)
if selected.game_dir.startswith(g.games_dir): if selected.game_dir.startswith(g.games_dir):
shutil.rmtree(selected.game_dir, True) shutil.rmtree(selected.game_dir, True)
self.reload() self.reload()
@ -374,19 +391,31 @@ class GameItem(QListWidgetItem):
self.config.read(desktop_file) self.config.read(desktop_file)
text = self.get('Name', Path(desktop_file).stem) text = self.get('Name', Path(desktop_file).stem)
if not self.get('Exec') or text == 'PortProton': if not self.get('Exec') or text == 'PortProton':
raise Exception('Validation fail') raise ValueError('Validation fail')
self.game_dir = shlex.split(self.get('Exec'))[-1] exe_file = shlex.split(self.get('Exec'))[-1]
if self.game_dir.startswith(g.games_dir): if exe_file.startswith(g.games_dir):
self.game_dir = g.games_dir + '/' + self.game_dir[len(g.games_dir)+1:].split('/')[0] self.game_dir = g.games_dir + '/' + exe_file[len(g.games_dir)+1:].split('/')[0]
else: else:
self.game_dir = str(Path(self.game_dir).parent) self.game_dir = str(Path(exe_file).parent)
if self.game_dir == '.': if self.game_dir == '.':
raise Exception('Can not determine game dir') raise ValueError('Can not determine game dir')
self.pp_gui_disabled = False
self.wine_use = None
ppdb = exe_file + '.ppdb'
if Path(ppdb).exists():
ppdb_conf = RawConfigParser(strict=False)
with open(ppdb) as f:
ppdb_conf.read_string('[dummy]\n' + f.read())
pp_gui_disabled = ppdb_conf.get('dummy', 'export PW_GUI_DISABLED_CS', fallback='').strip('"')
try: self.pp_gui_disabled = bool(int(pp_gui_disabled))
except: self.pp_gui_disabled = bool(pp_gui_disabled)
self.wine_use = ppdb_conf.get('dummy', 'export PW_WINE_USE', fallback='').strip('"')
super().__init__(parent) super().__init__(parent)
self.setToolTip(text) self.setToolTip(text)
self.setText(text) self.setText(text)
icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pw_icon icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pp_icon
qicon = QIcon(icon_path) qicon = QIcon(icon_path)
self.setIcon(qicon) self.setIcon(qicon)
self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop) self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop)
@ -423,7 +452,7 @@ lang = {
'Add game entry': 'Добавить в список', 'Add game entry': 'Добавить в список',
'Reload list': 'Обновить список', 'Reload list': 'Обновить список',
'Drop install prefix': 'Удалить установочный префикс', 'Drop install prefix': 'Удалить установочный префикс',
'Are you shure ?': 'Вы уверены ?', 'Are you sure ?': 'Вы уверены ?',
'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?', 'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?',
'Run another setup': 'Запустить установку', 'Run another setup': 'Запустить установку',
'Select game exe file': 'Выберите exe файл игры', 'Select game exe file': 'Выберите exe файл игры',
@ -436,6 +465,7 @@ lang = {
'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?', 'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?',
'Add to desktop': 'Добавить на рабочий стол', 'Add to desktop': 'Добавить на рабочий стол',
'Restore PortProton GUI': 'Восстановить PortProton GUI', 'Restore PortProton GUI': 'Восстановить PortProton GUI',
'Set default wine': 'Выбрать дефолтный wine',
'Remove game entry': 'Убрать из списка', 'Remove game entry': 'Убрать из списка',
'Uninstall game': 'Удалить игру', 'Uninstall game': 'Удалить игру',
'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?' 'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?'
@ -448,6 +478,7 @@ def _tr(text, *fmt):
return res return res
app = QApplication([]) app = QApplication([])
app.setDesktopFileName('PortProton')
win = MainWindow() win = MainWindow()
win.show() win.show()
app.exec() app.exec()

8
data_from_portwine/scripts/credits Normal file → Executable file
View File

@ -64,7 +64,7 @@ zorn
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \ --text-info --fontname="Serif bold italic 12" --show-uri --scroll \
<<< ' Проект поддержали: <<< ' Проект поддержали:
https://boosty.to/linux-gaming.ru https://boosty.to/portwine-linux.ru
1 1 1 1
A B A B
@ -269,7 +269,7 @@ Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/linuxgamingru VK: https://vk.com/linuxgamingru
------------------------------------------- -------------------------------------------
Стать платным подписчиком: Стать платным подписчиком:
boosty: https://boosty.to/linux-gaming.ru boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973 Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошелек: 410012267513818 Yandex кошелек: 410012267513818
@ -359,7 +359,7 @@ SOFTWARE." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \ --text-info --fontname="Serif bold italic 12" --show-uri --scroll \
<<< ' The project was supported: <<< ' The project was supported:
https://boosty.to/linux-gaming.ru: https://boosty.to/portwine-linux.ru:
1 1 1 1
A B A B
@ -562,7 +562,7 @@ Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux VK: https://vk.com/portwinelinux
------------------------------------------- -------------------------------------------
Become a paid subscriber: Become a paid subscriber:
boosty: https://boosty.to/linux-gaming.ru boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton patreon: https://www.patreon.com/portproton
WebMoney wallets: WMZ-Z135951244401 WME-E325631629973 WebMoney wallets: WMZ-Z135951244401 WME-E325631629973
Yandex wallet: 410012267513818 Yandex wallet: 410012267513818

View File

@ -103,19 +103,28 @@ check_process () {
export -f check_process export -f check_process
try_download () { try_download () {
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
set -o pipefail set -o pipefail
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \ wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \ --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "${1}" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \ tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90 zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
if [ "${PIPESTATUS[0]}" != 0 ] ; then if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download $1." print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
try_remove_file "$2" try_remove_file "$2"
return 1 wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
else --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \
return 0 tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
try_remove_file "$2"
return 1
fi
fi fi
try_remove_file "${PORT_WINE_TMP_PATH}/download_log" try_remove_file "${PORT_WINE_TMP_PATH}/download_log"
return 0
} }
try_download_to_path () { try_download_to_path () {
@ -183,6 +192,18 @@ var_vk_istance_layers_config_update () {
return 0 return 0
} }
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
if [[ `which zstd` ]] &>/dev/null ; then
tar -I zstd -xvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
else
env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
}
unpack_tar_xz () { unpack_tar_xz () {
set -o pipefail set -o pipefail
tar -Jxvf "$1" -C "$2" | sszen tar -Jxvf "$1" -C "$2" | sszen
@ -233,12 +254,34 @@ pw_clear_pfx () {
try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Common Files" try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Common Files"
try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows Media Player" try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows Media Player"
try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows NT" try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows NT"
try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache"
rm -f "${PORT_WINE_TMP_PATH}"/*.bin rm -f "${PORT_WINE_TMP_PATH}"/*.bin
rm -f "${PORT_WINE_TMP_PATH}"/*.foz rm -f "${PORT_WINE_TMP_PATH}"/*.foz
return 0 return 0
} }
pw_reinstall_pp () {
if [[ "${PW_REINSTALL_FROM_TERMINAL}" == 1 ]] ; then
read -p "Do you want to reinstall PortProton? (Y,y - Yes): " -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
echo
exit 1
fi
elif ! gui_question "${port_reinstall}"
then exit 1
fi
pw_clear_pfx
try_remove_dir "${PORT_WINE_PATH}/data/dist"
try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
try_remove_file "${PORT_WINE_PATH}/data/user.conf"
echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver"
echo
echo "Restarting PP for reinstall files..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
}
check_user_conf () { check_user_conf () {
if [ ! -f "${USER_CONF}" ]; then if [ ! -f "${USER_CONF}" ]; then
echo "#!/usr/bin/env bash" > "${USER_CONF}" echo "#!/usr/bin/env bash" > "${USER_CONF}"
@ -268,10 +311,10 @@ init_wine_ver () {
export WINE="${WINEDIR}/bin/wine" export WINE="${WINEDIR}/bin/wine"
export WINELOADER="${WINEDIR}/bin/wine" export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver" export WINESERVER="${WINEDIR}/bin/wineserver"
if [[ -z "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
else if [[ ! -z "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}" export WINEDLLPATH+=":${PATH_TO_GAME}"
fi fi
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
@ -295,22 +338,20 @@ init_wine_ver () {
if [[ -d "${WINEDIR}" ]] ; then if [[ -d "${WINEDIR}" ]] ; then
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version" [[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
# if [[ -d "${WINEDIR}/lib32/" ]] ; then
# mv -f "${WINEDIR}/lib" "${WINEDIR}/lib64"
# mv -f "${WINEDIR}/lib32" "${WINEDIR}/lib"
# fi
if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
create_new_dir "${WINEDIR}/lib64/wine" create_new_dir "${WINEDIR}/lib64/wine"
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/" mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/" mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
fi fi
try_remove_file "${WINEDIR}/lib/libsteam_api.so" try_remove_file "${WINEDIR}/lib/libsteam_api.so"
try_remove_file "${WINEDIR}/lib64/libsteam_api.so" try_remove_file "${WINEDIR}/lib64/libsteam_api.so"
for copy_proton_dll in "dxvk" "vkd3d-proton" ; do
if [[ ! -d "${WINEDIR}/lib/wine/${copy_proton_dll}/" || ! -d "${WINEDIR}/lib64/wine/${copy_proton_dll}/" ]] ; then
try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_LG_VER}/lib/wine/${copy_proton_dll}" "${WINEDIR}/lib/wine/"
try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_LG_VER}/lib64/wine/${copy_proton_dll}" "${WINEDIR}/lib64/wine/"
fi
done
for mono_gecko_chk in "mono" "gecko" ; do for mono_gecko_chk in "mono" "gecko" ; do
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK." echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
@ -325,13 +366,13 @@ init_wine_ver () {
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK." echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
fi fi
done done
grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf"
grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null
if [[ "$?" != "0" ]] ; then if [[ "$?" != "0" ]] ; then
echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
fi
grep 'nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf"
if [[ "$?" != "0" ]] ; then
echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
fi fi
fi fi
return 0 return 0
@ -350,9 +391,6 @@ pw_init_runtime () {
export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d" export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d"
export DISABLE_VK_LAYER_VALVE_steam_fossilize_1=1
export DISABLE_VK_LAYER_VALVE_steam_overlay_1=1
if [ ! -z ${PATH_TMP} ] if [ ! -z ${PATH_TMP} ]
then export PATH="${PATH_TMP}" then export PATH="${PATH_TMP}"
else export PATH_TMP="${PATH}" else export PATH_TMP="${PATH}"
@ -365,6 +403,8 @@ pw_init_runtime () {
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0" export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
elif [ -d "${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0" ] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0:${PW_WINELIB}/portable/lib/lib32/gstreamer-1.0"
fi fi
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}" export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
@ -379,25 +419,19 @@ pw_init_runtime () {
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \ --unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \ --home="${PW_SANDBOX_HOME_PATH}" \
--no-gc-runtimes \
--gc-legacy-runtimes \
--copy-runtime \
--remove-game-overlay \
${PW_ADD_TO_ARGS_IN_RUNTIME} --" ${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else else
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--share-home \ --share-home \
--no-gc-runtimes \
--gc-legacy-runtimes \
--copy-runtime \
--remove-game-overlay \
${PW_ADD_TO_ARGS_IN_RUNTIME} --" ${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi fi
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0 export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
# export PRESSURE_VESSEL_GRAPHICS_PROVIDER="" # export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/"
unset PRESSURE_VESSEL_RUNTIME_ARCHIVE unset PRESSURE_VESSEL_RUNTIME_ARCHIVE
export PRESSURE_VESSEL_COPY_RUNTIME=1
export PRESSURE_VESSEL_GC_LEGACY_RUNTIMES=1
export PRESSURE_VESSEL_RUNTIME=runtime export PRESSURE_VESSEL_RUNTIME=runtime
export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}" export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}"
export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var" export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var"
@ -420,7 +454,7 @@ pw_init_runtime () {
} }
pw_mangohud_check () { pw_mangohud_check () {
if [[ "${PW_MANGOHUD}" == "1" ]] ; then if [[ "${PW_MANGOHUD}" == "1" ]] || [[ "${PW_MANGOHUD_x32}" = "1" ]]; then
export PW_MANGOHUD_SLR='MANGOHUD=1' export PW_MANGOHUD_SLR='MANGOHUD=1'
MANGOHUD_LIB_NAME="libMangoHud.so" MANGOHUD_LIB_NAME="libMangoHud.so"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
@ -430,7 +464,10 @@ pw_mangohud_check () {
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}" then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}" else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
fi fi
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32" var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64"
if [[ "${PW_MANGOHUD_x32}" = "1" ]] ; then
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay32"
fi
print_info "MANGOHUD is enabled" print_info "MANGOHUD is enabled"
else else
export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1' export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1'
@ -451,7 +488,7 @@ pw_vkbasalt_check () {
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" 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" export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
# sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx" # sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx"
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing32:VK_LAYER_VKBASALT_post_processing64" var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
print_info "vkBasalt is enabled" print_info "vkBasalt is enabled"
else else
export DISABLE_VKBASALT=1 export DISABLE_VKBASALT=1
@ -520,14 +557,18 @@ kill_portwine () {
export -f kill_portwine export -f kill_portwine
pw_kill_autostart () { pw_kill_autostart () {
if [[ -z "${2}" ]]
then SWAIT=5
else SWAIT="${2}"
fi
sleep 5 sleep 5
while true ; do while true ; do
if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then
echo -e "PID "$1" not found" echo -e "PID "$1" not found"
sleep 5 sleep "${SWAIT}"
else else
sleep 5 sleep "${SWAIT}"
kill_portwine kill_portwine
break break
fi fi
@ -630,13 +671,72 @@ pw_check_and_download_wine () {
return 0 return 0
} }
pw_check_and_download_dxvk_and_vkd3d () {
#Download stable and git version DXVK
for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then
print_info "Download and install DXVK v.${DXVK_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then
if unpack_tar_xz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
else
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
try_remove_dir dxvk-${DXVK_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
elif try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then
if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
else
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
try_remove_dir dxvk-${DXVK_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
fi
done
#Download stable and git version VKD3D
for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then
print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then
if unpack_tar_xz "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
else
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
elif try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then
if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
else
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
fi
done
return 0
}
pw_check_and_download_plugins () { pw_check_and_download_plugins () {
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then
for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}` for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done done
fi fi
if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/d3d_extras" \ if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/fake_dlss" \
|| ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]] || ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]]
then then
print_info "Download and install plugins${PW_PLUGINS_VER}..." print_info "Download and install plugins${PW_PLUGINS_VER}..."

View File

@ -1,15 +1,18 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Author: linux-gaming.ru # Author: linux-gaming.ru
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
export update_loc=${update_loc} read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
export update_loc=${update_loc}
fi
if [ "${update_loc}" = "RUS" ] if [ "${update_loc}" = "RUS" ]
then then
export loc_gui_pw_reinstall_pp="Переустановить PORTPROTON"
export loc_gui_rm_pp="Удалить PORTPROTON" export loc_gui_rm_pp="Удалить PORTPROTON"
export loc_gui_upd_pp="Проверить обновления" export loc_gui_upd_pp="Проверить обновления"
export loc_gui_changelog="История изменений" export loc_gui_changelog="История изменений"
export loc_gui_change_loc="Сменить язык интерфейса"
export loc_gui_edit_usc="Редактировать USER.CONF" export loc_gui_edit_usc="Редактировать USER.CONF"
export loc_gui_scripts_fb="Откатить версию скриптов" export loc_gui_scripts_fb="Откатить версию скриптов"
export loc_gui_credits="Авторы и спасибы =)" export loc_gui_credits="Авторы и спасибы =)"
@ -29,7 +32,7 @@ then
export inst_set="Выбор" export inst_set="Выбор"
export inst_set_top="Установка PortWINE" export inst_set_top="Установка PortWINE"
export ss_done="Ярлык создан в корневом каталоге порта.\n Добавить его в МЕНЮ -> ИГРЫ?" export ss_done="Ярлык создан в каталоге PortProton. \n Добавить его в МЕНЮ -> ИГРЫ?"
export inst_succ="Установка завершена успешно!" export inst_succ="Установка завершена успешно!"
@ -52,6 +55,8 @@ then
export port_del1="Удаление $portname" export port_del1="Удаление $portname"
export port_del2="Вы действительно хотите полностью удалить PortProton?" export port_del2="Вы действительно хотите полностью удалить PortProton?"
export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение."
export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта" export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта"
export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE" export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE"
@ -109,6 +114,8 @@ then
export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD' export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)' export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана' export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12'
export PW_MANGOHUD_x32_INFO='Включить MANGOHUD для 32 битных приложений и игр'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS' export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'
@ -130,19 +137,127 @@ then
export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)' export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)'
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)' export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)'
export PW_WAYLAND_INFO="Внимание! Вы запускаете $portname в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: d3dadapter9" export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
export loc_gui_error='Ошибка.'
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания"
export loc_gui_settings="Пожалуйста подождите."
export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..."
export loc_gui_edit_db="Изменение файла настроек для:"
export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную."
export loc_gui_save_changes="СОХРАНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_save_changes_help="Сохранить текущие изменения, и перейти в предыдущее меню."
export loc_gui_ver_windows="Изменить версию эмуляции <b>WINDOWS</b>"
export loc_gui_ver_windows_help="Изменение версии эмуляции <b>WINDOWS</b> может потребоваться для запуска старых игр. Версии <b>WINDOWS</b> ниже 10 не поддерживает новые игры с DirectX 12."
export loc_gui_aut_winetricks="Автоматически установить с помощью <b>WINETRICKS</b>"
export loc_gui_aut_winetricks_help="Автоматически установить с помощью <b>WINETRICKS</b> дополнительных библиотек необходимых для запуска игры/программы. Список библиотек разделяются пробелами. (Пример есть в выпадающем списке)"
export loc_gui_winedllover="Принудительно использовать/отключить библиотеки"
export loc_gui_winedllover_help="Принудительное использование/отключиение библиотеки только для даного приложения. (Примеры есть в выпадающем списке)
Краткая инструкция:
* библиотеки пишутся <b>БЕЗ</b> расширения файлов .dll
* библиотеки разделяются точкой с запятой - <b>;</b>
* библиотека=n - использовать библиотеку <b>WINDOWS</b> (сторонюю)
* библиотека=b - использовать библиотеку <b>WINE</b> (встроенную)
* библиотека=n,b - использовать <b>WINDOWS</b> библиотеку, а затем <b>WINE</b>
* библиотека=b,n - использовать библиотеку <b>WINE</b>, а затем <b>WINDOWS</b>
* библиотека= - отключить использование данной библиотеки"
export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла"
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
export loc_gui_mango_fps="Ограничить FPS (0 - выключено)"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton."
export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
export loc_gui_del_wine="Выберите версию WINE для удаления:"
export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ"
export loc_gui_ffx_cas="AMD FidelityFX - CAS предназначе для значительного улучшения резкости текстур без дополнительных установок модификаций для игр, с минимальной потерей производительности. (Для старых игр рекомендуется значение = 100)"
export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ VKBASALT"
export loc_gui_disabled_vkbas_help="Выключить vkBasalt и перейти в предыдущее меню."
export loc_gui_vkbasalt_top="Настройки vkBasalt для добавления эффектов в играх работающих под Vulkan. (Клавиша <b>HOME</b> отключает vkbasalt)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n"
export loc_gui_no="НЕТ"
export loc_gui_yes="ДА"
export loc_gui_create_shortcut="СОЗДАТЬ ЯРЛЫК"
export loc_gui_delete_shortcut="УДАЛИТЬ ЯРЛЫК"
export loc_gui_launch="ЗАПУСТИТЬ"
export loc_gui_debug="СОЗДАТЬ ЛОГ"
export loc_gui_edit_db_start="НАСТРОИТЬ"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_db_comments="Найден файл настроек PortProton для"
export loc_gui_vulkan_stable="Стабильные версии DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Новейшие версии DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
export loc_gui_gallium_nine="GALLIUM_NINE (Аппаратный DX9 для MESA)"
export loc_gui_open_gl="OPENGL (Для видеокарт без API VULKAN)"
export loc_gui_installing_the="Устанавливаем"
export loc_gui_please_wait="Пожалуйста подождите..."
elif [ "${update_loc}" = "ENG" ] elif [ "${update_loc}" = "ENG" ]
then then
export loc_gui_installing_the="Installing the"
export loc_gui_please_wait="Please wait..."
export loc_gui_vulkan_stable="VULKAN (Stable version of DXVK and VKD3D)"
export loc_gui_vulkan_git="VULKAN (New GIT version of DXVK and VKD3D)"
export loc_gui_gallium_nine="GALLIUM_NINE (Native DX9 on MESA)"
export loc_gui_open_gl="OPENGL (For video cards without VULKAN)"
export loc_gui_error='Error.'
export loc_gui_error_download="You will need to check internet connection,\nand press OK for repeat download"
export loc_gui_settings="Settings."
export loc_gui_sett_info="Updating parameters..."
export loc_gui_edit_db="Change settings in database file for"
export loc_gui_cancel="CANCEL"
export loc_gui_open_db="OPEN DB FILE"
export loc_gui_save_changes="SAVE CHANGES"
export loc_gui_ver_windows="SELECT VERSION OF WINDOWS"
export loc_gui_aut_winetricks="AUTOINSTALL WITH WINETRICKS"
export loc_gui_winedllover="WINEDLLOVERRIDES"
export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE"
export loc_gui_mango_fps="MANGOHUD FPS LIMIT (0-disabled)"
export loc_gui_check_new_wine="Check new version WINE from GitHub"
export loc_gui_check_new_wine_error="Error: check wine from github."
export loc_gui_set_new_wine="Select WINE for download:"
export loc_gui_del_wine="Select installed WINE for delete:"
export loc_gui_installed_wine="INSTALLED"
export loc_gui_disabled_vkbas="DISABLE VKBASALT"
export loc_gui_no="NO"
export loc_gui_yes="YES"
export loc_gui_create_shortcut="CREATE SHORTCUT"
export loc_gui_delete_shortcut="DELETE SHORTCUT"
export loc_gui_launch="LAUNCH"
export loc_gui_debug="DEBUG"
export loc_gui_edit_db_start="EDIT DB"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_db_comments="PortProton database file was found for"
export loc_gui_rm_pp="REMOVE PORTPROTON" export loc_gui_rm_pp="REMOVE PORTPROTON"
export loc_gui_upd_pp="UPDATE PORTPROTON" export loc_gui_upd_pp="UPDATE PORTPROTON"
export loc_gui_changelog="CHANGELOG" export loc_gui_changelog="CHANGELOG"
export loc_gui_change_loc="CHANGE LANGUAGE"
export loc_gui_edit_usc="EDIT USER.CONF" export loc_gui_edit_usc="EDIT USER.CONF"
export loc_gui_scripts_fb="SCRIPTS FROM BACKUP" export loc_gui_scripts_fb="SCRIPTS FROM BACKUP"
export loc_gui_credits="CREDITS" export loc_gui_credits="CREDITS"
export loc_gui_pw_reinstall_pp="REINSTALL PORTPROTON"
export loc_tray_winefile="WINEFILE" export loc_tray_winefile="WINEFILE"
export loc_tray_tascmng="TASKMNR" export loc_tray_tascmng="TASKMNR"
@ -180,8 +295,10 @@ then
export port_del1="Remove $portname" export port_del1="Remove $portname"
export port_del2="Are you sure you want to delete the PortProton" export port_del2="Are you sure you want to delete the PortProton"
export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_reinstall="Do you really want to reinstall PortProton?\nFor this, an internet connection will be required."
export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE" export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE"
export port_start1="Starting the PortWINE" export port_start1="Starting the PortWINE"
@ -199,7 +316,7 @@ then
export loc_download_other_wine="Download other wine-proton from GITHUB" export loc_download_other_wine="Download other wine-proton from GITHUB"
#Helped in translation: ConTI1NuEsZZZ # Helped in translation: ConTI1NuEsZZZ
export loc_create_shortcut="Create shortcut for select file..." export loc_create_shortcut="Create shortcut for select file..."
export loc_delete_shortcut="Delete shortcut for select file..." export loc_delete_shortcut="Delete shortcut for select file..."
export loc_debug="Launch with the creation of a .log file at the root ${portname}" export loc_debug="Launch with the creation of a .log file at the root ${portname}"
@ -212,4 +329,9 @@ then
export loc_edit_db="Edit database file for" export loc_edit_db="Edit database file for"
export loc_find_d3dadapter9_error="not found in the system.\nInstall it and try again." export loc_find_d3dadapter9_error="not found in the system.\nInstall it and try again."
else
SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
exit 0
fi fi

0
data_from_portwine/scripts/portwine_db/AC4BFSP Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/ACValhalla Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/ALOTInstaller Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/Anno4 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/AnomalyLauncher Normal file → Executable file
View File

View File

@ -6,7 +6,7 @@
#Rating=5 #Rating=5
################################################ ################################################
#export PW_COMMENT_DB="We recommend using PROTON_GE + VULKAN!" #export PW_COMMENT_DB="We recommend using PROTON_GE + VULKAN!"
export PW_WINE_USE=PROTON_GE # export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1 export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS="" export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="locationapi=" export WINEDLLOVERRIDES="locationapi="

View File

0
data_from_portwine/scripts/portwine_db/DXHRDC Normal file → Executable file
View File

View File

@ -3,6 +3,6 @@
#ds.exe #ds.exe
#Rating=5 #Rating=5
################################################ ################################################
export PW_VULKAN_USE=vkd3d export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS="" export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b" export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b"

0
data_from_portwine/scripts/portwine_db/Deponia Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/Dolphin Normal file → Executable file
View File

View File

@ -0,0 +1,43 @@
#!/usr/bin/env bash
#Author: PortWINE
#EALauncher.exe
#EADesktop.exe
#Rating=5
#####################examples###########################
export PW_DLL_INSTALL="vcrun2019" # Install DDL in port prefix (used winetricks)
export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL
# export PW_USE_TERMINAL="1"
export PW_WINE_TKG_VER="7.20"
export PW_WINE_USE="WINE-${PW_WINE_TKG_VER}-STAGING-TKG-AMD64"
export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="EA_APP"
# export WINEDLLOVERRIDES="mscoree,mshtml="
check_download_wine_ver_for_ea () {
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/${PW_WINE_TKG_VER}/wine-${PW_WINE_TKG_VER}-staging-tkg-amd64.tar.xz" \
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
UNPACK_STATUS=0
else
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
fi
fi
[[ "${UNPACK_STATUS}" != 0 ]] && exit 1
fi
}
check_download_wine_ver_for_ea
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
orig_IFS="$IFS"
IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do
dist_dir_new=`echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g`
if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then
mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}"
fi
done
IFS="$orig_IFS"
fi

View File

@ -4,7 +4,7 @@
#Rating=5 #Rating=5
############################################## ##############################################
#export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher" #export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher"
export PW_WINE_USE=PROTON_GE # export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1 export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq" export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019" export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019"

0
data_from_portwine/scripts/portwine_db/FarCry6 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/Forsaken_World Normal file → Executable file
View File

View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
#Author: castro-fidel
#FulqrumGames.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="+com_skipIntroVideo 1 +com_skipSignInManager 1" # Additional launch options
# export PW_WINE_USE="PROTON_LG_7-34"
export PW_VULKAN_USE="1"
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI_AND_DLSS=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="Curves:cas"
export PW_VKBASALT_FFX_CAS="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 PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##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
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DEFAULT"

0
data_from_portwine/scripts/portwine_db/GalaxyClient Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/GameCenter Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/GameLauncher Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/GoW Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/Half-Life2 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/Inscryption Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/JustCause4 Normal file → Executable file
View File

View File

@ -13,7 +13,7 @@ export TEXT_OPSSL=""
export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time" export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time"
export WINEDLLOVERRIDES="mscoree,mshtml=" export WINEDLLOVERRIDES="mscoree,mshtml="
export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" # Additional launch options export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" # Additional launch options
export PW_WINE_USE=WINE_LOL_GE_7.0-4 export PW_WINE_USE=WINE_LOL_GE_7.0-5
export PW_VULKAN_USE=1 export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL="" export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS" export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS"
@ -21,6 +21,7 @@ export PW_NO_FSYNC=1
export PW_NO_ESYNC=1 export PW_NO_ESYNC=1
export PW_DISABLED_CREATE_DB=1 export PW_DISABLED_CREATE_DB=1
export PW_USE_D3D_EXTRAS=1 export PW_USE_D3D_EXTRAS=1
export DXVK_STABLE_VER="1.10.3-28"
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI ##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
check_download_wine_ver_for_lol () { check_download_wine_ver_for_lol () {
@ -40,40 +41,7 @@ check_download_wine_ver_for_lol () {
} }
check_download_wine_ver_for_lol check_download_wine_ver_for_lol
# check_port_for_lol () {
# "${pw_yad}" --progress --progress-text="Loading and start League of Legends. Please wait. It can take a long time!" \
# --pulsate --no-buttons --undecorated --center --skip-taskbar --image="${PW_GUI_ICON_PATH}/covers/lol_cover.jpg" --image-on-top > /dev/null 4>&1 &
# PW_YAD_PID_LOL="$!"
# process=LeagueClientUx.exe
# while [[ -z `pidof ${process}` ]] ; do
# echo "PID ${process} not found"
# sleep 1
# done
# uxpid=`pidof ${process}`
# echo "LeagueClientUx pid: ${uxpid}"
# port=$(xargs -0 < /proc/${uxpid}/cmdline | sed -n 's/.*--app-port=\([[:digit:]]*\).*/\1/p')
# if [ ! -n $port ]; then
# echo "Could not find port"
# exit 1
# fi
# echo "Waiting for port ${port}"
# kill -STOP ${uxpid}
# timeout 200m /usr/bin/env bash -c "
# until openssl s_client -connect :${port} <<< Q > /dev/null 2>&1 ; do
# sleep 1
# done"
# kill -CONT ${uxpid}
# kill -s SIGUSR1 "${PW_YAD_PID_LOL}"
# }
add_in_start_portwine () { add_in_start_portwine () {
echo "" echo ""
# if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] ; then
# pw_stop_progress_bar
# zenity --question --title="Fix for LoL anti-cheat" \
# --text='Root rights are required to execute the command: \n"sysctl -w abi.vsyscall32=0"' --no-wrap
# [ "$?" = 1 ] && exit 0
# pkexec /usr/bin/env bash -c 'sysctl -w abi.vsyscall32=0'
# fi
# check_port_for_lol &
} }

0
data_from_portwine/scripts/portwine_db/Lineage2_NewRP Normal file → Executable file
View File

View File

View File

View File

0
data_from_portwine/scripts/portwine_db/MikuMikuDance Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/NFS Normal file → Executable file
View File

View File

View File

@ -5,22 +5,23 @@
#####################examples########################### #####################examples###########################
export PW_DLL_INSTALL="vcrun2012 vcrun2019" # Install DDL in port prefix (used winetricks) export PW_DLL_INSTALL="vcrun2012 vcrun2019" # Install DDL in port prefix (used winetricks)
export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL
###WINE_KRON4EK### export PW_USE_TERMINAL="1"
export PW_WINE_USE="WINE-7.13-STAGING-AMD64"
check_download_wine_ver_for_origin () { ###WINE_KRON4EK###
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then # export PW_WINE_USE="WINE-7.13-STAGING-AMD64"
if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/7.13/wine-7.13-staging-amd64.tar.xz" \ # check_download_wine_ver_for_origin () {
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then # if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then # if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/7.13/wine-7.13-staging-amd64.tar.xz" \
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" # "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
UNPACK_STATUS=0 # if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
else # try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" # UNPACK_STATUS=0
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" # else
fi # try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
fi # try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
[[ "${UNPACK_STATUS}" != 0 ]] && exit 1 # fi
fi # fi
} # [[ "${UNPACK_STATUS}" != 0 ]] && exit 1
check_download_wine_ver_for_origin # fi
# }
# check_download_wine_ver_for_origin

View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PnzSteamLauncher.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="7"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_VULKAN_USE="1"
export PW_USE_DXR10="0"
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_VIRTUAL_DESKTOP="0"
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT="1"
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.75"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="PANZAR"
export PW_USE_DXR11="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_USE_D3D_EXTRAS="1"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="0"
export PW_USE_WINE_DXGI="0"

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PathOfExile.exe
#PathOfExile_x64.exe
#Rating=1-5
#####################examples###########################
# export WINEDLLOVERRIDES="mscoree,mshtml="
export LAUNCH_PARAMETERS="--nologo --noasync --nopreload -gc 2"
export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL=""
# export PW_DLL_INSTALL="riched20 usp10"
export PW_PREFIX_NAME="PATH_OF_EXILE"
export PW_NO_FSYNC=0
export PW_NO_ESYNC=1
# export PW_DISABLED_CREATE_DB=1
export PW_USE_D3D_EXTRAS=1
#export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
export PW_WINDOWS_VER=7
add_in_start_portwine () {
echo ""
}

0
data_from_portwine/scripts/portwine_db/Photoshop Normal file → Executable file
View File

View File

@ -0,0 +1,51 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PlariumPlay.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES="libglesv2="
export LAUNCH_PARAMETERS=""
export PW_VULKAN_USE="1"
export PW_USE_DXR10="0"
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_VIRTUAL_DESKTOP="0"
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT="0"
##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="0"
export PW_NO_ESYNC="1"
##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##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="0"
##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="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DOTNET"
export PW_MANGOHUD="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="0"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_USE_D3D_EXTRAS="1"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export PW_USE_WINE_DXGI="0"

0
data_from_portwine/scripts/portwine_db/Quake4 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/QuickSFV Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/SamSM Normal file → Executable file
View File

View File

@ -0,0 +1,12 @@
#!/usr/bin/env bash
#Author: Castro-Fidel
#SecretWorldLegendsDX11.exe
#ClientPatcher.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_PREFIX_NAME="SWL"
export WINEDLLOVERRIDES="d3d9=b"
export ENABLE_VKBASALT="1"
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.75"

0
data_from_portwine/scripts/portwine_db/Sheltered2 Normal file → Executable file
View File

View File

0
data_from_portwine/scripts/portwine_db/TwoWorlds2 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/TwoWorlds2_DX10 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/UNDERTALE Normal file → Executable file
View File

View File

@ -0,0 +1,12 @@
#!/usr/bin/env bash
#Author: castro-fidel
#VKPlayLoader.exe
#Rating=5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_WINE_USE="PROTON_LG"
export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="VK_PLAY"
# export PW_VIRTUAL_DESKTOP="1"

0
data_from_portwine/scripts/portwine_db/VampireLife_2 Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/WolfNewOrder Normal file → Executable file
View File

View File

View File

@ -1,35 +0,0 @@
#!/usr/bin/env bash
#Author:
#ds.exe
#Rating=5
################################################
export PW_VULKAN_USE="2"
export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b"
export PW_WINE_USE="PROTON_GE_7-9"
export PW_PREFIX_NAME="DEFAULT"
export PW_MANGOHUD_USER_CONF="0"
export ENABLE_VKBASALT="0"
export PW_NO_ESYNC="1"
export PW_NO_FSYNC="0"
export PW_USE_DXR10="0"
export PW_USE_DXR11="0"
export PW_VULKAN_NO_ASYNC="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_FORCE_USE_VSYNC="0"
export PW_VIRTUAL_DESKTOP="0"
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_WINE_ALLOW_XIM="0"
export PW_HEAP_DELAY_FREE="0"
export PW_GUI_DISABLED_CS="0"
export PW_USE_GSTREAMER="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_D3D_EXTRAS_DISABLE="0"
export PW_FIX_VIDEO_IN_GAME="1"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""

0
data_from_portwine/scripts/portwine_db/ePSXe Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More