Compare commits
	
		
			11 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 3ebfdbab2a | ||
|  | 3cab2af043 | ||
|  | 7102314fb2 | ||
|  | c1a0930ba4 | ||
|  | e06cca91e5 | ||
|  | 481d83890a | ||
|  | 5e65b4c55e | ||
|  | e9cb98818e | ||
|  | 447c314ded | ||
|  | 7168b32480 | ||
|  | 361c737c18 | 
| @@ -1,23 +1,99 @@ | ||||
| История изменений и дальнейшие планы: | ||||
| ----------------------------------------- | ||||
| В планах: | ||||
| * добавить автоматическое обновление при выходе нового порта | ||||
| * добавить вывод ошибки при скачивании файла при автоматической установки | ||||
| * создать ветку beta на github и сделать выбор версии внутри порта | ||||
| * проверить Overwatch | ||||
| * перенести reset в GUI PortProton | ||||
| * добавить фикс установки dotnet | ||||
| * добавить кнопку очистки префикса в PortProton | ||||
| * проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip | ||||
| * добавить условие: если установлен vcrun2019, то не устанавливать vcrun2015-2017 | ||||
| * EDIT DB открывается не у всех | ||||
| * пересоздать удаление PortProton (чистка ярлыков в меню с помощью grep "путь до порта") | ||||
| * проверить windows steam под PortProton | ||||
| * создать defaut префикс и сделать авто симлинки в другие префиксы (games, programm files, users) | ||||
| * иконка в трей для PortProton | ||||
| * сменить цвет url | ||||
| * добавить контроль за окнами для правильного отключения прогресс бара | ||||
| * проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g' | ||||
| * проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g' | ||||
| * зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru | ||||
| ----------------------------------------- | ||||
| ###PortProton-80### 18.05.2021 ###Scripts version 1076### | ||||
| * при любом использовании winetricks добавлен аргумент -r (для автоматического перекачивания библиотек, если хеш-суммы не совпадают) | ||||
| * winetricks запущенный с GUI работает без контейнерного режима | ||||
| * временно глобально отклчени gamemode в скрипте var (необходим тест) | ||||
| * начальная адаптация скриптов под контейнерный режим запуска wine | ||||
| * libs_v11 обновлен и переведен полностью на контейнерный режим запуска | ||||
| * в PortProton.desktop изменен аргумент с %U на %F | ||||
|  | ||||
| ###PortProton-80### 11.05.2021 ###Scripts version 1075### | ||||
| * обновлен WINE до версии Proton 6.8 GE 1 | ||||
| * обновлена инициализация и настройка  префикса под новые версии Proton GE | ||||
|  | ||||
| ###Scripts version 1074### | ||||
| * HOTFIX - добалено ожидание окончания создания префикса, перед продолжением использования порта | ||||
|  | ||||
| ###Scripts version 1073### | ||||
| * HOTFIX - создание каталога drive_c перед созданием симлинка на него | ||||
|  | ||||
| ###Scripts version 1072### | ||||
| * HOTFIX - создание префикса (каталог dosedevices с симлинками) под всеми ОС Linux и разными версиями Proton (включая GE) | ||||
|  | ||||
| ###Scripts version 1071### | ||||
| * HOTFIX - был ошибочно убран аргумент SkipBuildPatchPrereq для Epic (вернули) | ||||
|  | ||||
| ###Scripts version 1070### | ||||
| * HOTFIX - GUI возвращен в стандартный вид | ||||
|  | ||||
| ###Scripts version 1069### | ||||
| * обновлены db файлы | ||||
| * HOTFIX -закомментирована переменная __NV_PRIME_RENDER_OFFLOAD=1 для работы некоторых игр в оконном режиме с видеокартой от NVIDIA | ||||
|  | ||||
| ###PortProton-79### 04.05.2021 ###Scripts version 1068### | ||||
| * обновлен Proton до версии 6.3-3 от 04.05.2021 | ||||
|  | ||||
| ###Scripts version 1067### | ||||
| * HOTFIX - удален аргумент /b при запуске приложений (fix для WGC) | ||||
| * фикс запуска функции PW_OTHER_FIXES | ||||
| * добавлена проверка повторной установки EVE Online из AUTOINSTALL | ||||
|  | ||||
| ###Scripts version 1066### | ||||
| * виртуальный рабочий стол включенный из db файла, или глобально из скрипта "var" исправно работает с любой игрой/программой | ||||
| * фикс работы переменной "PW_GUI_DISABLED_CS=1" прописанной в .desktop файле | ||||
| * улучшеный режим запуска всех приложений с помощью аргументов start /b /unix | ||||
|  | ||||
| ###Scripts version 1062, 1063, 1064 и 1065### | ||||
| * HOTFIX - убрана переменная PW_VULKAN_USE из скрипта runlib | ||||
|  | ||||
| ###PortProton-78### 03.05.2021 ###Scripts version 1061### | ||||
| * обновлен Proton 6.3 (стабильная ветка + патченный netprofm.dll) | ||||
| * полностью исправлена проблема с фокусом мыши | ||||
| * отключена авто отчистка префикса во время обновления порта | ||||
| * в GUI изменен цвет ссылок url на красный | ||||
| * частичная чистка кода | ||||
| * HOTFIX - исправлено ложное срабатывание проверки скачивания (проверка успешного скачивания/распаковки всех компонентов и удаление архивов если одно из условий не истина) | ||||
| * при ошибке скачивания одного из компонентов PortProton добавлено оповещение с автоматическим перезапуском. | ||||
|  | ||||
| ###Scripts version 1060### | ||||
| * фикс работы EVE Online + Proton Experimental (netprofm.dll) | ||||
|  | ||||
| ###Scripts version 1059### | ||||
| * gnome-terminal отрабатывает не правильно, возвращен xterm | ||||
| * вместо vcrun2015-2017 принудительно ставится vcrun2019 (так как имеет кумулятивные обновления) | ||||
|  | ||||
| ###PortProton-77### 01.05.2021 ###Scripts version 1057### | ||||
| * обновлен Proton Experimental от 29.04.2021 | ||||
| * используется default_pfx при создании нового префикса | ||||
| * фикс выбора режима запуска при уже созданном ярлыке, но отсутствующем PW_VULKAN_USE | ||||
|  | ||||
| ###Scripts version 1056### | ||||
| * исправлена работа gnome-terminal если "$SHELL" не равен "/bin/bash" | ||||
|  | ||||
| ###Scripts version 1055### | ||||
| * fix YAD | ||||
|  | ||||
| ###Scripts version 1054### | ||||
| * добавлен p7zip в libs_v10 | ||||
| * изменен приотет использования терминала (системный в приоритете как для KDE, GNOME, Cinnamon и LXQT) | ||||
| * в AUTOINSTALL реализованна "тихая" установка EVE Online | ||||
|  | ||||
| ###Scripts version 1053### | ||||
| * HOTFIX - перенос всех функций в скрипте runlib (наверх) | ||||
| * добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager) | ||||
| @@ -63,7 +139,7 @@ | ||||
| * выбор debug снова есть при запуска с ярлыка PortProton | ||||
| * минимальный набор библиотек для установки с winetricks перенесен в default db | ||||
| * проверка уже установленных библиотек с помощью winetricks повторно не производится | ||||
| * после создания нового префикса, требование перезапуска порта больше нет  | ||||
| * после создания нового префикса, требование перезапуска порта больше нет | ||||
| * обновление префикса происходит в фоновом режиме | ||||
| * улучшена работа прогресс-бара | ||||
|  | ||||
| @@ -80,8 +156,8 @@ | ||||
|  | ||||
| ###PortProton-75### 24.04.2021 ###Scripts version 1040### | ||||
| * обновлен wine Proton experimental 6.3 от 23.04.2021 | ||||
| * добавлена функция pw_clear_pfx для отчистки префикса порта во время обновления без затрагивания игр и программ  | ||||
| * проверка и настройка переменных для MANGOHUD добавлены функцию pw_mangohud_check  | ||||
| * добавлена функция pw_clear_pfx для отчистки префикса порта во время обновления без затрагивания игр и программ | ||||
| * проверка и настройка переменных для MANGOHUD добавлены функцию pw_mangohud_check | ||||
| * версия VKD3D по умолчанию = 2.3 | ||||
| * добавлена поддержка DXR (RTX) в режиме VKD3D, при условии использования переменной PW_DXR_ON=1 | ||||
| * переменная PW_DXR_ON добавлена в default db | ||||
| @@ -101,12 +177,12 @@ | ||||
| * удален каталог vars (из за db файлоа больше в нем нет необходимости) | ||||
| * скрипт PortProton_vars перенесен в каталог scripts и переименован в var | ||||
| * добавлена проверка установки mangohud в систему | ||||
| * уменьшина ширина индикатора загрузки на 100px  | ||||
| * уменьшина ширина индикатора загрузки на 100px | ||||
| * улучшено определение необходимого db файла для запуска | ||||
|  | ||||
| ###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") "vcrun6 mfc42 vcrun6sp6 mfc120 vcrun2013" | ||||
| * добавить выбор версий dxvk и vkd3d в db файле, с последующей закачкой с github при отсутствии в ~/.PortWINE/vulkan | ||||
| * обновлены libs до v9 (добавлен пакет zstd для реализация функции смены vkd3d) | ||||
| * произведена частичная чистка и оптимизация кода | ||||
| @@ -132,31 +208,31 @@ | ||||
| * убран xterm из debug (иначе ломает шрифты) | ||||
| * добавлена кнопка редактирования найденного db файла | ||||
| * ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force | ||||
| * изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")"  | ||||
| * изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")" | ||||
| * автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42" | ||||
| * исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла | ||||
| * исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs  | ||||
| * исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs | ||||
|  | ||||
| ###PortProton-71###    11.04.2021   | ||||
| ###PortProton-71###    11.04.2021 | ||||
| * отключено обновление libs, mono и gecko во время установки PortProton | ||||
| * проверка версии glibc перед установкой, если версия ниже необходимой, то выводим ошибку | ||||
| * добавлена проверка хеш-суммы порта на ftp перед установкой | ||||
| * добавлен прогресс загрузки библиотек с интернета | ||||
| * добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла  | ||||
| * добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла | ||||
| * исправлено дублирование db файлов при создании ярлыков | ||||
| * перенос libs с сервера PortWINE-Linux.ru на https://github.com/Castro-Fidel/PortWINE/releases/  | ||||
| * скачивание mono оф. github mono  | ||||
| * скачивание gecko оф. ftp winehq  | ||||
| * перенос libs с сервера PortWINE-Linux.ru на https://github.com/Castro-Fidel/PortWINE/releases/ | ||||
| * скачивание mono оф. github mono | ||||
| * скачивание gecko оф. ftp winehq | ||||
| * в /data/scripts/vars/PortProton_vars добавлена переменная PW_MANGOHUD=1 что включает HUD для монитроринга FPS, нагрузку на CPU, GPU и т.п (при условии что в системе предустановлен пакет mangohud) | ||||
| * обновлена локализация подсказок при наведении на кнопки на экране выбора режимов запуска (русская и английская версии) | ||||
| * добавлена проверка соединения с серверами и докачки winetricks, libs, mono, gecko. | ||||
| * произведена глобальная чистка кода и вынос множества решений в отдельные функции | ||||
| * дебаг теперь открывается в системном текстовом редакторе  | ||||
| * дебаг теперь открывается в системном текстовом редакторе | ||||
| * в дебаг добавлен инвайт (ссылка-приглашение) на наш сервер Discord | ||||
| * убран CREATE_SHORTCUT и LAUNCH при запуске PortProton.desktop | ||||
| * убрано удаление кэша winetricks | ||||
|  | ||||
| ###PortProton-70###    05.04.2021    | ||||
| ###PortProton-70###    05.04.2021 | ||||
| * обновлен wine до версии proton 6.3-1 | ||||
| * обновлены dxvk и vkd3d поставляемые вместе с proton 6.3-1 | ||||
| * обновлены библиотеки до версии libs_v7 | ||||
| @@ -187,3 +263,7 @@ | ||||
| поддерживаются gamemode, FSYNC, ESYNC  из "коробки"  | ||||
| * простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению)  | ||||
| * добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась) | ||||
|  | ||||
| ###ЗАМЕТКИ### | ||||
| * проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g' | ||||
| * проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g' | ||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/dist/lib/wine/dxvk/dxvk_config.dll
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								data_from_portwine/dist/lib/wine/dxvk/dxvk_config.dll
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/dist/lib64/wine/dxvk/dxvk_config.dll
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								data_from_portwine/dist/lib64/wine/dxvk/dxvk_config.dll
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -2,17 +2,17 @@ | ||||
| # 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_FORCE_DISABLED_GAMEMOD=1  | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE=0 | ||||
| export PW_FORCE_DISABLED_GAMEMOD=1 | ||||
| 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  | ||||
| export PW_NO_WRITE_WATCH=0 | ||||
| export PW_VULKAN_USE=0 | ||||
| export PW_NO_FSYNC=1 | ||||
| export PW_NO_ESYNC=1 | ||||
|  | ||||
| PW_WGC () { | ||||
|     export LAUNCH_PARAMETERS=("/SILENT" "/SP-")    | ||||
|     export LAUNCH_PARAMETERS=("/SILENT" "/SP-") | ||||
|     [ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_RU.exe" | ||||
|     START_PORTWINE | ||||
| @@ -107,15 +107,19 @@ PW_GOG () { | ||||
| PW_EVE () { | ||||
|     export PW_WINDOWS_VER=10 | ||||
|     export PW_DLL_INSTALL="vcrun2017" | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1602194.exe" | ||||
|     export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe" | ||||
|     START_PORTWINE | ||||
|     if try_download "https://binaries.eveonline.com/EveLauncher-1602194.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         PW_START_PROGRESS_BAR_CS "Installing the EVE Launcher. Please wait..." | ||||
|         PW_RUN "${PW_AUTOINSTALL_EXE}" | ||||
|         portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "evelauncher.exe"` | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|         KILL_PORTWINE | ||||
|         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 | ||||
|   | ||||
| @@ -1,17 +1,18 @@ | ||||
| #!/bin/bash | ||||
| #Author: dez | ||||
| #Battle.net Launcher.exe  | ||||
| #Battle.net Launcher.exe | ||||
| #Battle.net-Setup.exe | ||||
| #Battle.net.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| ##export PW_VULKAN_USE=dxvk | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="locationapi=" | ||||
| export PW_DLL_INSTALL="vcrun2017 d3dx11_42 d3dx11_43" | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43" | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_NVAPI_DISABLE=1 | ||||
|  | ||||
| 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" | ||||
|   | ||||
| @@ -3,7 +3,5 @@ | ||||
| #EpicGamesLauncher.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export WINEDLLOVERRIDES="libglesv2=" | ||||
| export LAUNCH_PARAMETERS="-opengl -SkipBuildPatchPrereq" | ||||
| export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2013 vcrun2017 d3dcompiler_43 d3dcompiler_47 d3dx9" | ||||
| export MESA_GL_VERSION_OVERRIDE=4.4COMPAT | ||||
| export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2013 vcrun2019 d3dcompiler_43 d3dcompiler_47 d3dx9" | ||||
|   | ||||
| @@ -4,8 +4,7 @@ | ||||
| #GOG_Galaxy_2.0.exe | ||||
| #Rating=1-5 | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export WINEDLLOVERRIDES="galaxycommunication.exe=n" | ||||
| export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2=" | ||||
| export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated" | ||||
| export PW_DLL_INSTALL="vcrun2017 vcrun6 mfc140" | ||||
| ADD_IN_START_PORTWINE () | ||||
| @@ -13,4 +12,4 @@ 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" | ||||
| fi | ||||
| }  | ||||
| } | ||||
| @@ -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 | ||||
							
								
								
									
										43
									
								
								data_from_portwine/scripts/portwine_db/NovaRO
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								data_from_portwine/scripts/portwine_db/NovaRO
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| #!/bin/bash | ||||
| #Author: sergey | ||||
| #Nova Patcher.exe | ||||
| #NovaRO.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_DLL_INSTALL="d3dcompiler_42 d3dcompiler_43 d3dx9" | ||||
| #directx9  | ||||
| #####################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_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=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_VKD3D_FEATURE_LEVEL=1 | ||||
| ##export PW_DXGI_FROM_DXVK=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_FORCE_DISABLED_GAMEMOD=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 | ||||
| ##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_LOG=1                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
							
								
								
									
										10
									
								
								data_from_portwine/scripts/portwine_db/SimCity
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								data_from_portwine/scripts/portwine_db/SimCity
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #!/bin/bash | ||||
| #Author: Cefeiko | ||||
| #SimCity.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_COMMENT_DB="SimCity 5" | ||||
| export PW_DLL_INSTALL="vcrun2010 vcrun2012 vcrun2019 d3dcompiler_43 d3dcompiler_47 d3dx9"               # Install DDL in port prefix (used winetricks)  | ||||
| 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 | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
							
								
								
									
										8
									
								
								data_from_portwine/scripts/portwine_db/SkyrimSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data_from_portwine/scripts/portwine_db/SkyrimSE
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| #!/bin/bash | ||||
| #Author: kbp95 | ||||
| #SkyrimSE.exe | ||||
| #Rating=1-5 | ||||
| ######################################################## | ||||
| export PW_VULKAN_USE=dxvk | ||||
| export PULSE_LATENCY_MSEC=90 | ||||
| export WINEDLLOVERRIDES="xaudio2_7=n,b" | ||||
| @@ -1,8 +1,9 @@ | ||||
| #!/bin/bash | ||||
| #Author: xuser | ||||
| #WorldOfTanks.exe  | ||||
| #WorldOfTanks.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=dxvk                       #dxvk, vkd3d or 0 for OpenGL | ||||
| export PW_DLL_INSTALL="lucida"     # Install DDL in port prefix (used winetricks)  | ||||
| export WINEDLLOVERRIDES="xaudio2_7="             | ||||
| export PW_DLL_INSTALL="lucida vcrun2019"     # Install DDL in port prefix (used winetricks)  | ||||
| export WINEDLLOVERRIDES="xaudio2_7=" | ||||
| export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
|   | ||||
| @@ -19,7 +19,6 @@ | ||||
| ##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_VKD3D_FEATURE_LEVEL=1 | ||||
| ##export PW_DXGI_FROM_DXVK=1 | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| @@ -46,4 +45,4 @@ | ||||
|  | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
|  | ||||
| export PW_DLL_INSTALL="vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9"  | ||||
| export PW_DLL_INSTALL="vcrun2019 vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9"  | ||||
|   | ||||
							
								
								
									
										42
									
								
								data_from_portwine/scripts/portwine_db/iw3sp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								data_from_portwine/scripts/portwine_db/iw3sp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| #!/bin/bash | ||||
|     #Author: xihnik | ||||
|     #iw3sp.exe  | ||||
|     #Rating=1-5 | ||||
|     ################################################ | ||||
|     export PW_VULKAN_USE=dxvk | ||||
|     export PW_DLL_INSTALL="vcrun2019 d3dx9" | ||||
|     export PW_NO_FSYNC=1 | ||||
|     export PW_VIRTUAL_DESKTOP=1 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##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_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_NVAPI_DISABLE=1 | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod | ||||
| ##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export DXVK_HUD=fps,devinfo | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##ADD_IN_START_PORTWINE () { commands ; } | ||||
							
								
								
									
										44
									
								
								data_from_portwine/scripts/portwine_db/iw4sp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								data_from_portwine/scripts/portwine_db/iw4sp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| #!/bin/bash | ||||
|     #Author: xihnik | ||||
|     #iw4sp.exe  | ||||
|     #Rating=1-5 | ||||
|     ################################################ | ||||
|     export PW_VULKAN_USE=dxvk | ||||
|     export PW_DLL_INSTALL="vcrun2019 d3dx9" | ||||
|     export PW_NO_FSYNC=1 | ||||
|     #export PW_FORCE_USE_VSYNC=0 | ||||
|     #export PW_WINDOWS_VER=7 | ||||
|     export PW_VIRTUAL_DESKTOP=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_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 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_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod | ||||
| ##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| ##export 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_HEAP_DELAY_FREE=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##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 ; } | ||||
| @@ -1,17 +1,18 @@ | ||||
| #!/bin/bash | ||||
| #Author: PortWINE | ||||
| #wgc.exe  | ||||
| #wgc.exe | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| #export PW_VULKAN_USE=dxvk                       #dxvk, vkd3d or 0 for OpenGL | ||||
| export LAUNCH_PARAMETERS="--disable-gpu"            # Additional launch options | ||||
| export PW_USE_TERMINAL=1 | ||||
| export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| export PW_NVAPI_DISABLE=1 | ||||
| export WINEDLLOVERRIDES="ucrtbase=b,n" | ||||
| #export PW_USE_TERMINAL=1 | ||||
| #export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP | ||||
| #export PW_NVAPI_DISABLE=1 | ||||
| #export WINEDLLOVERRIDES="xaudio2_7=n" | ||||
| 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 | ||||
|  | ||||
| ADD_IN_START_PORTWINE () {  | ||||
| ADD_IN_START_PORTWINE () { | ||||
|     sed -i 's/true/false/g' "$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/preferences.xml" | ||||
| } | ||||
|    | ||||
| @@ -16,9 +16,9 @@ if [ "${s_install}" != "1" ] && [ ! -x "`which "zenity" 2>/dev/null`" ];then | ||||
|     xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 | ||||
| fi | ||||
| pw_ping_test () { | ||||
|     ping -w5 -c1 github.com &> /dev/null | ||||
|     ping -w3 -c1 github.com &> /dev/null | ||||
|     [ "$?" == "0" ] && return 0 || return 1 | ||||
| }   | ||||
| } | ||||
| print_error () { | ||||
|     echo "ERROR: $@" | ||||
| } | ||||
| @@ -29,13 +29,15 @@ 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" | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to copy file $1" | ||||
|     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" | ||||
|         [ "$?" != 0 ] && print_error "failed to copy file $1 to $2" || return 0 | ||||
|         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 | ||||
|     return 1   | ||||
| } | ||||
| try_copy_dir () { | ||||
|     if [ ! -d "$1" ] ; then	print_info "directory $1 not found for copy" | ||||
| @@ -81,11 +83,14 @@ try_force_link_dir () { | ||||
| } | ||||
| try_download () { | ||||
|     set -o pipefail | ||||
|     wget -c -t 10 -T 1 "$1" --output-document="$2" 2>&1 | \ | ||||
|     wget -c -t 5 -T 2 "$1" --output-document="$2" 2>&1 | \ | ||||
|     sed -u 's/^[a-zA-Z\-].*//; s/.* \{1,2\}\([0-9]\{1,3\}\)%.*/\1\n#Downloading... \1%/; s/^20[0-9][0-9].*/#Done./' | \ | ||||
|     zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && 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" | ||||
| @@ -119,7 +124,7 @@ pw_mangohud_check () { | ||||
|         else | ||||
|             export MANGOHUD=1 | ||||
|         fi | ||||
|     fi  | ||||
|     fi | ||||
| } | ||||
| pw_clear_pfx () { | ||||
|     try_remove_file "${WINEPREFIX}/system.reg" | ||||
| @@ -130,7 +135,7 @@ pw_clear_pfx () { | ||||
| } | ||||
| 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 & | ||||
| @@ -146,12 +151,96 @@ PW_STOP_PROGRESS_BAR () { | ||||
|     do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` | ||||
|     done | ||||
| } | ||||
| PW_LOAD_LIBS () { | ||||
|     if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/usr/lib/p7zip/7zr" ] \ | ||||
|     || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/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="${WINELIB}/runtime/bin/yad" | ||||
|     export pw_zstd="${WINELIB}/runtime/bin/zstd" | ||||
|     export pw_7z="${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="${WINELIB}/runtime/bin/xterm -geometry 159x37 -e" | ||||
|     fi | ||||
| } | ||||
|  | ||||
| PW_DOWNLOAD_MONO () { | ||||
|     if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then | ||||
|         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 | ||||
|         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 | ||||
|         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 | ||||
|     create_new_dir "${WINEDIR}/share/wine/" | ||||
|     try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/ | ||||
|     try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/ | ||||
| } | ||||
| START_PORTWINE () | ||||
|     { | ||||
|     if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" | ||||
|     elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}" | ||||
|     elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- $SHELL -c"  | ||||
| #    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 | ||||
|  | ||||
| @@ -165,11 +254,11 @@ START_PORTWINE () | ||||
|                 tar -zxvf "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz" -C "${PW_VULKAN_DLL}/" | ||||
|                 try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz" | ||||
|             else | ||||
|                 try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz"                 | ||||
|                 `zenity --error --title "Error..." --text "You will need to change DXVK version in db file!" --no-wrap ` > /dev/null 2>&1 | ||||
|                 try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz" | ||||
|                 `zenity --error --title "Error..." --text "You will need check internet connettion,\nor change DXVK version in db file!" --no-wrap ` > /dev/null 2>&1 | ||||
|                 PW_EDIT_DB & exit 1 | ||||
|             fi | ||||
|         else  | ||||
|         else | ||||
|             export PW_DXVK_VER="${PW_DEF_DXVK_VER}" | ||||
|         fi | ||||
|     fi | ||||
| @@ -186,7 +275,7 @@ START_PORTWINE () | ||||
|                 PW_EDIT_DB & exit 1 | ||||
|             fi | ||||
|         else | ||||
|             export PW_VKD3D_VER="${PW_DEF_VKD3D_VER}"  | ||||
|             export PW_VKD3D_VER="${PW_DEF_VKD3D_VER}" | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
| @@ -195,12 +284,16 @@ START_PORTWINE () | ||||
|     export WINELOADER="${WINEDIR}/bin/wine" | ||||
|     export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}" | ||||
|     export WINESERVER="${WINEDIR}/bin/wineserver" | ||||
|     if [ ! -z "${PATH}" ]  | ||||
|     if [ ! -z "${PATH}" ] | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}" | ||||
|     else export PATH="${WINEDIR}/bin" | ||||
|     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 | ||||
|     export WINE="${WINELOADER}" | ||||
| #    export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/gstreamer-1.0" | ||||
|     export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/gstreamer-1.0" | ||||
|     export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}" | ||||
|     export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz | ||||
|     export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz | ||||
| @@ -222,7 +315,7 @@ START_PORTWINE () | ||||
|     #default wine-mono override for FNA games | ||||
|     export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n" | ||||
|  | ||||
|     if [ ! -z "${PW_NO_ESYNC}" ] && [ "${PW_NO_ESYNC}" != 0 ]  | ||||
|     if [ ! -z "${PW_NO_ESYNC}" ] && [ "${PW_NO_ESYNC}" != 0 ] | ||||
|     then export WINEESYNC="0" | ||||
|     else export WINEESYNC="1" | ||||
|     fi | ||||
| @@ -233,7 +326,7 @@ START_PORTWINE () | ||||
|         export WINEFSYNC="1" | ||||
|         export WINEFSYNC_FUTEX2="1" | ||||
|     fi | ||||
|     if [ ! -z "${PW_FORCE_LARGE_ADDRESS_AWARE}" ] && [ "${PW_FORCE_LARGE_ADDRESS_AWARE}" != 0 ]  | ||||
|     if [ ! -z "${PW_FORCE_LARGE_ADDRESS_AWARE}" ] && [ "${PW_FORCE_LARGE_ADDRESS_AWARE}" != 0 ] | ||||
|     then export WINE_LARGE_ADDRESS_AWARE="1" | ||||
|     else export WINE_LARGE_ADDRESS_AWARE="0" | ||||
|     fi | ||||
| @@ -257,9 +350,6 @@ START_PORTWINE () | ||||
|     if [ ! -z "${PW_HIDE_NVIDIA_GPU}" ] && [ "${PW_HIDE_NVIDIA_GPU}" != 0 ] ; then | ||||
|         export WINE_HIDE_NVIDIA_GPU="1" | ||||
|     fi | ||||
|     if [ ! -z "${PW_VKD3D_FEATURE_LEVEL}" ] && [ "${PW_VKD3D_FEATURE_LEVEL}" != 0 ] ; then | ||||
|         export VKD3D_FEATURE_LEVEL="12_0" | ||||
|     fi | ||||
|     if [ ! -z "${PW_HEAP_DELAY_FREE}" ] && [ "${PW_HEAP_DELAY_FREE}" != 0 ] | ||||
|     then export WINE_HEAP_DELAY_FREE="1" | ||||
|     else export WINE_HEAP_DELAY_FREE="0" | ||||
| @@ -270,14 +360,13 @@ START_PORTWINE () | ||||
|     fi | ||||
|     if [ ! -z "${PW_DXR_ON}" ] && [ "${PW_DXR_ON}" != 0 ] ; then | ||||
|         var_vkd3d_config_update dxr | ||||
|     fi  | ||||
|     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 STAGING_SHARED_MEMORY=1 | ||||
|     export optirun_on="" | ||||
|     export check_optimus_manager= | ||||
|     export PW_NVIDIA="$(lspci | grep NVIDIA)"  | ||||
|     export PW_NVIDIA="$(lspci | grep NVIDIA)" | ||||
|     if [ -x "`which optimus-manager 2>/dev/null`" ]; then | ||||
|         export check_optimus_manager=`optimus-manager --status | grep Current | cut -f 2 -d':' | sed -e 's/^[[:space:]]*//'` | ||||
|     fi | ||||
| @@ -286,20 +375,20 @@ START_PORTWINE () | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json | ||||
|         elif [ -x "`which primusrun 2>/dev/null`" ]; then | ||||
|             export optirun_on="primusrun" | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json  | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json | ||||
|         elif [ -x "`which optirun 2>/dev/null`" ]; then | ||||
|             export optirun_on="optirun -b primus" | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json  | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json | ||||
|         elif [ -x "`which prime-run 2>/dev/null`" ]; then | ||||
|             export optirun_on="prime-run" | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json  | ||||
|             export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json | ||||
|         fi | ||||
|         export __NV_PRIME_RENDER_OFFLOAD=1 | ||||
|         #export __NV_PRIME_RENDER_OFFLOAD=1 | ||||
|         export __GLX_VENDOR_LIBRARY_NAME=nvidia | ||||
|         if [ ! -d "${PORT_WINE_TMP_PATH}"/gl_shader_cache ] ; then | ||||
|             mkdir -p "${PORT_WINE_TMP_PATH}"/gl_shader_cache  | ||||
|             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_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 | ||||
| @@ -312,14 +401,14 @@ START_PORTWINE () | ||||
|         export __GL_SYNC_TO_VBLANK=0 ;; | ||||
|         "1") | ||||
|         export vblank_mode=1 | ||||
|         export __GL_SYNC_TO_VBLANK=1 ;;   | ||||
|         export __GL_SYNC_TO_VBLANK=1 ;; | ||||
|     esac | ||||
|     export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf" | ||||
|     export int_xneur=0 | ||||
|     if [ $(pgrep xneur)>'0' ]; then | ||||
|         killall xneur | ||||
|         export int_xneur=1 | ||||
|     fi  | ||||
|     fi | ||||
|     export PW_XKBD="$(setxkbmap -query | grep -w ru | awk '{print($2)}')" | ||||
|     if [ ! -z ${PW_XKBD} ]; then | ||||
|         setxkbmap us,ru | ||||
| @@ -332,9 +421,9 @@ START_PORTWINE () | ||||
|         echo "Gamemod is not installed or disabled in vars script: PW_FORCE_DISABLED_GAMEMOD=$PW_FORCE_DISABLED_GAMEMOD" | ||||
|     fi | ||||
|     PW_INIT_PFX | ||||
|     RUN_WINETRICKS_FROM_DB  | ||||
|     RUN_WINETRICKS_FROM_DB | ||||
|     ADD_IN_START_PORTWINE | ||||
| }  | ||||
| } | ||||
|  | ||||
| WAIT_WINESERVER () { | ||||
|     sleep 3 | ||||
| @@ -345,10 +434,10 @@ WAIT_WINESERVER () { | ||||
|  | ||||
| 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  | ||||
|     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}  | ||||
|             if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then | ||||
|                 kill -n 9 ${pw_kill_pids} | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
| @@ -362,7 +451,7 @@ STOP_PORTWINE () { | ||||
|     fi | ||||
|     if [ ! -z ${PW_XKBD} ]; then | ||||
|         setxkbmap ${PW_XKBD} | ||||
|     fi  | ||||
|     fi | ||||
|     PW_STOP_PROGRESS_BAR | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/0" | ||||
|     try_remove_file "${PORT_SCRIPTS_PATH}/1" | ||||
| @@ -372,20 +461,19 @@ 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}" | ||||
|     if  [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then | ||||
|         try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks"  | ||||
|         chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" | ||||
|     else | ||||
|         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 [ "$W_TRX_INT_VER" != "$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 | ||||
|     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" ] || [ "$W_TRX_INT_VER" != "$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 () { | ||||
| @@ -396,6 +484,14 @@ RUN_WINETRICKS_FROM_DB () { | ||||
|         export USE_WT_FROM_DB=0 | ||||
|         if [ -e "${WINEPREFIX}/winetricks.log" ] ; then | ||||
|             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" | ||||
|                     sed -i '/vcrun2015/d' "${WINEPREFIX}/winetricks.log" | ||||
|                     sed -i '/vcrun2017/d' "${WINEPREFIX}/winetricks.log" | ||||
|                 elif [ "${need_install_dll_to_pfx}" == "vcrun2019" ] ; then | ||||
|                     sed -i '/vcrun2015/d' "${WINEPREFIX}/winetricks.log" | ||||
|                     sed -i '/vcrun2017/d' "${WINEPREFIX}/winetricks.log" | ||||
|                 fi | ||||
|                 grep "${need_install_dll_to_pfx}" "${WINEPREFIX}/winetricks.log" | ||||
|                 if [ "$?" == "1" ] ; then | ||||
|                     if [ -z "${PW_DLL_NEED_INSTALL}" ] | ||||
| @@ -403,17 +499,17 @@ RUN_WINETRICKS_FROM_DB () { | ||||
|                     else export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx} ${PW_DLL_NEED_INSTALL}" | ||||
|                     fi | ||||
|                     export USE_WT_FROM_DB=1 | ||||
|                 fi   | ||||
|                 fi | ||||
|             done | ||||
|         else | ||||
|             export PW_DLL_NEED_INSTALL="${PW_DLL_INSTALL}" | ||||
|             export USE_WT_FROM_DB=1  | ||||
|             export USE_WT_FROM_DB=1 | ||||
|         fi | ||||
|         if [ "${USE_WT_FROM_DB}" == "1" ] ; then | ||||
|             UPDATE_WINETRICKS | ||||
|             PW_STOP_PROGRESS_BAR | ||||
|             print_info "Need to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" | ||||
|             ${PW_TERM} "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q --force ${PW_DLL_NEED_INSTALL} | ||||
|             ${PW_TERM} ${PW_RUNTIME} "${PORT_WINE_TMP_PATH}/winetricks" -q -r --force ${PW_DLL_NEED_INSTALL} | ||||
|         fi | ||||
|         PW_START_PROGRESS_BAR_CS "Start ${portname}... Please wait..." | ||||
|     fi | ||||
| @@ -421,11 +517,27 @@ RUN_WINETRICKS_FROM_DB () { | ||||
|         if [ ! -z "${PW_WINDOWS_VER}" ] && [ `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ] ; then | ||||
|             export PW_WINDOWS_VER="xp64" | ||||
|         fi | ||||
|         "${PW_RUNTIME}" "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` | ||||
|         ${PW_RUNTIME} "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` | ||||
|         echo "Set to win${PW_WINDOWS_VER}" | ||||
|     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" | ||||
| @@ -435,7 +547,7 @@ PW_UPDATE () { | ||||
|     fi  | ||||
|     read "update_not" < "${PORT_WINE_TMP_PATH}/update_notifier"  | ||||
|     if [ "${update_not}" = "1" ] ; then | ||||
|         echo `curl -s --list-only "${PW_FTP_URL}/current_version/${portname}_ver"` > "${PORT_WINE_TMP_PATH}/${portname}_cur_ver"    | ||||
|         echo `curl -s --list-only "${PW_FTP_URL}/current_version/${portname}_ver"` > "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
|         if [ -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then | ||||
|             read current_ver < "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
|             try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_cur_ver" | ||||
| @@ -447,6 +559,10 @@ PW_UPDATE () { | ||||
|                 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}") | ||||
| @@ -487,33 +603,36 @@ PW_UPDATE () { | ||||
| } | ||||
|  | ||||
| PW_INIT_PFX () { | ||||
|     rm -f  "${WINEDIR}"*/lib*/*steam*  | ||||
|     rm -f  "${WINEDIR}"*/lib*/wine/*steam*  | ||||
|     rm -f  "${WINEDIR}"*/lib*/wine/fakedlls/*steam*  | ||||
|     #sed -i '/HKCU,Software\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf  | ||||
|     #sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf  | ||||
|     #sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf  | ||||
|     if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || [ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || [ ! -f "${WINEPREFIX}"/system.reg ] ; then | ||||
|         sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf  | ||||
|         sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf  | ||||
|     rm -f  "${WINEDIR}"*/lib*/*steam* | ||||
|     rm -f  "${WINEDIR}"*/lib*/wine/*steam* | ||||
|     rm -f  "${WINEDIR}"*/lib*/wine/fakedlls/*steam* | ||||
|     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}" | ||||
|         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" | ||||
|         [ ! -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/syswow64/" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         cp -f "${WINEDIR}/lib/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         cp -f "${WINEDIR}/lib/wine/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         cp -f "${WINEDIR}/lib64/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         cp -f "${WINEDIR}/lib64/wine/"*.* "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|  | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PW_START_PROGRESS_BAR_BLOCK "Updating prefix... Please wait..." | ||||
|         "${PW_RUNTIME}" "${WINELOADER}" wineboot -u | ||||
|         KILL_PORTWINE | ||||
|         ${PW_RUNTIME} "${WINELOADER}" wineboot -u | ||||
|         WAIT_WINESERVER | ||||
|         KILL_PORTWINE | ||||
|         PW_STOP_PROGRESS_BAR | ||||
|         PW_START_PROGRESS_BAR_CS "Initialization prefix..." | ||||
|     fi | ||||
|     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 | ||||
|     rm -f "${WINEPREFIX}/drive_c/windows/system32"/steam*  | ||||
|     rm -f "${WINEPREFIX}/drive_c/windows/syswow64"/steam*  | ||||
|  | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/" | ||||
|     try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf | ||||
| @@ -522,9 +641,7 @@ PW_INIT_PFX () { | ||||
|     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 | ||||
|     var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" | ||||
|     #sed -i '/steamclient/d' "${WINEPREFIX}"/*.reg  | ||||
|     #sed -i '/SteamPath/d' "${WINEPREFIX}"/*.reg  | ||||
|      | ||||
|  | ||||
|     export TOTAL_VRAM=`"${WINELIB}/amd64/usr/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` | ||||
|     echo "TOTAL_VRAM=${TOTAL_VRAM}" | ||||
|     try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
| @@ -537,69 +654,91 @@ PW_INIT_PFX () { | ||||
|         export GL_SHARPEN_ENABLE=1  | ||||
|         export __GL_SHARPEN_VALUE=0  | ||||
|         for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do | ||||
|             try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             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 | ||||
|         try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         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 | ||||
|         var_winedlloverride_update "dxgi=b;d3d12=" | ||||
|         echo "Use OpenGL" | ||||
|     elif [ "${PW_VULKAN_USE}" = "dxvk" ]; then | ||||
|         for wine_dxvk_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do | ||||
|             try_copy_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             [ "$?" == 0 ] && var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|             var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|         done | ||||
|         #var_winedlloverride_update "d3d12=" | ||||
|         var_winedlloverride_update "d3d12=" | ||||
|         echo "Use DXVK version ${PW_DXVK_VER} (DX9-DX11 to Vulkan)" | ||||
|     else  | ||||
|     else | ||||
|         for wine_vkd3d_dll in d3d12 ; do | ||||
|             try_copy_file "${PW_VULKAN_DLL}/vkd3d-proton-${PW_VKD3D_VER}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${PW_VULKAN_DLL}/vkd3d-proton-${PW_VKD3D_VER}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             [ "$?" == 0 ] && var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|             var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|         done | ||||
|         if [ ! -z "${PW_DXGI_FROM_DXVK}" ] && [ "${PW_DXGI_FROM_DXVK}" != 0 ] ; then | ||||
|               | ||||
|             for wine_dxvk_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do | ||||
|                 try_copy_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_copy_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|             done | ||||
|         else | ||||
|             try_copy_file "${WINEDIR}/lib/wine/fakedlls/dxgi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_copy_file "${WINEDIR}/lib64/wine/fakedlls/dxgi.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             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 | ||||
|             var_winedlloverride_update "dxgi=b" | ||||
|             for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do | ||||
|                 try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 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 | ||||
|         fi | ||||
|         export VKD3D_FEATURE_LEVEL="12_0" | ||||
|         export PW_WINDOWS_VER="10" | ||||
|         echo "Use VKD3D-PROTON version ${PW_VKD3D_VER} (DX12 to vulkan)" | ||||
|     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 | ||||
|     echo `curl -s --list-only "${PW_FTP_URL}/current_version/scripts_ver"` > "${PORT_WINE_TMP_PATH}/scripts_cur_ver"    | ||||
|     echo `curl -s --list-only "${PW_FTP_URL}/current_version/scripts_ver"` > "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | ||||
|     if [ "$?" == "0" ] ; then | ||||
|         read scripts_current_ver < "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/scripts_cur_ver" | ||||
|         if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then	 | ||||
|         if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then | ||||
|             echo "######################################################" | ||||
|             echo "Update scripts..." | ||||
|             try_download "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz" | ||||
|             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" | ||||
|                 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" | ||||
|                 [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &  | ||||
|                 exit 0 | ||||
|             try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" | ||||
|             if try_download "${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 | ||||
|         fi | ||||
|     fi | ||||
| @@ -609,7 +748,7 @@ PW_RUN () { | ||||
|     if [ ! -z "$portwine_exe" ] ; then | ||||
|         export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" | ||||
|         cd "$PATH_TO_GAME" | ||||
|     else  | ||||
|     else | ||||
|         cd "${WINEPREFIX}/drive_c" | ||||
|     fi | ||||
|     pw_mangohud_check | ||||
| @@ -618,48 +757,41 @@ PW_RUN () { | ||||
|         export PW_TERM="" | ||||
|         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} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" | ||||
|             $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|         else  | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" | ||||
|             $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|             echo "Full command line:  $PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" | ||||
|             $PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}" | ||||
|         else | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}" | ||||
|             $PW_TERM ${optirun_on} ${PW_RUNTIME} ${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 "Full command line: $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}"  | ||||
|             $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|         else  | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" | ||||
|             $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}  | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" | ||||
|             $PW_TERM ${optirun_on} ${PW_RUNTIME} gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|         else | ||||
|             echo "Full command line: $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" | ||||
|             $PW_TERM ${optirun_on} ${PW_RUNTIME} ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| #####MAIN##### | ||||
| 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" | ||||
| read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname | ||||
| cd "${PORT_SCRIPTS_PATH}"  | ||||
| . "${PORT_SCRIPTS_PATH}/var"   | ||||
| create_new_dir "${PORT_WINE_TMP_PATH}" | ||||
| create_new_dir "${HOME}/.PortWINE/tmp" | ||||
| try_remove_dir "${PORT_SCRIPTS_PATH}/vars" | ||||
| read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname | ||||
| cd "${PORT_SCRIPTS_PATH}" | ||||
| . "${PORT_SCRIPTS_PATH}/var" | ||||
|  | ||||
| if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_loc" ]; then | ||||
| 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" ` | ||||
| 	--column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" ` | ||||
| 	echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| fi | ||||
|  | ||||
| . "${PORT_SCRIPTS_PATH}"/lang | ||||
|  | ||||
| if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then | ||||
| 	echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" | ||||
| fi | ||||
|  | ||||
| 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 url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz" | ||||
| export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz" | ||||
| @@ -670,7 +802,8 @@ export WINEDIR="${PORT_WINE_PATH}"/data/dist | ||||
| export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}" | ||||
| export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" | ||||
| export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}" | ||||
| export PW_RUNTIME="$WINELIB/run.sh" | ||||
| export WINE_WIN_START="${WINEPREFIX}/drive_c/windows/system32/start.exe" | ||||
| export PW_RUNTIME="${WINELIB}/run-in-soldier --remove-game-overlay --share-home --runtime=runtime --" | ||||
| export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" | ||||
| export PW_VULKAN_DLL="${HOME}/.PortWINE/vulkan" | ||||
| export PW_DXVK_VER="${PW_DEF_DXVK_VER}" | ||||
| @@ -679,91 +812,10 @@ export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` | ||||
| export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` | ||||
|  | ||||
| if [ -z "${INSTALLING_PORT}" ] ; then | ||||
|     if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then  | ||||
|         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 download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1 | ||||
|                 exit 0 | ||||
|             fi | ||||
|         else | ||||
|             `zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1 | ||||
|             exit 1 | ||||
|         fi | ||||
|     fi | ||||
|     if [ -e "${WINELIB}/run.sh" ]; then  | ||||
|         echo "######################################################" | ||||
|         echo "Runtime libraries is enabled" | ||||
|         try_remove_dir "${WINELIB}/pinned_libs_32" | ||||
|         try_remove_dir "${WINELIB}/pinned_libs_64" | ||||
|         export pw_yad="${WINELIB}/usr/bin/yad" | ||||
|         export pw_zstd="${WINELIB}/usr/bin/zstd" | ||||
|         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="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e"         | ||||
|         fi | ||||
|     else | ||||
|         echo "######################################################" | ||||
|         echo "Runtime libraries is disabled" | ||||
|     fi | ||||
|     if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then  | ||||
|         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" | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz"  | ||||
|         fi | ||||
|     fi | ||||
|     if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then  | ||||
|         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" | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" | ||||
|         fi | ||||
|     fi | ||||
|         if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then  | ||||
|         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" | ||||
|             fi | ||||
|             try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" | ||||
|         fi | ||||
|     fi | ||||
|     create_new_dir "${WINEDIR}/share/wine/" | ||||
|     try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/       | ||||
|     try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/  | ||||
|  | ||||
|     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_LOAD_LIBS | ||||
|     PW_DOWNLOAD_MONO | ||||
|     PW_DOWNLOAD_GECKO | ||||
|     PW_UPDATE | ||||
|     PW_SCRIPTS_UPDATE | ||||
|     PW_INIT_DB | ||||
| fi | ||||
|  | ||||
| [ -z "${INSTALLING_PORT}" ] && PW_UPDATE | ||||
|   | ||||
| @@ -5,30 +5,28 @@ | ||||
| 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}/data/dxvk.conf"  | ||||
| try_remove_file "${PORT_WINE_PATH}/Create_shortcut_PP.desktop" | ||||
| try_remove_file "${PORT_WINE_PATH}/Proton.desktop" | ||||
| try_remove_file "${PORT_WINE_PATH}/settings.desktop" | ||||
| try_remove_file "${PORT_WINE_PATH}/data/port_on" | ||||
| try_remove_file "${PORT_WINE_PATH}/data/dxvk.conf" | ||||
| 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_dir "${PORT_WINE_PATH}/data/pfx/dosdevices"  | ||||
| try_remove_dir "${PORT_WINE_PATH}/data/pfx/dosdevices" | ||||
| try_remove_dir "${PORT_WINE_PATH}/Settings" | ||||
| #try_remove_dir "$HOME/.PortWINE" | ||||
| try_remove_dir "${PORT_SCRIPTS_PATH}/vars" | ||||
|  | ||||
| create_new_dir "/home/${USER}/.local/share/applications" | ||||
|  | ||||
| name_desktop="PortProton"  | ||||
| echo "[Desktop Entry]"	 				  > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 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 %U""	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Type=Application" 				 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F""	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Type=Application" 					 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Terminal=False" 						 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Categories=Game"	    				 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "StartupNotify=true" 	    			 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"  >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Path="${PORT_SCRIPTS_PATH}/""		 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Path="${PORT_SCRIPTS_PATH}/""			 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Icon="${PORT_WINE_PATH}/data/img/w.png""   	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ | ||||
| @@ -60,14 +58,7 @@ done | ||||
| chmod u+x "${PORT_SCRIPTS_PATH}/"* | ||||
|  | ||||
| try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" | ||||
| if [ -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ] && [ ! -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then | ||||
| 	cp -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"/* "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/" | ||||
| 	rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" | ||||
| elif [ -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then | ||||
| 	rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" | ||||
| fi | ||||
| ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" | ||||
| pw_clear_pfx | ||||
|  | ||||
| if [ "${s_install}" = "1" ]; then | ||||
| 	echo "Installation completed successfully." | ||||
| else | ||||
|   | ||||
| @@ -5,7 +5,6 @@ if [ -f "$1" ]; then | ||||
|     export portwine_exe="$(readlink -f "$1")" | ||||
| fi | ||||
| . "$(dirname $(readlink -f "$0"))/runlib" | ||||
| PW_SCRIPTS_UPDATE | ||||
|  | ||||
| PORTWINE_LAUNCH () { | ||||
|     KILL_PORTWINE | ||||
| @@ -14,17 +13,13 @@ PORTWINE_LAUNCH () { | ||||
|     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" | ||||
|     elif [ ! -z "${PORTWINE_MSI}" ]; then    | ||||
|         echo "PORTWINE_MSI=${PORTWINE_MSI}" | ||||
|         PW_RUN explorer "/desktop=portwine,${pw_screen_resolution}" "$WINE_WIN_START" /unix "$portwine_exe" | ||||
|     elif [ ! -z "${PORTWINE_MSI}" ]; then | ||||
|         PW_RUN msiexec /i "$portwine_exe" | ||||
|     elif [ ! -z "${PORTWINE_BAT}" ]; then    | ||||
|         echo "PORTWINE_BAT=${PORTWINE_BAT}" | ||||
|         PW_RUN explorer "$portwine_exe"  | ||||
|     elif [ ! -z "${portwine_exe}" ]; then | ||||
|         PW_RUN "$portwine_exe" | ||||
|     else  | ||||
|         PW_RUN explorer | ||||
|     elif [ ! -z "${PORTWINE_BAT}" ] || [ ! -z "${portwine_exe}" ]; then | ||||
|         PW_RUN "$WINE_WIN_START" /unix "$portwine_exe" | ||||
|     else | ||||
|         PW_RUN "$WINE_WIN_START" explorer | ||||
|     fi | ||||
| } | ||||
| PORTWINE_CREATE_SHORTCUT () { | ||||
| @@ -36,7 +31,7 @@ PORTWINE_CREATE_SHORTCUT () { | ||||
|         if [ $? -eq 1 ];then exit 1; fi | ||||
|     fi | ||||
|     PORTPROTON_NAME="$(basename "${PORTPROTON_EXE}" | sed s/".exe"/""/gi )" | ||||
|     PORTPROTON_PATH="$( cd "$( dirname "${PORTPROTON_EXE}" )" >/dev/null 2>&1 && pwd )"  | ||||
|     PORTPROTON_PATH="$( cd "$( dirname "${PORTPROTON_EXE}" )" >/dev/null 2>&1 && pwd )" | ||||
|     if [ -x "`which wrestool 2>/dev/null`" ]; then | ||||
|         wrestool -x --output="${PORTPROTON_PATH}/" -t14 "${PORTPROTON_EXE}" | ||||
|         cp "$(ls -S -1 "${PORTPROTON_EXE}"*".ico"  | head -n 1)" "${PORTPROTON_EXE}.ico" | ||||
| @@ -60,9 +55,9 @@ PORTWINE_CREATE_SHORTCUT () { | ||||
|             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"  | ||||
|     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}\" "" \ | ||||
|     >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -75,14 +70,14 @@ name_desktop="${PORTPROTON_NAME}" | ||||
|     echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "Icon="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     `zenity --question --title "${inst_set}." --text "${ss_done}" --no-wrap ` &> /dev/null   | ||||
|     `zenity --question --title "${inst_set}." --text "${ss_done}" --no-wrap ` &> /dev/null | ||||
|     if [ $? -eq "0" ]; then | ||||
|         cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/  | ||||
|         cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/ | ||||
|     fi | ||||
|     xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & | ||||
| } | ||||
| PORTWINE_DEBUG () { | ||||
|     KILL_PORTWINE  | ||||
|     KILL_PORTWINE | ||||
|     export PW_LOG=1 | ||||
|     export PW_WINEDBG_DISABLE=0 | ||||
|     START_PORTWINE | ||||
| @@ -93,7 +88,7 @@ PORTWINE_DEBUG () { | ||||
|     read install_ver < "${PORT_WINE_TMP_PATH}/${portname}_ver" | ||||
|     echo "${portname}-${install_ver}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     if [ ! -z "${portwine_exe}" ] ; then  | ||||
|     if [ ! -z "${portwine_exe}" ] ; then | ||||
|         echo "Debug for programm:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|         echo "${portwine_exe}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|         echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -133,8 +128,8 @@ PORTWINE_DEBUG () { | ||||
|     echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "${WINELIB}/amd64/usr/bin/vulkaninfo" | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "${WINELIB}/amd64/usr/bin/vkcube" --c 50  | ||||
|     if [ $? -eq 0 ]; then  | ||||
|     "${WINELIB}/amd64/usr/bin/vkcube" --c 50 | ||||
|     if [ $? -eq 0 ]; then | ||||
|         echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     else | ||||
|         echo "Vkcube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -162,37 +157,37 @@ PORTWINE_DEBUG () { | ||||
|     echo "Log WINE:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|  | ||||
|     export DXVK_HUD="full" | ||||
|      | ||||
|     PORTWINE_LAUNCH &  | ||||
|  | ||||
|     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" | ||||
|     yad --title="${portname}.log" --borders=10 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --center --width=1200 --height=550 \ | ||||
|     "$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_RUN "$WINE_WIN_START" winecfg | ||||
| } | ||||
| PW_WINEFILE () { | ||||
|     START_PORTWINE | ||||
|     PW_RUN "explorer"  | ||||
|     PW_RUN "$WINE_WIN_START" explorer | ||||
| } | ||||
| PW_WINECMD () { | ||||
|     export PW_USE_TERMINAL=1 | ||||
|     START_PORTWINE | ||||
|     PW_RUN "cmd" | ||||
|     PW_RUN cmd | ||||
| } | ||||
| PW_WINEREG () { | ||||
|     START_PORTWINE | ||||
|     PW_RUN "regedit" | ||||
|     PW_RUN "$WINE_WIN_START" regedit | ||||
| } | ||||
| PW_WINETRICKS () { | ||||
|     UPDATE_WINETRICKS | ||||
|     export PW_USE_TERMINAL=1 | ||||
|     START_PORTWINE | ||||
|     $PW_TERM "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q --force | ||||
|     "${PORT_WINE_TMP_PATH}/winetricks" -qr --force | ||||
| } | ||||
| PW_EDIT_DB () { | ||||
|     xdg-open "${PORTWINE_DB_FILE}" | ||||
| @@ -201,10 +196,8 @@ PW_AUTO_INSTALL_FROM_DB () { | ||||
|     . "$PORT_SCRIPTS_PATH/autoinstall" | ||||
|     $PW_YAD_SET | ||||
| } | ||||
|  | ||||
|  | ||||
| if [ ! -z "${portwine_exe}" ]; then | ||||
|     if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] ; 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." | ||||
| @@ -260,13 +253,13 @@ else | ||||
|         [ ! -z "$1" ] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" | ||||
|         if [ ! -z `pidof -s yad` ] ; then | ||||
|             kill -s SIGUSR1 `pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}'` | ||||
|         fi  | ||||
|     }  | ||||
|         fi | ||||
|     } | ||||
|     export -f button_click | ||||
|  | ||||
|     open_changelog () { | ||||
|         yad --title="Changelog" --borders=10 --no-buttons --text-align=center \ | ||||
|         --text-info --show-uri --wrap --center --width=1200 --height=550 \ | ||||
|         "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ | ||||
|         --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ | ||||
|         --filename="${PORT_WINE_PATH}/data/changelog" | ||||
|     } | ||||
|     export -f open_changelog | ||||
| @@ -310,8 +303,8 @@ else | ||||
| fi | ||||
| if [ ! -z "${VULKAN_MOD}" ] ; then | ||||
|     if [ "${VULKAN_MOD}" = "DXVK" ] ; then export PW_VULKAN_USE="dxvk" | ||||
|     elif [ "${VULKAN_MOD}" = "VKD3D" ]; then export PW_VULKAN_USE="vkd3d"  | ||||
|     elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0"  | ||||
|     elif [ "${VULKAN_MOD}" = "VKD3D" ]; then export PW_VULKAN_USE="vkd3d" | ||||
|     elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0" | ||||
|     fi | ||||
| fi | ||||
| case "$PW_YAD_SET" in | ||||
|   | ||||
| @@ -4,8 +4,9 @@ | ||||
| #export PW_MANGOHUD=1 | ||||
| #export MANGOHUD_CONFIG=full,height=500,font_size=24,position=top-left,toggle_hud=F12 | ||||
| #export DXVK_HUD=fps,devinfo | ||||
| #export PW_VIRTUAL_DESKTOP=1 | ||||
|  | ||||
| export PW_FORCE_DISABLED_GAMEMOD=0  | ||||
| export PW_FORCE_DISABLED_GAMEMOD=1 | ||||
|  | ||||
| export PW_DEF_DXVK_VER=1.8.1 | ||||
| export PW_DEF_VKD3D_VER=2.3.1 | ||||
| @@ -15,12 +16,14 @@ export PW_LOG=0 | ||||
| export PW_TERM="" | ||||
| export PW_USE_TERMINAL=0 | ||||
|  | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
|  | ||||
| export PW_WINDOWS_VER="7" | ||||
| export WINEARCH="win64" | ||||
|  | ||||
| export mono_ver=6.1.2 | ||||
| export gecko_ver=2.47.2 | ||||
| export pw_libs_ver="_v9" | ||||
| export pw_libs_ver="_v11" | ||||
|  | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE=1 | ||||
|  | ||||
| @@ -32,11 +35,11 @@ echo " " | ||||
| } | ||||
| ######################################################################## | ||||
| ADD_IN_STOP_PORTWINE () | ||||
| {	 | ||||
| { | ||||
| echo " " | ||||
| } | ||||
| ######################################################################## | ||||
| OTHER_FIXES () { | ||||
| 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))) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user