Compare commits
	
		
			35 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | f869816cb4 | ||
|  | 03deeaa361 | ||
|  | 7eec1f9086 | ||
|  | cb7ad7ec30 | ||
|  | 718af5eb05 | ||
|  | e291a2e90d | ||
|  | ea518e5f21 | ||
|  | 06e3953b19 | ||
|  | 5032d95a77 | ||
|  | 9bcb235657 | ||
|  | 73d12c0f39 | ||
|  | 8700a2c88d | ||
|  | 7415dcbc01 | ||
|  | 00c9d5d926 | ||
|  | 4e59d4b2f4 | ||
|  | 580c5d901a | ||
|  | 0bf4fe7816 | ||
|  | 9f0ad22d37 | ||
|  | 3e40e1bff5 | ||
|  | 088cdecda3 | ||
|  | d88bf7fb38 | ||
|  | 9933accd7f | ||
|  | 0282a77a3c | ||
|  | 5bd52d7a36 | ||
|  | 59826da654 | ||
|  | 603d0d8821 | ||
|  | f4d3684556 | ||
|  | 0391f33674 | ||
|  | df9128143c | ||
|  | 83a18e538a | ||
|  | ebbdaed92d | ||
|  | d32f5b1cc5 | ||
|  | 78552187f0 | ||
|  | 62651c1d93 | ||
|  | 295d028ba7 | 
| @@ -1,30 +1,199 @@ | ||||
| История изменений и дальнейшие планы: | ||||
| ----------------------------------------- | ||||
| В планах: | ||||
| * создать ветку beta на github и сделать выбор версии внутри порта | ||||
| * добавить фикс установки dotnet | ||||
| * добавить кнопку очистки префикса в PortProton | ||||
| * проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip | ||||
| * EDIT DB открывается не у всех | ||||
| * пересоздать удаление PortProton (чистка ярлыков в меню с помощью grep "путь до порта") | ||||
| * иконка в трей для PortProton (перенести reset в GUI PortProton) | ||||
| * добавить контроль за окнами для правильного отключения прогресс бара | ||||
| * зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru | ||||
| * добавить проверку количества db файлов на один exe | ||||
| * перенести скрипты установки порта на github | ||||
| * добавить комментарии описывающие функционал скриптов и db файлов | ||||
| * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru | ||||
| ----------------------------------------- | ||||
| ###Scripts version 2011### | ||||
| * в GUI AUTOINSTALL добавлены лаунчеры GAMEFORGE (TEST), ANKAMA и GLYPH - Спасибо chal55rus (Sergey P.)! | ||||
| * удален скрипт autoinstall и создан каталог pw_autoinstall (для удобного добавления новых автоустановщиков) | ||||
| * в AUTOINSTALL обновлена версия скачиваемого GOG | ||||
| * в GUI редактора db файлов добавлена кнопка "OPEN DB FILE" для внесение изменений в текстовом редакторе | ||||
| * в функцию pw_other_fixes добавлен поиск и выключение автозапуска PunkBuster в реестре префикса | ||||
|  | ||||
| ###Scripts version 2010### | ||||
| * FIX - исправлено управление мышкой в Overwatch и рекомендованы пар-ры запуска DXVK + PROTON_GE | ||||
| * добавлены все предустановленные шейдеры в vkBasalt.conf | ||||
|  | ||||
| ###Scripts version 2009### | ||||
| * FIX - исправлен перезапуск редактора db файлов при первом включении PW_GUI_DISABLED_CS (отключение запуска GUI) | ||||
|  | ||||
| ###Scripts version 2008### | ||||
| * HOTFIX - исправление функции pw_kill_autostart | ||||
|  | ||||
| ###Scripts version 2007### | ||||
| * HOTFIX - установки WGC | ||||
|  | ||||
| ###Scripts version 2006### | ||||
| * HOTFIX - для AUTOINSTALL | ||||
| * в AUTOINSTALL добавлен MY.GAMES | ||||
|  | ||||
| ###PortProton-95### 02.09.2021 ###Scripts version 2005### | ||||
| * обновлен db файл для steam (под ProtonGE связь с интернетом снова есть) - Спасибо Cefeiko! | ||||
| * обновлен WINE PROTON_GE 6.16-GE1 | ||||
| * переменная PW_GUI_DISABLED_CS сбрасывается при запуске порта (для совместимости со старыми ярлыками которые были созданы на предыдущих версиях порта) | ||||
| * добавлена возможность создавать 32-х битный префикс (необходимо для будущей автоустановки League of Legends) | ||||
| * в GUI AUTOINSTALL добавлены лаунчеры Bethesda.net Launcher и Rockstar-Games-Launcher - Спасибо chal55rus (Sergey P.)! | ||||
| * улучшена функция pw_kill_autostart | ||||
|  | ||||
| ###Scripts version 2004### | ||||
| * HOTFIX - использование и редактирование db файла Battle.NET | ||||
|  | ||||
| ###Scripts version 2003### | ||||
| * HOTFIX - отключение новых обновлений для старых версий PortProton | ||||
|  | ||||
| ###Scripts version 2002### | ||||
| * HOTFIX для настройки db файлов | ||||
|  | ||||
| ###Scripts version 2001### | ||||
| * добавлен графический интерфейс для настройки db файлов | ||||
|  | ||||
| ###PortProton-94### 25.08.2021 ###Scripts version 2000### | ||||
| * добавлено автоматическое скачивание и обновление Proton GE | ||||
| * db файлы создаются автоматически при запуске любого *.exe | ||||
| * последние выбранные режимы запуска сохраняются автоматически в db файлы | ||||
| * добавлены переменные для более точной настройки vkBasalt под каждую игру с помощью db файлов: | ||||
| export PW_VKBASALT_EFFECTS="FakeHDR:cas" - можно изменять на любые эффекты из путь_до_порта/data/vkBasalt.conf | ||||
| export PW_VKBASALT_FFX_CAS="0.7" - изменение резкости в играх (от 0 до 1 с шагом 0.01) | ||||
| так же можно настроить эти пар-ры глобально и для всех игр с помощью: путь_до_порта/data/user.conf | ||||
| PS: не забывает для активации добавить переменную: export ENABLE_VKBASALT=1 в db файл, или для глобального включения в user.conf | ||||
| * добавлены условия для правильного определения переменных LD_LIBRARY_PATH и LD_PRELOAD при автоматическом перезапуске скриптов | ||||
| * запуск нескольких приложений можно запустить только через один и тот же протон | ||||
| * добавлена автоматическая очиста каталога Temp в префиксе порта | ||||
| * создан новый скрипт functions_helper, в который перенесены все вспомогательные функции из runlib | ||||
| * создана новая ветка обновлений скриптов v.2XXX | ||||
| * упрощена структура скрипта runlib | ||||
|  | ||||
| ###Scripts version 1125### | ||||
| * PROTON_STEAM обновлен до v6.3-6b | ||||
| * FIX winetricks и cabextract | ||||
| * множество маленьких изменений и исправлений | ||||
|  | ||||
| ###Scripts version 1124### | ||||
| * выбор версии WINE (PROTON_STEAM v6.3-6rc4; PROTON_GE v6.15.2) | ||||
| * добавлено отображение версии WINE в MANGOHUD | ||||
| * переработан скрипт start.sh (уменьшен код при увеличении удобства использования) | ||||
|  | ||||
| ###Scripts version 1123### | ||||
| * в MANGOHUD по умолчанию добавлен вывод разрешения экрана | ||||
| * добавлен db файл для игры DaysGone (значительно увеличивает FPS) | ||||
|  | ||||
| ###Scripts version 1122### | ||||
| * обновление скриптов для поддержки нового тестового 91 порта включенным FSR по умолчанию (FSR работает только с играми dx9-12 запущеными под vulkan и при выборе разрешения в игре ниже чем поддерживает монитор) | ||||
|  | ||||
| ###Scripts version 1121### | ||||
| * HOTFIX - перенос PW_NO_ESYNC=1 из default db в скрипт var | ||||
| * HOTFIX - для успешного запуска игр WGC на системах где не работали игры WoWS и WoT | ||||
|  | ||||
| ###Scripts version 1120### | ||||
| * перенос unset переменных в разделе main скрипта runlib | ||||
| * после автоустановки windows steam, не перезаписывается ярлык нативного steam в меню. | ||||
| * перед автоустановкой игр добавлена функция kill_portwine | ||||
|  | ||||
| ###Scripts version 1119### | ||||
| * ESYNC отключен по умолчанию из за частой ошибки CXX на некоторых системах. | ||||
| * при включении vkBasalt вместо эффекта Curves используется FakeHDR (минимальное затемнение при увеличении глубины цветопередачи) | ||||
| * при включении vkBasalt уменьшена резкость casSharpness с 0.8 до 0.75 | ||||
|  | ||||
| ###Scripts version 1118### | ||||
| * обновлены libs_v17 с интеграцией MANGOHUD, vkBasalt + reshade | ||||
| * MANGOHUD и vkBasalt польностью интегрированы в контейнер | ||||
| * MANGOHUD снова работает под всеми режимами запуска (OpenGL и Vulkan) включая 32-ух битные игры. | ||||
| * HOTFIX - user.conf корректно переопределяет все переменные | ||||
|  | ||||
| ###Scripts version 1117### | ||||
| * доработка определение месторасполажения установленных шейдеров для vkBasalt | ||||
| * добавлена переменная "PW_SANDBOX_HOME_PATH" при существовании которой закрывается доступ к домашнему каталогу | ||||
|  | ||||
| ###Scripts version 1115 and 1116### | ||||
| * тест обновления скриптов с github | ||||
|  | ||||
| ###Scripts version 1114### | ||||
| * добавлен пользовательский файл конфигурации (путь_до_PortProton/data/user.conf") который при наполнениии замещает настройки скрипта var и db файлов, но при обновлении скриптов остается неизменным, для сохранения ваших настроек. | ||||
| * автоматическое изменение раскладки клавиатуры работает только при установке значении переменной export PW_XKBD_RU_HACK=1 (можно прописывать как в скрипт var, так и в user.conf) | ||||
| * HOTFIX - определение месторасполажения установленных шейдеров для vkBasalt (для работы под Arch и Manjaro) | ||||
| * проверка и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz | ||||
|  | ||||
| ###Scripts version 1113### | ||||
| * обновлен dxvk до v1.9-51 | ||||
| * обновлен vkd3d до v2.4 | ||||
| * начальная поддержка нативной версии nvapi при условии, что wine его поддерживает | ||||
| * тест vkBasalt (в каталог data добавлен vkBasalt.conf и добавлены переменные в скрипт var) | ||||
|  | ||||
| ###PortProton-90### 28.06.2021 | ||||
| * обновлен Proton 6.3-5 (RELEASE) | ||||
|  | ||||
| ###Scripts version 1112### | ||||
| * mangohud влючаеться по клавишам: правый_шифт+F12 (Shift_R+F12) | ||||
| * HOTFIX - включение vkd3d (dxgi=b) | ||||
|  | ||||
| ###Scripts version 1111### | ||||
| * обновлен DXVK и VKD3D из Proton 6.3-5 (RELEASE) | ||||
| * обновлены библиотеки kerberos и wldap32 (исправляет ошибки подключения к интернету в некоторых играх, например World of Tanks) | ||||
|  | ||||
| ###Scripts version 1110### | ||||
| * mangohud включаеться по клавише F12 при условии, что он установлен в системе | ||||
| * добавлена кнопка очистки префикса в раздел GUI -> SETTINGS | ||||
| * добавлена кнопка удаления порта в раздел GUI -> SETTINGS | ||||
| * добавлена кнопка удаления программ (WINE UNINSTALLER) в раздел GUI -> SETTINGS | ||||
| * добавлена кнопка редактирования скрипта var в раздел GUI -> SETTINGS | ||||
| * обновление winetricks отключенно (опять) и используется доработаная версия от ProtonGE | ||||
| * изменены иконки внутри gui в трее | ||||
|  | ||||
| ###PortProton-89### 25.06.2021 ###Scripts version 1109### | ||||
| * обновлен wine до версии Proton 6.3-5-rc3 | ||||
| * обновлен DXVK и VKD3D из Proton 6.3-5-rc3 | ||||
|  | ||||
| ###Scripts version 1108### | ||||
| * обновлен DXVK и VKD3D из Proton 6.3-5-rc1 | ||||
|  | ||||
| ###Scripts version 1107### | ||||
| * добавлены db: OSU!; FarCry{3,4}; Control; Biomutant; ForzaHorizon4 | ||||
| * включено обновление winetricks (снова отремонтировано скачиваие vcrun20XX) | ||||
|  | ||||
| ###Scripts version 1106### | ||||
| * возвращен VKD3D из Proton 6.3-4b | ||||
|  | ||||
| ###Scripts version 1105### | ||||
| * для распаковки exe файлов при автоматических установках лаунчеров используется 7z вместо 7zr | ||||
| * обновлен DXVK до версии 1.9 | ||||
| * исправлена автоматическая установка GOG | ||||
| * автоматическое создание символьной ссылки users/steamuser/Documents в users/steamuser/My Documents | ||||
| * добавлена иконка в трей для PortProton (завершение всех процессов по ПКМ --> "FORCE EXIT") | ||||
| * добавлена возможность запуска нескольких приложений одновременно и закрывать всё одним нажатием ПКМ --> EXIT | ||||
|  | ||||
| ###Scripts version 1104### | ||||
| * крупное обновлеение контейнера (libs_v16): | ||||
|     - добавлен /bin/yad_new версии 10.1 скомпилированный специально для будущего меню в трее) | ||||
|     - обновлен MANGOHUD (требуется проверка под OpenGL) | ||||
|     - обновлен 7z необходимый для будущей автоматической установки Rockstar Game Launcher | ||||
| * для тестовой поддержки wayland добавлена переменная в скрипт var: GDK_BACKEND="x11" | ||||
| * обновлены DXVK и VKD3D до актуального состояния на 12.06.2021 | ||||
|  | ||||
| ###Scripts version 1103### | ||||
| * HOTFIX - исправление функции pw_kill_autostart | ||||
|  | ||||
| ###Scripts version 1102### | ||||
| * фикс создания ярлыка после автоматической установки STEAM | ||||
| * в AUTOINSTALL добавлена функция pw_kill_autostart для запрета автозапуска лаунчера после автоматической установки | ||||
| * добавлены настройки в ~/.Xresources для корректного отображения текста в xterm, если данного файла нет в корне домашнего каталога | ||||
|  | ||||
| ###PortProton-87### - RELEASE | ||||
| * cтабильная версия wine proton 6.3-4  | ||||
| * cтабильная версия wine proton 6.3-4 | ||||
| * стабильные версии новых скриптов 1101 | ||||
|  | ||||
| ###Scripts version 1101### | ||||
| * переделан запуск контейнера (исправлены проблемы с правильной подгрузкой библиотек) | ||||
| * автоматическая установка DLL в префикс выполняется под контейнером  | ||||
| * автоматическая установка DLL в префикс выполняется под контейнером | ||||
| * winecmd запускается из под xterm установленного в контейнер, что избавляет xterm как зависимость. | ||||
| * vcrun2019 снова устанавливается в штатном режиме | ||||
| * исправлена ошибка в скрипте при монтировании в контейнер | ||||
| * добавлено отображение скорости интернета и примерный остаток времени при скачивании libs, gecko, mono | ||||
|  | ||||
| ###PortProton-86### | ||||
| * обновлен wine до версии Proton 6.9 GE 2 | ||||
| * обновлен wine до версии  GE 2 | ||||
| * обновлены либы до версии libs_v15 | ||||
|  | ||||
| ### Скрипты с версии 1095 по 1100 - эксперементальные ### | ||||
| @@ -49,15 +218,13 @@ | ||||
| * частичный откат кода со скриптов от PortProton-78 | ||||
| * контейнерный режим включен по умолчанию и отключается в скрипте "каталог_порта/data/scripts/var" переменной PW_USE_RUNTIME=(1 - включен; 0 - выключен) | ||||
|  | ||||
|  | ||||
|  | ||||
| ###PortProton-85### 27.05.2021 ###Scripts version 1090### | ||||
| * для подготовки к релизу используется стабилная версия wine: Proton 6.3-4 | ||||
| * до 4-x прибавка в ФПС в играх DX12 (на моем железе: HZD - x4; Graven - x2; Cyberpunk2077 - x1,25) | ||||
| * глобальное изменение использование переменных (системных, wine и vulkan) | ||||
| * в лог файл добавлена информация о текущей версии скриптов и используется ли RUNTIME | ||||
| * возврат оригинальных значений системных переменных: PATH, LD_LIBRARY_PATH после окончания использования порта | ||||
| * HOTFIX - убрано повторное исполнение функции START_PORTWINE во время запуска debug | ||||
| * HOTFIX - убрано повторное исполнение функции start_portwine во время запуска debug | ||||
| * HOTFIX - исправлены возможные проблемы старых игр использующие WMF | ||||
| * HOTFIX - ошибки скачивания vcrun2019 на чистом префиксе | ||||
|  | ||||
| @@ -79,7 +246,7 @@ | ||||
| * HOTFIX - изменена переменная export WINE_WIN_START="start.exe /b" | ||||
|  | ||||
| ###Scripts version 1085### | ||||
| * в скрипт var добавлена и временно включена переменная export PW_USE_RUNTIME=1 (требуется рашение проблемы с загрузкой faudio) | ||||
| * в скрипт var добавлена и временно включена переменная export PW_USE_RUNTIME=0 (требуется рашение проблемы с загрузкой faudio) | ||||
| * добавлено автоматическое создание каталога "${WINEPREFIX}/drive_c/users/Public/Documents/Steam" | ||||
| * HOTFIX - обновление скриптов после установки происходило только при повторном запуске порта | ||||
|  | ||||
| @@ -148,7 +315,7 @@ | ||||
|  | ||||
| ###Scripts version 1067### | ||||
| * HOTFIX - удален аргумент /b при запуске приложений (fix для WGC) | ||||
| * фикс запуска функции PW_OTHER_FIXES | ||||
| * фикс запуска функции pw_other_fixes | ||||
| * добавлена проверка повторной установки EVE Online из AUTOINSTALL | ||||
|  | ||||
| ###Scripts version 1066### | ||||
| @@ -194,7 +361,7 @@ | ||||
| ###Scripts version 1053### | ||||
| * HOTFIX - перенос всех функций в скрипте runlib (наверх) | ||||
| * добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager) | ||||
| * в функции PW_INIT_PFX добавлено копирование всех dll из библиотек wine/lib(64) в префикс (если префикса не существует) | ||||
| * в функции pw_init_pfx добавлено копирование всех dll из библиотек wine/lib(64) в префикс (если префикса не существует) | ||||
|  | ||||
| ###Scripts version 1052### | ||||
| * отключена автоотчистка ~/.PortWINE | ||||
| @@ -268,7 +435,7 @@ | ||||
| * добавлена проверка связи с серверами для автономной работы порта | ||||
| * ускорена работа reset скрипта останавливающая все процессы порта | ||||
| * исправлены ошибки связанные с остановкой отсутствующих pid-оф yad и процессов wine. | ||||
| * удалено использование wineserver -k в функции KILL_PORTWINE (влияло на инициализацию префикса) | ||||
| * удалено использование wineserver -k в функции kill_portwine (влияло на инициализацию префикса) | ||||
| * добавлена отчистка ~/.PortWINE, при условии установки новой версии порта | ||||
| * добавлена вся информация из db файла и winetricks.log в debug | ||||
| * удален каталог vars (из за db файлоа больше в нем нет необходимости) | ||||
| @@ -279,7 +446,7 @@ | ||||
|  | ||||
| ###PortProton-74### 20.04.2021 ###Scripts version 1037### | ||||
| * обновлен wine до версии Proton 6.3-2 next | ||||
| * в setup db изменен список библиотек (фикс  для "xatab") "vcrun6 mfc42 vcrun6sp6 mfc120 vcrun2013" | ||||
| * в setup db изменен список библиотек (фикс  для "xatab") " mfc42  mfc120 vcrun2013" | ||||
| * добавить выбор версий dxvk и vkd3d в db файле, с последующей закачкой с github при отсутствии в ~/.PortWINE/vulkan | ||||
| * обновлены libs до v9 (добавлен пакет zstd для реализация функции смены vkd3d) | ||||
| * произведена частичная чистка и оптимизация кода | ||||
| @@ -289,9 +456,9 @@ | ||||
| * фикс для StarCraft (db) | ||||
| * фикс работы порта в solus (отключение xterm) | ||||
| * фикс создания циклической ссылки drive_c внутри drive_c | ||||
| * удален &>>/dev/null из PW_RUN (ломает запуск неторорых игр и приложений) | ||||
| * очистищен код функции PW_RUN (убрано условие optirun_on за ненадобностью) | ||||
| * исправлен минимальный набор библиотек в default db (vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9) | ||||
| * удален &>>/dev/null из pw_run (ломает запуск неторорых игр и приложений) | ||||
| * очистищен код функции pw_run (убрано условие optirun_on за ненадобностью) | ||||
| * исправлен минимальный набор библиотек в default db (  mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9) | ||||
|  | ||||
|  | ||||
| ###PortProton-72###   17.04.2021   ###Scripts version 1035### | ||||
| @@ -306,7 +473,7 @@ | ||||
| * добавлена кнопка редактирования найденного db файла | ||||
| * ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force | ||||
| * изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")" | ||||
| * автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42" | ||||
| * автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017   mfc42" | ||||
| * исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла | ||||
| * исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs | ||||
|  | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/data_from_portwine.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/Bethesda.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/Rockstar.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1017 B | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/ankama.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/gameforge.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/glyph.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/mygames.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/osu.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/port_changelog.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/port_exit.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 11 KiB | 
							
								
								
									
										85
									
								
								data_from_portwine/scripts/.Xresources
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,85 @@ | ||||
| xterm*faceSize: 12 | ||||
| xterm*vt100*geometry: 120x20 | ||||
| xterm*saveLines: 16384 | ||||
| xterm*loginShell: true | ||||
| xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48 | ||||
| xterm*termName: xterm-color | ||||
| xterm*eightBitInput: false | ||||
|  | ||||
| !BLK Cursor | ||||
| #define _color0        #000d18 | ||||
| #define _color8        #000d18 | ||||
| !RED Tag | ||||
| #define _color1        #e89393 | ||||
| #define _color9        #e89393 | ||||
| !GRN SpecialKey | ||||
| #define _color2        #9ece13 | ||||
| #define _color10       #9ece13 | ||||
| !YEL Keyword | ||||
| #define _color3        #f0dfaf | ||||
| #define _color11       #f0dfaf | ||||
| !BLU Number | ||||
| #define _color4        #8cd0d3 | ||||
| #define _color12       #8cd0d3 | ||||
| !MAG Precondit | ||||
| #define _color5        #c0bed1 | ||||
| #define _color13       #c0bed1 | ||||
| !CYN Float | ||||
| #define _color6        #dfaf8f | ||||
| #define _color14       #dfaf8f | ||||
| !WHT Search | ||||
| #define _color7        #efefef | ||||
| #define _color15       #efefef | ||||
| !FMT Include, StatusLine, ErrorMsg | ||||
| #define _colorBD       #ffcfaf | ||||
| #define _colorUL       #ccdc90 | ||||
| #define _colorIT       #80d4aa | ||||
| !TXT Normal, Normal, Cursor | ||||
| #define _foreground    #dcdccc | ||||
| #define _background    #1f1f1f | ||||
| #define _cursorColor   #8faf9f | ||||
| URxvt*color0         : _color0 | ||||
| URxvt*color1         : _color1 | ||||
| URxvt*color2         : _color2 | ||||
| URxvt*color3         : _color3 | ||||
| URxvt*color4         : _color4 | ||||
| URxvt*color5         : _color5 | ||||
| URxvt*color6         : _color6 | ||||
| URxvt*color7         : _color7 | ||||
| URxvt*color8         : _color8 | ||||
| URxvt*color9         : _color9 | ||||
| URxvt*color10        : _color10 | ||||
| URxvt*color11        : _color11 | ||||
| URxvt*color12        : _color12 | ||||
| URxvt*color13        : _color13 | ||||
| URxvt*color14        : _color14 | ||||
| URxvt*color15        : _color15 | ||||
| URxvt*colorBD        : _colorBD | ||||
| URxvt*colorIT        : _colorIT | ||||
| URxvt*colorUL        : _colorUL | ||||
| URxvt*foreground     : _foreground | ||||
| URxvt*background     : _background | ||||
| URxvt*cursorColor    : _cursorColor | ||||
| XTerm*color0         : _color0 | ||||
| XTerm*color1         : _color1 | ||||
| XTerm*color2         : _color2 | ||||
| XTerm*color3         : _color3 | ||||
| XTerm*color4         : _color4 | ||||
| XTerm*color5         : _color5 | ||||
| XTerm*color6         : _color6 | ||||
| XTerm*color7         : _color7 | ||||
| XTerm*color8         : _color8 | ||||
| XTerm*color9         : _color9 | ||||
| XTerm*color10        : _color10 | ||||
| XTerm*color11        : _color11 | ||||
| XTerm*color12        : _color12 | ||||
| XTerm*color13        : _color13 | ||||
| XTerm*color14        : _color14 | ||||
| XTerm*color15        : _color15 | ||||
| XTerm*colorBD        : _colorBD | ||||
| XTerm*colorIT        : _colorIT | ||||
| XTerm*colorUL        : _colorUL | ||||
| XTerm*foreground     : _foreground | ||||
| XTerm*background     : _background | ||||
| XTerm*cursorColor    : _cursorColor | ||||
|  | ||||
| @@ -1,173 +0,0 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE=0 | ||||
| export PW_USE_GAMEMODE=0 | ||||
| export PW_CHECK_AUTOINSTAL=1 | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| export PW_NO_WRITE_WATCH=0 | ||||
| export PW_VULKAN_USE=0 | ||||
| export PW_NO_FSYNC=1 | ||||
| export PW_NO_ESYNC=1 | ||||
| unset PORTWINE_CREATE_SHORTCUT_NAME | ||||
|  | ||||
| PW_WGC () { | ||||
|     export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
|     [ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR_BLOCK "Starting WGC installation..." | ||||
|         while true ; do | ||||
|             if [ "$PW_USE_RUNTIME" != 1 ] ; then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`" & break ; fi  | ||||
|             if  [ -z `pgrep wgc.exe` ] ; then | ||||
|                 echo -e "PID WGC not found" | ||||
|                 sleep 2 | ||||
|             else | ||||
|                 KILL_PORTWINE | ||||
|                 break | ||||
|             fi | ||||
|         done & | ||||
|         PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
|         portwine_exe="$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/wgc_api/wgc_api.exe" | ||||
|         export PORTWINE_CREATE_SHORTCUT_NAME="Wargaming Game Center" | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|         KILL_PORTWINE | ||||
|         PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_ORIGIN () { | ||||
|     export LAUNCH_PARAMETERS=("/silent" ) | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR_BLOCK "Installing the Origin. Please wait..." | ||||
|         PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
|         portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Origin/Origin.exe" | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|         KILL_PORTWINE | ||||
|         PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_BATTLE_NET () { | ||||
|     [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR "Installing the Battle Net. Please wait..." | ||||
|         PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
|         while [ ! -z `pgrep Battle.net* | head -n 1` ] && [ -z `pgrep Battle.net.exe | head -n 1` ] ; do sleep 2 ; done | ||||
|         KILL_PORTWINE | ||||
|         portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"` | ||||
|         PW_STOP_PROGRESS | ||||
|         PORTWINE_CREATE_SHORTCUT | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_EPIC () { | ||||
|     export LAUNCH_PARAMETERS=("/q" ) | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR_BLOCK "Installing Epic Games Launcher. Please wait..." | ||||
|         PW_RUN msiexec /i "${PW_AUTOINSTALL_EXE}" & | ||||
|         sleep 10 | ||||
|         if [ ! -z `pgrep msiexec* | head -n 1` ] ; then | ||||
|             while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] ; do | ||||
|                 [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe" | ||||
|                 sleep 5 | ||||
|             done | ||||
|         fi | ||||
|         portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|         KILL_PORTWINE | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_GOG () { | ||||
|     export LAUNCH_PARAMETERS=("/runWithoutUpdating" "/deelevated" ) | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.35.19/setup_galaxy_2.0.35.19a.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR_CS "Installing the GOG Galaxy. Please wait..." | ||||
|         PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
|         portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "GalaxyClient.exe"` | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|         KILL_PORTWINE | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_EVE () { | ||||
|     export PW_WINDOWS_VER=10 | ||||
|     export PW_DLL_INSTALL="vcrun2017" | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR_BLOCK "Installing the EVE Launcher. Please wait..." | ||||
|         if [ ! -f "$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" ] ; then | ||||
|             try_remove_dir "$WINEPREFIX/drive_c/Games/EVE Online" | ||||
|             dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes | ||||
|             "$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online" | ||||
|             try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|             try_remove_file "${PW_AUTOINSTALL_EXE}".7z | ||||
|         fi | ||||
|         portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_UBC () { | ||||
| 	export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Ubisoft Game Launcher") | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/UbisoftConnectInstaller.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
| 		PW_START_PROGRESS_BAR_CS "Installing the Ubisoft Connect. Please wait..." | ||||
| 		PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
| 		portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Ubisoft Game Launcher/UbisoftConnect.exe" | ||||
| 		try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
| 		KILL_PORTWINE | ||||
| 		PW_STOP_PROGRESS_BAR | ||||
| 		PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
|  | ||||
| PW_STEAM () { | ||||
| 	export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam") | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
| 		PW_START_PROGRESS_BAR_CS "Installing the Steam. Please wait..." | ||||
| 		PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
| 		portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" | ||||
| 		try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
| 		KILL_PORTWINE | ||||
| 		PW_STOP_PROGRESS_BAR | ||||
| 		PORTWINE_CREATE_SHORTCUT | ||||
|     fi | ||||
|     STOP_PORTWINE | ||||
| } | ||||
							
								
								
									
										681
									
								
								data_from_portwine/scripts/functions_helper
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,681 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| pw_ping_test () { | ||||
|     ping -w3 -c1 github.com &> /dev/null | ||||
|     [ "$?" == "0" ] && return 0 || return 1 | ||||
| } | ||||
|  | ||||
| print_error () { | ||||
|     echo "ERROR: $@" | ||||
| } | ||||
|  | ||||
| print_info () { | ||||
|     echo "INFO: $@" | ||||
| } | ||||
|  | ||||
| print_var () { | ||||
|     for vp in $@ ; do echo "${vp}=${!vp}" ; done | ||||
| } | ||||
|  | ||||
| try_copy_file () { | ||||
|     if [ ! -f "$1" ] ; then	print_info "file $1 not found for copy" && return 1 | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to copy file $1" && return 1 | ||||
|     else | ||||
|         cp -f "$1" "$2" | ||||
|         if [ "$?" != 0 ] | ||||
|         then print_error "failed to copy file $1 to $2" || return 1 | ||||
|         else print_info "copy file $1 to $2 was successful" || return 0 | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| try_copy_dir () { | ||||
|     if [ ! -d "$1" ] ; then	print_info "directory $1 not found for copy" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to copy directory $1" | ||||
|     else | ||||
|         cp -fr "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
|  | ||||
| try_remove_file () { | ||||
|     if [ -f "$1" ] ; then | ||||
|         rm -f "$1" | ||||
|         [ "$?" != 0 ] && print_error "failed to remove file $1" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
|  | ||||
| try_remove_dir () { | ||||
|     if [ -d "$1" ] ; then | ||||
|         rm -fr "$1" | ||||
|         [ "$?" != 0 ] && print_error "failed to remove directory $1" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
|  | ||||
| try_force_link_file () { | ||||
|     if [ ! -f "$1" ] ; then	print_info "file $1 not found for link" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to link file $1" | ||||
|     else | ||||
|         ln -sf "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
|  | ||||
| try_force_link_dir () { | ||||
|     if [ ! -d "$1" ] ; then	print_info "directory $1 not found for link" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to link directory $1" | ||||
|     else | ||||
|         ln -sf "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
|  | ||||
| try_download () { | ||||
|     set -o pipefail | ||||
|     wget -c -t 5 -T 2 "$1" --output-document="$2" 2>&1 | \ | ||||
|     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 --auto-kill --width=500 --height=90 | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| try_download_silent () { | ||||
|     wget -c -t 5 -T 2 "$1" --output-document="$2" | ||||
|     [ "$?" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| zenity_error_download () { | ||||
|     `zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1 | ||||
| } | ||||
|  | ||||
| create_new_dir () { | ||||
|     if [ ! -d "$1" ] ; then | ||||
|         mkdir -p "$1" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| var_winedlloverride_update () { | ||||
|     if [ ! -z "${WINEDLLOVERRIDES}" ] | ||||
|     then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}" | ||||
|     else export WINEDLLOVERRIDES="${1}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| var_vkd3d_config_update () { | ||||
|     if [ ! -z "${VKD3D_CONFIG}" ] | ||||
|     then export VKD3D_CONFIG="${1};${VKD3D_CONFIG}" | ||||
|     else export VKD3D_CONFIG="${1}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| unpack_tar_xz () { | ||||
|     set -o pipefail | ||||
|     tar -Jxvf "$1" -C "$2" | sszen | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| unpack_tar_gz () { | ||||
|     set -o pipefail | ||||
|     tar -xzvf "$1" -C "$2" | sszen | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| pw_mangohud_check () { | ||||
|     export RUN_MANGOHUD="" | ||||
|     if [ "${PW_MANGOHUD}" == "1" ] ; then | ||||
|         if [ "${PW_VULKAN_USE}" = "0" ] | ||||
|         then export RUN_MANGOHUD="mangohud --dlsym" | ||||
|         else export RUN_MANGOHUD="mangohud" | ||||
|         fi | ||||
|     else | ||||
|         export DISABLE_MANGOHUD=1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_vkbasalt_check () { | ||||
|     if [ ! -z "${ENABLE_VKBASALT}" ] && [ "${ENABLE_VKBASALT}" == 1 ] ; then | ||||
|         if [ -z "${PW_VKBASALT_EFFECTS}" ] ; then | ||||
|             export PW_VKBASALT_EFFECTS="FakeHDR:cas"  | ||||
|         fi | ||||
|         sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         if [ -z "${PW_VKBASALT_FFX_CAS}" ] ; then | ||||
|             export PW_VKBASALT_FFX_CAS="0.7"  | ||||
|         fi | ||||
|         sed -ri "s/casSharpness = .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|     else | ||||
|         export DISABLE_VKBASALT=1 | ||||
|     fi | ||||
|  | ||||
| } | ||||
|  | ||||
| gui_question () { | ||||
|     `zenity --question --title "${inst_set}." --text "$1" --no-wrap ` &> /dev/null | ||||
|      [ $? -eq "0" ] && return 0 || return 1 | ||||
| } | ||||
|  | ||||
| pw_clear_pfx () { | ||||
|     try_remove_file "${WINEPREFIX}/system.reg" | ||||
|     try_remove_file "${WINEPREFIX}/user.reg" | ||||
|     try_remove_file "${WINEPREFIX}/userdef.reg" | ||||
|     try_remove_file "${WINEPREFIX}/winetricks.log" | ||||
|     try_remove_file "${WINEPREFIX}/.update-timestamp" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/.windows-serial" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/windows/" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Setup" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Windows" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/WindowsTask" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Package Cache" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Temporary Internet Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/wine_gecko" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Temporary Internet Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/wine_gecko" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Internet Explorer" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows Media Player" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows NT" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Common Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Internet Explorer" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Common Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Windows Media Player" | ||||
|     try_remove_dir "${WINEPREFIX}/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}"/*.foz | ||||
| } | ||||
|  | ||||
| check_user_conf () { | ||||
|     if [ ! -f "${USER_CONF}" ]; then | ||||
|         echo "#!/bin/bash" > "${USER_CONF}" | ||||
|         echo "# User overides db and var settings..." >> "${USER_CONF}" | ||||
|         chmod u+x "${USER_CONF}" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| init_wine_ver () { | ||||
|     if [ ! -z "${PW_WINE_VER}" ] && [ `echo "${PW_WINE_VER}" | grep "PROTON_GE"` ]  | ||||
|     then export PW_WINE_USE=proton_ge | ||||
|     elif [ ! -z "${PW_WINE_VER}" ] && [ `echo "${PW_WINE_VER}" | grep "PROTON_STEAM"` ]  | ||||
|     then export PW_WINE_USE=proton_steam | ||||
|     fi | ||||
|     unset PW_WINE_VER | ||||
|     export WINEDIR="${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" | ||||
|     export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0" | ||||
|     export WINE="${WINEDIR}/bin/wine" | ||||
|     export WINELOADER="${WINEDIR}/bin/wine" | ||||
|     export WINESERVER="${WINEDIR}/bin/wineserver" | ||||
|     export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" | ||||
|  | ||||
|     if [ ! -z ${LD_LIBRARY_PATH_TMP} ] | ||||
|     then export LD_LIBRARY_PATH="${LD_LIBRARY_PATH_TMP}" | ||||
|     else export LD_LIBRARY_PATH_TMP=${LD_LIBRARY_PATH} | ||||
|     fi | ||||
|     if [ ! -z "${LD_LIBRARY_PATH}" ] | ||||
|     then export LD_LIBRARY_PATH="${WINEDIR}/lib64/:${WINEDIR}/lib/:${LD_LIBRARY_PATH}" | ||||
|     else export LD_LIBRARY_PATH="${WINEDIR}/lib64/:${WINEDIR}/lib/" | ||||
|     fi | ||||
|     if [ ! -z ${PATH_TMP} ] | ||||
|     then export PATH="${PATH_TMP}" | ||||
|     else export PATH_TMP="${PATH}" | ||||
|     fi | ||||
|     if [ ! -z "${PATH}" ] | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}" | ||||
|     else export PATH="${WINEDIR}/bin" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| cabextract_fix () { | ||||
|     [ ! -f "${WINEDIR}/bin/cabextract" ] && try_copy_file "${PW_WINELIB}/runtime/bin/cabextract" "${WINEDIR}/bin/cabextract" | ||||
|     [ ! -f "${WINEDIR}/lib64/libmspack.so.0" ] && try_copy_file "${PW_WINELIB}/runtime/lib/x86_64-linux-gnu/libmspack.so.0" "${WINEDIR}/lib64/libmspack.so.0" | ||||
|     [ ! -f "${WINEDIR}/lib64/libmspack.so.0.1.0" ] && try_copy_file "${WINEDIR}/lib64/libmspack.so.0" "${WINEDIR}/lib64/libmspack.so.0.1.0" | ||||
| } | ||||
|  | ||||
| sszen() { | ||||
|     zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel | ||||
| } | ||||
|  | ||||
| pw_start_progress_bar_cs () { | ||||
|     "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \ | ||||
|     --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 & | ||||
|     echo "" | ||||
| } | ||||
|  | ||||
| pw_start_progress_bar_block () { | ||||
|     "${pw_yad}" --progress --progress-text="$@" --pulsate \ | ||||
|     --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 & | ||||
|     echo "" | ||||
| } | ||||
|  | ||||
| pw_stop_progress_bar () { | ||||
|     while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] | ||||
|     do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` &> /dev/null | ||||
|     done | ||||
| } | ||||
|  | ||||
| pw_download_libs () { | ||||
|     if [ ! -e "${PW_WINELIB}/runtime/bin/yad" ] || [ ! -e "${PW_WINELIB}/runtime/lib/p7zip/7z" ] \ | ||||
|     || [ ! -e "${PW_WINELIB}/runtime/bin/vkcube" ] || [ ! -e "${PW_WINELIB}/runtime/bin/xterm" ] || \ | ||||
|     [ -e "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" ] ; then | ||||
|         print_info "Download and install libraries..." | ||||
|         if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" "${HOME}/.PortWINE/" ; then | ||||
|                 try_remove_file "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" | ||||
|             else | ||||
|                 try_remove_dir "${HOME}/.PortWINE/libs${PW_LIBS_VER}" | ||||
|                 try_remove_file "${HOME}/.PortWINE/tmp/libs${PW_LIBS_VER}.tar.xz" | ||||
|                 `zenity --error --title "Error..." \ | ||||
|                 --text "Failed to install runtime libraries.\nCheck internet connection and press OK" \ | ||||
|                 --no-wrap ` > /dev/null 2>&1 && pw_download_libs | ||||
|             fi | ||||
|         else | ||||
|             `zenity --error --title "Error..." \ | ||||
|             --text "Failed to download runtime libraries.\nCheck internet connection and press OK" \ | ||||
|             --no-wrap ` > /dev/null 2>&1 && pw_download_libs | ||||
|         fi | ||||
|     fi | ||||
|     export pw_yad="${PW_WINELIB}/runtime/bin/yad" | ||||
|     export pw_yad_new="${PW_WINELIB}/runtime/bin/yad_new" | ||||
|     export pw_zstd="${PW_WINELIB}/runtime/bin/zstd" | ||||
|     export pw_7z="${PW_WINELIB}/runtime/lib/p7zip/7z" | ||||
|     if [ -x "`which xterm 2>/dev/null`" ]; then | ||||
|         export SYS_XTERM=`which xterm` | ||||
|         export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" | ||||
|     else | ||||
|         export PW_XTERM="${PW_WINELIB}/runtime/bin/xterm -geometry 159x37 -e" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_download_mono () { | ||||
|     if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${PW_MONO_VER}" ] ; then | ||||
|         export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${PW_MONO_VER}/wine-mono-${PW_MONO_VER}-x86.tar.xz" | ||||
|         echo "######################################################" | ||||
|         print_info "Download and install wine mono..." | ||||
|         if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${PW_MONO_VER}-x86.tar.xz" ; then | ||||
|             create_new_dir "${HOME}/.PortWINE/mono" | ||||
|             if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${PW_MONO_VER}-x86.tar.xz" "${HOME}/.PortWINE/mono/" | ||||
|             then | ||||
|                 try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${PW_MONO_VER}-x86" | ||||
|                 zenity_error_download && pw_download_mono | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${PW_MONO_VER}-x86.tar.xz" | ||||
|         else | ||||
|             zenity_error_download && pw_download_mono | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_download_gecko () { | ||||
|     if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86" ] ; then | ||||
|         export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${PW_GECKO_VER}/wine-gecko-${PW_GECKO_VER}-x86.tar.xz" | ||||
|         echo "######################################################" | ||||
|         echo "Download and install wine gecko x86..." | ||||
|         if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86.tar.xz" ; then | ||||
|             create_new_dir "${HOME}/.PortWINE/gecko" | ||||
|             if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86.tar.xz" "${HOME}/.PortWINE/gecko/" | ||||
|             then | ||||
|                 try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86" | ||||
|                 zenity_error_download && pw_download_gecko | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86.tar.xz" | ||||
|         else | ||||
|             zenity_error_download && pw_download_gecko | ||||
|         fi | ||||
|     fi | ||||
|     if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86_64" ] ; then | ||||
|         export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${PW_GECKO_VER}/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz" | ||||
|         echo "######################################################" | ||||
|         echo "Download and install wine gecko x86_64..." | ||||
|         if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz" ; then | ||||
|             create_new_dir "${HOME}/.PortWINE/gecko" | ||||
|             if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/" | ||||
|             then | ||||
|                 try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${PW_GECKO_VER}-x86_64" | ||||
|                 zenity_error_download && pw_download_gecko | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${PW_GECKO_VER}-x86_64.tar.xz" | ||||
|         else | ||||
|             zenity_error_download && pw_download_gecko | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| update_winetricks () { | ||||
|     W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" | ||||
|     W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" | ||||
|     print_info "Version winetricks on server: ${W_TRX_EXT_VER}" | ||||
|     W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" | ||||
|     print_info "Version winetricks in port: ${W_TRX_INT_VER}" | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] && [ ! -z "$W_TRX_EXT_VER" ] || [ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ] && [ ! -z "$W_TRX_EXT_VER" ]; then | ||||
|         if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then | ||||
|             mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|             W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"  | ||||
|             chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|         fi | ||||
|     fi | ||||
|     if  [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then | ||||
|         sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|         sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|     fi | ||||
| } | ||||
| wait_wineserver () { | ||||
|     sleep 3 | ||||
|     while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do | ||||
|         sleep 1 | ||||
|     done | ||||
| } | ||||
|  | ||||
| kill_portwine () { | ||||
|     wine_pids=`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader| ' | awk -F/ '{print $3}'` | ||||
|     if  [ ! -z "${wine_pids}" ] ; then | ||||
|         for pw_kill_pids in ${wine_pids} ; do | ||||
|             if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then | ||||
|                 kill -n 9 ${pw_kill_pids} | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
|     if [ ! -z `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` ] ; then | ||||
|         kill -n 9 `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` | ||||
|     fi | ||||
| } | ||||
| export -f kill_portwine | ||||
|  | ||||
| stop_portwine () { | ||||
|     wait_wineserver | ||||
|     add_in_stop_portwine | ||||
|     if [ "$int_xneur" = "1"  ]; then | ||||
|         xneur & | ||||
|     fi | ||||
|     if [ ! -z ${PW_XKBD} ]; then | ||||
|         setxkbmap ${PW_XKBD} | ||||
|     fi | ||||
|     pw_stop_progress_bar | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/0" | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/1" | ||||
|     kill_portwine | ||||
|     if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] | ||||
|     then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|     fi | ||||
|     if [  ! -z "`ls "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | head -n 1`" ] ; then | ||||
|         chmod -R 755 "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ | ||||
|         rm -fr "${WINEPREFIX}"/drive_c/users/steamuser/Temp/* | ||||
|     fi | ||||
|     if [  ! -z "`ls "${WINEPREFIX}"/drive_c/ | grep -m 1 ".tmp"`" ] ; then | ||||
|         rm -f "${WINEPREFIX}"/drive_c/*.tmp | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_tray_icon () { | ||||
|     if [ -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         tray_icon_click() { | ||||
|             echo "" | ||||
|         } | ||||
|         export -f tray_icon_click | ||||
|         tray_icon_click_exit() { | ||||
|             kill_portwine | ||||
|             if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] | ||||
|             then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|             fi | ||||
|             killall start.sh | ||||
|         } | ||||
|         export -f tray_icon_click_exit | ||||
|  | ||||
|         "${pw_yad_new}" --notification --no-middle --text="PortProton" \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         --image="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         --command="bash -c tray_icon_click" \ | ||||
|         --tooltip="PortProton" \ | ||||
|         --menu="| \ | ||||
| <<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \ | ||||
| <<<   FORCE EXIT   >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_init_db () { | ||||
|     if [ ! -z "${portwine_exe}" ]; then | ||||
|         export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` | ||||
| #        export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" | ||||
| #        export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` | ||||
|     fi | ||||
|     if [ ! -z "${PORTWINE_DB}" ]; then | ||||
|         PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` | ||||
|         if [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
|             . "${PORTWINE_DB_FILE}" | ||||
|             echo "Use ${PORTWINE_DB_FILE} db file." | ||||
|         else | ||||
|             . "${PORT_SCRIPTS_PATH}/portwine_db/default" | ||||
|             echo "Use default db file." | ||||
|         fi | ||||
|     fi | ||||
|     init_wine_ver | ||||
| } | ||||
|  | ||||
| pw_update_notifier () { | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then | ||||
|         echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" | ||||
|     fi | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then | ||||
|         echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier" | ||||
|     fi | ||||
|     read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier" | ||||
|     if [ "${update_not}" = "1" ] ; then | ||||
|         if try_download_silent "${PW_FTP_URL}/current_version/${portname}_ver" "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" ; then | ||||
|             read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
|             try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
|             if  [ ! -z "${current_ver}" ] && [ "${current_ver}" -gt "${install_ver}" ] ; then | ||||
|                 xsd=`zenity --title  "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${port_upd3}" \ | ||||
|                 TRUE "${port_upd4}" \ | ||||
|                 FALSE "${port_upd5}" \ | ||||
|                 FALSE "${port_upd6}" ` | ||||
|                 case $xsd in | ||||
|                     "${port_upd4}") | ||||
|                         kill_portwine | ||||
|                         xdg-open $PORTWINE_URL | ||||
|                         exit 0 ;; | ||||
|                     "${port_upd5}") | ||||
|                         echo " " ;; | ||||
|                     "${port_upd6}") | ||||
|                     echo "0" > "${PORT_WINE_TMP_PATH}/update_notifier" ;; | ||||
|                 esac | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
|     if [ ! -f "${HOME}/.config/.PortTime" ] ; then | ||||
|         echo "10" > "${HOME}/.config/.PortTime" | ||||
|     fi | ||||
|     read "port_time" < "${HOME}/.config/.PortTime" | ||||
|     if [ "${port_time}" -gt "1" ] ; then | ||||
|         port_time=$((${port_time}-1)) | ||||
|         echo "${port_time}" > "${HOME}/.config/.PortTime" | ||||
|     else | ||||
|         xsd2=`zenity --title  "${port_time1}" --text "${port_time2}" --list --radiolist --height=230 --column="${inst_set3}" --column "${port_time3}" \ | ||||
|         TRUE "${port_time4}" \ | ||||
|         FALSE "${port_time5}" \ | ||||
|         FALSE "${port_time6}" ` | ||||
|         if [ $? = 1 ] ; then | ||||
|             echo "1" > "${HOME}/.config/.PortTime" | ||||
|         else | ||||
|             case $xsd2 in | ||||
|                 "${port_time4}") | ||||
|                     xdg-open "$urlg" & | ||||
|                     echo "300" > "${HOME}/.config/.PortTime" | ||||
|                     exit 0 ;; | ||||
|                 "${port_time5}") | ||||
|                     echo "75" > "${HOME}/.config/.PortTime" ;; | ||||
|                 "${port_time6}") | ||||
|                     echo "150" > "${HOME}/.config/.PortTime" ;; | ||||
|             esac | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_scripts_update () { | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then | ||||
|         echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|     fi | ||||
|     export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then | ||||
|             echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|     fi | ||||
|     read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|     if [ "${scripts_update_not}" = "1" ] ; then | ||||
|         if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then | ||||
|             export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'` | ||||
|             try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | ||||
|             echo "Scripts version in github = ${scripts_current_ver}" | ||||
|             echo "Scripts version local = ${scripts_install_ver}" | ||||
|             if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then | ||||
|                 xcsd=`zenity --title  "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${scripts_upd3}" \ | ||||
|                 TRUE "${scripts_upd4}" \ | ||||
|                 FALSE "${scripts_upd5}" \ | ||||
|                 FALSE "${scripts_upd6}"` | ||||
|                 case $xcsd in | ||||
|                     "${scripts_upd4}") | ||||
|                         echo "######################################################" | ||||
|                         echo "Update scripts..." | ||||
|                         try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
|                         if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then | ||||
|                             tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" | ||||
|                             if [ "$?" == "0" ] ; then | ||||
|                                 cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/" | ||||
|                                 try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
|                                 try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/" | ||||
|                                 echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|                                 "${pw_yad}" --title="Changelog" --borders=10 \ | ||||
|                                 --text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \ | ||||
|                                 --text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \ | ||||
|                                 --filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red | ||||
|                                 [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & | ||||
|                                 exit 0 | ||||
|                             fi | ||||
|                         else | ||||
|                             zenity_error_download && pw_scripts_update | ||||
|                         fi ;; | ||||
|                     "${scripts_upd5}") | ||||
|                         echo " " ;; | ||||
|                     "${scripts_upd6}") | ||||
|                     echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;; | ||||
|                 esac | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_kill_autostart () { | ||||
|     if [ "$PW_USE_RUNTIME" != 1 ] | ||||
|     then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`" | ||||
|     else | ||||
|         sleep 10 | ||||
|         while true ; do | ||||
|             if  [ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ] && [ ! -z "`pgrep wrap | head -n 1`" ]; then | ||||
|                 echo -e "PID "$1" not found" | ||||
|                 sleep 1 | ||||
|             else | ||||
|                 kill_portwine | ||||
|                 break | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
|     if [  ! -z "`ls "${WINEPREFIX}"/drive_c/ | grep -m 1 ".tmp"`" ] ; then | ||||
|         rm -f "${WINEPREFIX}"/drive_c/*.tmp | ||||
|     fi | ||||
| } | ||||
|  | ||||
| edit_db_from_gui () { | ||||
|     for mod_db in $@ ; do | ||||
|         echo "${mod_db}=${!mod_db}" | ||||
|         if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then | ||||
|             echo "export ${mod_db}=${!mod_db}" >> "${PORTWINE_DB_FILE}" | ||||
|         elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then | ||||
|             if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=${!mod_db}" ] ; then | ||||
|                 sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=${!mod_db}/" "${PORTWINE_DB_FILE}" | ||||
|             fi | ||||
|         elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" != "export ${mod_db}=${!mod_db}" ] ; then | ||||
|             sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=${!mod_db}/g" "${PORTWINE_DB_FILE}" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
|  | ||||
| pw_gui_for_edit_db () { | ||||
|     unset ADD_CHK_BOX_EDIT_DB | ||||
|     edit_db_field_add () { | ||||
|         for int_to_boole in $@ ; do | ||||
|             if [ "${!int_to_boole}" == "1" ] | ||||
|             then export ${int_to_boole}="TRUE" | ||||
|             else export ${int_to_boole}="FALSE" | ||||
|             fi | ||||
|             ADD_CHK_BOX_EDIT_DB="${ADD_CHK_BOX_EDIT_DB} --field="${int_to_boole}:CHK" "${!int_to_boole}"" | ||||
|         done | ||||
|     } | ||||
|     edit_db_field_add $@ | ||||
|     output_yad_edit_db=`"${pw_yad}" --title "EDIT_DB" --text-align=center --text "Change settings in database file for ${PORTWINE_DB}\n" \ | ||||
|     --columns=4 --form --separator=" " --borders=10 --center  ${ADD_CHK_BOX_EDIT_DB} \ | ||||
|     --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0 ` | ||||
|     YAD_STATUS="$?" | ||||
|     if [ "$YAD_STATUS" == "1" ] || [ "$YAD_STATUS" == "252" ] ; then exit 0 | ||||
|     elif [ "$YAD_STATUS" == "150" ] ; then | ||||
|         xdg-open "${PORTWINE_DB_FILE}" & | ||||
|         exit 0 | ||||
|     fi | ||||
|     export output_yad_edit_db=($output_yad_edit_db) | ||||
|     export bool_from_yad=0 | ||||
|     edit_db_field_read () { | ||||
|         for boole_to_int in $@ ; do | ||||
|             export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]} | ||||
|             if [ "${!boole_to_int}" == "TRUE" ] | ||||
|             then export ${boole_to_int}="1" | ||||
|             else export ${boole_to_int}="0" | ||||
|             fi | ||||
|             export bool_from_yad=$(( ${bool_from_yad} + 1 )) | ||||
|         done | ||||
|     } | ||||
|     edit_db_field_read $@ | ||||
|     edit_db_from_gui $@ | ||||
|     PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"` | ||||
|     echo "${PW_DB_TMP}" | awk '! a[$0]++' > "${PORTWINE_DB_FILE}" | ||||
|     unset PW_DB_TMP | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_check_and_download_wine () { | ||||
|     if [ "${1}" == "proton_ge" ] ; then | ||||
|         if [ "`cat "${PORT_WINE_PATH}"/data/dist/proton_ge/version | head -n 1`" != "${PW_PROTON_GE_VER}" ] | ||||
|         then try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge/" | ||||
|         fi | ||||
|         if [ ! -d "${PORT_WINE_PATH}/data/dist/proton_ge" ] ; then | ||||
|             print_info "Download and install proton_ge..." | ||||
|             if try_download "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${PW_PROTON_GE_VER}/Proton-${PW_PROTON_GE_VER}.tar.gz" "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" ; then | ||||
|                 if unpack_tar_gz "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" "${PORT_WINE_PATH}/data/tmp/" ; then | ||||
|                     mv -f "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}/files" "${PORT_WINE_PATH}/data/dist/proton_ge" | ||||
|                     echo "${PW_PROTON_GE_VER}" > "${PORT_WINE_PATH}/data/dist/proton_ge/version" | ||||
|                     try_remove_file "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" | ||||
|                     try_remove_dir "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}" | ||||
|                     try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge/share/default_pfx/" | ||||
|                 else | ||||
|                     try_remove_file "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}.tar.gz" | ||||
|                     try_remove_dir "${PORT_WINE_PATH}/data/tmp/Proton-${PW_PROTON_GE_VER}" | ||||
|                     try_remove_dir "${PORT_WINE_PATH}/data/dist/proton_ge" | ||||
|  | ||||
|                     `zenity --error --title "Error..." \ | ||||
|                     --text "Failed to download WINE: proton_ge.\nCheck internet connection and press OK" \ | ||||
|                     --no-wrap ` > /dev/null 2>&1 && pw_check_and_download_wine | ||||
|                 fi | ||||
|             else | ||||
|                 `zenity --error --title "Error..." \ | ||||
|                 --text "Failed to download WINE: proton_ge.\nCheck internet connection and press OK" \ | ||||
|                 --no-wrap ` > /dev/null 2>&1 && pw_check_and_download_wine | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| @@ -4,7 +4,7 @@ | ||||
| read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| export update_loc=${update_loc} | ||||
|  | ||||
| if [ "${update_loc}" = "RUS" ]  | ||||
| if [ "${update_loc}" = "RUS" ] | ||||
| then | ||||
|  | ||||
| 	export inst_set="Выбор" | ||||
| @@ -18,7 +18,7 @@ then | ||||
| 	export ss_ogl_1="Использовать OpenGL. (DirectX в OpenGL)" | ||||
| 	export ss_ogl_2="Использовать VKD3D. ( DX12 в vulkan)" | ||||
| 	export ss_ogl_3="Использовать DXVK и D9VK. (DX9-DX11 в Vulkan и выключить DX12)" | ||||
| 	export ss_done="Ярлык создан в корневом каталоге порта.\nДобавить его в МЕНЮ -> ИГРЫ?"  | ||||
| 	export ss_done="Ярлык создан в корневом каталоге порта.\nДобавить его в МЕНЮ -> ИГРЫ?" | ||||
|  | ||||
| 	export inst_succ="Установка завершена успешно!" | ||||
|  | ||||
| @@ -36,8 +36,10 @@ then | ||||
| 	export scripts_upd5="Напомнить позже" | ||||
| 	export scripts_upd6="Больше не напоминать" | ||||
|  | ||||
| 	export port_clear_pfx="Вы действительно хотите очистить префикс PortProton?" | ||||
|  | ||||
| 	export port_del1="Удаление $portname" | ||||
| 	export port_del2="Вы действительно хотите удалить $portname,\nс установленным в него клиентом?\n" | ||||
| 	export port_del2="Вы действительно хотите полностью удалить PortProton?" | ||||
| 	export port_del3="Удалить?!" | ||||
| 	export port_del4="Нет, не удалять!" | ||||
| 	export port_del5="Да, удалить!" | ||||
| @@ -98,7 +100,7 @@ then | ||||
| 	export loc_scripts_update="   Обновление базы данных для игр\n   и программ успешно завершено.\n\n   Перезапустите ${portname}." | ||||
|  | ||||
| 	export loc_edit_db="Изменить файл настроек для" | ||||
| elif [ "${update_loc}" = "ENG" ]  | ||||
| elif [ "${update_loc}" = "ENG" ] | ||||
| then | ||||
|  | ||||
| 	export inst_set="Sett..." | ||||
| @@ -130,8 +132,10 @@ then | ||||
| 	export scripts_upd5="Remind me later" | ||||
| 	export scripts_upd6="Do not remind me" | ||||
|  | ||||
| 	export port_clear_pfx="Do you want to clear prefix in PortProton?" | ||||
|  | ||||
| 	export port_del1="Remove $portname" | ||||
| 	export port_del2="Are you sure you want to delete the ${portname}?\n" | ||||
| 	export port_del2="Are you sure you want to delete the PortProton" | ||||
| 	export port_del3="Remove?!" | ||||
| 	export port_del4="No!" | ||||
| 	export port_del5="Yes!" | ||||
|   | ||||
| @@ -17,7 +17,7 @@ export WINEDLLOVERRIDES="xinput1_3,d3dcompiler_43=n,b" | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -36,4 +36,4 @@ export WINEDLLOVERRIDES="xinput1_3,d3dcompiler_43=n,b" | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -15,7 +15,7 @@ export PW_VULKAN_USE=dxvk | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -38,4 +38,4 @@ export PULSE_LATENCY_MSEC=90                    # Fix crackling audio in games | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_LOG=1                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -5,16 +5,19 @@ | ||||
| #Battle.net.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| ##export PW_VULKAN_USE=dxvk | ||||
| export PW_COMMENT_DB="We recommend using PROTON_GE + DXVK!" | ||||
| export PW_WINE_USE=proton_ge | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="locationapi=" | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43" | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_NVAPI_DISABLE=1 | ||||
| export PW_USE_NVAPI=0 | ||||
|  | ||||
| ADD_IN_START_PORTWINE () { | ||||
| add_in_start_portwine () { | ||||
|     rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data" | ||||
|     rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache" | ||||
|     rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache" | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/pfx/drive_c/windows/Fonts/sourcehansans.ttc" | ||||
| } | ||||
|     sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${WINEPREFIX}/user.reg" | ||||
| } | ||||
|   | ||||
							
								
								
									
										33
									
								
								data_from_portwine/scripts/portwine_db/Biomutant
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,33 @@ | ||||
| #!/bin/bash | ||||
| #Author: kosta | ||||
| #Biomutant.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=vkd3d | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2019"               # 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_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/Control_DX11
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,38 @@ | ||||
| #!/bin/bash | ||||
| #Author: user | ||||
| #Control_DX11.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| ##export PW_MANGOHUD=1 | ||||
| export PW_COMMENT_DB="Control (DX11)" | ||||
| export PW_DLL_INSTALL="physx" | ||||
| ##export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n" | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/Control_DX12
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,38 @@ | ||||
| #!/bin/bash | ||||
| #Author: user | ||||
| #Control_DX12.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=vkd3d | ||||
| export PW_COMMENT_DB="Control (DX12)" | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_MANGOHUD=1 | ||||
| export PW_DLL_INSTALL="physx" | ||||
| export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n" | ||||
| #####################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 LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| @@ -13,7 +13,7 @@ export WINEDLLOVERRIDES="Crash*,REDEngineErrorReporter.exe=" | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=1 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -32,4 +32,4 @@ export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| #ADD_IN_START_PORTWINE () { "${PW_RUNTIME}" "$WINESERVER" -w } | ||||
| #add_in_start_portwine () { "${pw_runtime}" "$WINESERVER" -w } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ export PW_NO_ESYNC=1        # Do not use eventfd-based in-process synchronizatio | ||||
| #export PW_VULKAN_NO_ASYNC=1 | ||||
| #export PW_USE_TERMINAL=1 | ||||
| #export PW_OLD_GL_STRING=0 | ||||
| #export PW_NVAPI_DISABLE=1 | ||||
| #export PW_USE_NVAPI=0 | ||||
| #export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| #export PW_NO_WRITE_WATCH=0          # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| #export PW_HIDE_NVIDIA_GPU=0 | ||||
|   | ||||
							
								
								
									
										33
									
								
								data_from_portwine/scripts/portwine_db/DaysGone
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,33 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #DaysGone.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2019"               # 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_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| export PW_NO_FSYNC=0                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| @@ -7,14 +7,14 @@ export PW_VULKAN_USE=0 | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -28,4 +28,4 @@ export PW_VULKAN_USE=0 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer | ||||
| ##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -6,9 +6,3 @@ | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_DLL_INSTALL="" | ||||
|  | ||||
| ADD_IN_START_PORTWINE () | ||||
| { | ||||
| ${PW_XTERM} wget -c -T 3 --output-document="${PORT_WINE_TMP_PATH}/wine-mono-5.1.1.2_ED-x86.msi" "https://github.com/redmcg/wine-mono/releases/download/wine-mono-5.1.1.2_ED/wine-mono-5.1.1.2_ED-x86.msi" | ||||
| ${PW_XTERM} "${WINELOADER}" msiexec /i "${PORT_WINE_TMP_PATH}/wine-mono-5.1.1.2_ED-x86.msi" | ||||
| } | ||||
							
								
								
									
										32
									
								
								data_from_portwine/scripts/portwine_db/Esprit_Games
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,32 @@ | ||||
| #!/bin/bash | ||||
| #Author: fff555w | ||||
| #Esprit Games.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| @@ -15,7 +15,7 @@ export WINEDLLOVERRIDES="FLEngine,FLEngine_x64=n" | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -36,4 +36,4 @@ export PW_FORCE_DISABLED_GAMEMOD=1              # Force disabele gamemod | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ export PW_NO_ESYNC=1        # Do not use eventfd-based in-process synchronizatio | ||||
| export PW_DXVK_ASYNC=0 | ||||
| #export PW_USE_TERMINAL=0 | ||||
| export PW_OLD_GL_STRING=1 | ||||
| #export PW_NVAPI_DISABLE=1 | ||||
| #export PW_USE_NVAPI=0 | ||||
| #export PW_NO_WRITE_WATCH=0          # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| #export PW_HIDE_NVIDIA_GPU=0 | ||||
| #export PW_FORCE_USE_VSYNC=2         # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
|   | ||||
| @@ -7,14 +7,14 @@ | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -31,4 +31,4 @@ | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
							
								
								
									
										36
									
								
								data_from_portwine/scripts/portwine_db/Far_Cry_3_d3d11
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,36 @@ | ||||
| #!/bin/bash | ||||
| #Author: nixon | ||||
| #farcry3_d3d11.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| #export PW_MANGOHUD=1 | ||||
| export PW_DLL_INSTALL="d3dx11_42 d3dx11_43" | ||||
| #export WINEDLLOVERRIDES="blabla=n,b" | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
							
								
								
									
										36
									
								
								data_from_portwine/scripts/portwine_db/Far_Cry_3_d3d9
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,36 @@ | ||||
| #!/bin/bash | ||||
| #Author: nixon | ||||
| #farcry3.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=0 | ||||
| #export PW_DLL_INSTALL=""   | ||||
| #export PW_MANGOHUD_DLSYM=1 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
							
								
								
									
										34
									
								
								data_from_portwine/scripts/portwine_db/Far_Cry_4
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,34 @@ | ||||
| #!/bin/bash | ||||
| #Author: nixon | ||||
| #FarCry4.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PW_DLL_INSTALL="d3dcompiler_43 d3dcompiler_47"               # Install DDL in port prefix (used winetricks)  | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
							
								
								
									
										7
									
								
								data_from_portwine/scripts/portwine_db/ForzaHorizon4
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,7 @@ | ||||
| #!/bin/bash | ||||
| #Author: garrett | ||||
| #ForzaHorizon4.exe  | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export PW_DLL_INSTALL="vcrun2019"  | ||||
| export PW_VULKAN_USE=vkd3d | ||||
| @@ -6,6 +6,5 @@ | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PW_NO_ESYNC=1    | ||||
| export PW_NO_FSYNC=1 | ||||
| export LAUNCH_PARAMETERS="-nomemrestrict -norestrictions -percentvidmem 100 -availablevidmem 2048 -novblank" # Change -availablevidmem 2048 if you have less than 2 Gb video memory | ||||
|  | ||||
| ##export RADV_DEBUG=nodcc # Enable if you have Big Navi videocard (Radeon RX 60xx) | ||||
| export LAUNCH_PARAMETERS="('"-nomemrestrict"' '"-norestrictions"' '"-percentvidmem 100"' '"-availablevidmem 2048"' '"-noprecache"' '"-novblank"' '"-heapsize 2097152"')"                # Additional launch options | ||||
|   | ||||
| @@ -6,8 +6,8 @@ | ||||
| ################################################ | ||||
| export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2=" | ||||
| export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated" | ||||
| export PW_DLL_INSTALL="vcrun2017 vcrun6 mfc140" | ||||
| ADD_IN_START_PORTWINE () | ||||
| export PW_DLL_INSTALL="vcrun2019 mfc140" | ||||
| add_in_start_portwine () | ||||
| { | ||||
| if [ -e "${WINEPREFIX}/drive_c/users/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" ] ; then | ||||
|     sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/steamuser/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" | ||||
|   | ||||
| @@ -7,4 +7,4 @@ export PW_VULKAN_USE=vkd3d | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_DXGI_FROM_DXVK=1 | ||||
| #export MANGOHUD=1 | ||||
| #export PW_NVAPI_DISABLE=1            # for nvidia gpu | ||||
| #export PW_USE_NVAPI=0            # for nvidia gpu | ||||
|   | ||||
| @@ -12,7 +12,7 @@ export PW_VULKAN_USE=dxvk #dxvk or vkd3d | ||||
| #export PW_VULKAN_NO_ASYNC=1 | ||||
| #export PW_USE_TERMINAL=0 | ||||
| #export PW_OLD_GL_STRING=0 | ||||
| #export PW_NVAPI_DISABLE=1 | ||||
| #export PW_USE_NVAPI=0 | ||||
| #export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| #export PW_NO_WRITE_WATCH=0          # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| #export PW_HIDE_NVIDIA_GPU=0 | ||||
|   | ||||
| @@ -7,14 +7,14 @@ export PW_VULKAN_USE=dxvk | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -28,4 +28,4 @@ export PULSE_LATENCY_MSEC=120                    # Fix crackling audio in games | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer | ||||
| ##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -1,15 +1,42 @@ | ||||
| export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" | ||||
| cd "${PATH_TO_GAME}" | ||||
|  | ||||
| if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] | ||||
| then | ||||
|     zenity --question --title="Fix for LoL anti-cheat" \ | ||||
|            --text='Root rights are required to execute the command:           \n"sysctl -w abi.vsyscall32=0" and "sysctl -p"' --no-wrap | ||||
|     if [ "$?" = 1 ] | ||||
|     then | ||||
|         exit 0 | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #LeagueClient.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| export LAUNCH_PARAMETERS="('--launch-product=league_of_legends' '--launch-patchline=live')"                # Additional launch options | ||||
| export PW_WINE_USE=proton_ge | ||||
| export PW_VULKAN_USE=dxvk | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| export WINEARCH=win32                           # defaut = win64 | ||||
| export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_x86" | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| add_in_start_portwine () { | ||||
|     if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] ; then | ||||
|         zenity --question --title="Fix for LoL anti-cheat" \ | ||||
|         --text='Root rights are required to execute the command:           \n"sysctl -w abi.vsyscall32=0" and "sysctl -p"' --no-wrap | ||||
|         [ "$?" = 1 ] && exit 0 | ||||
|         pkexec sh -c 'sysctl -w abi.vsyscall32=0 && sysctl -p' | ||||
|     fi | ||||
|     pkexec sh -c 'sysctl -w abi.vsyscall32=0 && sysctl -p' | ||||
| fi | ||||
| sh "${PORT_SCRIPTS_PATH}"/fix_start_lol.sh | zenity --progress --title="Start PortLoL" --text="Please wait, launch is in progress, it may take few minutes" --pulsate --auto-close --auto-kill --width=450 & | ||||
| } | ||||
| @@ -8,14 +8,14 @@ | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| export PW_NVAPI_DISABLE=1 | ||||
| export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -34,4 +34,4 @@ export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_DXGI_FROM_DXVK=1 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -12,7 +12,7 @@ export PW_DLL_INSTALL="physx d3dx9"                  # Install DDL in port prefi | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -29,4 +29,4 @@ export PW_DLL_INSTALL="physx d3dx9"                  # Install DDL in port prefi | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -12,7 +12,7 @@ export PW_DLL_INSTALL="physx d3dx9"                  # Install DDL in port prefi | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -29,4 +29,4 @@ export PW_DLL_INSTALL="physx d3dx9"                  # Install DDL in port prefi | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -1,10 +0,0 @@ | ||||
| #!/bin/bash | ||||
| #Author: Ridbowt (Nikola P.) | ||||
| #MOHAA.exe | ||||
| #moh_spearhead.exe | ||||
| #moh_breakthrough.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=0 | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export MESA_EXTENSION_MAX_YEAR=2002 | ||||
| @@ -1,9 +1,7 @@ | ||||
| #!/bin/bash | ||||
| #Author: test | ||||
| #Author: vellyn | ||||
| #MikuMikuDance.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| @@ -13,19 +11,16 @@ export PW_VULKAN_USE=dxvk | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_USE_BUILD_IN_DXGI=1 | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_USE_GAMEMODE=1              # Force disabele gamemod | ||||
| ##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| ##export 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 | ||||
| @@ -33,6 +28,5 @@ export PW_VULKAN_USE=dxvk | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_LOG=1                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -8,14 +8,14 @@ | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -34,4 +34,4 @@ | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -17,7 +17,7 @@ export PW_DLL_INSTALL="d3dcompiler_42 d3dcompiler_43 d3dx9" | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -40,4 +40,4 @@ export PW_DLL_INSTALL="d3dcompiler_42 d3dcompiler_43 d3dx9" | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_LOG=1                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -15,7 +15,7 @@ export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2017 d3dcompiler_43 d3dcompiler_ | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_NVAPI_DISABLE=1 | ||||
| export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -44,16 +44,16 @@ export PW_NVAPI_DISABLE=1 | ||||
|  | ||||
| export STAGING_SHARED_MEMORY=0 | ||||
|  | ||||
| #ADD_IN_START_PORTWINE () { | ||||
| #add_in_start_portwine () { | ||||
| #     export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"     | ||||
| #     if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_USER_TEMP}/OriginSetup.exe" ; then | ||||
| #         PW_START_PROGRESS_BAR_BLOCK "Extracting files for update the Origin..." | ||||
| #         pw_start_progress_bar_block "Extracting files for update the Origin..." | ||||
| #         unzip "${PW_USER_TEMP}/OriginSetup.exe" 'update/*.zip' -d "${PW_USER_TEMP}/"  | ||||
| #         unzip -o "${PW_USER_TEMP}/update/"*.zip -d "$WINEPREFIX/drive_c/Program Files (x86)/Origin/" | ||||
| #         try_remove_dir "${PW_USER_TEMP}/update" | ||||
| #         try_remove_file "${PW_USER_TEMP}/OriginSetup.exe" | ||||
| #         PW_STOP_PROGRESS_BAR | ||||
| #         PW_START_PROGRESS_BAR_CS "Starting the Origin..." | ||||
| #         pw_stop_progress_bar | ||||
| #         pw_start_progress_bar_cs "Starting the Origin..." | ||||
|          | ||||
| #         check_origin_update () { | ||||
| #             while :  | ||||
|   | ||||
| @@ -6,5 +6,5 @@ | ||||
| #Rating=? | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PW_DLL_INSTALL="vcrun2017" | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_DLL_INSTALL="vcrun2019" | ||||
| export PW_WINDOWS_VER=10 | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -32,4 +32,4 @@ | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_LOG=1                                 # Enable debug mode fo terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -16,7 +16,7 @@ export PULSE_LATENCY_MSEC=150 | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -39,4 +39,4 @@ export PULSE_LATENCY_MSEC=150 | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_LOG=1                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -5,4 +5,3 @@ | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export LAUNCH_PARAMETERS="" | ||||
|  | ||||
|   | ||||
							
								
								
									
										6
									
								
								data_from_portwine/scripts/portwine_db/Singularity
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,6 @@ | ||||
| #!/bin/bash | ||||
| #Author: esa | ||||
| #Singularity.exe | ||||
| #Rating=1-5 | ||||
| ################################################ | ||||
| export PW_DLL_INSTALL="physx" | ||||
| @@ -8,14 +8,14 @@ export PW_WINDOWS_VER=7                      # Set windows version 10, 7 or XP | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -29,4 +29,4 @@ export PW_WINDOWS_VER=7                      # Set windows version 10, 7 or XP | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer | ||||
| ##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -8,14 +8,14 @@ | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -34,4 +34,4 @@ | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -12,7 +12,7 @@ export PW_DLL_INSTALL="corefonts"        # Install DDL in port prefix (used wine | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -29,5 +29,5 @@ export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_VULKAN_USE=0 | ||||
|   | ||||
							
								
								
									
										39
									
								
								data_from_portwine/scripts/portwine_db/Torchlight
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,39 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #Torchlight.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_WINE_USE=proton_ge | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export ENABLE_VKBASALT=1 | ||||
| export PW_VKBASALT_EFFECTS="FakeHDR:cas:FilmGrain2"        | ||||
| export PW_VKBASALT_FFX_CAS="1" | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL=""                        # 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_ge                    # proton_steam or proton_ge | ||||
| ##export PW_VULKAN_USE=vkd3d                      # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| @@ -9,14 +9,14 @@ | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -33,4 +33,4 @@ | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -8,14 +8,14 @@ | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -31,4 +31,4 @@ | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|     export PW_VULKAN_USE=dxvk | ||||
|     export PW_USE_TERMINAL=0 | ||||
|     export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet/" | ||||
|     export PW_DLL_INSTALL="vcrun2017 vcrun6 mfc42 vb6run physx dotnet40 "        # Install DDL in port prefix (used winetricks)  | ||||
|     export PW_DLL_INSTALL="vcrun2017  mfc42 vb6run physx dotnet40 "        # Install DDL in port prefix (used winetricks)  | ||||
|     export PW_COMMENT_DB="World Of Tanks EnCore" | ||||
|     ## export DXVK_HUD=fps,devinfo | ||||
|     ## export PW_MANGOHUD=1 | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| #XR_3DA.exe  | ||||
| #Rating=1-5 | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=0 | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export LAUNCH_PARAMETERS="-nointro -noprefetch" # -nointro command line option to skip intro movies | ||||
|                                                 # -noprefetch command line option to shorten load times | ||||
| #export PW_DLL_INSTALL="vcrun2019 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9 | ||||
|   | ||||
| @@ -13,7 +13,7 @@ export PW_DLL_INSTALL="d3dx9 d3dcompiler_43"        # Install DDL in port prefix | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -32,4 +32,4 @@ export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -7,14 +7,14 @@ | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -28,5 +28,5 @@ | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer | ||||
| ##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
|   | ||||
| @@ -10,19 +10,23 @@ | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
|  | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_WINE_USE=proton_ge                    # proton_steam or proton_ge | ||||
| ##export PW_VULKAN_USE=vkd3d                      # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
|  | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
|  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
|  | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
|  | ||||
| @@ -35,8 +39,6 @@ | ||||
|  | ||||
| ##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 PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
|  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
|  | ||||
| export PW_DLL_INSTALL="vcrun2019 vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9" | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| @@ -15,7 +15,7 @@ export PW_DLL_INSTALL="d3dx9 d3dcompiler_43"        # Install DDL in port prefix | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -34,4 +34,4 @@ export PW_DLL_INSTALL="d3dx9 d3dcompiler_43"        # Install DDL in port prefix | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -5,24 +5,13 @@ | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
|  | ||||
| export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2017 d3dcompiler_47"               # Install DDL in port prefix (used winetricks)  | ||||
| export PW_WINE_USE=proton_ge | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dcompiler_47"               # Install DDL in port prefix (used winetricks)  | ||||
| export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47=n" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
|  | ||||
| ##export PW_DXVK_VER=1.8.1  | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
|  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| @@ -43,4 +32,4 @@ export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47 | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
|  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
							
								
								
									
										27
									
								
								data_from_portwine/scripts/portwine_db/gfclient
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,27 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #gfclient.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| export PW_COMMENT_DB="GameForge\nClient" | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PW_WINE_USE=proton_ge | ||||
| export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dcompiler_43 d3dcompiler_47"               # Install DDL in port prefix (used winetricks)  | ||||
| export WINEDLLOVERRIDES="gfclient0_msvc140=n;ucrtbase=b" | ||||
| ######################################################## | ||||
| #add_in_start_portwine () { | ||||
| # | ||||
| #while true; do | ||||
| #    if  [ -z "`pgrep GameforgeClient`" ]; then  | ||||
| #        sleep 1 | ||||
| #    else | ||||
| #        while [ ! -z "`pgrep GameforgeClient`" ] ; do | ||||
| #                killall -s KILL gfservice.exe | ||||
| #        done | ||||
| #            sleep 1 | ||||
| #            killall -s KILL gfclient.exe | ||||
| #            break & exit 0 | ||||
| #    fi | ||||
| #done & | ||||
| #} | ||||
| @@ -13,14 +13,14 @@ | ||||
| ##export PW_DXVK_VER=1.8.1  | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -39,4 +39,4 @@ | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| @@ -41,4 +41,4 @@ | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ export PW_VULKAN_USE=0 | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export MESA_EXTENSION_MAX_YEAR=2002 | ||||
| export __GL_ExtensionStringVersion=17700 | ||||
| ADD_IN_START_PORTWINE () | ||||
| add_in_start_portwine () | ||||
| { | ||||
| if [ ! -e "$PATH_TO_GAME/0_Proton_PW_MoHAA" ] ; then | ||||
|     touch "$PATH_TO_GAME/0_Proton_PW_MoHAA" && mv "$PATH_TO_GAME/main/newconfig.cfg" "$PATH_TO_GAME/main/newconfig.cfg.bak" && mv "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/main/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/mainta/newconfig.cfg" "$PATH_TO_GAME/mainta/newconfig.cfg.bak" && mv "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/mainta/configs/unnamedsoldier.cfg.bak" && mv "$PATH_TO_GAME/maintt/newconfig.cfg" "$PATH_TO_GAME/maintt/newconfig.cfg.bak" && mv "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg" "$PATH_TO_GAME/maintt/configs/unnamedsoldier.cfg.bak" && | ||||
|   | ||||
							
								
								
									
										35
									
								
								data_from_portwine/scripts/portwine_db/osu
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,35 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #osu!.exe | ||||
| #osu!install.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=0 | ||||
| export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" | ||||
| export PW_DLL_INSTALL="dotnet40" | ||||
| export PW_COMMENT_DB="OSU!" | ||||
| #####################examples########################### | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| @@ -12,7 +12,7 @@ export PW_DLL_INSTALL="physx d3dx9"        # Install DDL in port prefix (used wi | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -26,4 +26,4 @@ export PW_DLL_INSTALL="physx d3dx9"        # Install DDL in port prefix (used wi | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer | ||||
| ##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| #export PW_VIRTUAL_DESKTOP=1 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -13,14 +13,14 @@ | ||||
| ##export PW_DXVK_VER=1.8.1  | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -39,4 +39,4 @@ | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
| @@ -8,23 +8,24 @@ | ||||
| #export PW_COMMENT_DB="blablabla" | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=0 #dxvk or vkd3d | ||||
| export PW_WINE_USE=proton_steam | ||||
| #export WINEDLLOVERRIDES="blabla=n,b" | ||||
| #export PW_LOG=0             # Enable debug mode fo terminal  | ||||
| #export PW_LOG=0             # Enable debug mode fo terminal | ||||
| export PW_NO_FSYNC=1        # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| export PW_NO_ESYNC=1        # Do not use eventfd-based in-process synchronization primitives | ||||
| #export PW_VULKAN_NO_ASYNC=1 | ||||
| #export PW_USE_TERMINAL=0 | ||||
| #export PW_OLD_GL_STRING=0 | ||||
| #export PW_NVAPI_DISABLE=1 | ||||
| #export PW_USE_NVAPI=0 | ||||
| #export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| export PW_NO_WRITE_WATCH=0          # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| #export PW_HIDE_NVIDIA_GPU=0 | ||||
| #export PW_FORCE_USE_VSYNC=2         # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| export PW_USE_GAMEMODE=1             # Force disabele gamemod | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE=0          # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| export PW_USE_GAMEMODE=0             # Force disabele gamemod | ||||
| #export PW_FORCE_LARGE_ADDRESS_AWARE=0          # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| #export PULSE_LATENCY_MSEC=60 | ||||
| export PW_DLL_INSTALL="vcrun6 mfc42 vcrun6sp6 mfc120 vcrun2013" | ||||
| export PW_DLL_INSTALL="mfc42 vcrun2012 mfc120 vcrun2013" | ||||
| #export LAUNCH_PARAMETERS="-d3d9" | ||||
| export PW_GUI_DISABLED_CS=1 | ||||
| #export PW_WINDOWS_VER=XP                      # Set windows version 10, 7 or XP | ||||
| #export PW_WINDOWS_VER=XP                      # Set windows version 10, 7 or XP | ||||
|   | ||||
| @@ -1,8 +1,12 @@ | ||||
| #!/bin/bash | ||||
| #Author: MrM0der | ||||
| #steam.exe  | ||||
| #Author: Cefeiko | ||||
| #steam.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="libglesv2=" | ||||
| export LAUNCH_PARAMETERS"-no-cef-sandbox" | ||||
| export PW_COMMENT_DB="Steam" | ||||
| export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dcompiler_46" | ||||
| export WINEDLLOVERRIDES="libglesv2,lsteamclient=" | ||||
| export LAUNCH_PARAMETERS="-no-cef-sandbox" | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PW_WINE_USE=proton_ge | ||||
|   | ||||
							
								
								
									
										32
									
								
								data_from_portwine/scripts/portwine_db/trine
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,32 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #trine.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="physx"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| @@ -9,8 +9,8 @@ export PW_COMMENT_DB="Wargaming Game Center" | ||||
| export LAUNCH_PARAMETERS="--disable-gpu"            # Additional launch options | ||||
| #export PW_USE_TERMINAL=1 | ||||
| export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| #export PW_NVAPI_DISABLE=1 | ||||
| #export WINEDLLOVERRIDES="ucrtbase,xaudio2_7,xaudio2_8=n" | ||||
| export PW_DLL_INSTALL="lucida"     # Install DDL in port prefix (used winetricks)  | ||||
| #export PW_USE_NVAPI=0 | ||||
| export WINEDLLOVERRIDES="ucrtbase,xaudio2_7,xaudio2_8=n,b" | ||||
| export PW_DLL_INSTALL="lucida vcrun2019"     # Install DDL in port prefix (used winetricks) | ||||
| ##export PW_GUI_DISABLED_CS=1 | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
|   | ||||
							
								
								
									
										37
									
								
								data_from_portwine/scripts/portwine_db/witcher3
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,37 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #witcher3.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| export PW_DXR_ON=0 | ||||
| export PW_VULKAN_NO_ASYNC=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| export PW_OLD_GL_STRING=0 | ||||
| export PW_HIDE_NVIDIA_GPU=0 | ||||
| export PW_FORCE_USE_VSYNC=0 | ||||
| export PW_VIRTUAL_DESKTOP=0 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT=1 | ||||
| export PW_VKBASALT_FFX_CAS="0.5" | ||||
| export PW_NO_FSYNC=0 | ||||
| export PW_NO_ESYNC=1 | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| export PW_NO_WRITE_WATCH=0 | ||||
| export PW_HEAP_DELAY_FREE=0 | ||||
| export PW_WINE_ALLOW_XIM=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| export PW_WINEDBG_DISABLE=0 | ||||
| export PW_USE_TERMINAL=0 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| export PW_WINE_USE=proton_ge | ||||
| export PW_USE_NVAPI=0 | ||||
| export PW_GUI_DISABLED_CS=0 | ||||
| @@ -6,7 +6,7 @@ | ||||
|     export PW_VULKAN_USE=dxvk | ||||
|     export PW_USE_TERMINAL=1 | ||||
|     export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" | ||||
|     export PW_DLL_INSTALL="dotnet40 vcrun2017 vcrun6 mfc42 vb6run physx" | ||||
|     export PW_DLL_INSTALL="dotnet40 vcrun2017  mfc42 vb6run physx" | ||||
|     export PW_COMMENT_DB="World Of Tanks EnCore Installer" | ||||
|     ## export DXVK_HUD=fps,devinfo | ||||
|     ## export PW_MANGOHUD=1 | ||||
| @@ -38,4 +38,3 @@ PW_INSTALL_DOTNET40 () { | ||||
|     done | ||||
| } | ||||
| PW_INSTALL_DOTNET40 & | ||||
|  | ||||
|   | ||||
| @@ -8,14 +8,14 @@ export PW_DLL_INSTALL="vcrun2013 vcrun2017 dotnet472" | ||||
| #####################examples########################### | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks)  | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_USE_NVAPI=0 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| @@ -29,4 +29,4 @@ export PW_DLL_INSTALL="vcrun2013 vcrun2017 dotnet472" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer | ||||
| ##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
| ##add_in_start_portwine () { commands ; } | ||||
|   | ||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_ANKAMA
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,18 @@ | ||||
| #!/bin/bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/S") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama Launcher-Setup.exe" | ||||
| start_portwine | ||||
| if try_download "https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the Ankama Launcher. Please wait..." | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files/Ankama/Ankama Launcher/Ankama Launcher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="AnkamaLauncher" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										17
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,17 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" | ||||
| start_portwine | ||||
| if try_download "http://dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     PW_START_PROGRESS_BAR "Installing the Battle Net. Please wait..." | ||||
|     pw_kill_autostart Battle.net.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"` | ||||
|     PW_STOP_PROGRESS | ||||
|     portwine_create_shortcut | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_BETHESDA
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| #!/bin/bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BethesdaNetLauncher_Setup.exe" | ||||
| start_portwine | ||||
| if try_download "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the BethesdaNetLauncher. Please wait..." | ||||
|     pw_kill_autostart BethesdaNetLauncher.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Bethesda.net Launcher/BethesdaNetLauncher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Bethesda.net" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										26
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_EPIC
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,26 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/q" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" | ||||
| start_portwine | ||||
| if try_download "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing Epic Games Launcher. Please wait..." | ||||
|     pw_kill_autostart EpicGamesLauncher.exe & | ||||
|     pw_run msiexec /i "${PW_AUTOINSTALL_EXE}" & | ||||
|     sleep 10 | ||||
|     if [ ! -z `pgrep msiexec* | head -n 1` ] ; then | ||||
|         while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] || [ ! -z `pgrep -a wrap | grep ${portname} | head -n 1` ] | ||||
|         do | ||||
|             [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe" | ||||
|             sleep 5 | ||||
|         done | ||||
|     fi | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										22
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_EVE
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,22 @@ | ||||
| #!/bin/bash | ||||
| # Author: cefeiko | ||||
| ######################################################################## | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_DLL_INSTALL="vcrun2017" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe" | ||||
| start_portwine | ||||
| if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the EVE Launcher. Please wait..." | ||||
|     if [ ! -f "$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" ] ; then | ||||
|         try_remove_dir "$WINEPREFIX/drive_c/Games/EVE Online" | ||||
|         dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes | ||||
|         "$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online" | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}".7z | ||||
|     fi | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										37
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_GAMEFORGE
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,37 @@ | ||||
| #!/bin/bash | ||||
| # Author: chal55rus (Sergey P.), cefeiko, Castro-Fidel (PortWINE-Linux.ru) | ||||
| ########################################################################## | ||||
| pw_shutdown_please () { | ||||
|     if [ "$PW_USE_RUNTIME" != 1 ] | ||||
|     then echo "PW_USE_RUNTIME: `echo $PW_USE_RUNTIME`" | ||||
|     else | ||||
|         sleep 10 | ||||
|         while true ; do | ||||
|             if  [ -z "`ps aux | grep -v grep | grep -wm 1 "$1" | awk '{print $2}'`" ] && [ ! -z "`pgrep wrap | head -n 1`" ]; then | ||||
|                 echo -e "PID "$1" not found" | ||||
|                 sleep 1 | ||||
|             else | ||||
|                 killall -s TERM gfclient.exe | ||||
|                 killall -s TERM GameforgeInstaller.exe | ||||
|                 break | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
| } | ||||
|  | ||||
| export LAUNCH_PARAMETERS=("") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GameforgeInstaller.exe" | ||||
| start_portwine | ||||
| if try_download "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Gameforge-Client. Please wait..." | ||||
|     pw_shutdown_please SparkWebHelper.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GameforgeClient/gfclient.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="GameforgeClient" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_GLYPH
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| #!/bin/bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/S" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GlyphInstall.exe" | ||||
| start_portwine | ||||
| if try_download "http://download.dyn.triongames.com/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the GlyphClient. Please wait..." | ||||
|     pw_kill_autostart GlyphClient.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Glyph/GlyphClient.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="GlyphClient" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_GOG
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,18 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_2.0.41.150.exe" | ||||
| start_portwine | ||||
| if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.41.150/setup_galaxy_2.0.41.150.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the GOG Galaxy. Please wait..." | ||||
|     pw_kill_autostart GalaxyClient.* & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_MYGAMES
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| #!/bin/bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/MyGamesLoader.exe" | ||||
| start_portwine | ||||
| if try_download "https://static.gc.my.games/MyGamesLoader.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the My.Games. Please wait..." | ||||
|     pw_kill_autostart GameCenter.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/GameCenter/GameCenter.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="MY.GAMES" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_ORIGIN
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,18 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/silent" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" | ||||
| start_portwine | ||||
| if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the Origin. Please wait..." | ||||
|     pw_kill_autostart Origin.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Origin/Origin.exe" | ||||
|     pw_stop_progress_bar | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine  | ||||
							
								
								
									
										21
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_OSU
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,21 @@ | ||||
| #!/bin/bash | ||||
| # Author: cefeiko | ||||
| ######################################################################## | ||||
| export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" | ||||
| export PW_DLL_INSTALL="dotnet40" | ||||
| mkdir -p "${WINEPREFIX}/drive_c/Program Files (x86)/OSU/" | ||||
| export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.exe" | ||||
| start_portwine | ||||
| if try_download "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing the OSU!. Please wait..." | ||||
|     if  [ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]; then | ||||
|         mv -f  "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe" | ||||
|     fi | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe" | ||||
|     portwine_create_shortcut | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     pw_stop_progress_bar | ||||
|     kill_portwine | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										17
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_ROCKSTAR
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,17 @@ | ||||
| #!/bin/bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe" | ||||
| start_portwine | ||||
| if try_download "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Rockstar-Games-Launcher. Please wait..." | ||||
|     "$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher/Launcher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										22
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_STEAM
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,22 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe" | ||||
| start_portwine | ||||
| if try_download "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_cs "Installing the Steam. Please wait..." | ||||
|     pw_kill_autostart steam.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     if [ -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" ] | ||||
|     then mv -f "$WINEPREFIX/drive_c/Program Files (x86)/Steam/Steam.exe" "$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe" | ||||
|     fi | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Steam/steam.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="STEAM_PP" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										18
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_UBC
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,18 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Ubisoft Game Launcher") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/UbisoftConnectInstaller.exe" | ||||
| start_portwine | ||||
| if try_download "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_cs "Installing the Ubisoft Connect. Please wait..." | ||||
|     pw_kill_autostart UbisoftConnect.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Ubisoft Game Launcher/UbisoftConnect.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_WGC
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| #!/bin/bash | ||||
| # Author: cefeiko | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| [ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" | ||||
| start_portwine | ||||
| if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Starting WGC installation..." | ||||
|     pw_kill_autostart wgc.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/wgc_api/wgc_api.exe" | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Wargaming Game Center" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     kill_portwine | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
| @@ -15,309 +15,57 @@ if [ "${s_install}" != "1" ] && [ ! -x "`which "zenity" 2>/dev/null`" ];then | ||||
|     echo "You will need to install: zenity, and restart the port." | ||||
|     xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 | ||||
| fi | ||||
| pw_ping_test () { | ||||
|     ping -w3 -c1 github.com &> /dev/null | ||||
|     [ "$?" == "0" ] && return 0 || return 1 | ||||
| } | ||||
| print_error () { | ||||
|     echo "ERROR: $@" | ||||
| } | ||||
| print_info () { | ||||
|     echo "INFO: $@" | ||||
| } | ||||
| print_var () { | ||||
|     for vp in $@ ; do echo "${vp}=${!vp}" ; done | ||||
| } | ||||
| try_copy_file () { | ||||
|     if [ ! -f "$1" ] ; then	print_info "file $1 not found for copy" && return 1 | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to copy file $1" && return 1 | ||||
|     else | ||||
|         cp -f "$1" "$2" | ||||
|         if [ "$?" != 0 ] | ||||
|         then print_error "failed to copy file $1 to $2" || return 1 | ||||
|         else print_info "copy file $1 to $2 was successful" || return 0 | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| try_copy_dir () { | ||||
|     if [ ! -d "$1" ] ; then	print_info "directory $1 not found for copy" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to copy directory $1" | ||||
|     else | ||||
|         cp -fr "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
| try_remove_file () { | ||||
|     if [ -f "$1" ] ; then | ||||
|         rm -f "$1" | ||||
|         [ "$?" != 0 ] && print_error "failed to remove file $1" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
| try_remove_dir () { | ||||
|     if [ -d "$1" ] ; then | ||||
|         rm -fr "$1" | ||||
|         [ "$?" != 0 ] && print_error "failed to remove directory $1" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
| try_force_link_file () { | ||||
|     if [ ! -f "$1" ] ; then	print_info "file $1 not found for link" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to link file $1" | ||||
|     else | ||||
|         ln -sf "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
| try_force_link_dir () { | ||||
|     if [ ! -d "$1" ] ; then	print_info "directory $1 not found for link" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to link directory $1" | ||||
|     else | ||||
|         ln -sf "$1" "$2" | ||||
|         [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0 | ||||
|     fi | ||||
|     return 1 | ||||
| } | ||||
| try_download () { | ||||
|     set -o pipefail | ||||
|     wget -c -t 5 -T 2 "$1" --output-document="$2" 2>&1 | \ | ||||
|     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 --auto-kill --width=500 --height=90 | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
| try_download_silent () { | ||||
|     wget -c -t 5 -T 2 "$1" --output-document="$2" | ||||
|     [ "$?" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
| zenity_error_download () { | ||||
|     `zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1 | ||||
| } | ||||
| create_new_dir () { | ||||
|     if [ ! -d "$1" ] ; then | ||||
|         mkdir -p "$1" | ||||
|     fi | ||||
| } | ||||
| var_winedlloverride_update () { | ||||
|     if [ ! -z "${WINEDLLOVERRIDES}" ] | ||||
|     then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}" | ||||
|     else export WINEDLLOVERRIDES="${1}" | ||||
|     fi | ||||
| } | ||||
| var_vkd3d_config_update () { | ||||
|     if [ ! -z "${VKD3D_CONFIG}" ] | ||||
|     then export VKD3D_CONFIG="${1};${VKD3D_CONFIG}" | ||||
|     else export VKD3D_CONFIG="${1}" | ||||
|     fi | ||||
| } | ||||
| unpack_tar_xz () { | ||||
|     set -o pipefail | ||||
|     tar -Jxvf "$1" -C "$2" | sszen | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0 | ||||
| } | ||||
| pw_mangohud_check () { | ||||
|     export RUN_MANGOHUD="" | ||||
|     unset MANGOHUD | ||||
|     unset MANGOHUD_DLSYM | ||||
|     if [ -x "`which mangohud 2>/dev/null`" ] && [ "${PW_MANGOHUD}" == "1" ] ; then | ||||
|         if [ "${PW_VULKAN_USE}" = "0" ]; then | ||||
|             export MANGOHUD_DLSYM=1 | ||||
|             export RUN_MANGOHUD=mangohud | ||||
|         else | ||||
|             export MANGOHUD=1 | ||||
|         fi | ||||
|     else | ||||
|         export DISABLE_MANGOHUD=1 | ||||
|     fi | ||||
| } | ||||
| pw_clear_pfx () { | ||||
|     try_remove_file "${WINEPREFIX}/system.reg" | ||||
|     try_remove_file "${WINEPREFIX}/user.reg" | ||||
|     try_remove_file "${WINEPREFIX}/userdef.reg" | ||||
|     try_remove_file "${WINEPREFIX}/winetricks.log" | ||||
|     try_remove_file "${WINEPREFIX}/.update-timestamp" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/.windows-serial" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/windows/" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Setup" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Windows" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/WindowsTask" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Package Cache" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Application Data/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Local Settings/Temporary Internet Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Application Data/wine_gecko" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/Public/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Temporary Internet Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/Microsoft" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Application Data/wine_gecko" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/users/steamuser/Temp" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Internet Explorer" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows Media Player" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Windows NT" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files/Common Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Internet Explorer" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Common Files" | ||||
|     try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Windows Media Player" | ||||
|     try_remove_dir "${WINEPREFIX}/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}"/*.foz | ||||
| } | ||||
| sszen() { | ||||
|     zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel | ||||
| } | ||||
| PW_START_PROGRESS_BAR_CS () { | ||||
|     "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \ | ||||
|     --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 & | ||||
|     echo "" | ||||
| } | ||||
| PW_START_PROGRESS_BAR_BLOCK () { | ||||
|     "${pw_yad}" --progress --progress-text="$@" --pulsate \ | ||||
|     --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 & | ||||
|     echo "" | ||||
| } | ||||
| PW_STOP_PROGRESS_BAR () { | ||||
|     while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ]  | ||||
|     do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` &> /dev/null | ||||
|     done | ||||
| } | ||||
| PW_LOAD_LIBS () { | ||||
|     if [ ! -e "${PW_WINELIB}/runtime/bin/yad" ] || [ ! -e "${PW_WINELIB}/runtime/lib/p7zip/7zr" ] \ | ||||
|     || [ ! -e "${PW_WINELIB}/runtime/bin/vkcube" ] || [ ! -e "${PW_WINELIB}/runtime/bin/xterm" ] || \ | ||||
|     [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then  | ||||
|         print_info "Download and install libraries..." | ||||
|         if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then | ||||
|                 try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" | ||||
|             else | ||||
|                 try_remove_dir "${HOME}/.PortWINE/libs${pw_libs_ver}" | ||||
|                 try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" | ||||
|                 `zenity --error --title "Error..." \ | ||||
|                 --text "Failed to install runtime libraries.\nCheck internet connection and press OK" \ | ||||
|                 --no-wrap ` > /dev/null 2>&1 && PW_LOAD_LIBS | ||||
|             fi | ||||
|         else | ||||
|             `zenity --error --title "Error..." \ | ||||
|             --text "Failed to download runtime libraries.\nCheck internet connection and press OK" \ | ||||
|             --no-wrap ` > /dev/null 2>&1 && PW_LOAD_LIBS | ||||
|         fi | ||||
|     fi | ||||
|     export pw_yad="${PW_WINELIB}/runtime/bin/yad" | ||||
|     export pw_zstd="${PW_WINELIB}/runtime/bin/zstd" | ||||
|     export pw_7z="${PW_WINELIB}/runtime/lib/p7zip/7zr" | ||||
|     if [ -x "`which xterm 2>/dev/null`" ]; then | ||||
|         export SYS_XTERM=`which xterm` | ||||
|         export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" | ||||
|     else | ||||
|         export PW_XTERM="${PW_WINELIB}/runtime/bin/xterm -geometry 159x37 -e" | ||||
|     fi | ||||
| } | ||||
| . "$(dirname $(readlink -f "$0"))/functions_helper" | ||||
|  | ||||
| PW_DOWNLOAD_MONO () { | ||||
|     if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then | ||||
|         export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz" | ||||
|         echo "######################################################" | ||||
|         print_info "Download and install wine mono..." | ||||
|         if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" ; then | ||||
|             create_new_dir "${HOME}/.PortWINE/mono" | ||||
|             if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" "${HOME}/.PortWINE/mono/" | ||||
|             then | ||||
|                 try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}-x86" | ||||
|                 zenity_error_download && PW_DOWNLOAD_MONO | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" | ||||
|         else | ||||
|             zenity_error_download && PW_DOWNLOAD_MONO | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| PW_DOWNLOAD_GECKO () { | ||||
|     if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then | ||||
|         export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz" | ||||
|         echo "######################################################" | ||||
|         echo "Download and install wine gecko x86..." | ||||
|         if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" ; then | ||||
|             create_new_dir "${HOME}/.PortWINE/gecko" | ||||
|             if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" "${HOME}/.PortWINE/gecko/" | ||||
|             then | ||||
|                 try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" | ||||
|                 zenity_error_download && PW_DOWNLOAD_GECKO | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" | ||||
|         else | ||||
|             zenity_error_download && PW_DOWNLOAD_GECKO | ||||
|         fi | ||||
|     fi | ||||
|     if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then | ||||
|         export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86_64.tar.xz" | ||||
|         echo "######################################################" | ||||
|         echo "Download and install wine gecko x86_64..." | ||||
|         if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" ; then | ||||
|             create_new_dir "${HOME}/.PortWINE/gecko" | ||||
|             if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/" | ||||
|             then | ||||
|                 try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" | ||||
|                 zenity_error_download && PW_DOWNLOAD_GECKO | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" | ||||
|         else | ||||
|             zenity_error_download && PW_DOWNLOAD_GECKO | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| START_PORTWINE () | ||||
|     { | ||||
| start_portwine () { | ||||
|     pw_check_and_download_wine "${PW_WINE_USE}"  | ||||
|     pw_tray_icon & | ||||
|     if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" | ||||
| #    elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ??? | ||||
|     elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e" | ||||
|     elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}" | ||||
|     else export PW_TERM="${PW_XTERM}" | ||||
|     fi | ||||
|     PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..." | ||||
|     if [ ! -f "${HOME}/.Xresources" ]; then | ||||
|         cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}" | ||||
|         xrdb -merge "${HOME}/.Xresources" | ||||
|     fi | ||||
|  | ||||
|     pw_start_progress_bar_cs "Start ${portname}... Please wait..." | ||||
|  | ||||
|     export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}" | ||||
|     export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz | ||||
|     export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz | ||||
|     export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz | ||||
|     export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz | ||||
|     export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0" | ||||
|     export STAGING_SHARED_MEMORY=1 | ||||
|     export PW_FORCE_LARGE_ADDRESS_AWARE=1 | ||||
|     export WINE="${WINEDIR}/bin/wine" | ||||
|     export WINELOADER="${WINEDIR}/bin/wine" | ||||
|     export WINESERVER="${WINEDIR}/bin/wineserver" | ||||
|     export WINEDLLPATH="${WINEDIR}/lib/wine" | ||||
|     export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib" | ||||
|  | ||||
|     create_new_dir "${WINEDIR}/share/wine/" | ||||
|     try_remove_dir "${WINEDIR}"/share/wine/gecko | ||||
|     try_remove_dir "${WINEDIR}"/share/wine/mono | ||||
|     try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/ | ||||
|     try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/ | ||||
|     if [ -d "${PATH_TO_GAME}" ] | ||||
|     then export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}" | ||||
|     else export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" | ||||
|     fi | ||||
|     if [ ! -z "${PATH}" ] | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}" | ||||
|     else export PATH="${WINEDIR}/bin" | ||||
|     fi | ||||
|  | ||||
|     if [ "${PW_USE_RUNTIME}" = 0 ] ; then | ||||
|         export PW_RUNTIME="" | ||||
|         export pw_runtime="" | ||||
|         echo "RUNTIME is disabled" | ||||
|     else | ||||
|         export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu:/overrides/lib/x86_64-linux-gnu/aliases:/overrides/lib/i386-linux-gnu:/overrides/lib/i386-linux-gnu/aliases:" | ||||
|         export PW_RUNTIME="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ | ||||
|         --share-home \ | ||||
|         --runtime=${PW_WINELIB}/runtime \ | ||||
|         --" | ||||
|         export PW_AND_RUNTIME_LIBRARY_PATH="/overrides/lib/x86_64-linux-gnu/:/overrides/lib/x86_64-linux-gnu/aliases/:/overrides/lib/i386-linux-gnu/:/overrides/lib/i386-linux-gnu/aliases/:" | ||||
|         if [ ! -z "${PW_SANDBOX_HOME_PATH}" ] && [ -d "${PW_SANDBOX_HOME_PATH}" ]; then | ||||
|             export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ | ||||
|             --unshare-home \ | ||||
|             --home="${PW_SANDBOX_HOME_PATH}" \ | ||||
|             --runtime=${PW_WINELIB}/runtime \ | ||||
|             --" | ||||
|         else | ||||
|             export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ | ||||
|             --share-home \ | ||||
|             --runtime=${PW_WINELIB}/runtime \ | ||||
|             --" | ||||
|         fi | ||||
|         export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime" | ||||
|         export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1 | ||||
|         # export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1 | ||||
|         export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=0 | ||||
|         export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1 | ||||
|         export PRESSURE_VESSEL_GC_RUNTIMES=0 | ||||
|         export PRESSURE_VESSEL_GC_LEGACY_RUNTIMES=0 | ||||
|         export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}" | ||||
| @@ -336,6 +84,9 @@ START_PORTWINE () | ||||
|             else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}" | ||||
|             fi | ||||
|         done | ||||
|         if [ ! -f "${PW_WINELIB}/runtime/etc/os-release" ] | ||||
|         then try_force_link_file "${PW_WINELIB}/runtime/lib/os-release" "${PW_WINELIB}/runtime/etc/os-release" | ||||
|         fi | ||||
|         echo "RUNTIME is enabled" | ||||
|     fi | ||||
|  | ||||
| @@ -350,6 +101,7 @@ START_PORTWINE () | ||||
|         export VKD3D_DEBUG="none" | ||||
|         export DXVK_LOG_PATH="none" | ||||
|     fi | ||||
|     export GST_DEBUG="WARNING:0" | ||||
|  | ||||
|     #default wine-mono override for FNA games | ||||
|     export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n" | ||||
| @@ -380,7 +132,16 @@ START_PORTWINE () | ||||
|         export RADV_DEBUG="llvm" | ||||
|         var_vkd3d_config_update single_queue | ||||
|     fi | ||||
|     if [ ! -z "${PW_NVAPI_DISABLE}" ] && [ "${PW_NVAPI_DISABLE}" != 0 ] ; then | ||||
|     if [ ! -z "${PW_USE_NVAPI}" ] && [ "${PW_USE_NVAPI}" == 1 ] && [ -d "${WINEDIR}/lib/wine/nvapi/" ] | ||||
|     then | ||||
|         if [ "${WINEARCH}" != "win32" ] ; then | ||||
|             try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         else | ||||
|             try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         fi | ||||
|         var_winedlloverride_update "nvapi,nvapi64=n" | ||||
|     else | ||||
|         var_winedlloverride_update "nvapi,nvapi64=" | ||||
|     fi | ||||
|     if [ ! -z "${PW_WINEDBG_DISABLE}" ] && [ "${PW_WINEDBG_DISABLE}" != 0 ] ; then | ||||
| @@ -400,9 +161,6 @@ START_PORTWINE () | ||||
|     if [ ! -z "${PW_DXR_ON}" ] && [ "${PW_DXR_ON}" != 0 ] ; then | ||||
|         var_vkd3d_config_update dxr | ||||
|     fi | ||||
|     create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" | ||||
|     export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache | ||||
|     export DXVK_STATE_CACHE=1 | ||||
|     export optirun_on="" | ||||
|     export check_optimus_manager= | ||||
|     export PW_NVIDIA="$(lspci | grep NVIDIA)" | ||||
| @@ -427,10 +185,6 @@ START_PORTWINE () | ||||
|         if [ ! -d "${PORT_WINE_TMP_PATH}"/gl_shader_cache ] ; then | ||||
|             mkdir -p "${PORT_WINE_TMP_PATH}"/gl_shader_cache | ||||
|         fi | ||||
|         export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache" | ||||
|         export __GL_SHADER_DISK_CACHE=1 | ||||
|         export __GL_SHADER_DISK_CACHE_SIZE=1000000000 | ||||
|         export __GL_DXVK_OPTIMIZATIONS=1 | ||||
|     else | ||||
|         export DRI_PRIME=1 | ||||
|     fi | ||||
| @@ -448,9 +202,11 @@ START_PORTWINE () | ||||
|         killall xneur | ||||
|         export int_xneur=1 | ||||
|     fi | ||||
|     export PW_XKBD="$(setxkbmap -query | grep -w ru | awk '{print($2)}')" | ||||
|     if [ ! -z ${PW_XKBD} ]; then | ||||
|         setxkbmap us,ru | ||||
|     if [ ! -z "${PW_XKBD_RU_HACK}" ] && [ "${PW_XKBD_RU_HACK}" == 1 ]; then | ||||
|         export PW_XKBD="$(setxkbmap -query | grep -w ru | awk '{print($2)}')" | ||||
|         if [ ! -z ${PW_XKBD} ]; then | ||||
|             setxkbmap us,ru | ||||
|         fi | ||||
|     fi | ||||
|     if [ -x "`which "gamemoderun" 2>/dev/null`" ] && [ "$PW_USE_GAMEMODE" = "1" ]; then | ||||
|         export PW_GAMEMODERUN=1 | ||||
| @@ -459,78 +215,135 @@ START_PORTWINE () | ||||
|         export PW_GAMEMODERUN=0 | ||||
|         echo "Gamemod is not installed or disabled in vars script: PW_USE_GAMEMODE=$PW_USE_GAMEMODE" | ||||
|     fi | ||||
|     PW_INIT_PFX | ||||
|     RUN_WINETRICKS_FROM_DB | ||||
|     ADD_IN_START_PORTWINE | ||||
| } | ||||
|     #init_pfx | ||||
|     if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || \ | ||||
|        [ ! -d "${WINEPREFIX}/dosdevices" ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || \ | ||||
|        [ ! -f "${WINEPREFIX}"/system.reg ] || [ ! -f "${WINEPREFIX}"/user.reg ] | ||||
|     then | ||||
|         pw_clear_pfx | ||||
|         create_new_dir "${WINEPREFIX}" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c" | ||||
|         create_new_dir "${WINEPREFIX}/dosdevices" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" | ||||
|         [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/" | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf | ||||
|         pw_stop_progress_bar | ||||
|         pw_start_progress_bar_block "Updating prefix... Please wait..." | ||||
|         kill_portwine | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u | ||||
|         wait_wineserver | ||||
|         kill_portwine | ||||
|         pw_stop_progress_bar | ||||
|         pw_start_progress_bar_cs "Initialization prefix..." | ||||
|     fi | ||||
|     [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" | ||||
|     [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then | ||||
| 	    try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" | ||||
|     fi | ||||
|     [ ! -d "${PORT_WINE_PATH}/drive_c" ] && try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam" | ||||
|     if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ] | ||||
|     then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents" | ||||
|     fi | ||||
|     var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" | ||||
|  | ||||
| WAIT_WINESERVER () { | ||||
|     sleep 3 | ||||
|     while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do | ||||
|         sleep 1 | ||||
|     done | ||||
| } | ||||
|  | ||||
| KILL_PORTWINE () { | ||||
|     wine_pids=`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader| ' | awk -F/ '{print $3}'` | ||||
|     if  [ ! -z "${wine_pids}" ] ; then | ||||
|         for pw_kill_pids in ${wine_pids} ; do | ||||
|             if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then | ||||
|                 kill -n 9 ${pw_kill_pids} | ||||
|     # export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` | ||||
|     # echo "TOTAL_VRAM=${TOTAL_VRAM}" | ||||
|     echo "Try copy native DXGI" | ||||
|     if [ "${WINEARCH}" != "win32" ] ; then | ||||
|         if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         fi | ||||
|         if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         fi | ||||
|         try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     else | ||||
|         if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         fi | ||||
|         try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     fi | ||||
|     if [ "${PW_VULKAN_USE}" = "0" ] ; then | ||||
|         export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}" | ||||
|         export __GLX_VENDOR_LIBRARY_NAME=nvidia | ||||
|         export GL_YIELD="NOTHING" | ||||
|         for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do | ||||
|             if [ "${WINEARCH}" != "win32" ] ; then | ||||
|                 if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 fi | ||||
|                 if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 fi | ||||
|             else | ||||
|                 if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 fi | ||||
|             fi | ||||
|         done | ||||
|         var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12=" | ||||
|         echo "Use OpenGL" | ||||
|     elif [ "${PW_VULKAN_USE}" = "vkd3d" ] ; then | ||||
|         echo "Try copy native VKD3D files" | ||||
|         for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do | ||||
|             if [ "${WINEARCH}" != "win32" ] ; then | ||||
|                 try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             else | ||||
|                 try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             fi | ||||
|             var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|             create_new_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache" | ||||
|             export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache" | ||||
|             export __GL_SHADER_DISK_CACHE=1 | ||||
|             export __GL_SHADER_DISK_CACHE_SIZE=1000000000 | ||||
|         done | ||||
|         var_winedlloverride_update "dxgi=b" | ||||
|         export VKD3D_FEATURE_LEVEL="12_0" | ||||
|         echo "Use VKD3D-PROTON only (DX12 to vulkan)" | ||||
|     else | ||||
|         export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi" | ||||
|         echo "Try copy native DXVK files" | ||||
|         for wine_dxvk_dll in ${CP_DXVK_FILES} ; do | ||||
|             if [ "${WINEARCH}" != "win32" ] ; then | ||||
|                 try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             else | ||||
|                 try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             fi | ||||
|             var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|         done | ||||
|         create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" | ||||
|         export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache | ||||
|         export DXVK_STATE_CACHE=1 | ||||
|         export __GL_DXVK_OPTIMIZATIONS=1 | ||||
|         var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3=" | ||||
|         echo "Use DXVK" | ||||
|     fi | ||||
|     if [ ! -z `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` ] ; then | ||||
|         kill -n 9 `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` | ||||
|     fi | ||||
| } | ||||
|  | ||||
| STOP_PORTWINE () { | ||||
|     WAIT_WINESERVER | ||||
|     ADD_IN_STOP_PORTWINE | ||||
|     if [ "$int_xneur" = "1"  ]; then | ||||
|         xneur & | ||||
|     fi | ||||
|     if [ ! -z ${PW_XKBD} ]; then | ||||
|         setxkbmap ${PW_XKBD} | ||||
|     fi | ||||
|     PW_STOP_PROGRESS_BAR | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/0" | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/1" | ||||
| } | ||||
|  | ||||
| UPDATE_WINETRICKS () { | ||||
|     W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" | ||||
|     W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" | ||||
|     print_info "Version winetricks on server: ${W_TRX_EXT_VER}" | ||||
|     W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" | ||||
|     print_info "Version winetricks in port: ${W_TRX_INT_VER}" | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] && [ ! -z "$W_TRX_EXT_VER" ] || [ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ] && [ ! -z "$W_TRX_EXT_VER" ]; then | ||||
|         if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then | ||||
|             mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|             W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"  | ||||
|             chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|         fi | ||||
|     fi | ||||
|     if  [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then | ||||
|         sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|         sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| RUN_WINETRICKS_FROM_DB () { | ||||
|     # UPDATE_WINETRICKS | ||||
|     pw_other_fixes | ||||
|     #run_winetricks_from_db | ||||
|     update_winetricks | ||||
|     if [ ! -z "${PW_MUST_HAVE_DLL}" ] | ||||
|     then export PW_DLL_INSTALL="${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | ||||
|     fi | ||||
|     if [ ! -z "${PW_DLL_INSTALL}" ]; then | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         pw_stop_progress_bar | ||||
|         export PW_DLL_NEED_INSTALL="" | ||||
|         export USE_WT_FROM_DB=0 | ||||
|         if [ ! -e "${WINEPREFIX}/winetricks.log" ] ; then | ||||
|             touch "${WINEPREFIX}/winetricks.log" | ||||
|         fi | ||||
|         try_remove_dir "${HOME}/.cache/winetricks/vcrun2019/" | ||||
|         for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do | ||||
|             if [ "${need_install_dll_to_pfx}" == "vcrun2015" ] || [ "${need_install_dll_to_pfx}" == "vcrun2017" ] ; then | ||||
|                 need_install_dll_to_pfx="vcrun2019" | ||||
| @@ -550,254 +363,39 @@ RUN_WINETRICKS_FROM_DB () { | ||||
|             fi | ||||
|         done | ||||
|         if [ "${USE_WT_FROM_DB}" == "1" ] ; then | ||||
|             PW_STOP_PROGRESS_BAR | ||||
|             pw_stop_progress_bar | ||||
|             print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" | ||||
|             ${PW_RUNTIME} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q ${PW_DLL_NEED_INSTALL} | ||||
|             chmod -R 775 "${HOME}/.cache/winetricks" | ||||
|             if [ "${PW_WINE_VER}" != "PROTON_STEAM" ] ; then | ||||
|                 export PW_WINE_VER_FROM_DB="${PW_WINE_USE}" | ||||
|                 export PW_WINE_VER="PROTON_STEAM" | ||||
|                 init_wine_ver | ||||
|                 cabextract_fix | ||||
|             fi | ||||
|             ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -f ${PW_DLL_NEED_INSTALL} | ||||
|             if [ "${PW_WINE_USE}" != "proton_steam" ] ; then | ||||
|                 /bin/bash -c ${pw_full_command_line[*]} & | ||||
|                 exit 0 | ||||
|             fi | ||||
|         fi | ||||
|         PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..." | ||||
|         pw_start_progress_bar_cs "Start ${portname}... Please wait..." | ||||
|     fi | ||||
|     if [[ -z `cat "${WINEPREFIX}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then | ||||
|         if [ ! -z "${PW_WINDOWS_VER}" ] && [ `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ] ; then | ||||
|             export PW_WINDOWS_VER="xp64" | ||||
|             if [ "${WINEARCH}" != "win32" ] ; then | ||||
|                 export PW_WINDOWS_VER="xp64" | ||||
|             else | ||||
|                 export PW_WINDOWS_VER="xp" | ||||
|             fi | ||||
|         fi | ||||
|         ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` | ||||
|         echo "Set to win${PW_WINDOWS_VER}" | ||||
|         WAIT_WINESERVER | ||||
|     fi | ||||
| } | ||||
| PW_INIT_DB () { | ||||
|     if [ ! -z "${portwine_exe}" ]; then | ||||
|         export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` | ||||
|         export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" | ||||
|         export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` | ||||
|     fi | ||||
|     if [ ! -z "${PORTWINE_DB}" ]; then | ||||
|         PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` | ||||
|         if [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
|             . "${PORTWINE_DB_FILE}" | ||||
|             echo "Use ${PORTWINE_DB_FILE} db file." | ||||
|         else | ||||
|             . "${PORT_SCRIPTS_PATH}/portwine_db/default" | ||||
|             echo "Use default db file." | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| PW_UPDATE () { | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then | ||||
|         echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" | ||||
|     fi | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/update_notifier" ] ; then | ||||
|         echo "1" > "${PORT_WINE_TMP_PATH}/update_notifier" | ||||
|     fi | ||||
|     read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier" | ||||
|     if [ "${update_not}" = "1" ] ; then | ||||
|         if try_download_silent "${PW_FTP_URL}/current_version/${portname}_ver" "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" ; then | ||||
|             read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
|             try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
|             if  [ ! -z "${current_ver}" ] && [ "${current_ver}" -gt "${install_ver}" ] ; then | ||||
|                 xsd=`zenity --title  "${port_upd1}" --text "${port_upd2}" --list --radiolist --height=230 --column="${inst_set}" --column "${port_upd3}" \ | ||||
|                 TRUE "${port_upd4}" \ | ||||
|                 FALSE "${port_upd5}" \ | ||||
|                 FALSE "${port_upd6}" ` | ||||
|                 case $xsd in | ||||
|                     "${port_upd4}") | ||||
|                         KILL_PORTWINE | ||||
|                         # if try_download https://portwine-linux.ru/ftp/portwine/PortProton-$current_ver "${HOME}/.PortWINE/tmp/PortProton-$current_ver" ; then | ||||
|                         #     sh "${HOME}/.PortWINE/tmp/PortProton-$current_ver" | ||||
|                         #     try_remove_file "${HOME}/.PortWINE/tmp/PortProton-$current_ver" | ||||
|                         # fi & | ||||
|                         xdg-open $porturl | ||||
|                         exit 0 ;; | ||||
|                     "${port_upd5}") | ||||
|                         echo " " ;; | ||||
|                     "${port_upd6}") | ||||
|                     echo "0" > "${PORT_WINE_TMP_PATH}/update_notifier" ;; | ||||
|                 esac | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
|     if [ ! -f "${HOME}/.config/.PortTime" ] ; then | ||||
|         echo "10" > "${HOME}/.config/.PortTime" | ||||
|     fi | ||||
|     read "port_time" < "${HOME}/.config/.PortTime" | ||||
|     if [ "${port_time}" -gt "1" ] ; then | ||||
|         port_time=$((${port_time}-1)) | ||||
|         echo "${port_time}" > "${HOME}/.config/.PortTime" | ||||
|     else | ||||
|         xsd2=`zenity --title  "${port_time1}" --text "${port_time2}" --list --radiolist --height=230 --column="${inst_set3}" --column "${port_time3}" \ | ||||
|         TRUE "${port_time4}" \ | ||||
|         FALSE "${port_time5}" \ | ||||
|         FALSE "${port_time6}" ` | ||||
|         if [ $? = 1 ] ; then | ||||
|             echo "1" > "${HOME}/.config/.PortTime" | ||||
|         else | ||||
|             case $xsd2 in | ||||
|                 "${port_time4}") | ||||
|                     xdg-open "$urlg" & | ||||
|                     echo "300" > "${HOME}/.config/.PortTime" | ||||
|                     exit 0 ;; | ||||
|                 "${port_time5}") | ||||
|                     echo "75" > "${HOME}/.config/.PortTime" ;; | ||||
|                 "${port_time6}") | ||||
|                     echo "150" > "${HOME}/.config/.PortTime" ;; | ||||
|             esac | ||||
|         fi | ||||
|         wait_wineserver | ||||
|     fi | ||||
|     add_in_start_portwine | ||||
| } | ||||
|  | ||||
| PW_INIT_PFX () { | ||||
|     if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || \ | ||||
|        [ ! -d "${WINEPREFIX}/dosdevices" ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || \ | ||||
|        [ ! -f "${WINEPREFIX}"/system.reg ] || [ ! -f "${WINEPREFIX}"/user.reg ] | ||||
|     then | ||||
|         rm -f  "${WINEDIR}"*/lib*/*steam* | ||||
|         rm -f  "${WINEDIR}"*/lib*/wine/*steam* | ||||
|         rm -f  "${WINEDIR}"*/lib*/wine/*/*steam* | ||||
|         pw_clear_pfx | ||||
|         create_new_dir "${WINEPREFIX}" | ||||
|         if [ -d "${WINEDIR}/share/default_pfx/" ] ; then | ||||
|             cp -fr "${WINEDIR}/share/default_pfx/"* "${WINEPREFIX}" | ||||
|         fi | ||||
|         create_new_dir "${WINEPREFIX}/drive_c" | ||||
|         create_new_dir "${WINEPREFIX}/dosdevices" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" | ||||
|         [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/" | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf | ||||
|         try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PW_START_PROGRESS_BAR_BLOCK "Updating prefix... Please wait..." | ||||
|         KILL_PORTWINE | ||||
|         ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u | ||||
|         WAIT_WINESERVER | ||||
|         KILL_PORTWINE | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PW_START_PROGRESS_BAR_CS "Initialization prefix..." | ||||
|     fi | ||||
|     [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" | ||||
|     [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then | ||||
| 	    try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" | ||||
|     fi | ||||
|     if [ ! -d "${PORT_WINE_PATH}/drive_c" ]; then | ||||
| 	    try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" | ||||
|     fi | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam" | ||||
|     var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" | ||||
|  | ||||
|     # export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` | ||||
|     # echo "TOTAL_VRAM=${TOTAL_VRAM}" | ||||
|     echo "Try copy native DXGI" | ||||
|     if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|     then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|     fi | ||||
|     if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     fi | ||||
|     try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|     try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     if [ "${PW_VULKAN_USE}" = "0" ] ; then | ||||
|         export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}" | ||||
|         export __GLX_VENDOR_LIBRARY_NAME=nvidia | ||||
|         export GL_NO_DSO_FINALIZER=1 | ||||
|         export GL_YIELD="NOTHING" | ||||
|         for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do | ||||
|             if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             then try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             fi | ||||
|             if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             then try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             fi | ||||
|         done | ||||
|         var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12=" | ||||
|         echo "Use OpenGL" | ||||
|     elif [ "${PW_VULKAN_USE}" = "vkd3d" ] ; then | ||||
|         echo "Try copy native VKD3D files" | ||||
|         for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do | ||||
|             try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|             var_winedlloverride_update="dxgi=b" | ||||
|         done | ||||
|         export VKD3D_FEATURE_LEVEL="12_0" | ||||
|         echo "Use VKD3D-PROTON only (DX12 to vulkan)" | ||||
|     else | ||||
|         export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi" | ||||
|         echo "Try copy native DXVK files" | ||||
|         for wine_dxvk_dll in ${CP_DXVK_FILES} ; do | ||||
|             try_copy_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|         done | ||||
|         # echo "Try copy native VKD3D files" | ||||
|         # for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do | ||||
|         #     try_copy_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         #     try_copy_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         #     var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|         # done | ||||
|         # echo "Use DXVK + VKD3D-PROTON" | ||||
|         var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3=" | ||||
|         echo "Use DXVK" | ||||
|     fi | ||||
|  | ||||
|     PW_OTHER_FIXES | ||||
| } | ||||
|  | ||||
| PW_SCRIPTS_UPDATE () { | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then | ||||
|         echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|     fi | ||||
|     export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` | ||||
|     if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then | ||||
|             echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|     fi | ||||
|     read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|     if [ "${scripts_update_not}" = "1" ] ; then | ||||
|         if try_download_silent "${PW_FTP_URL}/current_version/scripts_ver" "${PORT_WINE_TMP_PATH}/scripts_cur_ver" ; then | ||||
|             read scripts_current_ver < "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | ||||
|             try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | ||||
|             if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then | ||||
|                 xcsd=`zenity --title  "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=230 --column="${inst_set}" --column "${scripts_upd3}" \ | ||||
|                 TRUE "${scripts_upd4}" \ | ||||
|                 FALSE "${scripts_upd5}" \ | ||||
|                 FALSE "${scripts_upd6}"` | ||||
|                 case $xcsd in | ||||
|                     "${scripts_upd4}") | ||||
|                         echo "######################################################" | ||||
|                         echo "Update scripts..." | ||||
|                         try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" | ||||
|                         if try_download_silent "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz" ; then | ||||
|                             tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/" | ||||
|                             if [ "$?" == "0" ] ; then | ||||
|                                 try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" | ||||
|                                 echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|                                 "${pw_yad}" --title="Changelog" --borders=10 \ | ||||
|                                 --text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \ | ||||
|                                 --text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \ | ||||
|                                 --filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red | ||||
|                                 [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & | ||||
|                                 exit 0 | ||||
|                             fi | ||||
|                         else | ||||
|                             zenity_error_download && PW_SCRIPTS_UPDATE | ||||
|                         fi ;; | ||||
|                     "${scripts_upd5}") | ||||
|                         echo " " ;; | ||||
|                     "${scripts_upd6}") | ||||
|                     echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;; | ||||
|                 esac | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| PW_RUN () { | ||||
| pw_run () { | ||||
|     if [ ! -z "$portwine_exe" ] ; then | ||||
|         export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" | ||||
|         cd "${PATH_TO_GAME}" | ||||
| @@ -805,30 +403,31 @@ PW_RUN () { | ||||
|         cd "${WINEPREFIX}/drive_c" | ||||
|     fi | ||||
|     pw_mangohud_check | ||||
|     print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_VULKAN_USE" "VKD3D_CONFIG" | ||||
|     pw_vkbasalt_check | ||||
|     print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" "LD_LIBRARY_PATH" "PATH" | ||||
|     if [ "${PW_LOG}" == 1 ] ; then | ||||
|         export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" | ||||
|         if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then | ||||
|             echo "Full command line:  $PW_TERM ${optirun_on} gamemoderun ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" | ||||
|             ${optirun_on} gamemoderun ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|             ${optirun_on} gamemoderun ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|         else | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" | ||||
|             ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|             ${optirun_on} ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|         fi | ||||
|     else | ||||
|         [ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM="" | ||||
|         if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then | ||||
|             echo "Use gamemode without terminal" | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} gamemoderun ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" | ||||
|             $PW_TERM ${optirun_on} gamemoderun  ${PW_RUNTIME} ${RUN_MANGOHUD} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|             $PW_TERM ${optirun_on} gamemoderun ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \ | ||||
|             ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|         else | ||||
|             echo "Don\`t use gamemode without terminal" | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" | ||||
|             $PW_TERM ${optirun_on} ${RUN_MANGOHUD} ${PW_RUNTIME} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|             $PW_TERM ${optirun_on} ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \ | ||||
|             ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
| #####MAIN##### | ||||
|  | ||||
| ###MAIN### | ||||
| unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS | ||||
| unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREAT_DB PW_YAD_SET | ||||
|  | ||||
| cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" | ||||
| cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)" | ||||
| export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" | ||||
| @@ -838,6 +437,8 @@ read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname | ||||
| cd "${PORT_SCRIPTS_PATH}" | ||||
| . "${PORT_SCRIPTS_PATH}/var" | ||||
|  | ||||
| [ -f "${PORT_SCRIPTS_PATH}/autoinstall" ] && try_remove_file "${PORT_SCRIPTS_PATH}/autoinstall" | ||||
|  | ||||
| if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then | ||||
| 	SET_LANG=`zenity --title  "Install $portname" --text "Select the language" --list --radiolist \ | ||||
| 	--column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" ` | ||||
| @@ -845,20 +446,23 @@ if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then | ||||
| fi | ||||
| . "${PORT_SCRIPTS_PATH}"/lang | ||||
|  | ||||
| unset MANGOHUD PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_CHECK_AUTOINSTAL | ||||
| var_winedlloverride_update "winemenubuilder.exe=" | ||||
| export urlg="https://portwine-linux.ru/portwine-faq/" | ||||
| export PW_FTP_URL="https://portwine-linux.ru/ftp" | ||||
| export PW_WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}" | ||||
| export PW_WINELIB="${HOME}/.PortWINE/libs${PW_LIBS_VER}" | ||||
| export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" | ||||
| export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` | ||||
| export WINETRICKS_DOWNLOADER="curl" | ||||
| export USER_CONF="${PORT_WINE_PATH}/data/user.conf" | ||||
| check_user_conf | ||||
|  | ||||
| if [ -z "${INSTALLING_PORT}" ] ; then | ||||
|     PW_LOAD_LIBS | ||||
|     PW_DOWNLOAD_MONO | ||||
|     PW_DOWNLOAD_GECKO | ||||
|     PW_UPDATE | ||||
|     PW_SCRIPTS_UPDATE | ||||
|     PW_INIT_DB | ||||
|     . "${USER_CONF}" | ||||
|     pw_download_libs | ||||
|     pw_download_mono | ||||
|     pw_download_gecko | ||||
|     pw_update_notifier | ||||
|     pw_scripts_update | ||||
|     pw_init_db | ||||
|     . "${USER_CONF}" | ||||
| fi | ||||
|   | ||||
| @@ -5,10 +5,9 @@ | ||||
| try_remove_file "${PORT_WINE_TMP_PATH}/update_notifier" | ||||
| try_remove_file "${PORT_WINE_TMP_PATH}/init_run_suc" | ||||
|  | ||||
| try_remove_file "${PORT_WINE_PATH}/data/port_on" | ||||
| try_remove_file "${PORT_WINE_PATH}/settings.desktop" | ||||
| try_remove_file "${PORT_WINE_PATH}/debug.desktop" | ||||
| try_remove_file "${PORT_WINE_PATH}/restart.desktop" | ||||
| try_remove_file "${PORT_WINE_PATH}/reset.desktop" | ||||
|  | ||||
| try_remove_dir "${PORT_WINE_PATH}/data/pfx/dosdevices" | ||||
| try_remove_dir "${PORT_WINE_PATH}/Settings" | ||||
| @@ -16,7 +15,7 @@ try_remove_dir "${PORT_SCRIPTS_PATH}/vars" | ||||
|  | ||||
| create_new_dir "/home/${USER}/.local/share/applications" | ||||
|  | ||||
| name_desktop="PortProton"  | ||||
| name_desktop="PortProton" | ||||
| echo "[Desktop Entry]"	 					  > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Name=${name_desktop}" 				 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F""	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -33,7 +32,7 @@ cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/app | ||||
| update-desktop-database -q "${HOME}/.local/share/applications" | ||||
| xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" | ||||
|  | ||||
| name_desktop="readme"  | ||||
| name_desktop="readme" | ||||
| echo "[Desktop Entry]"					 > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Name=${name_desktop}"				>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Version=1.0"					>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -42,25 +41,11 @@ echo "Icon="${PORT_WINE_PATH}/data/img/readme.png""	>> "${PORT_WINE_PATH}/${name | ||||
| echo "URL=${urlg}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|  | ||||
| for name_desktop in "reset" | ||||
| do | ||||
| 	echo ""[Desktop Entry]" | ||||
| 	"Name=${name_desktop}" | ||||
| 	"Exec=env "${PORT_SCRIPTS_PATH}/${name_desktop}"" | ||||
| 	"Type=Application" | ||||
| 	"Categories=Game" | ||||
| 	"StartupNotify=true" | ||||
| 	"Path="${PORT_SCRIPTS_PATH}/"" | ||||
| 	"Icon="${PORT_WINE_PATH}/data/img/s.png""" > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| done | ||||
| chmod u+x "${PORT_SCRIPTS_PATH}/"* | ||||
|  | ||||
| if [ "${s_install}" = "1" ]; then | ||||
| 	echo "Installation completed successfully." | ||||
| else | ||||
| 	`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1   | ||||
| 	`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1 | ||||
| 	xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 | ||||
| fi   | ||||
| fi | ||||
|  | ||||
| unset INSTALLING_PORT | ||||
| @@ -5,24 +5,25 @@ if [ -f "$1" ]; then | ||||
|     export portwine_exe="$(readlink -f "$1")" | ||||
| fi | ||||
| . "$(dirname $(readlink -f "$0"))/runlib" | ||||
| kill_portwine | ||||
|  | ||||
| PORTWINE_LAUNCH () { | ||||
|     KILL_PORTWINE | ||||
|     START_PORTWINE | ||||
| portwine_launch () { | ||||
|     start_portwine | ||||
|     PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi` | ||||
|     PORTWINE_BAT=`basename "${portwine_exe}" | grep .bat` | ||||
|     if [ ! -z "${PW_VIRTUAL_DESKTOP}" ] && [ "${PW_VIRTUAL_DESKTOP}" == "1" ] ; then | ||||
|         pw_screen_resolution=`xrandr --current | grep "*" | awk '{print $1;}' | head -1` | ||||
|         PW_RUN explorer "/desktop=portwine,${pw_screen_resolution}" "$portwine_exe" | ||||
|         pw_run explorer "/desktop=portwine,${pw_screen_resolution}" "$portwine_exe" | ||||
|     elif [ ! -z "${PORTWINE_MSI}" ]; then | ||||
|         PW_RUN msiexec /i "$portwine_exe" | ||||
|         pw_run msiexec /i "$portwine_exe" | ||||
|     elif [ ! -z "${PORTWINE_BAT}" ] || [ ! -z "${portwine_exe}" ]; then | ||||
|         PW_RUN ${WINE_WIN_START} "$portwine_exe" | ||||
|         pw_run ${WINE_WIN_START} "$portwine_exe" | ||||
|     else | ||||
|         PW_RUN explorer | ||||
|         pw_run explorer | ||||
|     fi | ||||
| } | ||||
| PORTWINE_CREATE_SHORTCUT () { | ||||
|  | ||||
| portwine_create_shortcut () { | ||||
|     if [ ! -z "${portwine_exe}" ]; then | ||||
|         PORTPROTON_EXE="${portwine_exe}" | ||||
|     else | ||||
| @@ -45,25 +46,11 @@ PORTWINE_CREATE_SHORTCUT () { | ||||
|         rm -f "${PORTPROTON_PATH}/"*.ico | ||||
|         rm -f "${PORTPROTON_PATH}/"*.png | ||||
|     fi | ||||
|     if [ ! -z "${PORTWINE_DB}" ]; then | ||||
|         PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` | ||||
|         if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "`cat "${PORTWINE_DB_FILE}"  | grep "export PW_VULKAN_USE=" | grep -v "#"`" ] ; then | ||||
|             echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORTWINE_DB_FILE}" | ||||
|         elif [ -z "${PORTWINE_DB_FILE}" ]; then | ||||
|             echo "#!/bin/bash"  > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "########################################################" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|         fi | ||||
|     fi | ||||
| name_desktop="${PORTPROTON_NAME}" | ||||
|     name_desktop="${PORTPROTON_NAME}" | ||||
|     echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     if [ -z "${PW_CHECK_AUTOINSTAL}" ] | ||||
|     then echo "Exec=env PW_GUI_DISABLED_CS=1 "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ | ||||
|     then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ | ||||
|     >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${PORTPROTON_EXE}\" "" \ | ||||
|     >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -80,8 +67,9 @@ name_desktop="${PORTPROTON_NAME}" | ||||
|     fi | ||||
|     xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & | ||||
| } | ||||
| PORTWINE_DEBUG () { | ||||
|     KILL_PORTWINE | ||||
|  | ||||
| portwine_start_debug () { | ||||
|     kill_portwine | ||||
|     export PW_LOG=1 | ||||
|     export PW_WINEDBG_DISABLE=0 | ||||
|     echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -109,11 +97,15 @@ PORTWINE_DEBUG () { | ||||
|     echo `ldd --version | grep -m1 ldd | awk '{print $NF}'` >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     if [ "${PW_VULKAN_USE}" = "0" ]; then echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OpenGL" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     elif [ "${PW_VULKAN_USE}" = "dxvk" ]; then  echo "PW_VULKAN_USE=${PW_VULKAN_USE}_v."${PW_DXVK_VER}"" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     else echo "PW_VULKAN_USE=${PW_VULKAN_USE}_v."${PW_VKD3D_VER}"" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     elif [ "${PW_VULKAN_USE}" = "dxvk" ]; then  echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     else echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     fi | ||||
|     echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Version WINE in the Port:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     print_var PW_WINE_USE >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     [ -f "${WINEDIR}/version" ] && cat "${WINEDIR}/version" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Date and time of start debug for ${portname}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Date and time of start debug for ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     date >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -151,12 +143,6 @@ PORTWINE_DEBUG () { | ||||
|         echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|         echo "!!!gamemod not found!!!"  >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     fi | ||||
|     echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Version WINE in the Port" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     if [ -f "${WINEDIR}/version" ] | ||||
|     then cat "${WINEDIR}/version" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     else ${PW_RUNTIME} "$WINELOADER" --version 2>&1 | tee -a "${PORT_WINE_PATH}/${portname}.log" | ||||
|     fi | ||||
|     echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     cat "${WINEPREFIX}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -173,96 +159,118 @@ PORTWINE_DEBUG () { | ||||
|  | ||||
|     export DXVK_HUD="full" | ||||
|  | ||||
|     PORTWINE_LAUNCH & | ||||
|     sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && KILL_PORTWINE | ||||
|     portwine_launch & | ||||
|     sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine | ||||
|     deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log"  | awk '! a[$0]++')  | ||||
|     echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --center --width=1200 --height=550  --uri-color=red \ | ||||
|     --filename="${PORT_WINE_PATH}/${portname}.log" | ||||
| } | ||||
| PW_WINECFG () { | ||||
|     START_PORTWINE | ||||
|     PW_RUN winecfg | ||||
|  | ||||
| pw_winecfg () { | ||||
|     start_portwine | ||||
|     pw_run winecfg | ||||
| } | ||||
| PW_WINEFILE () { | ||||
|     START_PORTWINE | ||||
|     PW_RUN explorer | ||||
|  | ||||
| pw_winefile () { | ||||
|     start_portwine | ||||
|     pw_run explorer | ||||
| } | ||||
| PW_WINECMD () { | ||||
|  | ||||
| pw_winecmd () { | ||||
|     export PW_USE_TERMINAL=1 | ||||
|     START_PORTWINE | ||||
|     start_portwine | ||||
|     cd "${WINEPREFIX}/drive_c" | ||||
|     ${PW_RUNTIME} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" cmd | ||||
|     ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" cmd | ||||
| } | ||||
| PW_WINEREG () { | ||||
|     START_PORTWINE | ||||
|     PW_RUN regedit | ||||
|  | ||||
| pw_winereg () { | ||||
|     start_portwine | ||||
|     pw_run regedit | ||||
| } | ||||
| PW_WINETRICKS () { | ||||
|     UPDATE_WINETRICKS | ||||
|  | ||||
| pw_winetricks () { | ||||
|     update_winetricks | ||||
|     export PW_USE_TERMINAL=1 | ||||
|     START_PORTWINE | ||||
|     ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q | ||||
|     export PW_WINE_VER="PROTON_STEAM" | ||||
|     init_wine_ver | ||||
|     cabextract_fix | ||||
|     start_portwine | ||||
|     ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q -f | ||||
| } | ||||
| PW_EDIT_DB () { | ||||
|     xdg-open "${PORTWINE_DB_FILE}" | ||||
|  | ||||
| pw_edit_db () { | ||||
|     pw_gui_for_edit_db ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_DXR_ON PW_VULKAN_NO_ASYNC PW_USE_NVAPI \ | ||||
|     PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP PW_WINEDBG_DISABLE PW_USE_TERMINAL \ | ||||
|     PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_NO_WRITE_WATCH PW_GUI_DISABLED_CS | ||||
|     if [ "$?" == 0 ] ; then | ||||
|         /bin/bash -c ${pw_full_command_line[*]} & | ||||
|         exit 0 | ||||
|     fi | ||||
| } | ||||
| PW_AUTO_INSTALL_FROM_DB () { | ||||
|     . "$PORT_SCRIPTS_PATH/autoinstall" | ||||
|     $PW_YAD_SET | ||||
|  | ||||
| pw_autoinstall_from_db () { | ||||
|     kill_portwine | ||||
|     sleep 3 | ||||
|     export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp" | ||||
|     export PW_FORCE_LARGE_ADDRESS_AWARE=0 | ||||
|     export PW_USE_GAMEMODE=0 | ||||
|     export PW_CHECK_AUTOINSTAL=1 | ||||
|     export PW_GUI_DISABLED_CS=1 | ||||
|     export PW_WINEDBG_DISABLE=1 | ||||
|     export PW_NO_WRITE_WATCH=0 | ||||
|     export PW_VULKAN_USE=0 | ||||
|     unset PW_WINE_VER | ||||
|     export PW_WINE_USE=proton_steam | ||||
|     export PW_NO_FSYNC=1 | ||||
|     export PW_NO_ESYNC=1 | ||||
|     unset PORTWINE_CREATE_SHORTCUT_NAME | ||||
|     export PW_DISABLED_CREAT_DB=1 | ||||
|     . "${PORT_SCRIPTS_PATH}/pw_autoinstall/${PW_YAD_SET}" | ||||
| } | ||||
|  | ||||
| ###MAIN### | ||||
| if [ ! -z "${PORTWINE_DB_FILE}" ] ; then | ||||
|     export YAD_EDIT_DB="--button=EDIT  DB!!${loc_edit_db} ${PORTWINE_DB}:118" | ||||
|     [ -z "${PW_COMMENT_DB}" ] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." | ||||
|     if [ -z "${PW_VULKAN_USE}" ] || [ -z "${PW_WINE_USE}" ] ; then | ||||
|         unset PW_GUI_DISABLED_CS | ||||
|         [ -z "${PW_VULKAN_USE}" ] && export PW_VULKAN_USE=dxvk | ||||
|         [ -z "${PW_WINE_USE}" ] && export PW_WINE_USE=proton_steam | ||||
|     fi | ||||
|     case "${PW_VULKAN_USE}" in | ||||
|         "vkd3d") export PW_DEFAULT_VULKAN_USE='VKD3D  (DX 12 to Vulkan)\!DXVK  (DX 9-11 to Vulkan)\!OPENGL ' ;; | ||||
|             "0") export PW_DEFAULT_VULKAN_USE='OPENGL \!DXVK  (DX 9-11 to Vulkan)\!VKD3D  (DX 12 to Vulkan)' ;; | ||||
|               *) export PW_DEFAULT_VULKAN_USE='DXVK  (DX 9-11 to Vulkan)\!VKD3D  (DX 12 to Vulkan)\!OPENGL ' ;; | ||||
|     esac | ||||
|     case "${PW_WINE_USE}" in | ||||
|         "proton_ge") export PW_DEFAULT_WINE_USE='PROTON_GE   (FSR included)\!PROTON_STEAM' ;; | ||||
|                   *) export PW_DEFAULT_WINE_USE='PROTON_STEAM\!PROTON_GE   (FSR included)' ;; | ||||
|     esac | ||||
| else | ||||
|     export PW_DEFAULT_VULKAN_USE='DXVK  (DX 9-11 to Vulkan)\!VKD3D  (DX 12 to Vulkan)\!OPENGL ' | ||||
|     export PW_DEFAULT_WINE_USE='PROTON_STEAM\!PROTON_GE   (FSR included)' | ||||
|     unset PW_GUI_DISABLED_CS | ||||
| fi | ||||
| if [ ! -z "${portwine_exe}" ]; then | ||||
|     if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] || [ -z "${PW_VULKAN_USE}" ]; then | ||||
|         if [ ! -z "${PORTWINE_DB_FILE}" ] && [ ! -z "${PW_VULKAN_USE}" ]; then | ||||
|             if [ -z "${PW_COMMENT_DB}" ] ; then | ||||
|                 PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." | ||||
|             fi | ||||
|             OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \ | ||||
|             --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ | ||||
|             --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|             --button='EDIT  DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ | ||||
|             --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ | ||||
|             --button='DEBUG'!!"${loc_debug}":102 \ | ||||
|             --button='LAUNCH'!!"${loc_launch}":106 ) | ||||
|             PW_YAD_SET="$?" | ||||
|         elif [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then | ||||
|             if [ -z "${PW_COMMENT_DB}" ] ; then | ||||
|                 PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." | ||||
|             fi | ||||
|             OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \ | ||||
|             --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ | ||||
|             --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|             --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ | ||||
|             --button='EDIT  DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ | ||||
|             --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ | ||||
|             --button='DEBUG'!!"${loc_debug}":102 \ | ||||
|             --button='LAUNCH'!!"${loc_launch}":106 ) | ||||
|             PW_YAD_SET="$?" | ||||
|             export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'` | ||||
|         else | ||||
|             OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center  \ | ||||
|             --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ | ||||
|             --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|             --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ | ||||
|             --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ | ||||
|             --button='DEBUG'!!"${loc_debug}":102 \ | ||||
|             --button='LAUNCH'!!"${loc_launch}":106 ) | ||||
|             PW_YAD_SET="$?" | ||||
|             export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'` | ||||
|         fi | ||||
|     elif [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
|         PORTWINE_LAUNCH | ||||
|     else | ||||
|         OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center  \ | ||||
|     if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] ; then | ||||
|         OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center  \ | ||||
|         --title "$portname"  --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ | ||||
|         --field="Run with :CB" "${PW_DEFAULT_VULKAN_USE}" \ | ||||
|         --field="Run with :CB" "${PW_DEFAULT_WINE_USE}" \ | ||||
|         --field=":LBL" "" \ | ||||
|         "${YAD_EDIT_DB}" \ | ||||
|         --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ | ||||
|         --button='DEBUG'!!"${loc_debug}":102 \ | ||||
|         --button='LAUNCH'!!"${loc_launch}":106 ) | ||||
|         PW_YAD_SET="$?" | ||||
|         export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'` | ||||
|         export PW_YAD_SET="$?" | ||||
|         if [ "$PW_YAD_SET" == "1" ] || [ "$PW_YAD_SET" == "252" ] ; then exit 0 ; fi | ||||
|         export VULKAN_MOD=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}' | awk '{print $1}'` | ||||
|         export PW_WINE_VER=`echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $2}' | awk '{print $1}'` | ||||
|     elif [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
|         portwine_launch | ||||
|     fi | ||||
| else | ||||
|     button_click () { | ||||
| @@ -280,8 +288,43 @@ else | ||||
|     } | ||||
|     export -f open_changelog | ||||
|  | ||||
|     gui_clear_pfx () { | ||||
|         if gui_question "${port_clear_pfx}" ; then | ||||
|             pw_clear_pfx | ||||
|         fi | ||||
|     } | ||||
|     export -f gui_clear_pfx | ||||
|  | ||||
|     gui_rm_portproton () { | ||||
|         if gui_question "${port_del2}" ; then | ||||
|             rm -fr "${PORT_WINE_PATH}" | ||||
|             rm -fr "${HOME}/.PortWINE" | ||||
|             rm -f `grep -il PortProton "${HOME}/.local/share/applications"/*` | ||||
|             update-desktop-database -q "${HOME}/.local/share/applications" | ||||
|         fi | ||||
|         exit 0 | ||||
|     } | ||||
|     export -f gui_rm_portproton | ||||
|  | ||||
|     gui_wine_uninstaller () { | ||||
|         start_portwine | ||||
|         pw_run uninstaller | ||||
|     } | ||||
|     export -f gui_wine_uninstaller | ||||
|  | ||||
|     gui_open_var () { | ||||
|         xdg-open "${PORT_SCRIPTS_PATH}/var" | ||||
|     } | ||||
|     export -f gui_open_var | ||||
|  | ||||
|     export KEY=$RANDOM | ||||
|     "${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=2  --scroll \ | ||||
|     "${pw_yad}" --plug=$KEY --tabnum=3 --form --columns=2 \ | ||||
|     --field="CLEAR PREFIX":"BTN" '@bash -c "button_click gui_clear_pfx"'  \ | ||||
|     --field="EDIT SCRIPT VAR":"BTN" '@bash -c "button_click gui_open_var"' \ | ||||
|     --field="WINE UNINSTALLER":"BTN" '@bash -c "button_click gui_wine_uninstaller"' \ | ||||
|     --field="REMOVE PORTPROTON":"BTN" '@bash -c "button_click gui_rm_portproton"' & \ | ||||
|  | ||||
|     "${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=3  --scroll  --height=500 \ | ||||
|     --field="   Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \ | ||||
|     --field="   Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png":"BTN" '@bash -c "button_click PW_BATTLE_NET"' \ | ||||
|     --field="   Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png":"BTN" '@bash -c "button_click PW_EPIC"' \ | ||||
| @@ -289,33 +332,44 @@ else | ||||
|     --field="   Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png":"BTN" '@bash -c "button_click PW_UBC"' \ | ||||
|     --field="   Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png":"BTN" '@bash -c "button_click PW_STEAM"' \ | ||||
|     --field="   EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \ | ||||
|     --field="   Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' & \ | ||||
|     --field="   Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' \ | ||||
|     --field="   Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/Bethesda.png":"BTN" '@bash -c "button_click PW_BETHESDA"' \ | ||||
|     --field="   Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png":"BTN" '@bash -c "button_click PW_ROCKSTAR"' \ | ||||
|     --field="   My.Games Launcher"!"$PW_GUI_ICON_PATH/mygames.png":"BTN" '@bash -c "button_click PW_MYGAMES"' \ | ||||
|     --field="   OSU"!"$PW_GUI_ICON_PATH/osu.png":"BTN" '@bash -c "button_click PW_OSU"' \ | ||||
|     --field="   Glyph Client"!"$PW_GUI_ICON_PATH/glyph.png":"BTN" '@bash -c "button_click  PW_GLYPH"' \ | ||||
|     --field="   Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png":"BTN" '@bash -c "button_click PW_ANKAMA"' \ | ||||
|     --field="   Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png":"BTN" '@bash -c "button_click  PW_GAMEFORGE"' & \ | ||||
|  | ||||
|     "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \ | ||||
|     --image "$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --field=":CB" "  DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ | ||||
|     --field=":CB" "  DXVK  (DX 9-11 to Vulkan)"\!"VKD3D  (DX 12 to Vulkan)"\!"OPENGL " \ | ||||
|     --field=":LBL" "" \ | ||||
|     --field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \ | ||||
|     --field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \ | ||||
|     --field="${portname}-${install_ver} (${scripts_install_ver})"!!"":"FBTN" '@bash -c "open_changelog"' \ | ||||
|     --field=":CB" "  PROTON_STEAM"\!"  PROTON_GE   (FSR included)" \ | ||||
|     --field=":LBL" "" \ | ||||
|     --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \ | ||||
|     --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \ | ||||
|     --field="F.A.Q."!!"":"FBTN" '@bash -c "xdg-open https://portwine-linux.ru/portwine-faq/ ; button_click"' \ | ||||
|     --field="${portname}-${install_ver} (${scripts_install_ver})"!!"":"FBTN" '@bash -c "open_changelog"' \ | ||||
|     --field=":LBL" "" \ | ||||
|     --field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \ | ||||
|     --field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & \ | ||||
|  | ||||
|     "${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \ | ||||
|     --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --center  | ||||
|     --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --tab="    SETTINGS" --center | ||||
|     YAD_STATUS="$?" | ||||
|     if [ "$YAD_STATUS" == "1" ] || [ "$YAD_STATUS" == "252" ] ; then exit 0 ; fi | ||||
|  | ||||
|     if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then | ||||
|         export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'` | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form" | ||||
|     fi | ||||
|     if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then | ||||
|         export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}'` | ||||
|         cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | ||||
|         export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}' | awk -F";" '{print $1}'` | ||||
|         export PW_WINE_VER=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk -F";" '{print $5}' | awk '{print $1}'` | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | ||||
|     fi | ||||
| fi | ||||
| @@ -325,18 +379,40 @@ if [ ! -z "${VULKAN_MOD}" ] ; then | ||||
|     elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0" | ||||
|     fi | ||||
| fi | ||||
|  | ||||
| init_wine_ver | ||||
|  | ||||
| if [ -z "${PW_DISABLED_CREAT_DB}" ] ; then | ||||
|     if [ ! -z "${PORTWINE_DB}" ] ; then | ||||
|         PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` | ||||
|         if [ -z "${PORTWINE_DB_FILE}" ] ; then | ||||
|             echo "#!/bin/bash"  > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" | ||||
|             export PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db/${PORTWINE_DB}" | ||||
|         fi | ||||
|         edit_db_from_gui PW_VULKAN_USE PW_WINE_USE | ||||
|     fi | ||||
| fi | ||||
| echo "PW_YAD_SET=$PW_YAD_SET" | ||||
| case "$PW_YAD_SET" in | ||||
|     1|252) exit 0 ;; | ||||
|     100) PORTWINE_CREATE_SHORTCUT ;; | ||||
|     DEBUG|102) PORTWINE_DEBUG ;; | ||||
|     106) PORTWINE_LAUNCH ;; | ||||
|     WINECFG|108) PW_WINECFG ;; | ||||
|     WINEFILE|110) PW_WINEFILE ;; | ||||
|     WINECMD|112) PW_WINECMD ;; | ||||
|     WINEREG|114) PW_WINEREG ;; | ||||
|     WINETRICKS|116) PW_WINETRICKS ;; | ||||
|     118) PW_EDIT_DB ;; | ||||
|     *) PW_AUTO_INSTALL_FROM_DB ;; | ||||
|     100) portwine_create_shortcut ;; | ||||
|     DEBUG|102) portwine_start_debug ;; | ||||
|     106) portwine_launch ;; | ||||
|     WINECFG|108) pw_winecfg ;; | ||||
|     WINEFILE|110) pw_winefile ;; | ||||
|     WINECMD|112) pw_winecmd ;; | ||||
|     WINEREG|114) pw_winereg ;; | ||||
|     WINETRICKS|116) pw_winetricks ;; | ||||
|     118) pw_edit_db ;; | ||||
|     gui_clear_pfx) gui_clear_pfx ;; | ||||
|     gui_open_var) gui_open_var ;; | ||||
|     gui_wine_uninstaller) gui_wine_uninstaller ;; | ||||
|     gui_rm_portproton) gui_rm_portproton ;; | ||||
|     *) pw_autoinstall_from_db ;; | ||||
| esac | ||||
| ######################################################################## | ||||
| STOP_PORTWINE | ||||
|  | ||||
| stop_portwine | ||||
|   | ||||
| @@ -1,52 +1,65 @@ | ||||
| #!/bin/bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| #Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| #SCRIPTS_NEXT_VERSION=2011 | ||||
| ######################################################################## | ||||
| #export PW_MANGOHUD=1 | ||||
| #export MANGOHUD_CONFIG=full,height=500,font_size=24,position=top-left,toggle_hud=F12 | ||||
| export PW_MANGOHUD=1 | ||||
| export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt | ||||
| #export DXVK_HUD=fps,devinfo | ||||
| #export ENABLE_VKBASALT=1 | ||||
| #export PW_VIRTUAL_DESKTOP=1 | ||||
|  | ||||
| #export PW_XKBD_RU_HACK=1 | ||||
| export PW_USE_RUNTIME=1     # 0 - disabled; 1 - enabled | ||||
| export PW_RT_MOUNT_RO=("${HOME}/.PortWINE") | ||||
| export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}") | ||||
| #export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}" | ||||
|  | ||||
| export PW_NO_ESYNC=1 | ||||
| export PW_USE_GAMEMODE=1 | ||||
| export PW_FORCE_USE_VSYNC=2 | ||||
| export PW_LOG=0 | ||||
| export PW_TERM="" | ||||
| export PW_USE_TERMINAL=0 | ||||
|  | ||||
| export PW_MUST_HAVE_DLL="d3dx9_43 physx mfc42 vcrun2019 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9" | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
|  | ||||
| export PW_WINDOWS_VER="10" | ||||
| export WINEARCH="win64" | ||||
| export PW_LIBS_VER="_v17" | ||||
| export PORTWINE_URL="http://portwine-linux.ru/" | ||||
| export GDK_BACKEND="x11" | ||||
|  | ||||
| export mono_ver=6.1.2 | ||||
| export gecko_ver=2.47.2 | ||||
| export pw_libs_ver="_v15" | ||||
|  | ||||
| export WINEDIR="${PORT_WINE_PATH}/data/dist" | ||||
| export PW_PROTON_GE_VER="6.16-GE-1" | ||||
| export PW_MONO_VER="6.3.0" | ||||
| export PW_GECKO_VER="2.47.2" | ||||
| export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" | ||||
| export WINE_WIN_START="start.exe /i /unix" | ||||
| export WINE_FULLSCREEN_FSR="1" | ||||
| export WINE_FULLSCREEN_FSR_STRENGTH="2" | ||||
|  | ||||
| export porturl="http://portwine-linux.ru/" | ||||
|  | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| ######################################################################## | ||||
| ADD_IN_START_PORTWINE () | ||||
| ################################################################# | ||||
| add_in_start_portwine () | ||||
| { | ||||
| echo " " | ||||
| } | ||||
| ######################################################################## | ||||
| ADD_IN_STOP_PORTWINE () | ||||
| add_in_stop_portwine () | ||||
| { | ||||
| echo " " | ||||
| } | ||||
| ######################################################################## | ||||
| PW_OTHER_FIXES () { | ||||
|     #fix after installation Origin, for disabled OriginWebHelperService by default | ||||
|     if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep Origin.exe | head -n 1 | awk '{print $1}'` ] ; then | ||||
|         sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3))) | ||||
| pw_other_fixes () { | ||||
| #fix after installation Origin, for disabled OriginWebHelperService by default | ||||
| if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep -wm 1 "Origin.exe" | awk '{print $1}'` ] ; then | ||||
|     sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3))) | ||||
|     sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" | ||||
| fi | ||||
| #fix after installation PnkBstr*, for disabled PnkBstr* by default | ||||
| for fix_reg in "PnkBstrA.exe" "PnkBstrB.exe" ; do | ||||
|     if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep -wm 1 "${fix_reg}" | awk '{print $1}'` ] ; then | ||||
|         sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep "${fix_reg}" | awk '{print $1}'` + 3))) | ||||
|         sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" | ||||
|     fi | ||||
| done | ||||
| } | ||||
| ###FOR_OLD_VERSION_PORTPROTON### | ||||
| #SCRIPTS_VERSION=1000 | ||||
|   | ||||