Compare commits
	
		
			256 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					ee201c9b48 | ||
| 
						 | 
					05de094de4 | ||
| 
						 | 
					a1f6fc5cc3 | ||
| 
						 | 
					a2763052c8 | ||
| 
						 | 
					81738d5584 | ||
| 
						 | 
					81947443a7 | ||
| 
						 | 
					d6ed28c382 | ||
| 
						 | 
					3584b832a3 | ||
| 
						 | 
					8a83ff1745 | ||
| 
						 | 
					8ef052acd4 | ||
| 
						 | 
					db70aaebfa | ||
| 
						 | 
					62005d5bde | ||
| 
						 | 
					d7aac3dee6 | ||
| 
						 | 
					8d03563dbc | ||
| 
						 | 
					bd440ce8e7 | ||
| 
						 | 
					cc8529c551 | ||
| 
						 | 
					45c5e052d6 | ||
| 
						 | 
					4bf9cb677f | ||
| 
						 | 
					d2cb6fefee | ||
| 
						 | 
					13142f8ed6 | ||
| 
						 | 
					e10facc9ba | ||
| 
						 | 
					c584c3697d | ||
| 
						 | 
					4a083a9300 | ||
| 
						 | 
					5f4bdc536c | ||
| 
						 | 
					d2ab7a6c18 | ||
| 
						 | 
					5f02f61550 | ||
| 
						 | 
					15b84b931b | ||
| 
						 | 
					9cc48c4761 | ||
| 
						 | 
					b9754bfab2 | ||
| 
						 | 
					88baf8b0d2 | ||
| 
						 | 
					7dc2676de8 | ||
| 
						 | 
					0c8b21648c | ||
| 
						 | 
					406de39ba5 | ||
| 
						 | 
					1db0baad5b | ||
| 
						 | 
					41bc48fb1f | ||
| 
						 | 
					d8f96debe9 | ||
| 
						 | 
					21c21f8769 | ||
| 
						 | 
					9d4934ca35 | ||
| 
						 | 
					cbf9648193 | ||
| 
						 | 
					c826f58567 | ||
| 
						 | 
					dbdc0d5a77 | ||
| 
						 | 
					6620fa6582 | ||
| 
						 | 
					787182f9c3 | ||
| 
						 | 
					3100a30ba6 | ||
| 
						 | 
					1de526ba37 | ||
| 
						 | 
					39549a1832 | ||
| 
						 | 
					ae12e2c7a6 | ||
| 
						 | 
					ec2fe82d68 | ||
| 
						 | 
					ca019feeba | ||
| 
						 | 
					5d5b24df32 | ||
| 
						 | 
					ecc931fae3 | ||
| 
						 | 
					5406e3b792 | ||
| 
						 | 
					cc7f5c328c | ||
| 
						 | 
					a2b5385071 | ||
| 
						 | 
					8b442cf9ef | ||
| 
						 | 
					9e07d5bc97 | ||
| 
						 | 
					2029bb8275 | ||
| 
						 | 
					bab528078e | ||
| 
						 | 
					d2410479d8 | ||
| 
						 | 
					366cd15995 | ||
| 
						 | 
					3f0f52669f | ||
| 
						 | 
					f74a051301 | ||
| 
						 | 
					29fea96413 | ||
| 
						 | 
					6103a61657 | ||
| 
						 | 
					caa498a99d | ||
| 
						 | 
					da38a958ac | ||
| 
						 | 
					bcc3387749 | ||
| 
						 | 
					564ed9aaf6 | ||
| 
						 | 
					3ba7742e7f | ||
| 
						 | 
					efaeef7749 | ||
| 
						 | 
					5fa3dd120c | ||
| 
						 | 
					72e773cfa0 | ||
| 
						 | 
					29eb9ba79f | ||
| 
						 | 
					f411b5a27c | ||
| 
						 | 
					6b7621b251 | ||
| 
						 | 
					e99a88355a | ||
| 
						 | 
					9d35697588 | ||
| 
						 | 
					d992080a2e | ||
| 
						 | 
					cd9b43f1f5 | ||
| 
						 | 
					42fa075e3f | ||
| 
						 | 
					a09063c284 | ||
| 
						 | 
					cd5f85371f | ||
| 
						 | 
					1c252a12a8 | ||
| 
						 | 
					0fa5790b42 | ||
| 
						 | 
					76e52f5a78 | ||
| 
						 | 
					2303124f30 | ||
| 
						 | 
					c68e687948 | ||
| 
						 | 
					a74978b822 | ||
| 
						 | 
					2dd5edb03e | ||
| 
						 | 
					79cc8e6c8e | ||
| 
						 | 
					fb933afd27 | ||
| 
						 | 
					9f5c39ec5e | ||
| 
						 | 
					1be7737322 | ||
| 
						 | 
					892de157cc | ||
| 
						 | 
					cb1f281c86 | ||
| 
						 | 
					0e4ff2daf6 | ||
| 
						 | 
					f6764ec43d | ||
| 
						 | 
					ed60845647 | ||
| 
						 | 
					89b8c3cfdb | ||
| 
						 | 
					8d0425664e | ||
| 
						 | 
					b36c15db02 | ||
| 
						 | 
					d13c62e068 | ||
| 
						 | 
					df6439e455 | ||
| 
						 | 
					2aba122784 | ||
| 
						 | 
					1c80e99146 | ||
| 
						 | 
					9df1ff96dd | ||
| 
						 | 
					cb7dffc70a | ||
| 
						 | 
					307b554b9b | ||
| 
						 | 
					4062645eb2 | ||
| 
						 | 
					6f8de09996 | ||
| 
						 | 
					e9c3d0fdd3 | ||
| 
						 | 
					168f8c4d10 | ||
| 
						 | 
					f15705a11b | ||
| 
						 | 
					1c0d66c3fc | ||
| 
						 | 
					f1e10501e6 | ||
| 
						 | 
					54e831cea5 | ||
| 
						 | 
					96b5d84e86 | ||
| 
						 | 
					9be06fb174 | ||
| 
						 | 
					fcd0bff7f4 | ||
| 
						 | 
					366d4ce480 | ||
| 
						 | 
					f421687545 | ||
| 
						 | 
					08d8b4eb3d | ||
| 
						 | 
					d0d8646919 | ||
| 
						 | 
					290ff8b18c | ||
| 
						 | 
					e6440aff91 | ||
| 
						 | 
					b103779c44 | ||
| 
						 | 
					47401681ff | ||
| 
						 | 
					a1cf3e3d83 | ||
| 
						 | 
					ab837e46e0 | ||
| 
						 | 
					0c50d3df93 | ||
| 
						 | 
					e09bdb7006 | ||
| 
						 | 
					8d9e8b8ce3 | ||
| 
						 | 
					842d43a35d | ||
| 
						 | 
					bbf6b9f104 | ||
| 
						 | 
					29d7110cd8 | ||
| 
						 | 
					053b0a5583 | ||
| 
						 | 
					2666f9e900 | ||
| 
						 | 
					f108cecbfb | ||
| 
						 | 
					3659793b04 | ||
| 
						 | 
					922ff25d5c | ||
| 
						 | 
					846167f80f | ||
| 
						 | 
					b696659f80 | ||
| 
						 | 
					f54644ea6e | ||
| 
						 | 
					dfc1704b73 | ||
| 
						 | 
					59c99944a5 | ||
| 
						 | 
					c80d71ed3f | ||
| 
						 | 
					b98ca471b7 | ||
| 
						 | 
					d1bb1d7fa7 | ||
| 
						 | 
					3c9288843f | ||
| 
						 | 
					65ead2cae9 | ||
| 
						 | 
					2125dce36b | ||
| 
						 | 
					e1bca02c56 | ||
| 
						 | 
					51d569b6e6 | ||
| 
						 | 
					63beb66eb3 | ||
| 
						 | 
					fdf7ab4674 | ||
| 
						 | 
					0191ea26f6 | ||
| 
						 | 
					f68fead817 | ||
| 
						 | 
					a03a9bda4c | ||
| 
						 | 
					bcb10d5555 | ||
| 
						 | 
					47084a9bff | ||
| 
						 | 
					55b72ef84a | ||
| 
						 | 
					07aee4d82e | ||
| 
						 | 
					5be084cfe6 | ||
| 
						 | 
					e450ccb6b4 | ||
| 
						 | 
					bc4552ac05 | ||
| 
						 | 
					771b0c060d | ||
| 
						 | 
					e847eed3eb | ||
| 
						 | 
					b77e0b2ffa | ||
| 
						 | 
					1e0d6fea99 | ||
| 
						 | 
					74fcce0427 | ||
| 
						 | 
					1d2ba0669a | ||
| 
						 | 
					480b54c13e | ||
| 
						 | 
					d5c0fe04a5 | ||
| 
						 | 
					f9d3213dd4 | ||
| 
						 | 
					870126d13b | ||
| 
						 | 
					110b221b33 | ||
| 
						 | 
					c7b3a08bef | ||
| 
						 | 
					6646485cfd | ||
| 
						 | 
					2560a2a8d2 | ||
| 
						 | 
					b534cfd89f | ||
| 
						 | 
					602a7d3b39 | ||
| 
						 | 
					db64dae0a9 | ||
| 
						 | 
					9278a8d020 | ||
| 
						 | 
					ad6fd6d8cb | ||
| 
						 | 
					afcac3711d | ||
| 
						 | 
					d2f1a29872 | ||
| 
						 | 
					45a0c3a4ac | ||
| 
						 | 
					d2f181bf3d | ||
| 
						 | 
					2a86ac870b | ||
| 
						 | 
					0449899d6f | ||
| 
						 | 
					58ce3196dc | ||
| 
						 | 
					b08281934b | ||
| 
						 | 
					ccf6296baa | ||
| 
						 | 
					bce579bfbd | ||
| 
						 | 
					f869816cb4 | ||
| 
						 | 
					03deeaa361 | ||
| 
						 | 
					7eec1f9086 | ||
| 
						 | 
					cb7ad7ec30 | ||
| 
						 | 
					718af5eb05 | ||
| 
						 | 
					e291a2e90d | ||
| 
						 | 
					ea518e5f21 | ||
| 
						 | 
					06e3953b19 | ||
| 
						 | 
					5032d95a77 | ||
| 
						 | 
					9bcb235657 | ||
| 
						 | 
					73d12c0f39 | ||
| 
						 | 
					8700a2c88d | ||
| 
						 | 
					7415dcbc01 | ||
| 
						 | 
					00c9d5d926 | ||
| 
						 | 
					4e59d4b2f4 | ||
| 
						 | 
					580c5d901a | ||
| 
						 | 
					0bf4fe7816 | ||
| 
						 | 
					9f0ad22d37 | ||
| 
						 | 
					3e40e1bff5 | ||
| 
						 | 
					088cdecda3 | ||
| 
						 | 
					d88bf7fb38 | ||
| 
						 | 
					9933accd7f | ||
| 
						 | 
					0282a77a3c | ||
| 
						 | 
					5bd52d7a36 | ||
| 
						 | 
					59826da654 | ||
| 
						 | 
					603d0d8821 | ||
| 
						 | 
					f4d3684556 | ||
| 
						 | 
					0391f33674 | ||
| 
						 | 
					df9128143c | ||
| 
						 | 
					83a18e538a | ||
| 
						 | 
					ebbdaed92d | ||
| 
						 | 
					d32f5b1cc5 | ||
| 
						 | 
					78552187f0 | ||
| 
						 | 
					62651c1d93 | ||
| 
						 | 
					295d028ba7 | ||
| 
						 | 
					1c9f91675f | ||
| 
						 | 
					1b632c2764 | ||
| 
						 | 
					ef0b8f7689 | ||
| 
						 | 
					c818fdb2ad | ||
| 
						 | 
					aec5cd6083 | ||
| 
						 | 
					7021c0355b | ||
| 
						 | 
					72329c2477 | ||
| 
						 | 
					9f7cd37c00 | ||
| 
						 | 
					6e1639a85c | ||
| 
						 | 
					23cd198c39 | ||
| 
						 | 
					87fae9e16a | ||
| 
						 | 
					3ebfdbab2a | ||
| 
						 | 
					3cab2af043 | ||
| 
						 | 
					7102314fb2 | ||
| 
						 | 
					c1a0930ba4 | ||
| 
						 | 
					e06cca91e5 | ||
| 
						 | 
					481d83890a | ||
| 
						 | 
					5e65b4c55e | ||
| 
						 | 
					e9cb98818e | ||
| 
						 | 
					447c314ded | ||
| 
						 | 
					7168b32480 | ||
| 
						 | 
					361c737c18 | ||
| 
						 | 
					936c27e919 | ||
| 
						 | 
					aa6db372fe | ||
| 
						 | 
					9af583e10e | ||
| 
						 | 
					137abea953 | ||
| 
						 | 
					c4cab73dbb | 
							
								
								
									
										21
									
								
								LICENSE
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2022 Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
SOFTWARE.
 | 
			
		||||
							
								
								
									
										112
									
								
								README.md
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,11 +1,105 @@
 | 
			
		||||
# PortWINE  
 | 
			
		||||
  
 | 
			
		||||
data_from_portwine - contains scripts and additional files for configuring and running applications.  
 | 
			
		||||
  
 | 
			
		||||
portwine_install_script - contains a self-extracting port setup script  
 | 
			
		||||
  
 | 
			
		||||
PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!  
 | 
			
		||||
# PortProton
 | 
			
		||||
 | 
			
		||||
Generated Wine sources for use in PortWINE:  
 | 
			
		||||
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
 | 
			
		||||
 | 
			
		||||
PortProton is a project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users.
 | 
			
		||||
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.
 | 
			
		||||
 | 
			
		||||
Based on the version of WINE from Valve (Proton) and its modifications (Proton GE). Includes a set of scripts combined with wine-proton itself, a Steam Runtime Sniper container with the addition of ported versions of MANGOHUD (output useful information over the game window: FPS, FrameTime, CPU, GPU, etc) and vkBasalt (improvement of graphics in games, very good in in conjunction with FSR, DLSS) + many already configured optimizations for maximum performance.
 | 
			
		||||
 | 
			
		||||
Implemented one-click auto-installation (in the AUTOINSTALL tab ) of popular launchers such as: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends and many others.
 | 
			
		||||
For fans of console games, there are many console emulators to choose from (in the EMULATORS tab ): PPSSPP, Citra, Cemu, ePSXe, MAME and many others.
 | 
			
		||||
 | 
			
		||||
PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!
 | 
			
		||||
 | 
			
		||||
Wine sources used in PortWINE:  
 | 
			
		||||
WINE-PROTON: https://github.com/ValveSoftware/Proton  
 | 
			
		||||
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/  
 | 
			
		||||
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
 | 
			
		||||
 | 
			
		||||
## Installation using packages
 | 
			
		||||
 | 
			
		||||
* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, etc.), **Linux Mint 20.x** : [portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb)
 | 
			
		||||
* **Arch Linux** and derivatives (Manjaro, Garuda, etc.) : [portproton-1.0-8-x86_64.pkg.tar.zst](https://github.com/Castro-Fidel/PortProton_PKGBUILD/releases/download/portproton-1.0-8-x86_64/portproton-1.0-8-x86_64.pkg.tar.zst)
 | 
			
		||||
* **ROSA Linux** (package in the official repository) is installed with the command:  `sudo urpmi portproton`
 | 
			
		||||
 | 
			
		||||
## Universal (manual) installation
 | 
			
		||||
 | 
			
		||||
**ATTENTION** : with the universal method of installing PortProton, dependencies must be installed manually!
 | 
			
		||||
 | 
			
		||||
Normal installation:
 | 
			
		||||
 | 
			
		||||
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0`
 | 
			
		||||
 | 
			
		||||
Silent installation (ENG):
 | 
			
		||||
 | 
			
		||||
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng`
 | 
			
		||||
 | 
			
		||||
Silent installation (RUS):
 | 
			
		||||
 | 
			
		||||
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus`
 | 
			
		||||
 | 
			
		||||
## Dependencies
 | 
			
		||||
 | 
			
		||||
* **NVIDIA graphics card users**
 | 
			
		||||
 | 
			
		||||
If you have a video card from NVIDIA and a proprietary driver is installed, then you need to check if lib32-nvidia-utils is installed (no 32-bit game will work without it)
 | 
			
		||||
 | 
			
		||||
* **Ubuntu / Linux Mint / Pop!_OS**
 | 
			
		||||
 | 
			
		||||
`sudo dpkg --add-architecture i386`
 | 
			
		||||
 | 
			
		||||
`sudo add-apt-repository multiverse`
 | 
			
		||||
 | 
			
		||||
`sudo apt update && sudo apt upgrade`
 | 
			
		||||
 | 
			
		||||
`sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386`
 | 
			
		||||
 | 
			
		||||
* **Arch Linux / Manjaro**
 | 
			
		||||
 | 
			
		||||
`sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity lsb-release nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl`
 | 
			
		||||
 | 
			
		||||
If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidia-utils** package is installed
 | 
			
		||||
 | 
			
		||||
`sudo pacman -Syu lib32-nvidia-utils`
 | 
			
		||||
 | 
			
		||||
* **Debian/Deepin**
 | 
			
		||||
 | 
			
		||||
`sudo apt install software-properties-common -y && sudo apt-add-repository non-free && sudo dpkg --add-architecture i386 && sudo apt update && sudo apt upgrade`
 | 
			
		||||
 | 
			
		||||
`sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract`
 | 
			
		||||
 | 
			
		||||
* **openSUSE**
 | 
			
		||||
 | 
			
		||||
`sudo zypper ref && sudo zypper up && sudo zypper in curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang`
 | 
			
		||||
 | 
			
		||||
Installing Gamemode is done with a separate command:
 | 
			
		||||
 | 
			
		||||
`opi gamemode`
 | 
			
		||||
 | 
			
		||||
* **Fedora**
 | 
			
		||||
 | 
			
		||||
Enable Non-free repository:
 | 
			
		||||
 | 
			
		||||
`sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm`
 | 
			
		||||
 | 
			
		||||
Install the required dependencies:
 | 
			
		||||
 | 
			
		||||
`sudo dnf update && sudo dnf upgrade --refresh && sudo dnf install curl gamemode icoutils libcurl  wget zenity bubblewrap zstd cabextract tar goverlay openssl steam`
 | 
			
		||||
 | 
			
		||||
* **Alt Linux**
 | 
			
		||||
 | 
			
		||||
`sudo apt-get update && sudo apt-get dist-upgrade -y`
 | 
			
		||||
 | 
			
		||||
`sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd`
 | 
			
		||||
 | 
			
		||||
* **ROSA DESKTOP FRESH R12**
 | 
			
		||||
 | 
			
		||||
`sudo dnf update && sudo dnf upgrade --refresh && sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn coreutils lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686`
 | 
			
		||||
 | 
			
		||||
* **Solus 4.x**
 | 
			
		||||
 | 
			
		||||
`sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba`
 | 
			
		||||
 | 
			
		||||
## Contacts
 | 
			
		||||
 | 
			
		||||
You can join our [Discord](https://discord.gg/FTaheP99wE) server.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,221 +0,0 @@
 | 
			
		||||
Copyright (c) 2018-2020, Valve Corporation
 | 
			
		||||
All rights reserved.
 | 
			
		||||
 | 
			
		||||
Redistribution and use in source and binary forms, with or without modification,
 | 
			
		||||
are permitted provided that the following conditions are met:
 | 
			
		||||
 | 
			
		||||
1. Redistributions of source code must retain the above copyright notice, this
 | 
			
		||||
list of conditions and the following disclaimer.
 | 
			
		||||
 | 
			
		||||
2. Redistributions in binary form must reproduce the above copyright notice,
 | 
			
		||||
this list of conditions and the following disclaimer in the documentation and/or
 | 
			
		||||
other materials provided with the distribution.
 | 
			
		||||
 | 
			
		||||
3. Neither the name of the copyright holder nor the names of its contributors
 | 
			
		||||
may be used to endorse or promote products derived from this software without
 | 
			
		||||
specific prior written permission.
 | 
			
		||||
 | 
			
		||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 | 
			
		||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | 
			
		||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
			
		||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 | 
			
		||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | 
			
		||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | 
			
		||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 | 
			
		||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | 
			
		||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
Browse the source code for more information
 | 
			
		||||
 | 
			
		||||
    https://github.com/ValveSoftware/Proton
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains a modified version of Wine licensed under the LGPL 2.1. Wine is
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 1993-2020 the Wine project authors
 | 
			
		||||
 | 
			
		||||
Visit Wine at
 | 
			
		||||
 | 
			
		||||
    https://winehq.org
 | 
			
		||||
 | 
			
		||||
View our modifications at
 | 
			
		||||
 | 
			
		||||
    https://github.com/ValveSoftware/wine
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains a modified version of DXVK licensed under the zlib/libpng license. DXVK is
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 2017-2020 Philip Rebohle
 | 
			
		||||
    Copyright (c) 2019-2020 Joshua Ashton
 | 
			
		||||
 | 
			
		||||
Visit DXVK at
 | 
			
		||||
 | 
			
		||||
    https://github.com/doitsujin/dxvk
 | 
			
		||||
 | 
			
		||||
View our modifications at
 | 
			
		||||
 | 
			
		||||
    https://github.com/ValveSoftware/dxvk
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains FAudio licensed under the zlib license. FAudio is
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 2011-2020 Ethan Lee, Luigi Auriemma, and the MonoGame Team
 | 
			
		||||
 | 
			
		||||
Visit FAudio at
 | 
			
		||||
 | 
			
		||||
    https://github.com/FNA-XNA/FAudio
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains some Liberation Fonts licensed under the SIL Open Font License, available at LICENSE.OFL. These fonts are
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 2010 Google Corporation
 | 
			
		||||
    Copyright (c) 2012 Red Hat, Inc.
 | 
			
		||||
 | 
			
		||||
Visit Liberation Fonts at
 | 
			
		||||
 | 
			
		||||
    https://github.com/liberationfonts/liberation-fonts
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains Source Han Sans licensed under the SIL Open Font License, available at LICENSE.OFL. This font is
 | 
			
		||||
 | 
			
		||||
    Copyright 2014-2019 Adobe (http://www.adobe.com/)
 | 
			
		||||
 | 
			
		||||
Visit Source Han Sans at
 | 
			
		||||
 | 
			
		||||
    https://github.com/adobe-fonts/source-han-sans
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains wine-mono, parts of which are included under a variety of licenses.
 | 
			
		||||
 | 
			
		||||
    Parts of Mono (mono/) are variously licensed under the GPL, LGPL, and MIT X11 licenses. All parts are available as LGPL or MIT X11 except for the following:
 | 
			
		||||
     * The ICSharpCode.SharpZipLib library is available as GPL with an exception (see mono/mcs/class/ICSharpCode.SharpZipLib/README).
 | 
			
		||||
     * mcs/jay is BSD-licensed.
 | 
			
		||||
 | 
			
		||||
    The Visual Basic class libraries (mono-basic/) are MIT X11. The compiler is LGPL v2.
 | 
			
		||||
 | 
			
		||||
    FNA is a mix of MSPL and MIT. It has the following library dependencies:
 | 
			
		||||
     * FAudio, MojoShader, Theorafile, SDL2, SDL_image_compact, and SDL2-CS are zlib-licensed. SDL2-CS is built into FNA.dll.
 | 
			
		||||
     * FNA.NetStub is MSPL.
 | 
			
		||||
 | 
			
		||||
    The winforms and wpf libraries are MIT.
 | 
			
		||||
 | 
			
		||||
wine-mono itself is included under the MIT license. wine-mono is
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 2012 Vincent Povirk for CodeWeavers
 | 
			
		||||
 | 
			
		||||
    Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
    of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
    in the Software without restriction, including without limitation the rights
 | 
			
		||||
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
    copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
    furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
    The above copyright notice and this permission notice shall be included in
 | 
			
		||||
    all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | 
			
		||||
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
    THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
Visit wine-mono at
 | 
			
		||||
 | 
			
		||||
    https://github.com/madewokherd/wine-mono
 | 
			
		||||
 | 
			
		||||
View wine-mono's complete license at
 | 
			
		||||
 | 
			
		||||
    https://github.com/madewokherd/wine-mono/blob/master/COPYING
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains wine-gecko, parts of which are included under a variety of licenses.
 | 
			
		||||
 | 
			
		||||
wine-gecko itself is included under the Mozilla Public License 2.0.
 | 
			
		||||
 | 
			
		||||
wine-gecko is available in Source Code form at
 | 
			
		||||
 | 
			
		||||
    https://sourceforge.net/p/wine/wine-gecko
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
This software contains a modified version of Vkd3d licensed under the LGPL 2.1. Vkd3d is
 | 
			
		||||
 | 
			
		||||
    Copyright 2016-2019 the Vkd3d project authors
 | 
			
		||||
 | 
			
		||||
Visit Vkd3d at
 | 
			
		||||
 | 
			
		||||
    https://source.winehq.org/git/vkd3d.git
 | 
			
		||||
 | 
			
		||||
View our modifications at
 | 
			
		||||
 | 
			
		||||
    https://github.com/ValveSoftware/vkd3d
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
Parts of this software are based on the OpenVR SDK, which is
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 2015, Valve Corporation
 | 
			
		||||
    All rights reserved.
 | 
			
		||||
 | 
			
		||||
    Redistribution and use in source and binary forms, with or without modification,
 | 
			
		||||
    are permitted provided that the following conditions are met:
 | 
			
		||||
 | 
			
		||||
    1. Redistributions of source code must retain the above copyright notice, this
 | 
			
		||||
    list of conditions and the following disclaimer.
 | 
			
		||||
 | 
			
		||||
    2. Redistributions in binary form must reproduce the above copyright notice,
 | 
			
		||||
    this list of conditions and the following disclaimer in the documentation and/or
 | 
			
		||||
    other materials provided with the distribution.
 | 
			
		||||
 | 
			
		||||
    3. Neither the name of the copyright holder nor the names of its contributors
 | 
			
		||||
    may be used to endorse or promote products derived from this software without
 | 
			
		||||
    specific prior written permission.
 | 
			
		||||
 | 
			
		||||
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 | 
			
		||||
    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | 
			
		||||
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
			
		||||
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
 | 
			
		||||
    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | 
			
		||||
    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | 
			
		||||
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 | 
			
		||||
    ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | 
			
		||||
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
Visit OpenVR at
 | 
			
		||||
 | 
			
		||||
    https://github.com/ValveSoftware/openvr
 | 
			
		||||
 | 
			
		||||
---- ---- ---- ----
 | 
			
		||||
 | 
			
		||||
Parts of this software are based on the AMD AGS library, which is
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 2017 Advanced Micro Devices, Inc. All rights reserved.
 | 
			
		||||
 | 
			
		||||
    Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
    of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
    in the Software without restriction, including without limitation the rights
 | 
			
		||||
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
    copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
    furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
    The above copyright notice and this permission notice shall be included in
 | 
			
		||||
    all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | 
			
		||||
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
    THE SOFTWARE.
 | 
			
		||||
@@ -1,83 +0,0 @@
 | 
			
		||||
В планах:
 | 
			
		||||
* вывод changlog после обновления
 | 
			
		||||
* перепроверить KILL_WINESERVER
 | 
			
		||||
* исправить работу windows steam
 | 
			
		||||
* создать defaut префик и сделать авто симлинки в другие префиксы (games, programm files, users)
 | 
			
		||||
* добавить кнопку отчистки префикса без затрагивания игр и программ
 | 
			
		||||
* удалить старые mono и gecko из .PortWINE
 | 
			
		||||
* добавить вопрос перед обновлением скриптов
 | 
			
		||||
* проверить windows steam под PortProton
 | 
			
		||||
* убрать все *_vars
 | 
			
		||||
* выкачка либов из серверов кроссовера?
 | 
			
		||||
* иконка в трей для PortProton
 | 
			
		||||
* пофиксить выхлоп debug
 | 
			
		||||
* зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru
 | 
			
		||||
 | 
			
		||||
###Scripts version 1034###
 | 
			
		||||
* hotfix для EGS
 | 
			
		||||
* в dxvk и opengl режиме, по умолчанию выбран win7
 | 
			
		||||
 | 
			
		||||
###Scripts version 1033###
 | 
			
		||||
* убран xterm из debug (иначе ломает шрифты)
 | 
			
		||||
* добавлена кнопка редактирования найденного db файла
 | 
			
		||||
* ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force
 | 
			
		||||
 | 
			
		||||
###Scripts version 1032###
 | 
			
		||||
* изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")" 
 | 
			
		||||
* автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42"
 | 
			
		||||
* по умолчанию под dxvk и opengl используется win10
 | 
			
		||||
* исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла
 | 
			
		||||
 | 
			
		||||
###Scripts version 1031###
 | 
			
		||||
* исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs 
 | 
			
		||||
 | 
			
		||||
###PortProton-71###    11.04.2021  
 | 
			
		||||
* отключено обновление libs, mono и gecko во время установки PortProton
 | 
			
		||||
* проверка версии glibc перед установкой, если версия ниже необходимой, то выводим ошибку
 | 
			
		||||
* добавлена проверка хеш-суммы порта на ftp перед установкой
 | 
			
		||||
* добавлен прогресс загрузки библиотек с интернета
 | 
			
		||||
* добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла 
 | 
			
		||||
* исправлено дублирование db файлов при создании ярлыков
 | 
			
		||||
* перенос libs с сервера PortWINE-Linux.ru на https://github.com/Castro-Fidel/PortWINE/releases/ 
 | 
			
		||||
* скачивание mono оф. github mono 
 | 
			
		||||
* скачивание gecko оф. ftp winehq 
 | 
			
		||||
* в /data/scripts/vars/PortProton_vars добавлена переменная PW_MANGOHUD=1 что включает HUD для монитроринга FPS, нагрузку на CPU, GPU и т.п (при условии что в системе предустановлен пакет mangohud)
 | 
			
		||||
* обновлена локализация подсказок при наведении на кнопки на экране выбора режимов запуска (русская и английская версии)
 | 
			
		||||
* добавлена проверка соединения с серверами и докачки winetricks, libs, mono, gecko.
 | 
			
		||||
* произведена глобальная чистка кода и вынос множества решений в отдельные функции
 | 
			
		||||
* дебаг теперь открывается в системном текстовом редакторе 
 | 
			
		||||
* в дебаг добавлен инвайт (ссылка-приглашение) на наш сервер Discord
 | 
			
		||||
* убран CREATE_SHORTCUT и LAUNCH при запуске PortProton.desktop
 | 
			
		||||
* убрано удаление кэша winetricks
 | 
			
		||||
 | 
			
		||||
###PortProton-70###    05.04.2021   
 | 
			
		||||
* обновлен wine до версии proton 6.3-1
 | 
			
		||||
* обновлены dxvk и vkd3d поставляемые вместе с proton 6.3-1
 | 
			
		||||
* обновлены библиотеки до версии libs_v7
 | 
			
		||||
* обновлен Mono до 6.1.1
 | 
			
		||||
* обновлен Gecko до 2.47.2
 | 
			
		||||
 | 
			
		||||
###PortProton-65###    13.02.2021
 | 
			
		||||
* реализовано автоматическое обновление скриптов
 | 
			
		||||
 | 
			
		||||
###PortProton-63###    22.11.2020
 | 
			
		||||
* при запуске exe по ПКМ выбор режима появляется всегда (удобно для тестов)
 | 
			
		||||
* все настройки переехали в один файл PortProton (псевдографика использует YAD)
 | 
			
		||||
* обновлены runlib (добавлен YAD что бы не было необходимости устанавливать его в систему)
 | 
			
		||||
* ускорен запуск порта после изменения версии WINE 
 | 
			
		||||
* reset убивает процессы wine только для текущего порта
 | 
			
		||||
* winetricks теперь не скачивается при каждом запуске, а идет проверка актуальности версии
 | 
			
		||||
* добавлена функция использования базы данных для запускаемых игр и программ (автоматическая настройка префикса)
 | 
			
		||||
* добавлена функция тихой установки порта (sh PortProton-XX -rus, или sh PortProton-XX -eng)
 | 
			
		||||
 | 
			
		||||
###PortProton-51###    22.11.2020   -   RELEASE
 | 
			
		||||
* включает в себя 2 версии вайна: WINE PROTON 5.21 GE 1 и WINE PROTON 5.13 EXPEREMENTAL (переключаются автоматически, в зависимости от выбранного режима запуска dxvk, или vkd3d)
 | 
			
		||||
* обновлен DXVK до версии 1.7.3 (работают как старые игры требующие DirectX 9, так и новые с DirectX 11)
 | 
			
		||||
* обновлен VKD3D до версии 2.1 (работают новинки которые требуют DirectX 12. Например Cyberpunk2077 и Death Stranding)
 | 
			
		||||
* добавлена функция автоматического удаление мусора в виде steamclien.dll из префикса, реестра и библиотек предустановленного вайна
 | 
			
		||||
* обновлены скрипты (подробнее у нас на github)
 | 
			
		||||
значительно переработан и улучшен debug режим (запускается из каталога с портом)
 | 
			
		||||
* обновлены runtime библиотеки до версии libs_v4, что улучшает совместимость с разными ОС Linux и повышает производительность в играх
 | 
			
		||||
поддерживаются gamemode, FSYNC, ESYNC  из "коробки" 
 | 
			
		||||
* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению) 
 | 
			
		||||
* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась)
 | 
			
		||||
							
								
								
									
										511
									
								
								data_from_portwine/changelog_eng
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,511 @@
 | 
			
		||||
You can help us in the development of the project on the website: boosty.to/linux-gaming.ru
 | 
			
		||||
-----------------------------------------
 | 
			
		||||
Changelog:
 | 
			
		||||
 | 
			
		||||
###Scripts version 2161###
 | 
			
		||||
* updated versions:
 | 
			
		||||
    PROTON_GE="7-49"
 | 
			
		||||
 | 
			
		||||
###Scripts version 2160###
 | 
			
		||||
* updated versions:
 | 
			
		||||
    PROTON_GE="7-48" (by default)
 | 
			
		||||
    DXVK_GIT_VER="2.1"
 | 
			
		||||
    VKD3D_GIT_VER="1.1-3132"
 | 
			
		||||
export WINE_FULLSCREEN_FSR="1" (by default)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2159###
 | 
			
		||||
* Updated libs_v38 (HOTFIX)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2158###
 | 
			
		||||
* Updated libs_v37:
 | 
			
		||||
    fix: kernel32.dll
 | 
			
		||||
 | 
			
		||||
###Scripts version 2157###
 | 
			
		||||
* Updated libs_v36:
 | 
			
		||||
    depot 0.20230111.68
 | 
			
		||||
    pressure-vessel 0.20221215.0 scout
 | 
			
		||||
    scripts 0.20221215.0
 | 
			
		||||
    sniper 0.20230109.1
 | 
			
		||||
 | 
			
		||||
###Scripts version 2156###
 | 
			
		||||
* the variable "PW_MANGOHUD_x32" has been added to EDIT_BD, which enables MANGOHUD for 32-bit games (temporary need to bypass the error of MANGOHUD in 64-bit games in some systems)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2155###
 | 
			
		||||
* updated versions:
 | 
			
		||||
    PROTON_LG="7-47"
 | 
			
		||||
    PROTON_GE="7-47"
 | 
			
		||||
    DXVK_GIT_VER="2.0-116"
 | 
			
		||||
    VKD3D_GIT_VER="1.1-3115"
 | 
			
		||||
 | 
			
		||||
###Scripts version 2154###
 | 
			
		||||
* updated PROTON_LG 7-43
 | 
			
		||||
 | 
			
		||||
###Scripts version 2153###
 | 
			
		||||
* updated versions:
 | 
			
		||||
      PROTON_GE="7-43"
 | 
			
		||||
      DXVK_GIT_VER="2.0-36"
 | 
			
		||||
      VKD3D_GIT_VER="1.1-3094"
 | 
			
		||||
* fixed crashes of the Witcher 3 game (next gen. DX12) It is necessary to use the PROTON_GE_7-43 version
 | 
			
		||||
 | 
			
		||||
###Scripts version 2152###
 | 
			
		||||
* added installation of the game Path of Exile
 | 
			
		||||
* updated versions of GIT DXVK and VKD3D:
 | 
			
		||||
      DXVK_GIT_VER="2.0-34"
 | 
			
		||||
      VKD3D_GIT_VER="1.1-3088"
 | 
			
		||||
* added vkbasalt unexpected shutdown when building GIT versions of DXVK and VKD3D (temporarily)
 | 
			
		||||
* libs_v34 (updated container and created a prefix template transfer plugin from a directory in the libs directory)
 | 
			
		||||
      pressure vessel 0.20221130.0
 | 
			
		||||
      sniper 0.20221130.0
 | 
			
		||||
* updated FAKE_DLSS version to 091122
 | 
			
		||||
 | 
			
		||||
###Scripts version 2151###
 | 
			
		||||
* added Panzar
 | 
			
		||||
 | 
			
		||||
###Scripts version 2150###
 | 
			
		||||
* added Warframe
 | 
			
		||||
 | 
			
		||||
###Scripts version 2149###
 | 
			
		||||
* added STEAM (version for Windows)
 | 
			
		||||
* added Indiegala Client
 | 
			
		||||
 | 
			
		||||
###Scripts version 2148###
 | 
			
		||||
* added Crossout
 | 
			
		||||
 | 
			
		||||
###Scripts version 2147###
 | 
			
		||||
* created a repository https://github.com/Castro-Fidel/vulkan/releases with DXVK and VKD3D versions compiled specifically to work under the container, which reduces problems and increases the number of games launched
 | 
			
		||||
* default versions:
 | 
			
		||||
     export DXVK_STABLE_VER="1.10.3-28"
 | 
			
		||||
     export DXVK_GIT_VER="2.0-26"
 | 
			
		||||
     export VKD3D_STABLE_VER="1.1-2602"
 | 
			
		||||
     export VKD3D_GIT_VER="1.1-2967"
 | 
			
		||||
* you can still set the standard versions of DXVK and VKD3D for individual games and they will be downloaded from off. GitHub repositories
 | 
			
		||||
* solved problem with League of Legends game on some systems (eg Rosa Linux)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2146###
 | 
			
		||||
* added interface language switching in the "PORTPROTON SETTINGS" section
 | 
			
		||||
* added the ability to download the new version of PROTON STEAM 7.0-5
 | 
			
		||||
* minor fixes and script improvements
 | 
			
		||||
 | 
			
		||||
###Scripts version 2145###
 | 
			
		||||
* added the ability to change SVN and VKD3D versions in the game settings file .pdb and globally in user.conf using variables (values are given for example):
 | 
			
		||||
        export DXVK_STABLE_VER="1.10.3"
 | 
			
		||||
        export SVN_GIT_VER="2.0"
 | 
			
		||||
        export VKD3D_STABLE_VER="2.6"
 | 
			
		||||
        export VKD3D_GIT_VER="2.7"
 | 
			
		||||
* for League of Legends, the default version is DXVK 1.10.2 - as more stable for this game
 | 
			
		||||
 | 
			
		||||
###Scripts version 2144###
 | 
			
		||||
* updated WINE for League of Legends
 | 
			
		||||
 | 
			
		||||
###Scripts version 2143###
 | 
			
		||||
* due to EA Launcher issues, the Origin installer has been temporarily reverted
 | 
			
		||||
 | 
			
		||||
###Scripts version 2142###
 | 
			
		||||
* added alternative FTP server for PP component updates if download failed from main GITHUB server
 | 
			
		||||
* added display of current versions of DXVK and VKD3D when they are selected in the PortProton interface
 | 
			
		||||
* Changed the WINE_WIN_START="start /i /b /wait /high /unix" variable to increase the priority of the application being started (test) and more detailed output of information when creating a Log.
 | 
			
		||||
* for lovers of MMORPGs and weak hardware, an automatic installer Fulqrum Games has been added to launch Royal Quest - a massively multiplayer online game developed by 1C and Katauri Interactive. Thanks chal55rus (Sergey P.)
 | 
			
		||||
* Added PlariumPlay automatic installer to launch Raid: Shadow Legends
 | 
			
		||||
 | 
			
		||||
###Scripts version 2141###
 | 
			
		||||
* HOTFIX - added EA icon
 | 
			
		||||
 | 
			
		||||
###Scripts version 2140###
 | 
			
		||||
* added the USE_WINE_DXGI variable to EDIT_DB
 | 
			
		||||
* added the function of modular updating of DXVK and VKD3D-PROTON from GitHub servers
 | 
			
		||||
* added selection of DXVK and VKD3D-PROTON versions when launching games/launchers
 | 
			
		||||
* changed the automatic installation of ORIGIN on EA Launcher (beta test)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2139###
 | 
			
		||||
* added the function of reinstalling PortProton from the menu of PortProton itself and using the "--reinstall" argument in the terminal
 | 
			
		||||
* updated version of PROTON_LG 7.34 based on PROTON GE 7.39 (Updated support for running game: "Overwatch 2")
 | 
			
		||||
 | 
			
		||||
###Scripts version 2138###
 | 
			
		||||
* added "Calibre" in AUTOINSTALL (thanks chal55rus)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2137###
 | 
			
		||||
* updated version of PROTON_LG 7.32 based on PROTON GE 7.38 (Added support for running game: "Uncharted: Legacy of Thieves")
 | 
			
		||||
* minor script optimizations for running PortProton
 | 
			
		||||
 | 
			
		||||
###Scripts version 2136###
 | 
			
		||||
* added "Lesta Game Center" in AUTOINSTALL
 | 
			
		||||
 | 
			
		||||
###Scripts version 2135###
 | 
			
		||||
* updated PROTON_GE_7-37 (updated dxvk and vkd3d)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2134###
 | 
			
		||||
* added the WINE-GE-CUSTOM tab in GET_OTHER_WINE to download versions of wine LUTRIS
 | 
			
		||||
* updated the PROTON_LG 7.31 version (together with dxvk and vkd3d)
 | 
			
		||||
* changed the MY.GAMES auto-installer to vkPlay (with the creation of a separate VK_PLAY prefix)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2133###
 | 
			
		||||
* update libs_v33 (steam runtime sniper container 09/29/2022, version MANGOHUD 0.6.8)
 | 
			
		||||
* update plugins_v8 (updated version of FAKE DLSS - FSR 2.1.1)
 | 
			
		||||
* removed variables from the EDIT_DB menu that are no longer necessary
 | 
			
		||||
* made a small optimization of scripts to speed up the launch of games 
 | 
			
		||||
* ORIGIN is working again (if you already have ORIGIN installed, enable USE_TERMINAL in EDIT_DB)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2132###
 | 
			
		||||
* ATTENTION! The site portwine-linux.ru which is working again - FAKE! What kind of person did this and with what motives is unknown. So be vigilant! The site of our project: LINUX-GAMING.RU - and once again I will ask all the authors of their sites and Youtube channels to change their links. Thank you.
 | 
			
		||||
 | 
			
		||||
###Scripts version 2131###
 | 
			
		||||
* HOTFIX and change url
 | 
			
		||||
 | 
			
		||||
###Scripts version 2130###
 | 
			
		||||
* by default, the WINE version of PROTON_LG is used (based on wine-ge-custom with the addition of patches required for PortProton) You can still use the PROTON_GE version by selecting it in the startup menu.exe file.
 | 
			
		||||
* due to the rebranding and the transition to the new WINE-PROTON branch, the scripts have been significantly updated
 | 
			
		||||
* ATTENTION: The prefix of variables in "EDIT_DB" and "user.conf" has changed from "PW_" to "PW_". At the first launch after the update, your settings files will also be updated.
 | 
			
		||||
 | 
			
		||||
###Scripts version 2129###
 | 
			
		||||
* scipts optimization for dxvk and vkd3d
 | 
			
		||||
 | 
			
		||||
###Scripts version 2128###
 | 
			
		||||
* updated "plugins_v7" (updated libraries for FAKE DLSS - FSR 2.1 operation)
 | 
			
		||||
* updated PROTON_GE_7-33 (updated dxvk and vkd3d)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2127###
 | 
			
		||||
* updated "plugins_v6" (added libraries for FAKE DLS)
 | 
			
		||||
* added the ability to enable support for USE_FAKE_DLSS in the EDIT_DB menu (Works on ANY video card with Vulkan support)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2126###
 | 
			
		||||
* updated PROTON_GE_7-30 (dxvk and vkd3d from PROTON_STEAM_7.0-4)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2125###
 | 
			
		||||
* HOTFIX - start.sh
 | 
			
		||||
 | 
			
		||||
###Scripts version 2124###
 | 
			
		||||
* updated "PROTON_GE" to version 7-29
 | 
			
		||||
* updated "PROTON_STEAM" to version 7.0-4
 | 
			
		||||
* updated pp-games-lib plugin
 | 
			
		||||
 | 
			
		||||
###Scripts version 2123###
 | 
			
		||||
* HOTFIX - GALLIUM NINE mode
 | 
			
		||||
 | 
			
		||||
###Scripts version 2122###
 | 
			
		||||
* added the pp-games-lib plugin to the new PortProton/data/plugins/ details directory on github (plugin author: comrade zorn) https://github.com/zorn-v/PortProton-games-library
 | 
			
		||||
* updated scripts for installing and launching League of Legends (updated WINE_LOL_GE_7.0-4 - from now on there is no need to enter the root password to launch League of Legends)
 | 
			
		||||
* for GALLIUM_NINE to work, PROTON_GE is used by default
 | 
			
		||||
* in GALLIUM_NINE mode, the operation of launchers (such as Epic Games) has been fixed
 | 
			
		||||
* for Wargaming Game Center, the startup argument "--disable-gpu" is disabled automatically when using VULKAN mode.
 | 
			
		||||
* when using the DOTNET prefix, the black screen display in some applications has been fixed
 | 
			
		||||
* added a choice of downloading and automatic installation of WINE versions from Kron4ek
 | 
			
		||||
 | 
			
		||||
###Scripts version 2121###
 | 
			
		||||
* updated "PROTON_GE" to version 7-26
 | 
			
		||||
* fixed creation of shortcuts for WGC (to automatically fix existing shortcuts, just run the WGC installer from PortProton)
 | 
			
		||||
* Added automatic activation of MANGOHUD when using FPS limit
 | 
			
		||||
 | 
			
		||||
###Scripts version 2120###
 | 
			
		||||
* updated "PROTON_GE" to version 7-21
 | 
			
		||||
* updated "libs_v32" (Steam Runtime Snipers)
 | 
			
		||||
* updated installation of ORIGIN
 | 
			
		||||
 | 
			
		||||
###Scripts version 2119###
 | 
			
		||||
* HOTFIX - for PW_USE_D3D_EXTRAS
 | 
			
		||||
* updated information about the project, developers and paid subscribers on boosty
 | 
			
		||||
* added optimization of games and applications when using a Wayland session (using direct launch, not using XWayland)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2118###
 | 
			
		||||
* PW_USE_D3D_EXTRAS is back on by default (except WGC)
 | 
			
		||||
* updated "PROTON_STEAM" to version 7.0-3
 | 
			
		||||
* added information about the project and developers (test mode)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2117###
 | 
			
		||||
* HOTFIX - World of Sea Battles
 | 
			
		||||
* HOTFIX - AUTOINSTALL
 | 
			
		||||
 | 
			
		||||
###Scripts version 2116###
 | 
			
		||||
* HOTFIX - Epic Games Store
 | 
			
		||||
* HOTFIX - League of Legends
 | 
			
		||||
 | 
			
		||||
###Scripts version 2115###
 | 
			
		||||
* optimized launch PortProton in Rosa Linux
 | 
			
		||||
 | 
			
		||||
###Scripts version 2111 - 2114###
 | 
			
		||||
* debug
 | 
			
		||||
 | 
			
		||||
###Scripts version 2110###
 | 
			
		||||
* updated "PROTON_GE" to version 7-20
 | 
			
		||||
* fixed the work of the game World of Warplanes
 | 
			
		||||
* variable PW_D3D_EXTRAS_DISABLE renamed to PW_USE_D3D_EXTRAS and disabled by default
 | 
			
		||||
 | 
			
		||||
###Scripts version 2109###
 | 
			
		||||
* update "libs_v31"
 | 
			
		||||
* updated "PROTON_GE" to version 7-19
 | 
			
		||||
 | 
			
		||||
###Scripts version 2108###
 | 
			
		||||
* HOTFIX for Rosa Linux
 | 
			
		||||
 | 
			
		||||
###Scripts version 2107###
 | 
			
		||||
* accelerated container launch
 | 
			
		||||
* optimization of start.sh script
 | 
			
		||||
* updated "libs_v30" (restored work of vkBasalt on previous versions of OS Linux)
 | 
			
		||||
* updated "PROTON_GE" to version 7-18
 | 
			
		||||
 | 
			
		||||
###Scripts version 2106###
 | 
			
		||||
* updated libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5)
 | 
			
		||||
* added "WINE_FULLSCREEN_FSR" variable to "EDIT_DB" to enable "AMD FidelityFX Super Resolution"
 | 
			
		||||
* improved image quality when using FSR (Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen)
 | 
			
		||||
* vkBasalt performance improved
 | 
			
		||||
* performance improvements in games when using the VULKAN API (DXVK and VKD3D)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2105###
 | 
			
		||||
* updated "PROTON_STEAM" to version 7.0-2
 | 
			
		||||
* updated "PROTON_GE" to version 7-16
 | 
			
		||||
* updated "WINE_LOL_GE" to version 7.0-2 + installation and startup scripts (game client launch is accelerated)
 | 
			
		||||
* removed "Bethesda.net Launcher" from AUTOINSTALL (because it moved to STEAM)
 | 
			
		||||
* improved prefix image creation and unpacking functions
 | 
			
		||||
 | 
			
		||||
###Scripts version 2104###
 | 
			
		||||
* HOTFIX - download and update winetricks
 | 
			
		||||
* when creating a log, all d3dx* and d3dcomp* were removed for readability
 | 
			
		||||
 | 
			
		||||
###Scripts version 2103###
 | 
			
		||||
* updated container launch mode
 | 
			
		||||
* temporary variable PW_USE_AMDVLK_DRIVER does not work
 | 
			
		||||
 | 
			
		||||
###Scripts version 2102###
 | 
			
		||||
* fixed work of GALLIUM_NINE on integrated video cards from Intel
 | 
			
		||||
* fixed switching AMDVLK - RADV
 | 
			
		||||
* FPS increase in games up to 20% (for all launch modes)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2101###
 | 
			
		||||
* fix work WINETRICKS (new prefix manager) in the absence of winetricks.log
 | 
			
		||||
* updated "libs_v28" (MANGOHUD update to version 0.6.6-1)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2100###
 | 
			
		||||
* updated "libs_v27" (unification of library directories for different Linux OS)
 | 
			
		||||
* MANGOHUD works again in OPENGL mode
 | 
			
		||||
* added launcher World of Sea Battle (TEST)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2099###
 | 
			
		||||
* updated "PROTON_GE" to version 7-14
 | 
			
		||||
* updated "libs_v26" (Steam Runtime Sniper container update)
 | 
			
		||||
* updated "plugins_v5"
 | 
			
		||||
* added check for the presence of the d3dadapter9 library in the system (required for GALLIUM_NINE to work on a larger number of Linux OS)
 | 
			
		||||
* faster creation of a new prefix
 | 
			
		||||
* default theme for wine is light (after creating a new one, or clearing the current prefix)
 | 
			
		||||
* added variable PW_USE_SHADER_CACHE to EDIT_DB to control shader caching (disable only if there are microfreezes in the game)
 | 
			
		||||
* removed STEAM_PP from AUTOINSTALL (because there is a native STEAM for Linux with its own wine-proton)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2098###
 | 
			
		||||
* due to possible problems with some games, MANGOHUD is disabled by default (enabled in EDIT_DB -> MANGOHUD, or globally by adding export PW_MANGOHUD=1 to user.conf)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2097###
 | 
			
		||||
* accelerated launch of all applications in PortProton up to 200% depending on the system
 | 
			
		||||
* updated additional libraries "plugins_v4" (added support for GALLIUM_NINE)
 | 
			
		||||
* added "GALLIUM_NINE" mode selection (support for native DirectX9 on video card with MESA driver)
 | 
			
		||||
* new interface for WINETRICKS added settings tab
 | 
			
		||||
* added variable PW_USE_AMDVLK_DRIVER to EDIT_DB (use AMDVLK driver instead of RADV on AMD video cards)
 | 
			
		||||
* added label archiving when creating a prefix image
 | 
			
		||||
* added restoration of shortcuts after unpacking the prefix image (the path to the .exe file is corrected automatically)
 | 
			
		||||
* improved virtual desktop performance
 | 
			
		||||
* explorer changed to winefile (free disk space detection fixed)
 | 
			
		||||
* disabled loading of mono and gecko for League of Legends (speeds up the first launch)
 | 
			
		||||
* to force the use of AMD graphics cards instead of NVIDIA, you can add "export DRI_PRIME=1" to user.conf
 | 
			
		||||
 | 
			
		||||
###Scripts version 2096###
 | 
			
		||||
* added check for LANG variable for PortProton to work on STEAM-DECK
 | 
			
		||||
* added new interface for WINETRICKS
 | 
			
		||||
* updated "libs_v25" (updated steam runtime sniper, added support for "MANGOHUD" and "vkBasalt" for systems: "RED OS" and "OpenSUSE")
 | 
			
		||||
* added variable PW_FIX_VIDEO_IN_GAME to EDIT_DB (required for video playback in some games so that it is not distorted, colored pink)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2095###
 | 
			
		||||
* updated "libs_v24" (hotfix)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2094###
 | 
			
		||||
* rollback "PROTON_GE" to version 7-9
 | 
			
		||||
 | 
			
		||||
###Scripts version 2093###
 | 
			
		||||
* updated "PROTON_STEAM" to version 7.0-1B
 | 
			
		||||
* updated "PROTON_GE" to version 7-10
 | 
			
		||||
* implemented prefix backups (WINE SETTINGS -> CREATE PFX BACKUP)
 | 
			
		||||
* temporarily restore copies using RMB to *.ppack (backup image) and open with... PortProton
 | 
			
		||||
* implemented full support for Rosa Linux (the installer is in the repositories)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2092###
 | 
			
		||||
* added separation of WINE and PORTPROTON settings in the main interface
 | 
			
		||||
* added quick creation of backup copies of assembly scripts before updating them (SCRIPTS FROM BACKUP in the PORTPROTON SETTINGS tab)
 | 
			
		||||
* other minor scripting improvements included in PortProton v1.0 release
 | 
			
		||||
 | 
			
		||||
###Scripts version 2091###
 | 
			
		||||
* RELEASE PORTPROTON v.1.0
 | 
			
		||||
 | 
			
		||||
###Scripts version 2086 - 2090###
 | 
			
		||||
* HOTFIX - fixed creation of symbolic links
 | 
			
		||||
 | 
			
		||||
###Scripts version 2086 - 2089###
 | 
			
		||||
* updated "PROTON_STEAM" to version 7.0-1
 | 
			
		||||
* updated "libs_v22.2" (Steam Runtime Sniper container update)
 | 
			
		||||
* updated additional libraries "plugins_v3" (added "EasyAntiCheat_Runtime" and updated "BattlEye_Runtime")
 | 
			
		||||
* added ability to create custom prefixes
 | 
			
		||||
* fixed "AUTOINSTALL" operation after "Arch Linux" update
 | 
			
		||||
* "League of Legends" is put in a separate prefix, which speeds up its launch (no need to update the prefix on each launch)
 | 
			
		||||
* by default there is an empty "DOTNET" prefix, when it starts it is automatically filled with libraries: "physx mfc42 vcrun2019 dotnet20sp2 dotnet48"
 | 
			
		||||
* added saving priority user settings (db files) inside the directory with the launched .exe file
 | 
			
		||||
* redesigned the main interface of PortProton (AUTOINSTALL opens by default on the first tab, in the SETTINGS tab added prefix selection and creation of a new prefix)
 | 
			
		||||
* added check to which prefix the Launcher is set from AUTOINSTALL
 | 
			
		||||
* added change history display before PortProton update
 | 
			
		||||
 | 
			
		||||
###Scripts version 2085###
 | 
			
		||||
* added argument editor for ".exe" file to "EDIT_DB" interface
 | 
			
		||||
* added "WINDOWS" version selection to "EDIT_DB" interface
 | 
			
		||||
* added "WINEDLLOVERRIDES" variable editor to "EDIT_DB" interface
 | 
			
		||||
* added "AUTOINSTALL WITH WINETRICKS" to "EDIT_DB" interface for installing "WINDOWS" libraries
 | 
			
		||||
 | 
			
		||||
###Scripts version 2084###
 | 
			
		||||
* improved function of displaying the icon of the file being launched in the PortProton GUI
 | 
			
		||||
* fixed function of changing "CREATE_SHORTCUT" button in PortProton interface
 | 
			
		||||
 | 
			
		||||
###Scripts version 2083###
 | 
			
		||||
* added displaying the icon of the file being launched in the PortProton GUI
 | 
			
		||||
* fixed creation of multiple .png files in .exe directory during shortcut creation
 | 
			
		||||
* in the PortProton interface, the "CREATE_SHORTCUT" button changes to "DELETE_SHORTCUT" when the shortcut is enabled in the menu -> games
 | 
			
		||||
 | 
			
		||||
###Scripts version 2082###
 | 
			
		||||
* HOTFIX - AUTOINSTALL for EGS
 | 
			
		||||
 | 
			
		||||
###Scripts version 2081###
 | 
			
		||||
* fixed installing GOG Galaxy
 | 
			
		||||
* update WINE PROTON_GE to 7.1-2
 | 
			
		||||
 | 
			
		||||
###Scripts version 2080###
 | 
			
		||||
* added progress display of winetricks and library downloads during prefix update
 | 
			
		||||
* added display of the startup process with log output on the fly when using the DEBUG mode
 | 
			
		||||
* removed from DEBUG information output that does not affect the operation of PortProton (gstreamer, ntlm, kerberos)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2079###
 | 
			
		||||
* fixed DLSS work on some systems
 | 
			
		||||
* reduced boot logo by 30%
 | 
			
		||||
 | 
			
		||||
###Scripts version 2078###
 | 
			
		||||
* added work Red Dead Redemption 2 purchased and launched in the Epic Games Launcher
 | 
			
		||||
 | 
			
		||||
###Scripts version 2077###
 | 
			
		||||
* fixed empty VULKAN/OPENGL selection window with some db files
 | 
			
		||||
* the main GUI functions on yad are moved to a separate file
 | 
			
		||||
 | 
			
		||||
###Scripts version 2076###
 | 
			
		||||
* HOTFIX - create symlink
 | 
			
		||||
 | 
			
		||||
###Scripts version 2075###
 | 
			
		||||
* HOTFIX - fixed OpenGL mode
 | 
			
		||||
 | 
			
		||||
###Scripts version 2072-2074###
 | 
			
		||||
* HOTFIX - fixed launch of League of Legends
 | 
			
		||||
 | 
			
		||||
###Scripts version 2071###
 | 
			
		||||
* added the ability to download other versions of WINE when opening an exe file (in the WINE selection drop-down list)
 | 
			
		||||
* updated launch mode gamemode (bug fixed libgamemode.so)
 | 
			
		||||
* added FSYNC optimization when getting kernel 5.16+ (increases FPS)
 | 
			
		||||
* added new launch mode: "VULKAN (WINE DXGI)" required for some new games using DX12
 | 
			
		||||
 | 
			
		||||
###Scripts version 2070###
 | 
			
		||||
* added PW_D3D_EXTRAS_DISABLE variable to EDIT_DB for DirectX external library
 | 
			
		||||
* rollback MANGOHUD to stable version from libs_v19.2
 | 
			
		||||
* fixed internet download interruption
 | 
			
		||||
* updated WINE_LOL_GE 7.0
 | 
			
		||||
 | 
			
		||||
###Scripts version 2069###
 | 
			
		||||
* added support for OpenSUSE (vkBasalt and MANGOHUD)
 | 
			
		||||
* fixed GOG installation (for OpenSUSE and Fedora)
 | 
			
		||||
* update plugins v.2.0:
 | 
			
		||||
        - BattlEye_Runtime (10 January 2022)
 | 
			
		||||
        - d3d_extras v.2.0
 | 
			
		||||
        - nvapi v.0.5.1
 | 
			
		||||
        - nvml v.0.1.1
 | 
			
		||||
 | 
			
		||||
###Scripts version 2068###
 | 
			
		||||
* HOTFIX - WINE download fixed
 | 
			
		||||
* NV_PRIME_RENDER_OFFLOAD is disabled by default (can be enabled using EDIT_DB)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2067###
 | 
			
		||||
* updated libs to v20 (uses new Steam Runtime Sniper container + updated: MANGOHUD, vkBasalt and additional packages required for PortProton)
 | 
			
		||||
* fixed GOG installation
 | 
			
		||||
* fixed black screen in Epic Games (NVIDIA + driver v.495)
 | 
			
		||||
* fixed canceling file downloads while using AUTOINSTALL
 | 
			
		||||
* many small fixes
 | 
			
		||||
 | 
			
		||||
###Scripts version 2066###
 | 
			
		||||
* updated WINE PROTON_GE_7.0RC6-1 (with dxvk and vkd3d)
 | 
			
		||||
* the wine version from PROTON_GE is used by default (can be replaced with PROTON STEAM by adding to user.conf: export PW_WINE_USE=PROTON_STEAM)
 | 
			
		||||
* added check for number of db files for one .exe
 | 
			
		||||
* fixed disabling of the League of Legends boot logo
 | 
			
		||||
* updated db files
 | 
			
		||||
 | 
			
		||||
###Scripts version 2065###
 | 
			
		||||
* HOTFIX - correcting the termination of the yad and yad_new processes
 | 
			
		||||
 | 
			
		||||
###Scripts version 2064###
 | 
			
		||||
* added notification to the user about possible problems when starting in a Wayland session (once and only under Wayland)
 | 
			
		||||
* added display of the current session type in debug
 | 
			
		||||
* added changelog in English
 | 
			
		||||
* after clearing the prefix (CLEAR PREFIX from SETTINGS) PortProton restart added
 | 
			
		||||
 | 
			
		||||
-----------------------------------------
 | 
			
		||||
<<< TRANSLATED WITH GOOGLE >>>
 | 
			
		||||
 | 
			
		||||
###Scripts version 2063###
 | 
			
		||||
* checking the relevance of scripts was transferred from wget to curl (significantly speeds up the launch of PortProton)
 | 
			
		||||
* fixed bug with restarting PortProton (quick restart)
 | 
			
		||||
* fixed symlink creation errors when starting from PortProton.desktop
 | 
			
		||||
* changed completion of PortProton scripts
 | 
			
		||||
* to optimize the first launch of games / launchers after using the AUTOINSTALL function, when filling the prefix with winetricks, the WINE version is used, which is indicated in the db file.
 | 
			
		||||
 | 
			
		||||
###Scripts version 2062### (Experimental version not included in the main branch)
 | 
			
		||||
* PROTON EXPEREMENTAL test from 01/14/22 (together with dxvk and vkd3d)
 | 
			
		||||
* test PROTON_GE 7.0 RC6 (shared with dxvk and vkd3d)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2061###
 | 
			
		||||
* continue to prepare the installation of PortProton from the repositories
 | 
			
		||||
 | 
			
		||||
###Scripts version 2060###
 | 
			
		||||
* prepared the ability to install PortProton from the repositories
 | 
			
		||||
 | 
			
		||||
###Scripts version 2059###
 | 
			
		||||
* updated GOG auto-installation
 | 
			
		||||
 | 
			
		||||
###Scripts version 2058###
 | 
			
		||||
* by default selected PW_WINE_USE=PROTON_STEAM for EGS
 | 
			
		||||
 | 
			
		||||
###Scripts version 2057###
 | 
			
		||||
* updated db files for EGS, UPLAY, STEAM
 | 
			
		||||
* added port update button "UPDATE PORTPROTON" to the "SETTINGS" tab
 | 
			
		||||
 | 
			
		||||
###Scripts version 2056###
 | 
			
		||||
* removed xtrem from dependencies (added use of native terminal emulator with yad)
 | 
			
		||||
* fixed installation of dotnet 4.5+ with winetricks
 | 
			
		||||
* HOTFIX - downloading libraries and wine on some systems (TEST)
 | 
			
		||||
* updated WINE_LOL_GE_6.16-5 with embedded mono 6.3.0 + gecko 2.47.2
 | 
			
		||||
* duckstation epsxe project64 vba-m yabause emulators added (thanks chal55rus)
 | 
			
		||||
* updated PROTON_STEAM to version 6.3-8C_PW2 (updated dxvk and vkd3d)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2055-1###
 | 
			
		||||
* updated db AnomalyLauncher
 | 
			
		||||
 | 
			
		||||
###Scripts version 2055###
 | 
			
		||||
* updated PROTON_STEAM to version 6.3-8 (again =)
 | 
			
		||||
* copying fonts has been replaced by creating symbolic links
 | 
			
		||||
* Added Cemu to emulator installers
 | 
			
		||||
 | 
			
		||||
###Scripts version 2054###
 | 
			
		||||
* added a new item to the PortProton menu to install emulators (thanks chal55rus)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2053###
 | 
			
		||||
* HOTFIX - fixed symlink creation errors for some libraries from plugins_v1
 | 
			
		||||
 | 
			
		||||
###Scripts version 2052-5###
 | 
			
		||||
* correct layout display loading League of Legends
 | 
			
		||||
 | 
			
		||||
###Scripts version 2052###
 | 
			
		||||
* rebranding of the logo (the source of the logo is in Discord - I'm waiting for your options for icons in png format)
 | 
			
		||||
* added cover art when loading the League of Legends client
 | 
			
		||||
* added animation when loading PortProton
 | 
			
		||||
* added animation when updating the prefix and running winetricks (with the ability to switch to the terminal output inside the GUI)
 | 
			
		||||
* copying d3d_extras changed to creating symlinks (still slightly increases port startup speed)
 | 
			
		||||
 | 
			
		||||
###Scripts version 2051###
 | 
			
		||||
* added checking and downloading the latest version of WINE for League of Legends before launching the game
 | 
			
		||||
 | 
			
		||||
###Scripts version 2050###
 | 
			
		||||
* HOTFIX - display WINE versions when creating a db file
 | 
			
		||||
							
								
								
									
										1223
									
								
								data_from_portwine/changelog_rus
									
									
									
									
									
										Executable file
									
								
							
							
						
						
							
								
								
									
										545
									
								
								data_from_portwine/dxvk.conf
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,545 @@
 | 
			
		||||
# Create the VkSurface on the first call to IDXGISwapChain::Present,
 | 
			
		||||
# rather than when creating the swap chain. Some games that start
 | 
			
		||||
# rendering with a different graphics API may require this option,
 | 
			
		||||
# or otherwise the window may stay black.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# dxgi.deferSurfaceCreation = False
 | 
			
		||||
# d3d9.deferSurfaceCreation = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Enforce a stricter maximum frame latency. Overrides the application
 | 
			
		||||
# setting specified by calling IDXGIDevice::SetMaximumFrameLatency.
 | 
			
		||||
# Setting this to 0 will have no effect.
 | 
			
		||||
#
 | 
			
		||||
# Supported values : 0 - 16
 | 
			
		||||
 | 
			
		||||
# dxgi.maxFrameLatency = 1
 | 
			
		||||
# d3d9.maxFrameLatency = 1
 | 
			
		||||
 | 
			
		||||
# Enables frame rate limiter. The main purpose of this is to work around
 | 
			
		||||
# bugs in games that have physics or other simulation tied to their frame
 | 
			
		||||
# rate, but do not provide their own limiter.
 | 
			
		||||
#
 | 
			
		||||
# Supported values : Any non-negative integer
 | 
			
		||||
 | 
			
		||||
# dxgi.maxFrameRate = 0
 | 
			
		||||
# d3d9.maxFrameRate = 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Override PCI vendor and device IDs reported to the application. Can
 | 
			
		||||
# cause the app to adjust behaviour depending on the selected values.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any four-digit hex number.
 | 
			
		||||
 | 
			
		||||
dxgi.customDeviceId = 222F
 | 
			
		||||
dxgi.customVendorId = 10de
 | 
			
		||||
 | 
			
		||||
# d3d9.customDeviceId = 222F
 | 
			
		||||
# d3d9.customVendorId = 10de
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Override the reported device description
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any string.
 | 
			
		||||
 | 
			
		||||
# dxgi.customDeviceDesc = ""
 | 
			
		||||
# d3d9.customDeviceDesc = ""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Override maximum amount of device memory and shared system memory
 | 
			
		||||
# reported to the application. This may fix texture streaming issues
 | 
			
		||||
# in games that do not support cards with large amounts of VRAM.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any number in Megabytes.
 | 
			
		||||
 | 
			
		||||
# dxgi.maxDeviceMemory = 0
 | 
			
		||||
# dxgi.maxSharedMemory = 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Some games think we are on Intel given a lack of NVAPI or
 | 
			
		||||
# AGS/atiadlxx support. Report our device memory as shared memory,
 | 
			
		||||
# and some small amount for a "carveout".
 | 
			
		||||
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# dxgi.emulateUMA = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Override back buffer count for the Vulkan swap chain.
 | 
			
		||||
# Setting this to 0 or less will have no effect.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any number greater than or equal to 2.
 | 
			
		||||
 | 
			
		||||
# dxgi.numBackBuffers = 0
 | 
			
		||||
# d3d9.numBackBuffers = 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Overrides synchronization interval (Vsync) for presentation.
 | 
			
		||||
# Setting this to 0 disables vertical synchronization entirely.
 | 
			
		||||
# A positive value 'n' will enable Vsync and repeat the same
 | 
			
		||||
# image n times, and a negative value will have no effect.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any non-negative number
 | 
			
		||||
 | 
			
		||||
# dxgi.syncInterval = -1
 | 
			
		||||
# d3d9.presentInterval = -1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# True enables the mailbox present mode in case regular Vsync is disabled.
 | 
			
		||||
# This should avoid tearing, but may be unsupported on some systems
 | 
			
		||||
# or require setting dxgi.numBackBuffers to a higher value in order
 | 
			
		||||
# to work properly.
 | 
			
		||||
#
 | 
			
		||||
# False enables the relaxed fifo present mode in case regular Vsync is enabled.
 | 
			
		||||
# This should result in tearing but reduce stutter if FPS are too low,
 | 
			
		||||
# but may be unsupported on some systems.
 | 
			
		||||
#
 | 
			
		||||
# Please do not report issues with this option.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Auto, True, False
 | 
			
		||||
 | 
			
		||||
# dxgi.tearFree = Auto
 | 
			
		||||
# d3d9.tearFree = Auto
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Assume single-use mode for command lists created on deferred contexts.
 | 
			
		||||
# This may need to be disabled for some applications to avoid rendering
 | 
			
		||||
# issues, which may come at a significant performance cost.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.dcSingleUseMode = True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Override the maximum feature level that a D3D11 device can be created
 | 
			
		||||
# with. Setting this to a higher value may allow some applications to run
 | 
			
		||||
# that would otherwise fail to create a D3D11 device.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1, 12_0, 12_1
 | 
			
		||||
 | 
			
		||||
# d3d11.maxFeatureLevel = 12_1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Overrides the maximum allowed tessellation factor. This can be used to
 | 
			
		||||
# improve performance in titles which overuse tessellation.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any number between 8 and 64
 | 
			
		||||
 | 
			
		||||
# d3d11.maxTessFactor = 16
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Enables relaxed pipeline barriers around UAV writes.
 | 
			
		||||
#
 | 
			
		||||
# This may improve performance in some games, but may also introduce
 | 
			
		||||
# rendering issues. Please don't report bugs with the option enabled.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.relaxedBarriers = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Ignores barriers around UAV writes from fragment shaders.
 | 
			
		||||
#
 | 
			
		||||
# This may improve performance in some games, but may also introduce
 | 
			
		||||
# rendering issues. Please don't report bugs with the option enabled.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.ignoreGraphicsBarriers = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Overrides anisotropic filtering for all samplers. Set this to a positive
 | 
			
		||||
# value to enable AF for all samplers in the game, or to 0 in order to
 | 
			
		||||
# disable AF entirely. Negative values will have no effect.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any number between 0 and 16
 | 
			
		||||
 | 
			
		||||
# d3d11.samplerAnisotropy = -1
 | 
			
		||||
# d3d9.samplerAnisotropy = -1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Changes the mipmap LOD bias for all samplers. The given number will be
 | 
			
		||||
# added to the LOD bias provided by the application, rather than replacing
 | 
			
		||||
# it entirely. Positive values will reduce texture detail, while negative
 | 
			
		||||
# values may increase sharpness at the cost of shimmer.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any number between -2.0 and 1.0
 | 
			
		||||
 | 
			
		||||
# d3d11.samplerLodBias = -0.3
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Declares vertex positions as invariant in order to solve
 | 
			
		||||
# potential Z-fighting issues at a small performance cost.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.invariantPosition = True
 | 
			
		||||
# d3d9.invariantPosition = True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Forces the sample count of all textures to 1, and performs
 | 
			
		||||
# the needed fixups in resolve operations and shaders.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.disableMsaa = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Clears workgroup memory in compute shaders to zero. Some games don't do
 | 
			
		||||
# this and rely on undefined behaviour. Enabling may reduce performance.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.zeroWorkgroupMemory = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Resource size limit for implicit discards, in kilobytes. For small staging
 | 
			
		||||
# resources mapped with MAP_WRITE, DXVK will sometimes allocate new backing
 | 
			
		||||
# storage in order to avoid GPU synchronization, so setting this too high
 | 
			
		||||
# may cause memory issues, setting it to -1 disables the feature.
 | 
			
		||||
 | 
			
		||||
# d3d11.maxImplicitDiscardSize = 256
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Resource size limit for buffer-mapped dynamic images, in kilobytes.
 | 
			
		||||
# A higher threshold may reduce memory usage and PCI-E bandwidth in
 | 
			
		||||
# some games, but may also increase GPU synchronizations. Setting it
 | 
			
		||||
# to -1 disables the feature.
 | 
			
		||||
 | 
			
		||||
# d3d11.maxDynamicImageBufferSize = -1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Allocates dynamic resources with the given set of bind flags in
 | 
			
		||||
# cached system memory rather than uncached memory or host-visible
 | 
			
		||||
# VRAM, in order to allow fast readback from the CPU. This is only
 | 
			
		||||
# useful for buggy applications, and may reduce GPU-bound performance.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: Any combination of the following:
 | 
			
		||||
# - v: Vertex buffers
 | 
			
		||||
# - i: Index buffers
 | 
			
		||||
# - c: Constant buffers
 | 
			
		||||
# - r: Shader resources
 | 
			
		||||
# - a: All dynamic resources
 | 
			
		||||
 | 
			
		||||
# d3d11.cachedDynamicResources = ""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Force-enables the D3D11 context lock via the ID3D10Multithread
 | 
			
		||||
# interface. This may be useful to debug race conditions.
 | 
			
		||||
#
 | 
			
		||||
# Supported values: True, False
 | 
			
		||||
 | 
			
		||||
# d3d11.enableContextLock = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Sets number of pipeline compiler threads.
 | 
			
		||||
#
 | 
			
		||||
# If the graphics pipeline library feature is enabled, the given
 | 
			
		||||
# number of threads will be used for shader compilation. Some of
 | 
			
		||||
# these threads will be reserved for high-priority work.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - 0 to use all available CPU cores
 | 
			
		||||
# - any positive number to enforce the thread count
 | 
			
		||||
 | 
			
		||||
# dxvk.numCompilerThreads = 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Toggles raw SSBO usage.
 | 
			
		||||
#
 | 
			
		||||
# Uses storage buffers to implement raw and structured buffer
 | 
			
		||||
# views. Enabled by default on hardware which has a storage
 | 
			
		||||
# buffer offset alignment requirement of 4 Bytes (e.g. AMD).
 | 
			
		||||
# Enabling this may improve performance, but is not safe on
 | 
			
		||||
# hardware with higher alignment requirements.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - Auto: Don't change the default
 | 
			
		||||
# - True, False: Always enable / disable
 | 
			
		||||
 | 
			
		||||
# dxvk.useRawSsbo = Auto
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Controls graphics pipeline library behaviour
 | 
			
		||||
#
 | 
			
		||||
# Can be used to change VK_EXT_graphics_pipeline_library usage for
 | 
			
		||||
# debugging purpose. Doing so will likely result in increased stutter
 | 
			
		||||
# or degraded performance.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - Auto: Enable if supported, and compile optimized pipelines in the background
 | 
			
		||||
# - True: Enable if supported, but do not compile optimized pipelines
 | 
			
		||||
# - False: Always disable the feature
 | 
			
		||||
 | 
			
		||||
# dxvk.enableGraphicsPipelineLibrary = Auto
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Controls pipeline lifetime tracking
 | 
			
		||||
#
 | 
			
		||||
# If enabled, pipeline libraries will be freed aggressively in order
 | 
			
		||||
# save memory and address space. Has no effect if graphics pipeline
 | 
			
		||||
# libraries are not supported or disabled.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - Auto: Enable tracking for 32-bit applications only
 | 
			
		||||
# - True: Always enable tracking
 | 
			
		||||
# - False: Always disable tracking
 | 
			
		||||
 | 
			
		||||
# dxvk.trackPipelineLifetime = Auto
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Sets enabled HUD elements
 | 
			
		||||
#
 | 
			
		||||
# Behaves like the DXVK_HUD environment variable if the
 | 
			
		||||
# environment variable is not set, otherwise it will be
 | 
			
		||||
# ignored. The syntax is identical.
 | 
			
		||||
 | 
			
		||||
# dxvk.hud =
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Reported shader model
 | 
			
		||||
#
 | 
			
		||||
# The shader model to state that we support in the device
 | 
			
		||||
# capabilities that the applicatation queries.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - 1: Shader Model 1
 | 
			
		||||
# - 2: Shader Model 2
 | 
			
		||||
# - 3: Shader Model 3
 | 
			
		||||
 | 
			
		||||
# d3d9.shaderModel = 3
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# DPI Awareness
 | 
			
		||||
#
 | 
			
		||||
# Decides whether we should call SetProcessDPIAware on device
 | 
			
		||||
# creation. Helps avoid upscaling blur in modern Windows on
 | 
			
		||||
# Hi-DPI screens/devices.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True, False: Always enable / disable
 | 
			
		||||
 | 
			
		||||
# d3d9.dpiAware = True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Strict Constant Copies
 | 
			
		||||
#
 | 
			
		||||
# Decides whether we should always copy defined constants to
 | 
			
		||||
# the UBO when relative addressing is used, or only when the
 | 
			
		||||
# relative addressing starts a defined constant.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True, False: Always enable / disable
 | 
			
		||||
 | 
			
		||||
# d3d9.strictConstantCopies = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Strict Pow
 | 
			
		||||
#
 | 
			
		||||
# Decides whether we have an opSelect for handling pow(0,0) = 0
 | 
			
		||||
# otherwise it becomes undefined.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True, False: Always enable / disable
 | 
			
		||||
 | 
			
		||||
# d3d9.strictPow = True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Lenient Clear
 | 
			
		||||
#
 | 
			
		||||
# Decides whether or not we fastpath clear anyway if we are close enough to
 | 
			
		||||
# clearing a full render target.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True, False: Always enable / disable
 | 
			
		||||
 | 
			
		||||
# d3d9.lenientClear = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Max available memory
 | 
			
		||||
#
 | 
			
		||||
# Changes the max initial value used in tracking and GetAvailableTextureMem
 | 
			
		||||
# Value in Megabytes
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - Max Available Memory: Any int32_t
 | 
			
		||||
# - Memory Tracking Testing: True, False
 | 
			
		||||
 | 
			
		||||
# d3d9.maxAvailableMemory = 4096
 | 
			
		||||
# d3d9.memoryTrackTest = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Force enable/disable floating point quirk emulation
 | 
			
		||||
#
 | 
			
		||||
# Force toggle anything * 0 emulation
 | 
			
		||||
# Setting it to True will use a faster but less accurate approach that works for most games.
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True: Use a faster but less accurate approach. Good enough for most games
 | 
			
		||||
# - False: Disable float emulation completely
 | 
			
		||||
# - Strict: Use a slower but more correct approach. Necessary for some games
 | 
			
		||||
# - Auto: DXVK will pick automatically
 | 
			
		||||
 | 
			
		||||
# d3d9.floatEmulation = Auto
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Enable dialog box mode
 | 
			
		||||
#
 | 
			
		||||
# Changes the default state of dialog box mode.
 | 
			
		||||
# *Disables* exclusive fullscreen when enabled.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True, False: Always enable / disable
 | 
			
		||||
 | 
			
		||||
# d3d9.enableDialogMode = False
 | 
			
		||||
 | 
			
		||||
# Overrides the application's MSAA level on the swapchain
 | 
			
		||||
#
 | 
			
		||||
# Supported values: -1 (application) and 0 to 16 (user override)
 | 
			
		||||
 | 
			
		||||
# d3d9.forceSwapchainMSAA = -1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Long Mad
 | 
			
		||||
#
 | 
			
		||||
# Should we make our Mads a FFma or do it the long way with an FMul and an FAdd?
 | 
			
		||||
# This solves some rendering bugs in games that have z-pass shaders which
 | 
			
		||||
# don't match entirely to the regular vertex shader in this way.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.longMad = False
 | 
			
		||||
 | 
			
		||||
# Device Local Constant Buffers
 | 
			
		||||
#
 | 
			
		||||
# Enables using device local, host accessible memory for constant buffers in D3D9.
 | 
			
		||||
# This tends to actually be slower for some reason on AMD,
 | 
			
		||||
# and the exact same performance on NVIDIA.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.deviceLocalConstantBuffers = False
 | 
			
		||||
 | 
			
		||||
# No Explicit Front Buffer
 | 
			
		||||
#
 | 
			
		||||
# Disables the front buffer
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.noExplicitFrontBuffer = False
 | 
			
		||||
 | 
			
		||||
# Support DF formats
 | 
			
		||||
#
 | 
			
		||||
# Support the vendor extension DF floating point depth formats
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.supportDFFormats = True
 | 
			
		||||
 | 
			
		||||
# Use D32f for D24
 | 
			
		||||
#
 | 
			
		||||
# Useful for reproducing AMD issues on other hw.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.useD32forD24 = False
 | 
			
		||||
 | 
			
		||||
# Support X4R4G4B4
 | 
			
		||||
#
 | 
			
		||||
# Support the X4R4G4B4 format.
 | 
			
		||||
# The Sims 2 is a horrible game made by complete morons.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.supportX4R4G4B4 = True
 | 
			
		||||
 | 
			
		||||
# Support D32
 | 
			
		||||
#
 | 
			
		||||
# Support the D32 format.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.supportD32 = True
 | 
			
		||||
 | 
			
		||||
# Disable A8 as a Render Target
 | 
			
		||||
#
 | 
			
		||||
# Disable support for A8 format render targets
 | 
			
		||||
# Once again, The Sims 2 is a horrible game made by complete morons.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.disableA8RT = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Force Sampler Type Spec Constants
 | 
			
		||||
#
 | 
			
		||||
# Useful if games use the wrong image and sampler
 | 
			
		||||
# type combo like Halo: CE or Spellforce.
 | 
			
		||||
# Can fix rendering in older, broken games in some instances.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.forceSamplerTypeSpecConstants = False
 | 
			
		||||
 | 
			
		||||
# Force Aspect Ratio
 | 
			
		||||
#
 | 
			
		||||
# Only exposes modes with a given aspect ratio.
 | 
			
		||||
# Useful for titles that break if they see ultra-wide.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - Any ratio, ie. "16:9", "4:3"
 | 
			
		||||
 | 
			
		||||
# d3d9.forceAspectRatio = ""
 | 
			
		||||
 | 
			
		||||
# Allow Discard
 | 
			
		||||
#
 | 
			
		||||
# Allow the discard lock flag to be used
 | 
			
		||||
# Useful if some apps use this incorrectly.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.allowDiscard = True
 | 
			
		||||
 | 
			
		||||
# Enumerate by Displays
 | 
			
		||||
#
 | 
			
		||||
# Whether we should enumerate D3D9 adapters by display (windows behaviour)
 | 
			
		||||
# or by physical adapter.
 | 
			
		||||
# May be useful in PRIME setups.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.enumerateByDisplays = True
 | 
			
		||||
 | 
			
		||||
# APITrace Mode
 | 
			
		||||
#
 | 
			
		||||
# Makes all host visible buffers cached and coherent
 | 
			
		||||
# Improves performance when apitracing, but also can impact
 | 
			
		||||
# some dumb games.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.apitraceMode = False
 | 
			
		||||
 | 
			
		||||
# Seamless Cubes
 | 
			
		||||
#
 | 
			
		||||
# Don't use non seamless cube maps even if they are supported.
 | 
			
		||||
# Non seamless cubes are correct d3d9 behavior, but can produce worse looking edges.
 | 
			
		||||
#
 | 
			
		||||
# Supported values:
 | 
			
		||||
# - True/False
 | 
			
		||||
 | 
			
		||||
# d3d9.seamlessCubes = False
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/Rockstar.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/ankama.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/battle_net.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/bethesda.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/caliber.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/cemu.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/citra.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/lol_cover.jpg
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 76 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/pw_loading_cover.gif
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.5 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/covers/pw_update_pfx_cover.gif
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.5 MiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/crossout.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 4.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/dolphin.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 729 B  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/duckstation.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/eaapp.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/epicgames.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/epsxe.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 663 B  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/eve.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/fulqrumgames.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/gameforge.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/glyph.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/gog.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/igclient.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/itch.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/lgc.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 680 B  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/lol.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/mame.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 953 B  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/mygames.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/origin.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/osu.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/panzar.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/plariumplay.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/poe.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/port_changelog.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/port_exit.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 11 KiB  | 
| 
		 Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 64 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/port_winefile.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 7.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/ppsspp.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/project64.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/retroarch.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 787 B  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/scummvm.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/steam.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/swl.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/ubc.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/vba-m.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/warframe.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/wgc.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/wosb.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/yabause.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/setup.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
| 
		 Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 409 KiB  | 
							
								
								
									
										484
									
								
								data_from_portwine/plugins/pp-games-lib
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,484 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import re
 | 
			
		||||
import shlex
 | 
			
		||||
import shutil
 | 
			
		||||
import logging
 | 
			
		||||
from configparser import RawConfigParser
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
from subprocess import run
 | 
			
		||||
from types import SimpleNamespace
 | 
			
		||||
try:
 | 
			
		||||
    from PyQt6.QtCore import * # type: ignore
 | 
			
		||||
    from PyQt6.QtGui import * # type: ignore
 | 
			
		||||
    from PyQt6.QtWidgets import * # type: ignore
 | 
			
		||||
except ModuleNotFoundError:
 | 
			
		||||
    from PyQt5.QtCore import * # type: ignore
 | 
			
		||||
    from PyQt5.QtGui import * # type: ignore
 | 
			
		||||
    from PyQt5.QtWidgets import * # type: ignore
 | 
			
		||||
 | 
			
		||||
settings = QSettings('PPGL', 'PortProtonGamesLib')
 | 
			
		||||
g = SimpleNamespace(locale = '')
 | 
			
		||||
 | 
			
		||||
class MainWindow(QMainWindow):
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        super().__init__()
 | 
			
		||||
 | 
			
		||||
        self.resize(QSize(800, 600))
 | 
			
		||||
        geometry = settings.value('geometry_main')
 | 
			
		||||
        if geometry:
 | 
			
		||||
            self.restoreGeometry(geometry)
 | 
			
		||||
 | 
			
		||||
        shortcut = RawConfigParser()
 | 
			
		||||
        shortcut.read(os.getenv('HOME') + '/.local/share/applications/PortProton.desktop')
 | 
			
		||||
        scripts_dir = shortcut.get('Desktop Entry', 'Path', fallback=os.getenv('HOME') + '/.local/share/PortWINE/PortProton/data/scripts')
 | 
			
		||||
        if not scripts_dir or not Path(scripts_dir).is_dir():
 | 
			
		||||
            QMessageBox.critical(self, 'Error', 'Can not find installed PortProton')
 | 
			
		||||
            exit(1)
 | 
			
		||||
        g.scripts_dir = scripts_dir.rstrip('/')
 | 
			
		||||
        g.pp_icon = shortcut.get('Desktop Entry', 'Icon', fallback='/usr/share/pixmaps/portproton.png')
 | 
			
		||||
        pp_icon = QIcon(g.pp_icon)
 | 
			
		||||
        self.setWindowIcon(pp_icon)
 | 
			
		||||
        self.setWindowTitle('PortProton games library')
 | 
			
		||||
 | 
			
		||||
        g.base_dir = str(Path(scripts_dir + '/../..').resolve())
 | 
			
		||||
        g.install_pfx = g.base_dir + '/data/prefixes/INSTALL'
 | 
			
		||||
        g.shortcuts_dir = g.base_dir + '/shortcuts'
 | 
			
		||||
        g.games_dir = g.base_dir + '/games'
 | 
			
		||||
 | 
			
		||||
        loc_path = Path(g.base_dir + '/data/tmp/PortProton_loc')
 | 
			
		||||
        if loc_path.exists():
 | 
			
		||||
            g.locale = loc_path.read_text().strip()
 | 
			
		||||
 | 
			
		||||
        Path(g.shortcuts_dir).mkdir(parents=True, exist_ok=True)
 | 
			
		||||
        Path(g.games_dir).mkdir(parents=True, exist_ok=True)
 | 
			
		||||
 | 
			
		||||
        sep = QFrame(self)
 | 
			
		||||
        sep.setFrameShape(QFrame.Shape.VLine)
 | 
			
		||||
        sep.setFrameShadow(QFrame.Shadow.Sunken)
 | 
			
		||||
        self._status_size = QLabel(self)
 | 
			
		||||
        self._status_dir = QLabel(self)
 | 
			
		||||
        self._status_wine = QLabel(self)
 | 
			
		||||
        self.statusBar().setVisible(False)
 | 
			
		||||
        self.statusBar().addWidget(self._status_dir, 1)
 | 
			
		||||
        self.statusBar().addWidget(self._status_wine)
 | 
			
		||||
        self.statusBar().addWidget(sep)
 | 
			
		||||
        self.statusBar().addWidget(self._status_size)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        self.game_list = GameList(self)
 | 
			
		||||
        self.setCentralWidget(self.game_list)
 | 
			
		||||
 | 
			
		||||
        self.toolbar = self.addToolBar('Main')
 | 
			
		||||
        self.toolbar.setIconSize(QSize(32, 32))
 | 
			
		||||
        self.toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon)
 | 
			
		||||
        self.toolbar.setMovable(False)
 | 
			
		||||
        action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogNewFolder), _tr('Install new game'), self)
 | 
			
		||||
        action.triggered.connect(self.install_game)
 | 
			
		||||
        self.toolbar.addAction(action)
 | 
			
		||||
        action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileLinkIcon), _tr('Add game entry'), self)
 | 
			
		||||
        action.triggered.connect(self.add_game)
 | 
			
		||||
        self.toolbar.addAction(action)
 | 
			
		||||
        action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload), _tr('Reload list'), self)
 | 
			
		||||
        action.triggered.connect(self.reload_list)
 | 
			
		||||
        self.toolbar.addAction(action)
 | 
			
		||||
        action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Drop install prefix'), self)
 | 
			
		||||
        action.triggered.connect(self.drop_prefix)
 | 
			
		||||
        self.toolbar.addAction(action)
 | 
			
		||||
        spacer = QWidget(self)
 | 
			
		||||
        spacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
 | 
			
		||||
        self.toolbar.addWidget(spacer)
 | 
			
		||||
        action = QAction(pp_icon, 'PortProton', self)
 | 
			
		||||
        action.triggered.connect(self.run_pp)
 | 
			
		||||
        self.toolbar.addAction(action)
 | 
			
		||||
 | 
			
		||||
    def install_game(self):
 | 
			
		||||
        InstallGame(self)
 | 
			
		||||
 | 
			
		||||
    def add_game(self):
 | 
			
		||||
        InstallGame(self, False)
 | 
			
		||||
 | 
			
		||||
    def reload_list(self):
 | 
			
		||||
        self.game_list.reload()
 | 
			
		||||
 | 
			
		||||
    def drop_prefix(self):
 | 
			
		||||
        res = QMessageBox.question(self, _tr('Are you sure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx))
 | 
			
		||||
        if res == QMessageBox.StandardButton.Yes:
 | 
			
		||||
            shutil.rmtree(g.install_pfx, True)
 | 
			
		||||
 | 
			
		||||
    def run_pp(self):
 | 
			
		||||
        self.setDisabled(True)
 | 
			
		||||
        app.processEvents()
 | 
			
		||||
        run([g.scripts_dir + '/start.sh'])
 | 
			
		||||
        self.setDisabled(False)
 | 
			
		||||
 | 
			
		||||
    def set_status(self, item):
 | 
			
		||||
        self.statusBar().setVisible(bool(item))
 | 
			
		||||
        if item:
 | 
			
		||||
            self._status_size.setText('Size: ' + item.dir_size_human)
 | 
			
		||||
            self._status_dir.setText(' ' + item.game_dir)
 | 
			
		||||
            self._status_wine.setText(item.wine_use)
 | 
			
		||||
 | 
			
		||||
    def closeEvent(self, event):
 | 
			
		||||
        geometry = self.saveGeometry()
 | 
			
		||||
        settings.setValue('geometry_main', geometry)
 | 
			
		||||
        super().closeEvent(event)
 | 
			
		||||
 | 
			
		||||
class LoadListThread(QThread):
 | 
			
		||||
    completed = pyqtSignal(list)
 | 
			
		||||
    def __init__(self, parent, install_dir):
 | 
			
		||||
        super().__init__(parent)
 | 
			
		||||
        self.install_dir = install_dir
 | 
			
		||||
    def run(self):
 | 
			
		||||
        exe_list = list(Path(self.install_dir).glob('**/*.exe'))
 | 
			
		||||
        self.completed.emit(exe_list)
 | 
			
		||||
 | 
			
		||||
class InstallGame(QDialog):
 | 
			
		||||
    def __init__(self, parent, installing=True):
 | 
			
		||||
        super().__init__(parent)
 | 
			
		||||
        self._installing = installing
 | 
			
		||||
        self.install_dir = g.install_pfx + '/drive_c/Games' if installing else g.games_dir
 | 
			
		||||
        self._exe_list_widget = QListWidget(self)
 | 
			
		||||
        self._exe_list_widget.setIconSize(QSize(16, 16))
 | 
			
		||||
        self._exe_list_widget.itemDoubleClicked.connect(self._handleDoubleClick)
 | 
			
		||||
        layout = QVBoxLayout()
 | 
			
		||||
        layout.addWidget(self._exe_list_widget)
 | 
			
		||||
 | 
			
		||||
        self._pbar = QProgressBar(self)
 | 
			
		||||
        self._pbar.setMaximum(0)
 | 
			
		||||
        layout.addWidget(self._pbar)
 | 
			
		||||
        thread = LoadListThread(self, self.install_dir)
 | 
			
		||||
        thread.completed.connect(self.load)
 | 
			
		||||
        thread.start()
 | 
			
		||||
 | 
			
		||||
        if self._installing:
 | 
			
		||||
            setup_btn = QPushButton(self)
 | 
			
		||||
            setup_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogStart))
 | 
			
		||||
            setup_btn.setText(_tr('Run another setup'))
 | 
			
		||||
            setup_btn.clicked.connect(self._runSetup)
 | 
			
		||||
            layout.addWidget(setup_btn)
 | 
			
		||||
        self.setLayout(layout)
 | 
			
		||||
        self.resize(400, 300)
 | 
			
		||||
        self.setModal(True)
 | 
			
		||||
        self.setWindowTitle(_tr('Select game exe file'))
 | 
			
		||||
        geometry = settings.value('geometry_install')
 | 
			
		||||
        if geometry:
 | 
			
		||||
            self.restoreGeometry(geometry)
 | 
			
		||||
        self.show()
 | 
			
		||||
 | 
			
		||||
    def load(self, exe_list):
 | 
			
		||||
        if self._installing and len(exe_list) == 0:
 | 
			
		||||
            self._runSetup()
 | 
			
		||||
            exe_list = list(Path(self.install_dir).glob('**/*.exe'))
 | 
			
		||||
        if len(exe_list) == 0:
 | 
			
		||||
            return self.close()
 | 
			
		||||
        def render_list():
 | 
			
		||||
            pixmap = QPixmap(16, 16)
 | 
			
		||||
            pixmap.fill(Qt.GlobalColor.transparent)
 | 
			
		||||
            empty_icon = QIcon(pixmap)
 | 
			
		||||
            for exe in sorted(exe_list):
 | 
			
		||||
                ico_file = str(exe) + '.ico'
 | 
			
		||||
                item = QListWidgetItem(self._exe_list_widget)
 | 
			
		||||
                item.setText(str(exe)[len(self.install_dir)+1:])
 | 
			
		||||
                try:
 | 
			
		||||
                    if not Path(ico_file).exists():
 | 
			
		||||
                        run(['wrestool', '-x', '-t14', '-o', ico_file, exe], capture_output=True)
 | 
			
		||||
                    item.setIcon(QIcon(ico_file))
 | 
			
		||||
                except Exception:
 | 
			
		||||
                    pass
 | 
			
		||||
                if item.icon().pixmap(16, 16).isNull():
 | 
			
		||||
                    item.setIcon(empty_icon)
 | 
			
		||||
                self._exe_list_widget.addItem(item)
 | 
			
		||||
            self._pbar.setVisible(False)
 | 
			
		||||
        thread = QThread(self)
 | 
			
		||||
        thread.run = render_list
 | 
			
		||||
        thread.start()
 | 
			
		||||
 | 
			
		||||
    def _runSetup(self):
 | 
			
		||||
        downloads_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation)
 | 
			
		||||
        exe_file, _ = QFileDialog.getOpenFileName(self, caption=_tr('Choose setup file'), filter='Exe files (*.exe)', directory=downloads_dir)
 | 
			
		||||
        if not exe_file:
 | 
			
		||||
            return
 | 
			
		||||
        ppdb = shlex.quote(exe_file + '.ppdb')
 | 
			
		||||
        script = f"""
 | 
			
		||||
            mkdir -p {shlex.quote(g.install_pfx + '/drive_c/Games')}
 | 
			
		||||
            echo '
 | 
			
		||||
                export PW_VULKAN_USE=1
 | 
			
		||||
                export PW_GUI_DISABLED_CS=1
 | 
			
		||||
                export PW_PREFIX_NAME=INSTALL
 | 
			
		||||
                export PW_DLL_INSTALL=mfc42
 | 
			
		||||
            ' > {ppdb}
 | 
			
		||||
            {shlex.quote(g.scripts_dir + '/start.sh')} {shlex.quote(exe_file)}
 | 
			
		||||
            rm -f {ppdb}
 | 
			
		||||
        """
 | 
			
		||||
        self.setDisabled(True)
 | 
			
		||||
        app.processEvents()
 | 
			
		||||
        run(['bash', '-c', script])
 | 
			
		||||
        self.setDisabled(False)
 | 
			
		||||
 | 
			
		||||
    def _handleDoubleClick(self, item):
 | 
			
		||||
        game_dir = item.text().split('/')[0]
 | 
			
		||||
        dlg = QInputDialog(self)
 | 
			
		||||
        dlg.setWindowTitle(_tr('Please enter game entry name'))
 | 
			
		||||
        dlg.setLabelText(_tr('New game entry'))
 | 
			
		||||
        dlg.setTextValue(game_dir)
 | 
			
		||||
        dlg.resize(300, 0)
 | 
			
		||||
        ok = dlg.exec()
 | 
			
		||||
        shortcut_name = dlg.textValue()
 | 
			
		||||
        if not ok or not shortcut_name:
 | 
			
		||||
            return
 | 
			
		||||
        file_name = re.sub(r'[<>:/\\|?*]', '_', shortcut_name)
 | 
			
		||||
        shortcut = f"{g.shortcuts_dir}/{file_name}.desktop"
 | 
			
		||||
        if Path(shortcut).exists():
 | 
			
		||||
            res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', file_name))
 | 
			
		||||
            if res != QMessageBox.StandardButton.Yes:
 | 
			
		||||
                return
 | 
			
		||||
        src_dir = self.install_dir + '/' + game_dir
 | 
			
		||||
        dst_dir = g.games_dir + '/' + game_dir
 | 
			
		||||
        exe_file = shlex.quote(g.games_dir + '/' + item.text())
 | 
			
		||||
        ppdb = shlex.quote(g.games_dir + '/' + item.text() + '.ppdb')
 | 
			
		||||
        self.setDisabled(True)
 | 
			
		||||
        if self._installing and Path(dst_dir).exists():
 | 
			
		||||
            res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir))
 | 
			
		||||
            if res != QMessageBox.StandardButton.Yes:
 | 
			
		||||
                return
 | 
			
		||||
        if self._installing:
 | 
			
		||||
            os.rename(src_dir, dst_dir)
 | 
			
		||||
        script = f"""
 | 
			
		||||
            export INSTALLING_PORT=1
 | 
			
		||||
            export portwine_exe={exe_file}
 | 
			
		||||
            cd {shlex.quote(g.scripts_dir)}
 | 
			
		||||
            . {shlex.quote(g.scripts_dir + '/runlib')}
 | 
			
		||||
            pw_init_db
 | 
			
		||||
            [ -f {ppdb} ] && . {ppdb}
 | 
			
		||||
            echo -e "export PW_VULKAN_USE=${{PW_VULKAN_USE:-1}}\nexport PW_GUI_DISABLED_CS=1" >> {ppdb}
 | 
			
		||||
        """
 | 
			
		||||
        run(['bash', '-c', script])
 | 
			
		||||
        icon_path = g.games_dir + '/' + item.text() + '.ico'
 | 
			
		||||
        if not Path(icon_path).exists():
 | 
			
		||||
            icon_path = g.pp_icon
 | 
			
		||||
        Path(shortcut).write_text(f"""[Desktop Entry]
 | 
			
		||||
Name={shortcut_name}
 | 
			
		||||
Exec=env {shlex.quote(g.scripts_dir + '/start.sh')} {exe_file}
 | 
			
		||||
Type=Application
 | 
			
		||||
Categories=Game
 | 
			
		||||
StartupNotify=true
 | 
			
		||||
Path={shlex.quote(g.scripts_dir)}
 | 
			
		||||
Icon={icon_path}
 | 
			
		||||
""", encoding='utf-8')
 | 
			
		||||
        os.chmod(shortcut, 0o755)
 | 
			
		||||
        win.reload_list()
 | 
			
		||||
        self.close()
 | 
			
		||||
 | 
			
		||||
    def closeEvent(self, event):
 | 
			
		||||
        geometry = self.saveGeometry()
 | 
			
		||||
        settings.setValue('geometry_install', geometry)
 | 
			
		||||
        super().closeEvent(event)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class GameList(QListWidget):
 | 
			
		||||
    def __init__(self, parent):
 | 
			
		||||
        super().__init__(parent)
 | 
			
		||||
        self.itemActivated.connect(self.runGame)
 | 
			
		||||
        self.currentItemChanged.connect(self.selectItem)
 | 
			
		||||
        self.setViewMode(QListWidget.ViewMode.IconMode)
 | 
			
		||||
        self.setResizeMode(QListWidget.ResizeMode.Adjust)
 | 
			
		||||
        self.setIconSize(QSize(64, 64))
 | 
			
		||||
        self.setWordWrap(True)
 | 
			
		||||
        self.setSpacing(3)
 | 
			
		||||
        self.reload()
 | 
			
		||||
 | 
			
		||||
    def reload(self):
 | 
			
		||||
        self.clear()
 | 
			
		||||
        shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop'))
 | 
			
		||||
        shortcuts += list(Path(g.base_dir).glob('*.desktop'))
 | 
			
		||||
        for shortcut in shortcuts:
 | 
			
		||||
            try:
 | 
			
		||||
                item = GameItem(self, shortcut)
 | 
			
		||||
                self.addItem(item)
 | 
			
		||||
            except ValueError:
 | 
			
		||||
                pass
 | 
			
		||||
            except:
 | 
			
		||||
                logging.exception('Error while parse "%s"', shortcut)
 | 
			
		||||
        self.sortItems()
 | 
			
		||||
        self.setCurrentIndex(QModelIndex())
 | 
			
		||||
 | 
			
		||||
    def runGame(self, item):
 | 
			
		||||
        win.setDisabled(True)
 | 
			
		||||
        app.processEvents()
 | 
			
		||||
        run(['bash', '-c', item.get('Exec')])
 | 
			
		||||
        win.setDisabled(False)
 | 
			
		||||
 | 
			
		||||
    def selectItem(self, item):
 | 
			
		||||
        win.set_status(item)
 | 
			
		||||
 | 
			
		||||
    def contextMenuEvent(self, event):
 | 
			
		||||
        selected = self.selectedItems()
 | 
			
		||||
        if len(selected) == 0:
 | 
			
		||||
            return
 | 
			
		||||
        selected = selected[0]
 | 
			
		||||
        menu = QMenu(self)
 | 
			
		||||
        desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop'))
 | 
			
		||||
        restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI'))
 | 
			
		||||
        default_wine = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogOkButton), _tr('Set default wine'))
 | 
			
		||||
        remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry'))
 | 
			
		||||
        uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game'))
 | 
			
		||||
        if not selected.pp_gui_disabled:
 | 
			
		||||
            restore_gui.setVisible(False)
 | 
			
		||||
        if not selected.wine_use:
 | 
			
		||||
            default_wine.setVisible(False)
 | 
			
		||||
        if not selected.game_dir.startswith(g.games_dir):
 | 
			
		||||
            uninstall.setVisible(False)
 | 
			
		||||
        action = menu.exec(self.mapToGlobal(event.pos()))
 | 
			
		||||
        desktop_shortcut = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DesktopLocation) + '/' + Path(selected.desktop_file).name
 | 
			
		||||
        if action == desktop:
 | 
			
		||||
            if Path(desktop_shortcut).exists():
 | 
			
		||||
                res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', desktop_shortcut))
 | 
			
		||||
                if res != QMessageBox.StandardButton.Yes:
 | 
			
		||||
                    return
 | 
			
		||||
            shutil.copy(selected.desktop_file, desktop_shortcut)
 | 
			
		||||
        if action == restore_gui or action == default_wine:
 | 
			
		||||
            ignore_line = 'PW_GUI_DISABLED_CS' if action == restore_gui else 'PW_WINE_USE'
 | 
			
		||||
            ppdb = shlex.split(selected.get('Exec'))[-1] + '.ppdb'
 | 
			
		||||
            if not Path(ppdb).exists():
 | 
			
		||||
                return
 | 
			
		||||
            with open(ppdb, 'r') as read:
 | 
			
		||||
                with open(ppdb + '.new', 'w') as write:
 | 
			
		||||
                    while (line := read.readline()):
 | 
			
		||||
                        if ignore_line not in line:
 | 
			
		||||
                            write.write(line)
 | 
			
		||||
            os.rename(ppdb + '.new', ppdb)
 | 
			
		||||
            if action == restore_gui:
 | 
			
		||||
                selected.pp_gui_disabled = False
 | 
			
		||||
            if action == default_wine:
 | 
			
		||||
                selected.wine_use = None
 | 
			
		||||
                self.selectItem(selected)
 | 
			
		||||
        def remove_shortcut():
 | 
			
		||||
            Path(desktop_shortcut).unlink(True)
 | 
			
		||||
            Path(selected.desktop_file).unlink(True)
 | 
			
		||||
            def_icon_path = g.base_dir + '/data/img/' + Path(shlex.split(selected.get('Exec'))[-1]).stem + '.png'
 | 
			
		||||
            Path(def_icon_path).unlink(True)
 | 
			
		||||
        if action == remove:
 | 
			
		||||
            remove_shortcut()
 | 
			
		||||
            self.reload()
 | 
			
		||||
        if action == uninstall:
 | 
			
		||||
            res = QMessageBox.question(self,
 | 
			
		||||
                _tr('Are you sure ?'),
 | 
			
		||||
                _tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir)
 | 
			
		||||
            )
 | 
			
		||||
            if res != QMessageBox.StandardButton.Yes:
 | 
			
		||||
                return
 | 
			
		||||
            remove_shortcut()
 | 
			
		||||
            if selected.game_dir.startswith(g.games_dir):
 | 
			
		||||
                shutil.rmtree(selected.game_dir, True)
 | 
			
		||||
            self.reload()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def human_size(num):
 | 
			
		||||
    if not num:
 | 
			
		||||
        return "-"
 | 
			
		||||
    for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]:
 | 
			
		||||
        if abs(num) < 1024.0:
 | 
			
		||||
            return f"{num:.2f} {unit}B"
 | 
			
		||||
        num /= 1024.0
 | 
			
		||||
    return f"{num:.2f} YiB"
 | 
			
		||||
 | 
			
		||||
class GameItem(QListWidgetItem):
 | 
			
		||||
    def __init__(self, parent, desktop_file):
 | 
			
		||||
        self.desktop_file = desktop_file
 | 
			
		||||
        self.config = RawConfigParser()
 | 
			
		||||
        self.config.read(desktop_file)
 | 
			
		||||
        text = self.get('Name', Path(desktop_file).stem)
 | 
			
		||||
        if not self.get('Exec') or text == 'PortProton':
 | 
			
		||||
            raise ValueError('Validation fail')
 | 
			
		||||
        exe_file = shlex.split(self.get('Exec'))[-1]
 | 
			
		||||
        if exe_file.startswith(g.games_dir):
 | 
			
		||||
            self.game_dir = g.games_dir + '/' + exe_file[len(g.games_dir)+1:].split('/')[0]
 | 
			
		||||
        else:
 | 
			
		||||
            self.game_dir = str(Path(exe_file).parent)
 | 
			
		||||
        if self.game_dir == '.':
 | 
			
		||||
            raise ValueError('Can not determine game dir')
 | 
			
		||||
        self.pp_gui_disabled = False
 | 
			
		||||
        self.wine_use = None
 | 
			
		||||
        ppdb = exe_file + '.ppdb'
 | 
			
		||||
        if Path(ppdb).exists():
 | 
			
		||||
            ppdb_conf = RawConfigParser(strict=False)
 | 
			
		||||
            with open(ppdb) as f:
 | 
			
		||||
                ppdb_conf.read_string('[dummy]\n' + f.read())
 | 
			
		||||
            pp_gui_disabled = ppdb_conf.get('dummy', 'export PW_GUI_DISABLED_CS', fallback='').strip('"')
 | 
			
		||||
            try: self.pp_gui_disabled = bool(int(pp_gui_disabled))
 | 
			
		||||
            except: self.pp_gui_disabled = bool(pp_gui_disabled)
 | 
			
		||||
            self.wine_use = ppdb_conf.get('dummy', 'export PW_WINE_USE', fallback='').strip('"')
 | 
			
		||||
 | 
			
		||||
        super().__init__(parent)
 | 
			
		||||
 | 
			
		||||
        self.setToolTip(text)
 | 
			
		||||
        self.setText(text)
 | 
			
		||||
        icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pp_icon
 | 
			
		||||
        qicon = QIcon(icon_path)
 | 
			
		||||
        self.setIcon(qicon)
 | 
			
		||||
        self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop)
 | 
			
		||||
        self.setSizeHint(QSize(100, 105))
 | 
			
		||||
 | 
			
		||||
        self._set_dir_size(None)
 | 
			
		||||
        dir_size_cache = self.game_dir + '/.size'
 | 
			
		||||
        if Path(dir_size_cache).exists():
 | 
			
		||||
            self._set_dir_size(int(Path(dir_size_cache).read_text()))
 | 
			
		||||
        else:
 | 
			
		||||
            def calc_dir_size():
 | 
			
		||||
                if not Path(self.game_dir).exists():
 | 
			
		||||
                    return
 | 
			
		||||
                dir_size = sum(p.stat(follow_symlinks=False).st_size for p in Path(self.game_dir).rglob('*'))
 | 
			
		||||
                self._set_dir_size(dir_size)
 | 
			
		||||
                Path(dir_size_cache).write_text(str(dir_size))
 | 
			
		||||
            thread = QThread(parent)
 | 
			
		||||
            thread.run = calc_dir_size
 | 
			
		||||
            thread.start()
 | 
			
		||||
 | 
			
		||||
    def get(self, name, fallback=None):
 | 
			
		||||
        return self.config.get('Desktop Entry', name, fallback=fallback)
 | 
			
		||||
 | 
			
		||||
    def _set_dir_size(self, size):
 | 
			
		||||
        self.dir_size = size
 | 
			
		||||
        self.dir_size_human = human_size(size)
 | 
			
		||||
 | 
			
		||||
import signal
 | 
			
		||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
 | 
			
		||||
 | 
			
		||||
lang = {
 | 
			
		||||
    'RUS': {
 | 
			
		||||
        'Install new game': 'Установить игру',
 | 
			
		||||
        'Add game entry': 'Добавить в список',
 | 
			
		||||
        'Reload list': 'Обновить список',
 | 
			
		||||
        'Drop install prefix': 'Удалить установочный префикс',
 | 
			
		||||
        'Are you sure ?': 'Вы уверены ?',
 | 
			
		||||
        'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?',
 | 
			
		||||
        'Run another setup': 'Запустить установку',
 | 
			
		||||
        'Select game exe file': 'Выберите exe файл игры',
 | 
			
		||||
        'Choose setup file': 'Выберите установочный файл',
 | 
			
		||||
        'Please enter game entry name': 'Введите название игры',
 | 
			
		||||
        'New game entry': 'Название игры',
 | 
			
		||||
        'Shortcut already exists': 'Ярлык уже существует',
 | 
			
		||||
        'Shortcut <b>{0}</b> already exists. Overwrite ?': 'Ярлык <b>{0}</b> уже существует. Перезаписать ?',
 | 
			
		||||
        'Dir already exists': 'Директория уже существует',
 | 
			
		||||
        'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?',
 | 
			
		||||
        'Add to desktop': 'Добавить на рабочий стол',
 | 
			
		||||
        'Restore PortProton GUI': 'Восстановить PortProton GUI',
 | 
			
		||||
        'Set default wine': 'Выбрать дефолтный wine',
 | 
			
		||||
        'Remove game entry': 'Убрать из списка',
 | 
			
		||||
        'Uninstall game': 'Удалить игру',
 | 
			
		||||
        'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?'
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
def _tr(text, *fmt):
 | 
			
		||||
    res = lang.get(g.locale, {}).get(text, text)
 | 
			
		||||
    if fmt:
 | 
			
		||||
        res = res.format(*fmt)
 | 
			
		||||
    return res
 | 
			
		||||
 | 
			
		||||
app = QApplication([])
 | 
			
		||||
app.setDesktopFileName('PortProton')
 | 
			
		||||
win = MainWindow()
 | 
			
		||||
win.show()
 | 
			
		||||
app.exec()
 | 
			
		||||
							
								
								
									
										85
									
								
								data_from_portwine/scripts/.Xresources
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,85 @@
 | 
			
		||||
xterm*faceSize: 12
 | 
			
		||||
xterm*vt100*geometry: 120x20
 | 
			
		||||
xterm*saveLines: 16384
 | 
			
		||||
xterm*loginShell: true
 | 
			
		||||
xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
 | 
			
		||||
xterm*termName: xterm-color
 | 
			
		||||
xterm*eightBitInput: false
 | 
			
		||||
 | 
			
		||||
!BLK Cursor
 | 
			
		||||
#define _color0        #000d18
 | 
			
		||||
#define _color8        #000d18
 | 
			
		||||
!RED Tag
 | 
			
		||||
#define _color1        #e89393
 | 
			
		||||
#define _color9        #e89393
 | 
			
		||||
!GRN SpecialKey
 | 
			
		||||
#define _color2        #9ece13
 | 
			
		||||
#define _color10       #9ece13
 | 
			
		||||
!YEL Keyword
 | 
			
		||||
#define _color3        #f0dfaf
 | 
			
		||||
#define _color11       #f0dfaf
 | 
			
		||||
!BLU Number
 | 
			
		||||
#define _color4        #8cd0d3
 | 
			
		||||
#define _color12       #8cd0d3
 | 
			
		||||
!MAG Precondit
 | 
			
		||||
#define _color5        #c0bed1
 | 
			
		||||
#define _color13       #c0bed1
 | 
			
		||||
!CYN Float
 | 
			
		||||
#define _color6        #dfaf8f
 | 
			
		||||
#define _color14       #dfaf8f
 | 
			
		||||
!WHT Search
 | 
			
		||||
#define _color7        #efefef
 | 
			
		||||
#define _color15       #efefef
 | 
			
		||||
!FMT Include, StatusLine, ErrorMsg
 | 
			
		||||
#define _colorBD       #ffcfaf
 | 
			
		||||
#define _colorUL       #ccdc90
 | 
			
		||||
#define _colorIT       #80d4aa
 | 
			
		||||
!TXT Normal, Normal, Cursor
 | 
			
		||||
#define _foreground    #dcdccc
 | 
			
		||||
#define _background    #1f1f1f
 | 
			
		||||
#define _cursorColor   #8faf9f
 | 
			
		||||
URxvt*color0         : _color0
 | 
			
		||||
URxvt*color1         : _color1
 | 
			
		||||
URxvt*color2         : _color2
 | 
			
		||||
URxvt*color3         : _color3
 | 
			
		||||
URxvt*color4         : _color4
 | 
			
		||||
URxvt*color5         : _color5
 | 
			
		||||
URxvt*color6         : _color6
 | 
			
		||||
URxvt*color7         : _color7
 | 
			
		||||
URxvt*color8         : _color8
 | 
			
		||||
URxvt*color9         : _color9
 | 
			
		||||
URxvt*color10        : _color10
 | 
			
		||||
URxvt*color11        : _color11
 | 
			
		||||
URxvt*color12        : _color12
 | 
			
		||||
URxvt*color13        : _color13
 | 
			
		||||
URxvt*color14        : _color14
 | 
			
		||||
URxvt*color15        : _color15
 | 
			
		||||
URxvt*colorBD        : _colorBD
 | 
			
		||||
URxvt*colorIT        : _colorIT
 | 
			
		||||
URxvt*colorUL        : _colorUL
 | 
			
		||||
URxvt*foreground     : _foreground
 | 
			
		||||
URxvt*background     : _background
 | 
			
		||||
URxvt*cursorColor    : _cursorColor
 | 
			
		||||
XTerm*color0         : _color0
 | 
			
		||||
XTerm*color1         : _color1
 | 
			
		||||
XTerm*color2         : _color2
 | 
			
		||||
XTerm*color3         : _color3
 | 
			
		||||
XTerm*color4         : _color4
 | 
			
		||||
XTerm*color5         : _color5
 | 
			
		||||
XTerm*color6         : _color6
 | 
			
		||||
XTerm*color7         : _color7
 | 
			
		||||
XTerm*color8         : _color8
 | 
			
		||||
XTerm*color9         : _color9
 | 
			
		||||
XTerm*color10        : _color10
 | 
			
		||||
XTerm*color11        : _color11
 | 
			
		||||
XTerm*color12        : _color12
 | 
			
		||||
XTerm*color13        : _color13
 | 
			
		||||
XTerm*color14        : _color14
 | 
			
		||||
XTerm*color15        : _color15
 | 
			
		||||
XTerm*colorBD        : _colorBD
 | 
			
		||||
XTerm*colorIT        : _colorIT
 | 
			
		||||
XTerm*colorUL        : _colorUL
 | 
			
		||||
XTerm*foreground     : _foreground
 | 
			
		||||
XTerm*background     : _background
 | 
			
		||||
XTerm*cursorColor    : _cursorColor
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										592
									
								
								data_from_portwine/scripts/credits
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,592 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
# Author: chal55rus, Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
########################################################################
 | 
			
		||||
if [ "${update_loc}" = "RUS" ]
 | 
			
		||||
then
 | 
			
		||||
    KEY_CREDITS=$RANDOM
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
 | 
			
		||||
--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \
 | 
			
		||||
--text-align=center --scroll --text="PortProton v. ${install_ver}
 | 
			
		||||
scripts v. ${scripts_install_ver}
 | 
			
		||||
 | 
			
		||||
https://linux-gaming.ru
 | 
			
		||||
 | 
			
		||||
Авторские права © 2022 Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
 | 
			
		||||
Эта программа поставляется без каких-либо гарантий.
 | 
			
		||||
Подробнее см. в Лицензия." &
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
 | 
			
		||||
--text-align=center --scroll --text="Автор:   Casro-Fidel (Михаил Тергоев)
 | 
			
		||||
 | 
			
		||||
Помощники разработчика и тестировщики:
 | 
			
		||||
Cefeiko
 | 
			
		||||
Dezert1r
 | 
			
		||||
Taz_mania
 | 
			
		||||
Anton_Famillianov
 | 
			
		||||
RidBowt
 | 
			
		||||
chal55rus
 | 
			
		||||
UserDiscord
 | 
			
		||||
Survolog
 | 
			
		||||
gavr
 | 
			
		||||
RusNor
 | 
			
		||||
aldiserg
 | 
			
		||||
an9949an
 | 
			
		||||
andrey4korop
 | 
			
		||||
zorn
 | 
			
		||||
" &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "          Лицензия Массачусетского технологического института (MIT License)
 | 
			
		||||
 | 
			
		||||
              Авторские права (©) 2022 Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
 | 
			
		||||
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
 | 
			
		||||
программного обеспечения и связанных с ним файлов документации (Программное
 | 
			
		||||
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
 | 
			
		||||
права использовать, копировать, изменять, объединять, публиковать, распространять,
 | 
			
		||||
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
 | 
			
		||||
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
 | 
			
		||||
следующих условий:
 | 
			
		||||
 | 
			
		||||
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
 | 
			
		||||
быть включены во все копии или существенные части Программного обеспечения.
 | 
			
		||||
 | 
			
		||||
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
 | 
			
		||||
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
 | 
			
		||||
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
 | 
			
		||||
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
 | 
			
		||||
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
 | 
			
		||||
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
 | 
			
		||||
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
 | 
			
		||||
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \
 | 
			
		||||
<<< '                                            Проект поддержали:
 | 
			
		||||
                                    https://boosty.to/portwine-linux.ru
 | 
			
		||||
 | 
			
		||||
    1 1
 | 
			
		||||
    A B
 | 
			
		||||
    AdamArclight666
 | 
			
		||||
    Akai
 | 
			
		||||
    Aleks
 | 
			
		||||
    Alexsei Cherniavskiy
 | 
			
		||||
    Alex Sh
 | 
			
		||||
    Allegra_g
 | 
			
		||||
    AlxChkln
 | 
			
		||||
    amikha1lov
 | 
			
		||||
    Andrei K
 | 
			
		||||
    anisan_sg
 | 
			
		||||
    Another games
 | 
			
		||||
    Apofis Smab
 | 
			
		||||
    apolon
 | 
			
		||||
    Aule Mahal
 | 
			
		||||
    Azartiny Mor
 | 
			
		||||
    BELIJJAaL
 | 
			
		||||
    benya
 | 
			
		||||
    Bunny Sword
 | 
			
		||||
    CanBoo
 | 
			
		||||
    chal55rus
 | 
			
		||||
    Coin Hunt
 | 
			
		||||
    Cruze
 | 
			
		||||
    Dadenard
 | 
			
		||||
    Dallasss
 | 
			
		||||
    Daniil Go
 | 
			
		||||
    Dencher12
 | 
			
		||||
    Denis
 | 
			
		||||
    Dezert1r
 | 
			
		||||
    Dima Manshin
 | 
			
		||||
    DIO
 | 
			
		||||
    d.kostroma
 | 
			
		||||
    Dmitriy Tokarev
 | 
			
		||||
    Drakorgaur
 | 
			
		||||
    dunkanMcLoud
 | 
			
		||||
    dupster mailbox
 | 
			
		||||
    Eliot
 | 
			
		||||
    El Mago
 | 
			
		||||
    Ethan Winters
 | 
			
		||||
    Evgen Buiko
 | 
			
		||||
    EvilDevolver
 | 
			
		||||
    fight fox
 | 
			
		||||
    funti2f
 | 
			
		||||
    fusiok
 | 
			
		||||
    GaiverX
 | 
			
		||||
    Gekko
 | 
			
		||||
    Geomant17
 | 
			
		||||
    gg_harper
 | 
			
		||||
    Happy Husky
 | 
			
		||||
    haravara
 | 
			
		||||
    Homyakin
 | 
			
		||||
    Ivan Vlasov
 | 
			
		||||
    ivboss
 | 
			
		||||
    ksandr4370
 | 
			
		||||
    LeGi0neR
 | 
			
		||||
    Lexa XLS
 | 
			
		||||
    Linux Vumtut
 | 
			
		||||
    Lonely Lonely
 | 
			
		||||
    Maksami Cordyceps
 | 
			
		||||
    Maktub
 | 
			
		||||
    Melord
 | 
			
		||||
    MICROFARAT
 | 
			
		||||
    MLogaut
 | 
			
		||||
    Monti Roquefort
 | 
			
		||||
    MrBatonio
 | 
			
		||||
    Nesterik
 | 
			
		||||
    Nikola P.
 | 
			
		||||
    Nuclearsun
 | 
			
		||||
    Nurik
 | 
			
		||||
    Oleg55Rus
 | 
			
		||||
    onix
 | 
			
		||||
    Optimus
 | 
			
		||||
    Ottakvot
 | 
			
		||||
    paulscathedral
 | 
			
		||||
    penguin4ek
 | 
			
		||||
    Pependos
 | 
			
		||||
    PLAFON
 | 
			
		||||
    PlagueEvgeny
 | 
			
		||||
    Rojok56
 | 
			
		||||
    Ruslan Vlasov
 | 
			
		||||
    Rustam
 | 
			
		||||
    Saireg
 | 
			
		||||
    sanelasan
 | 
			
		||||
    sashman
 | 
			
		||||
    Seeropoonya
 | 
			
		||||
    sendependa_dio
 | 
			
		||||
    shecspir
 | 
			
		||||
    Soma
 | 
			
		||||
    sship
 | 
			
		||||
    StGdG
 | 
			
		||||
    Subscript
 | 
			
		||||
    Sudo Connect
 | 
			
		||||
    sugoyako
 | 
			
		||||
    Taras Zagibalov
 | 
			
		||||
    The End
 | 
			
		||||
    tima
 | 
			
		||||
    Tykva
 | 
			
		||||
    ua3dko
 | 
			
		||||
    V1ktr
 | 
			
		||||
    VanBugel
 | 
			
		||||
    VAtiB
 | 
			
		||||
    Vikthor Prieto
 | 
			
		||||
    vlad petrov
 | 
			
		||||
    Vosarat
 | 
			
		||||
    VUMtut
 | 
			
		||||
    Windchester
 | 
			
		||||
    wrager
 | 
			
		||||
    Xpamych
 | 
			
		||||
    Yurec
 | 
			
		||||
    Yuri Emelyanov
 | 
			
		||||
    Zillah Giovanni
 | 
			
		||||
    Zloy Ivan
 | 
			
		||||
    Zorit
 | 
			
		||||
    zorn
 | 
			
		||||
    Александр
 | 
			
		||||
    Александр Абдулов
 | 
			
		||||
    Александр Кладов
 | 
			
		||||
    Александр Лобанов
 | 
			
		||||
    Алексей Ultralin
 | 
			
		||||
    Алексей Войтенко
 | 
			
		||||
    Алексей Галаш
 | 
			
		||||
    Алексей Зубрийчук
 | 
			
		||||
    Алексей Ивушкин
 | 
			
		||||
    Алексей Кравчук
 | 
			
		||||
    Алексей Чугунов
 | 
			
		||||
    Андрей Гусаков
 | 
			
		||||
    Андрей Карпенцов
 | 
			
		||||
    Антоний Дамикан
 | 
			
		||||
    Антон Рудковский
 | 
			
		||||
    Антон Фамилианов
 | 
			
		||||
    Артём К.
 | 
			
		||||
    Валерий Толмачёв
 | 
			
		||||
    Виктор Шварц
 | 
			
		||||
    Виктор Щетинин
 | 
			
		||||
    Виндэта(рог)
 | 
			
		||||
    Виталий Нуров
 | 
			
		||||
    Влад Блинов
 | 
			
		||||
    Владимир Бильдюкевич
 | 
			
		||||
    Владимир Дарвин
 | 
			
		||||
    Влад Кладиев
 | 
			
		||||
    Вячеслав Шитюков
 | 
			
		||||
    Вячеслав Шустров
 | 
			
		||||
    Георгий Гурский
 | 
			
		||||
    Данил Павлов
 | 
			
		||||
    Дед Мазай
 | 
			
		||||
    Денис Мальцев
 | 
			
		||||
    Денис Матій
 | 
			
		||||
    Денис Олефиренко
 | 
			
		||||
    Дмитрий Круглов
 | 
			
		||||
    Дмитрий Мазанка
 | 
			
		||||
    Дмитрий Сидоров
 | 
			
		||||
    Евгений Бебин
 | 
			
		||||
    Евгений Долгополов
 | 
			
		||||
    Евгений Хирвонен
 | 
			
		||||
    Евгений Храмов
 | 
			
		||||
    Егор Кречун
 | 
			
		||||
    Женя Рябушкин
 | 
			
		||||
    Иван Белекеев
 | 
			
		||||
    Коляныч Королёв
 | 
			
		||||
    Константин __
 | 
			
		||||
    Константин Абадонна
 | 
			
		||||
    Леонид
 | 
			
		||||
    Максим Хмара-Миронов
 | 
			
		||||
    Маленькая сосна
 | 
			
		||||
    Марат
 | 
			
		||||
    Марат Рахимов
 | 
			
		||||
    Неизвестый Дмитрий
 | 
			
		||||
    Никита Булавин
 | 
			
		||||
    Николай Гинтов
 | 
			
		||||
    Павел Иванов
 | 
			
		||||
    Павел Пашенцев
 | 
			
		||||
    Равич Ревес
 | 
			
		||||
    Рамиль
 | 
			
		||||
    Рома Б.
 | 
			
		||||
    Роман Игнатьев
 | 
			
		||||
    Роман Паженский
 | 
			
		||||
    Ростислав Кузнецов
 | 
			
		||||
    Росляков Виталий
 | 
			
		||||
    Саша
 | 
			
		||||
    Семён Клишин
 | 
			
		||||
    Семён Ярополов
 | 
			
		||||
    Сергей Казёнкин
 | 
			
		||||
    Сергей Круглов
 | 
			
		||||
    Серёга Сапрыкин
 | 
			
		||||
    Стас Толкачёв
 | 
			
		||||
    Тима Суеубаев
 | 
			
		||||
    Тимофей Ковалев
 | 
			
		||||
    Тимур Сафонов
 | 
			
		||||
    Удалить Аккаунт
 | 
			
		||||
    Хоттабыч
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                                    Список будет дополняться...' &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \
 | 
			
		||||
--title=JOIN --window-icon=group  --image=system-config-users --uri-color=red --show-uri \
 | 
			
		||||
--text-info --scroll <<< \
 | 
			
		||||
"Website:  https://linux-gaming.ru/
 | 
			
		||||
Discord:  http://discord.gg/yJSEFjF
 | 
			
		||||
VK:       https://vk.com/linuxgamingru
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
Стать платным подписчиком:
 | 
			
		||||
boosty: https://boosty.to/portwine-linux.ru
 | 
			
		||||
patreon: https://www.patreon.com/portproton
 | 
			
		||||
Кошельки WebMoney:   WMZ-Z135951244401   WME-E325631629973
 | 
			
		||||
Yandex кошелек:   410012267513818
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
Задонатить на стрим:
 | 
			
		||||
https://www.donationalerts.com/r/portwine_linux" &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
 | 
			
		||||
--fontname="Serif bold italic 10" --text-info <<< "                   Сторонние библиотеки, которые используются в PortProton
 | 
			
		||||
 | 
			
		||||
    PortProton собран на основе бесплатных библиотек программного обеспечения:
 | 
			
		||||
 | 
			
		||||
WINE-PROTON: https://github.com/ValveSoftware/Proton
 | 
			
		||||
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
 | 
			
		||||
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
 | 
			
		||||
YAD: https://github.com/v1cont/yad
 | 
			
		||||
ZENITY: https://github.com/GNOME/zenity" &
 | 
			
		||||
        
 | 
			
		||||
"${pw_yad_new}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
			
		||||
--center --notebook --no-buttons  --tab-pos=bottom \
 | 
			
		||||
--tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \
 | 
			
		||||
--tab="БИБЛИОТЕКИ"
 | 
			
		||||
    echo "Exit from credits"
 | 
			
		||||
    /usr/bin/env bash -c ${pw_full_command_line[*]} 
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
    KEY_CREDITS=$RANDOM
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
 | 
			
		||||
--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \
 | 
			
		||||
--text-align=center --scroll --text="PortProton v. ${install_ver}
 | 
			
		||||
scripts v. ${scripts_install_ver}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
https://linux-gaming.ru
 | 
			
		||||
 | 
			
		||||
Copyright © 2022 Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
 | 
			
		||||
This program comes with absolutely no warranty.
 | 
			
		||||
See the License for details." &
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
 | 
			
		||||
--text-align=center --scroll --text="Author:   Casro-Fidel (Mikhail Tergoev)
 | 
			
		||||
 | 
			
		||||
Developer assistants and testers:
 | 
			
		||||
Cefeiko
 | 
			
		||||
Dezert1r
 | 
			
		||||
Taz_mania
 | 
			
		||||
Anton_Famillianov
 | 
			
		||||
RidBowt
 | 
			
		||||
chal55rus
 | 
			
		||||
UserDiscord
 | 
			
		||||
survolog
 | 
			
		||||
gavr
 | 
			
		||||
RusNor
 | 
			
		||||
aldiserg
 | 
			
		||||
an9949an
 | 
			
		||||
andrey4korop
 | 
			
		||||
zorn
 | 
			
		||||
" &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (©) 2022 Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
SOFTWARE." &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
 | 
			
		||||
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \
 | 
			
		||||
<<< '                                    The project was supported:
 | 
			
		||||
                              https://boosty.to/portwine-linux.ru:
 | 
			
		||||
 | 
			
		||||
    1 1
 | 
			
		||||
    A B
 | 
			
		||||
    AdamArclight666
 | 
			
		||||
    Akai
 | 
			
		||||
    Aleks
 | 
			
		||||
    Alex Sh
 | 
			
		||||
    Alexsei Cherniavskiy
 | 
			
		||||
    Allegra_g
 | 
			
		||||
    AlxChkln
 | 
			
		||||
    Andrei K
 | 
			
		||||
    Another games
 | 
			
		||||
    Apofis Smab
 | 
			
		||||
    Aule Mahal
 | 
			
		||||
    Azartiny Mor
 | 
			
		||||
    BELIJJAaL
 | 
			
		||||
    CanBoo
 | 
			
		||||
    Coin Hunt
 | 
			
		||||
    Cruze
 | 
			
		||||
    DIO
 | 
			
		||||
    Dadenard
 | 
			
		||||
    Dallasss
 | 
			
		||||
    Daniil Go
 | 
			
		||||
    Dencher12
 | 
			
		||||
    Denis
 | 
			
		||||
    Dezert1r
 | 
			
		||||
    Dima Manshin
 | 
			
		||||
    Dmitriy Tokarev
 | 
			
		||||
    Drakorgaur
 | 
			
		||||
    El Mago
 | 
			
		||||
    Eliot
 | 
			
		||||
    Ethan Winters
 | 
			
		||||
    Evgen Buiko
 | 
			
		||||
    EvilDevolver
 | 
			
		||||
    GaiverX
 | 
			
		||||
    Gekko
 | 
			
		||||
    Geomant17
 | 
			
		||||
    Happy Husky
 | 
			
		||||
    Homyakin
 | 
			
		||||
    Ivan Vlasov
 | 
			
		||||
    LeGi0neR
 | 
			
		||||
    Lexa XLS
 | 
			
		||||
    Linux Vumtut
 | 
			
		||||
    Lonely Lonely
 | 
			
		||||
    MICROFARAT
 | 
			
		||||
    MLogaut
 | 
			
		||||
    Maksami Cordyceps
 | 
			
		||||
    Maktub
 | 
			
		||||
    Melord
 | 
			
		||||
    Monti Roquefort
 | 
			
		||||
    MrBatonio
 | 
			
		||||
    Nesterik
 | 
			
		||||
    Nikola P.
 | 
			
		||||
    Nuclearsun
 | 
			
		||||
    Nurik
 | 
			
		||||
    Oleg55Rus
 | 
			
		||||
    Optimus
 | 
			
		||||
    Ottakvot
 | 
			
		||||
    PLAFON
 | 
			
		||||
    Pependos
 | 
			
		||||
    PlagueEvgeny
 | 
			
		||||
    Rojok56
 | 
			
		||||
    Ruslan Vlasov
 | 
			
		||||
    Rustam
 | 
			
		||||
    Saireg
 | 
			
		||||
    Seeropoonya
 | 
			
		||||
    Soma
 | 
			
		||||
    StGdG
 | 
			
		||||
    Subscript
 | 
			
		||||
    Sudo Connect
 | 
			
		||||
    Taras Zagibalov
 | 
			
		||||
    The End
 | 
			
		||||
    Tykva
 | 
			
		||||
    V1ktr
 | 
			
		||||
    VAtiB
 | 
			
		||||
    VUMtut
 | 
			
		||||
    VanBugel
 | 
			
		||||
    Vikthor Prieto
 | 
			
		||||
    Vosarat
 | 
			
		||||
    Windchester
 | 
			
		||||
    Xpamych
 | 
			
		||||
    Yurec
 | 
			
		||||
    Yuri Emelyanov
 | 
			
		||||
    Zillah Giovanni
 | 
			
		||||
    Zloy Ivan
 | 
			
		||||
    Zorit
 | 
			
		||||
    amikha1lov
 | 
			
		||||
    anisan_sg
 | 
			
		||||
    apolon
 | 
			
		||||
    benya
 | 
			
		||||
    chal55rus
 | 
			
		||||
    d.kostroma
 | 
			
		||||
    dunkanMcLoud
 | 
			
		||||
    dupster mailbox
 | 
			
		||||
    fight fox
 | 
			
		||||
    funti2f
 | 
			
		||||
    fusiok
 | 
			
		||||
    gg_harper
 | 
			
		||||
    haravara
 | 
			
		||||
    ivboss
 | 
			
		||||
    ksandr4370
 | 
			
		||||
    onix
 | 
			
		||||
    paulscathedral
 | 
			
		||||
    penguin4ek
 | 
			
		||||
    sanelasan
 | 
			
		||||
    sashman
 | 
			
		||||
    sendependa_dio
 | 
			
		||||
    shecspir
 | 
			
		||||
    sship
 | 
			
		||||
    sugoyako
 | 
			
		||||
    tima
 | 
			
		||||
    ua3dko
 | 
			
		||||
    vlad petrov
 | 
			
		||||
    wrager
 | 
			
		||||
    xpamych
 | 
			
		||||
    zorn
 | 
			
		||||
    Alexander
 | 
			
		||||
    Alexander Abdulov
 | 
			
		||||
    Alexander Kladov
 | 
			
		||||
    Alexander Lobanov
 | 
			
		||||
    Alexey Ultralin
 | 
			
		||||
    Alexey Voitenko
 | 
			
		||||
    Alexey Galash
 | 
			
		||||
    Alexey Zubriychuk
 | 
			
		||||
    Alexey Ivushkin
 | 
			
		||||
    Alexey Kravchuk
 | 
			
		||||
    Alexey Chugunov
 | 
			
		||||
    Andrey Gusakov
 | 
			
		||||
    Andrey Karpentsov
 | 
			
		||||
    Anton Rudkovsky
 | 
			
		||||
    Anton Surnames
 | 
			
		||||
    Antony Damikan
 | 
			
		||||
    Artyom K.
 | 
			
		||||
    Valery Tolmachev
 | 
			
		||||
    Victor Schwartz
 | 
			
		||||
    Victor Shchetinin
 | 
			
		||||
    Vindeta (horn)
 | 
			
		||||
    Vitaly Nurov
 | 
			
		||||
    Vlad Blinov
 | 
			
		||||
    Vlad Kladiev
 | 
			
		||||
    Vladimir Bildyukevich
 | 
			
		||||
    Vladimir Darwin
 | 
			
		||||
    Vyacheslav Shityukov
 | 
			
		||||
    Vyacheslav Shustrov
 | 
			
		||||
    George Gursky
 | 
			
		||||
    Danil Pavlov
 | 
			
		||||
    Grandfather Mazai
 | 
			
		||||
    Denis Maltsev
 | 
			
		||||
    Denis Matiy
 | 
			
		||||
    Denis Olefirenko
 | 
			
		||||
    Dmitry Kruglov
 | 
			
		||||
    Dmitry Mazanka
 | 
			
		||||
    Dmitry Sidorov
 | 
			
		||||
    Evgeny Bebin
 | 
			
		||||
    Evgeny Dolgopolov
 | 
			
		||||
    Evgeny Hirvonen
 | 
			
		||||
    Evgeny Khramov
 | 
			
		||||
    Egor Krechun
 | 
			
		||||
    Zhenya Ryabushkin
 | 
			
		||||
    Ivan Belekeyev
 | 
			
		||||
    Kolyanich Korolev
 | 
			
		||||
    Konstantin __
 | 
			
		||||
    Konstantin Abadonna
 | 
			
		||||
    Leonid
 | 
			
		||||
    Maxim Khmara-Mironov
 | 
			
		||||
    Little Pine
 | 
			
		||||
    Marat
 | 
			
		||||
    Marat Rakhimov
 | 
			
		||||
    Unknown Dmitry
 | 
			
		||||
    Nikita Bulavin
 | 
			
		||||
    Pavel Ivanov
 | 
			
		||||
    Pavel Pashentsev
 | 
			
		||||
    Ravich Reves
 | 
			
		||||
    Ramil
 | 
			
		||||
    Roma B.
 | 
			
		||||
    Roman Ignatiev
 | 
			
		||||
    Roman Pazhensky
 | 
			
		||||
    Sasha
 | 
			
		||||
    Semyon Klishin
 | 
			
		||||
    Semyon Yaropolov
 | 
			
		||||
    Sergey Kazenkin
 | 
			
		||||
    Sergey Kruglov
 | 
			
		||||
    Serega Saprykin
 | 
			
		||||
    Stas Tolkachev
 | 
			
		||||
    Tima Sueubaev
 | 
			
		||||
    Timofey Kovalev
 | 
			
		||||
    Timur Safonov
 | 
			
		||||
    Delete Account
 | 
			
		||||
    Hottabych
 | 
			
		||||
    Nikolai Gintov
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                                      The list will be updated...' &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Do you want to join and help in the development of the project:" \
 | 
			
		||||
--title=JOIN --window-icon=group  --image=system-config-users --uri-color=red --show-uri \
 | 
			
		||||
--text-info --scroll <<< \
 | 
			
		||||
"Website:  http://linux-gaming.ru
 | 
			
		||||
Discord:  http://discord.gg/yJSEFjF
 | 
			
		||||
VK:       https://vk.com/portwinelinux
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
Become a paid subscriber:
 | 
			
		||||
boosty:  https://boosty.to/portwine-linux.ru
 | 
			
		||||
patreon: https://www.patreon.com/portproton
 | 
			
		||||
WebMoney wallets:   WMZ-Z135951244401   WME-E325631629973
 | 
			
		||||
Yandex wallet:   410012267513818
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
Donat on stream:
 | 
			
		||||
https://www.donationalerts.com/r/portwine_linux" &
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
 | 
			
		||||
--fontname="Serif bold italic 10" --text-info <<< "                               Third-party libraries that are used in PortProton
 | 
			
		||||
 | 
			
		||||
              PortProton is built on the basis of the following free software libraries:
 | 
			
		||||
 | 
			
		||||
WINE-PROTON: https://github.com/ValveSoftware/Proton
 | 
			
		||||
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
 | 
			
		||||
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
 | 
			
		||||
YAD: https://github.com/v1cont/yad
 | 
			
		||||
ZENITY: https://github.com/GNOME/zenity" &
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
			
		||||
--center --notebook --no-buttons  --tab-pos=bottom \
 | 
			
		||||
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \
 | 
			
		||||
--tab="THIRD PARTY LIBRARIES"
 | 
			
		||||
 | 
			
		||||
    echo "Exit from credits"
 | 
			
		||||
    /usr/bin/env bash -c ${pw_full_command_line[*]} 
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										959
									
								
								data_from_portwine/scripts/functions_helper
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,959 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
# Author: Castro-Fidel (linux-gaming.ru)
 | 
			
		||||
########################################################################
 | 
			
		||||
pw_ping_test () {
 | 
			
		||||
    ping -w3 -c1 github.com &> /dev/null
 | 
			
		||||
    [ "$?" == "0" ] && return 0 || return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
print_error () {
 | 
			
		||||
    echo "ERROR: $@"
 | 
			
		||||
}
 | 
			
		||||
export -f print_error
 | 
			
		||||
 | 
			
		||||
print_info () {
 | 
			
		||||
    echo "INFO: $@"
 | 
			
		||||
}
 | 
			
		||||
export -f print_info
 | 
			
		||||
 | 
			
		||||
print_var () {
 | 
			
		||||
    for vp in $@ ; do echo "${vp}=${!vp}" ; done
 | 
			
		||||
}
 | 
			
		||||
export -f print_var
 | 
			
		||||
 | 
			
		||||
try_copy_file () {
 | 
			
		||||
    if [ ! -f "$1" ] ; then	print_info "file $1 not found for copy" && return 1
 | 
			
		||||
    elif [ -z "$2" ] ; then	print_error "no way to copy file $1" && return 1
 | 
			
		||||
    else
 | 
			
		||||
        cp -f "$1" "$2"
 | 
			
		||||
        if [ "$?" != 0 ]
 | 
			
		||||
        then print_error "failed to copy file $1 to $2" || return 1
 | 
			
		||||
        else return 0
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
export -f try_copy_file
 | 
			
		||||
 | 
			
		||||
try_copy_dir () {
 | 
			
		||||
    if [ ! -d "$1" ] ; then	print_info "directory $1 not found for copy"
 | 
			
		||||
    elif [ -z "$2" ] ; then	print_error "no way to copy directory $1"
 | 
			
		||||
    else
 | 
			
		||||
        cp -fr "$1" "$2"
 | 
			
		||||
        [ "$?" != 0 ] && print_error "failed to copy directory $1 to $2" || return 0
 | 
			
		||||
    fi
 | 
			
		||||
    return 1
 | 
			
		||||
}
 | 
			
		||||
export -f try_copy_dir
 | 
			
		||||
 | 
			
		||||
try_remove_file () {
 | 
			
		||||
    if [ -f "$1" ] ; then
 | 
			
		||||
        rm -f "$1"
 | 
			
		||||
        [ "$?" == 0 ] && return 0 || return 1
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
export -f try_remove_file
 | 
			
		||||
 | 
			
		||||
try_remove_dir () {
 | 
			
		||||
    if [ -d "$1" ] ; then
 | 
			
		||||
        rm -fr "$1"
 | 
			
		||||
        [ "$?" == 0 ] && return 0 || return 1
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
export -f try_remove_dir
 | 
			
		||||
 | 
			
		||||
try_force_link_file () {
 | 
			
		||||
    if [ ! -f "$1" ] ; then :
 | 
			
		||||
    elif [ -z "$2" ] ; then	print_error "no way to link file $1"
 | 
			
		||||
    else
 | 
			
		||||
        ln -sf "$1" "$2"
 | 
			
		||||
        [ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0
 | 
			
		||||
    fi
 | 
			
		||||
    return 1
 | 
			
		||||
}
 | 
			
		||||
export -f try_force_link_file
 | 
			
		||||
 | 
			
		||||
check_symlink () {
 | 
			
		||||
    CHK_SYMLINK_FILE="`file "$1"`"
 | 
			
		||||
    if [[ ! -z "`echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}'`" ]] ; then
 | 
			
		||||
        return 0
 | 
			
		||||
    elif [[ ! -z "`echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}'`" ]] ; then
 | 
			
		||||
        print_error "remove broken symlink: $CHK_SYMLINK_FILE"
 | 
			
		||||
        rm -fr "$CHK_SYMLINK_FILE"
 | 
			
		||||
        return 1
 | 
			
		||||
    else
 | 
			
		||||
        return 1
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
export -f check_symlink
 | 
			
		||||
 | 
			
		||||
try_force_link_dir () {
 | 
			
		||||
    if [ ! -d "$1" ] ; then	print_info "directory $1 not found for link"
 | 
			
		||||
    elif [ -z "$2" ] ; then	print_error "no way to link directory $1"
 | 
			
		||||
    else
 | 
			
		||||
        ln -sf "$1" "$2"
 | 
			
		||||
        [ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0
 | 
			
		||||
    fi
 | 
			
		||||
    return 1
 | 
			
		||||
}
 | 
			
		||||
export -f try_force_link_dir
 | 
			
		||||
 | 
			
		||||
check_process () {
 | 
			
		||||
    [ ! -n "`ps cax | grep "$1" | awk '{print $1}'`" ] && return 0 || return 1 
 | 
			
		||||
}
 | 
			
		||||
export -f check_process
 | 
			
		||||
 | 
			
		||||
try_download () {
 | 
			
		||||
    PW_DOWNLOAD_FILE_NAME="$(basename $1)"
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
 | 
			
		||||
    --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "${1}" 2>&1 | \
 | 
			
		||||
    tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
 | 
			
		||||
    zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
 | 
			
		||||
    if [ "${PIPESTATUS[0]}" != 0 ] ; then
 | 
			
		||||
        print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
 | 
			
		||||
        print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
 | 
			
		||||
        try_remove_file "$2"
 | 
			
		||||
        wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
 | 
			
		||||
        --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \
 | 
			
		||||
        tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
 | 
			
		||||
        zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
 | 
			
		||||
        if [ "${PIPESTATUS[0]}" != 0 ] ; then
 | 
			
		||||
            print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
 | 
			
		||||
            try_remove_file "$2"
 | 
			
		||||
            return 1   
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    try_remove_file "${PORT_WINE_TMP_PATH}/download_log"
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try_download_to_path () {
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
 | 
			
		||||
    --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
 | 
			
		||||
    tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
 | 
			
		||||
    zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90
 | 
			
		||||
    if [ "${PIPESTATUS[0]}" != 0 ] ; then
 | 
			
		||||
        print_error "Failed to download $1."
 | 
			
		||||
        return 1 
 | 
			
		||||
    else 
 | 
			
		||||
        return 0
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
try_download_silent () {
 | 
			
		||||
    wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
 | 
			
		||||
    --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1"
 | 
			
		||||
    if [ "${PIPESTATUS[0]}" != 0 ] ; then
 | 
			
		||||
        print_error "Failed to download $1. Skipping."
 | 
			
		||||
        try_remove_file "$2"
 | 
			
		||||
        return 1 
 | 
			
		||||
    else 
 | 
			
		||||
        return 0
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
create_new_dir () {
 | 
			
		||||
    if [ ! -d "$1" ] ; then
 | 
			
		||||
        mkdir -p "$1"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var_winedlloverride_update () {
 | 
			
		||||
    if [ ! -z "${WINEDLLOVERRIDES}" ]
 | 
			
		||||
    then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}"
 | 
			
		||||
    else export WINEDLLOVERRIDES="${1}"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var_vkd3d_config_update () {
 | 
			
		||||
    if [ ! -z "${VKD3D_CONFIG}" ]
 | 
			
		||||
    then export VKD3D_CONFIG="${1};${VKD3D_CONFIG}"
 | 
			
		||||
    else export VKD3D_CONFIG="${1}"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var_radv_perftest_config_update () {
 | 
			
		||||
    if [ ! -z "${RADV_PERFTEST}" ]
 | 
			
		||||
    then export RADV_PERFTEST="${1};${RADV_PERFTEST}"
 | 
			
		||||
    else export RADV_PERFTEST="${1}"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var_vk_istance_layers_config_update () {
 | 
			
		||||
    if [ ! -z "${PW_VK_INSTANCE_LAYERS}" ]
 | 
			
		||||
    then export PW_VK_INSTANCE_LAYERS="${1}:${PW_VK_INSTANCE_LAYERS}"
 | 
			
		||||
    else export PW_VK_INSTANCE_LAYERS="${1}"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unpack_tar_zst () {
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    unset PW_ZSTD_PORT
 | 
			
		||||
    if  [[ `which zstd` ]] &>/dev/null ; then
 | 
			
		||||
        tar -I zstd -xvf "$1" -C "$2" | sszen
 | 
			
		||||
        [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
 | 
			
		||||
    else
 | 
			
		||||
        env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xvf "$1" -C "$2" | sszen
 | 
			
		||||
        [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unpack_tar_xz () {
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    tar -Jxvf "$1" -C "$2" | sszen
 | 
			
		||||
    [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unpack_tar_gz () {
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    tar -xzvf "$1" -C "$2" | sszen
 | 
			
		||||
    [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unpack_tar () {
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
    tar -xvf "$1" -C "$2" | sszen
 | 
			
		||||
    [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_clear_pfx () {
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/userdef.reg"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.update-timestamp"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/.windows-serial"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Setup"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Windows"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/WindowsTask"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Package Cache"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Local Settings/Application Data/Microsoft"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Local Settings/Application Data/Temp"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Local Settings/Temporary Internet Files"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Application Data/Microsoft"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Application Data/wine_gecko"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Temp"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Local Settings/Application Data/Microsoft"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Local Settings/Application Data/Temp"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Local Settings/Temporary Internet Files"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Application Data/Microsoft"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Application Data/wine_gecko"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Temp"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files/Internet Explorer"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files/Windows Media Player"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files/Windows NT"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files/Common Files"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Internet Explorer"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Common Files"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows Media Player"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows NT"
 | 
			
		||||
    rm -f "${PORT_WINE_TMP_PATH}"/*.bin
 | 
			
		||||
    rm -f "${PORT_WINE_TMP_PATH}"/*.foz
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_reinstall_pp () {
 | 
			
		||||
    if [[ "${PW_REINSTALL_FROM_TERMINAL}" == 1 ]] ; then
 | 
			
		||||
        read -p "Do you want to reinstall PortProton? (Y,y - Yes):   " -n 1 -r
 | 
			
		||||
        if [[ ! $REPLY =~ ^[Yy]$ ]]
 | 
			
		||||
        then
 | 
			
		||||
            echo
 | 
			
		||||
            exit 1
 | 
			
		||||
        fi
 | 
			
		||||
    elif ! gui_question "${port_reinstall}" 
 | 
			
		||||
    then exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    pw_clear_pfx
 | 
			
		||||
    try_remove_dir "${PORT_WINE_PATH}/data/dist"
 | 
			
		||||
    try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN"
 | 
			
		||||
    try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/user.conf"
 | 
			
		||||
    echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
			
		||||
    echo
 | 
			
		||||
    echo "Restarting PP for reinstall files..."
 | 
			
		||||
    /usr/bin/env bash -c ${pw_full_command_line[*]} &
 | 
			
		||||
    exit 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
check_user_conf () {
 | 
			
		||||
    if [ ! -f "${USER_CONF}" ]; then
 | 
			
		||||
        echo "#!/usr/bin/env bash" > "${USER_CONF}"
 | 
			
		||||
        echo "# User overides db and var settings..." >> "${USER_CONF}"
 | 
			
		||||
        chmod u+x "${USER_CONF}"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
init_wine_ver () {
 | 
			
		||||
    if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then
 | 
			
		||||
        if [[ ! -z `echo "${PW_WINE_USE}" | grep "PROTON_LG"` ]] ; then
 | 
			
		||||
            export PW_WINE_USE=PROTON_LG
 | 
			
		||||
        else
 | 
			
		||||
            export PW_WINE_USE=PROTON_GE
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]] 
 | 
			
		||||
    then export PW_WINE_USE="${PW_PROTON_LG_VER}"
 | 
			
		||||
    elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]]
 | 
			
		||||
    then export PW_WINE_USE="${PW_PROTON_GE_VER}"
 | 
			
		||||
    fi
 | 
			
		||||
    [ ! -z "${PW_WINE_VER}" ] && export PW_WINE_USE=`echo "${PW_WINE_VER}" | tr [[:lower:]] [[:upper:]]`
 | 
			
		||||
    [ ! -z "${PW_WINE_USE}" ] && export PW_WINE_USE=`echo "${PW_WINE_USE}" | tr [[:lower:]] [[:upper:]]`
 | 
			
		||||
    unset PW_WINE_VER
 | 
			
		||||
    export WINEDIR="${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
 | 
			
		||||
    export WINE="${WINEDIR}/bin/wine"
 | 
			
		||||
    export WINELOADER="${WINEDIR}/bin/wine"
 | 
			
		||||
    export WINESERVER="${WINEDIR}/bin/wineserver"
 | 
			
		||||
 | 
			
		||||
    export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
 | 
			
		||||
    if [[ ! -z "${PATH_TO_GAME}" ]] ; then
 | 
			
		||||
        export WINEDLLPATH+=":${PATH_TO_GAME}"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
 | 
			
		||||
        for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do 
 | 
			
		||||
            rm -fr "${WINEDIR}/$clear_dist_files"
 | 
			
		||||
        done
 | 
			
		||||
        mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
 | 
			
		||||
        rm -fr "${WINEDIR}/files"
 | 
			
		||||
    elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
 | 
			
		||||
        for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do 
 | 
			
		||||
            rm -fr "${WINEDIR}/$clear_dist_files"
 | 
			
		||||
        done
 | 
			
		||||
        mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
 | 
			
		||||
        rm -fr "${WINEDIR}/dist"
 | 
			
		||||
    elif [ -f "${WINEDIR}/proton_dist.tar" ] ; then
 | 
			
		||||
        unpack_tar "${WINEDIR}/proton_dist.tar" "${WINEDIR}/"
 | 
			
		||||
        for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g"` ; do 
 | 
			
		||||
            rm -fr "${WINEDIR}/$clear_dist_files"
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -d "${WINEDIR}" ]] ; then
 | 
			
		||||
        [[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
 | 
			
		||||
 | 
			
		||||
        # if [[ -d "${WINEDIR}/lib32/" ]] ; then
 | 
			
		||||
        #     mv -f "${WINEDIR}/lib" "${WINEDIR}/lib64"
 | 
			
		||||
        #     mv -f "${WINEDIR}/lib32" "${WINEDIR}/lib"
 | 
			
		||||
        # fi
 | 
			
		||||
 | 
			
		||||
        if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
 | 
			
		||||
            create_new_dir "${WINEDIR}/lib64/wine"
 | 
			
		||||
            mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
 | 
			
		||||
            mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        try_remove_file "${WINEDIR}/lib/libsteam_api.so"
 | 
			
		||||
        try_remove_file "${WINEDIR}/lib64/libsteam_api.so"
 | 
			
		||||
        
 | 
			
		||||
        for mono_gecko_chk in "mono" "gecko" ; do
 | 
			
		||||
            if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
 | 
			
		||||
                echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
 | 
			
		||||
            elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
 | 
			
		||||
                try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | sszen
 | 
			
		||||
                try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
 | 
			
		||||
                try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
 | 
			
		||||
                echo "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
 | 
			
		||||
            else
 | 
			
		||||
                try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
 | 
			
		||||
                try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
 | 
			
		||||
                echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
 | 
			
		||||
            fi
 | 
			
		||||
        done
 | 
			
		||||
 | 
			
		||||
        grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null
 | 
			
		||||
        if [[ "$?" != "0" ]] ; then
 | 
			
		||||
            echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
            echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
            sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
            sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_init_runtime () {
 | 
			
		||||
 | 
			
		||||
    if [[ -n "$(grep "ROSA Fresh" "/etc/os-release")" ]] ; then
 | 
			
		||||
        export LOCPATH="/run/host/usr/share/locale/"
 | 
			
		||||
    elif [[ -n "$(grep "altlinux" "/etc/os-release")" ]] ; then
 | 
			
		||||
        export LIBGL_DRIVERS_PATH="/usr/lib/X11/modules/dri:/usr/lib64/X11/modules/dri"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib" 
 | 
			
		||||
    export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
 | 
			
		||||
 | 
			
		||||
    export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d"
 | 
			
		||||
 | 
			
		||||
    if [ ! -z ${PATH_TMP} ]
 | 
			
		||||
    then export PATH="${PATH_TMP}"
 | 
			
		||||
    else export PATH_TMP="${PATH}"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -z "${PATH}" ]
 | 
			
		||||
    then export PATH="${WINEDIR}/bin:${PATH}:${PW_WINELIB}/portable/bin"
 | 
			
		||||
    else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ "${PW_USE_GSTREAMER}" = 1 ] ; then 
 | 
			
		||||
        if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then
 | 
			
		||||
            export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
 | 
			
		||||
        elif [ -d "${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0" ] ; then
 | 
			
		||||
            export GST_PLUGIN_SYSTEM_PATH_1_0="${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0:${PW_WINELIB}/portable/lib/lib32/gstreamer-1.0"
 | 
			
		||||
        fi
 | 
			
		||||
        export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
 | 
			
		||||
        export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
 | 
			
		||||
        export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
 | 
			
		||||
        export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
 | 
			
		||||
        export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
 | 
			
		||||
    else
 | 
			
		||||
        var_winedlloverride_update "winegstreamer="
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then
 | 
			
		||||
        export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
 | 
			
		||||
        --unshare-home \
 | 
			
		||||
        --home="${PW_SANDBOX_HOME_PATH}" \
 | 
			
		||||
        ${PW_ADD_TO_ARGS_IN_RUNTIME} --"
 | 
			
		||||
    else
 | 
			
		||||
        export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
 | 
			
		||||
        --share-home \
 | 
			
		||||
        ${PW_ADD_TO_ARGS_IN_RUNTIME} --"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
 | 
			
		||||
    # export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/"
 | 
			
		||||
 | 
			
		||||
    unset PRESSURE_VESSEL_RUNTIME_ARCHIVE
 | 
			
		||||
    export PRESSURE_VESSEL_COPY_RUNTIME=1
 | 
			
		||||
    export PRESSURE_VESSEL_GC_LEGACY_RUNTIMES=1
 | 
			
		||||
    export PRESSURE_VESSEL_RUNTIME=runtime
 | 
			
		||||
    export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}"
 | 
			
		||||
    export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var"
 | 
			
		||||
    export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
 | 
			
		||||
 | 
			
		||||
    unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
 | 
			
		||||
    for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
 | 
			
		||||
        if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
 | 
			
		||||
        then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
 | 
			
		||||
        else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
    for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
 | 
			
		||||
        if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
 | 
			
		||||
        then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
 | 
			
		||||
        else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
    echo "RUNTIME is enabled"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_mangohud_check () {
 | 
			
		||||
    if [[ "${PW_MANGOHUD}" == "1" ]] || [[ "${PW_MANGOHUD_x32}" = "1" ]]; then
 | 
			
		||||
        export PW_MANGOHUD_SLR='MANGOHUD=1'
 | 
			
		||||
        MANGOHUD_LIB_NAME="libMangoHud.so"
 | 
			
		||||
        if [[ "${PW_VULKAN_USE}" = "0" ]] ; then 
 | 
			
		||||
	        MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
 | 
			
		||||
        fi
 | 
			
		||||
        if [[ ! -z "${PW_LD_PRELOAD}" ]]
 | 
			
		||||
        then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
 | 
			
		||||
        else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
 | 
			
		||||
        fi
 | 
			
		||||
        var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64"
 | 
			
		||||
        if [[ "${PW_MANGOHUD_x32}" = "1" ]] ; then 
 | 
			
		||||
            var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay32"
 | 
			
		||||
        fi
 | 
			
		||||
        print_info "MANGOHUD is enabled"
 | 
			
		||||
    else
 | 
			
		||||
        export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1'
 | 
			
		||||
        print_info "MANGOHUD is disabled"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_vkbasalt_check () {
 | 
			
		||||
    if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
 | 
			
		||||
        if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then
 | 
			
		||||
            export PW_VKBASALT_EFFECTS="Curves:cas" 
 | 
			
		||||
        fi
 | 
			
		||||
        sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
			
		||||
        if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
 | 
			
		||||
            export PW_VKBASALT_FFX_CAS="0.7" 
 | 
			
		||||
        fi
 | 
			
		||||
        sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
			
		||||
        export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
 | 
			
		||||
        # sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx"
 | 
			
		||||
        var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
 | 
			
		||||
        print_info "vkBasalt is enabled"
 | 
			
		||||
    else
 | 
			
		||||
        export DISABLE_VKBASALT=1
 | 
			
		||||
        print_info "vkBasalt is disabled"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
check_nvidia_vk_icd_file () {
 | 
			
		||||
    if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then
 | 
			
		||||
        export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
 | 
			
		||||
    elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then
 | 
			
		||||
        export VK_ICD_FILENAMES="/etc/vulkan/icd.d/nvidia_icd.json"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
regdlloverrides () {
 | 
			
		||||
    PW_DLL_EXE=`echo $@ | awk -F: '{print $1}'`
 | 
			
		||||
    PW_DLL_LIB=`echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}'`
 | 
			
		||||
    PW_DLL_SET=`echo $@ | awk -F= '{print $NF}'`
 | 
			
		||||
    case "${PW_DLL_SET}" in
 | 
			
		||||
        "n,b") PW_DLL_IN_REG="native,builtin" ;;
 | 
			
		||||
        "b,n") PW_DLL_IN_REG="builtin,native" ;;
 | 
			
		||||
            "n") PW_DLL_IN_REG="native" ;;
 | 
			
		||||
            "b") PW_DLL_IN_REG="builtin" ;;
 | 
			
		||||
            *) PW_DLL_IN_REG="" ;;
 | 
			
		||||
    esac
 | 
			
		||||
    grep 'HKCU,Software\\Wine\\AppDefaults\\'"${PW_DLL_EXE}"'\\DllOverrides,'\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\" "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
    if [[ "$?" != "0" ]] ; then
 | 
			
		||||
        grep "ProtonOverrides" "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
        if [[ "$?" == "0" ]] ; then
 | 
			
		||||
            sed -i "/\[ProtonOverrides\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
        else
 | 
			
		||||
            sed -i "/\[SteamClient.ntamd64\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
wait_wineserver () {
 | 
			
		||||
    while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do
 | 
			
		||||
        sleep 1
 | 
			
		||||
    done
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
export -f wait_wineserver
 | 
			
		||||
 | 
			
		||||
kill_portwine () {
 | 
			
		||||
    wine_pids="`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}'`"
 | 
			
		||||
    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} > /dev/null 2>&1  
 | 
			
		||||
            fi
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    bwrap_pids="`pgrep -a wrap | grep ${portname} | head -n 1 | awk '{print $1}'`"
 | 
			
		||||
    if  [ ! -z "${bwrap_pids}" ] ; then
 | 
			
		||||
        for pw_kill_pids in ${bwrap_pids} ; do
 | 
			
		||||
            if [ "`ps cax | grep ${pw_kill_pids}`" ] ; then
 | 
			
		||||
                kill -n 9 ${pw_kill_pids} > /dev/null 2>&1
 | 
			
		||||
            fi
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
export -f kill_portwine
 | 
			
		||||
 | 
			
		||||
pw_kill_autostart () {
 | 
			
		||||
    if [[ -z "${2}" ]]
 | 
			
		||||
    then SWAIT=5
 | 
			
		||||
    else SWAIT="${2}"
 | 
			
		||||
    fi
 | 
			
		||||
    sleep 5
 | 
			
		||||
    
 | 
			
		||||
    while true ; do
 | 
			
		||||
        if  [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then
 | 
			
		||||
            echo -e "PID "$1" not found"
 | 
			
		||||
            sleep "${SWAIT}"
 | 
			
		||||
        else
 | 
			
		||||
            sleep "${SWAIT}"
 | 
			
		||||
            kill_portwine 
 | 
			
		||||
            break
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    if [[ ! -z "`ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp"`" ]] ; then
 | 
			
		||||
        rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
export -f pw_kill_autostart
 | 
			
		||||
 | 
			
		||||
stop_portwine () { 
 | 
			
		||||
    if [ "$int_xneur" = "1"  ]; then
 | 
			
		||||
        xneur &
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -z ${PW_XKBD} ]; then
 | 
			
		||||
        setxkbmap ${PW_XKBD}
 | 
			
		||||
    fi
 | 
			
		||||
    pw_stop_progress_bar
 | 
			
		||||
    try_remove_file "${PORT_SCRIPTS_PATH}/0"
 | 
			
		||||
    try_remove_file "${PORT_SCRIPTS_PATH}/1"
 | 
			
		||||
    kill_portwine &&
 | 
			
		||||
    try_remove_dir "${PW_WINELIB}/var"
 | 
			
		||||
    find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
 | 
			
		||||
    if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
 | 
			
		||||
        kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null
 | 
			
		||||
    fi
 | 
			
		||||
    add_in_stop_portwine &>/dev/null
 | 
			
		||||
    kill -n 9 `pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}'` > /dev/null 2>&1
 | 
			
		||||
    killall yad_new &>/dev/null
 | 
			
		||||
    exit 0
 | 
			
		||||
}
 | 
			
		||||
export -f stop_portwine
 | 
			
		||||
 | 
			
		||||
pw_download_libs () {
 | 
			
		||||
    if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`" ] ; then
 | 
			
		||||
        for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`
 | 
			
		||||
        do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ ! -e "${PW_WINELIB}/portable/bin/yad" || ! -e "${PW_WINELIB}/portable/lib/p7zip/7z" \
 | 
			
		||||
    || ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" || -e "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ]] ;
 | 
			
		||||
    then
 | 
			
		||||
        print_info "Download and install libraries..."
 | 
			
		||||
        if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
 | 
			
		||||
            if unpack_tar_xz "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then
 | 
			
		||||
                try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
 | 
			
		||||
            else
 | 
			
		||||
                try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
 | 
			
		||||
                try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
 | 
			
		||||
                zenity_error_download && pw_download_libs
 | 
			
		||||
            fi
 | 
			
		||||
        else
 | 
			
		||||
            zenity_error_download && pw_download_libs
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    export pw_yad="${PW_WINELIB}/portable/bin/yad"
 | 
			
		||||
    export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new"
 | 
			
		||||
    export pw_zstd="${PW_WINELIB}/portable/bin/zstd"
 | 
			
		||||
    export pw_7z="${PW_WINELIB}/portable/lib/p7zip/7z"
 | 
			
		||||
    if [ -x "`which xterm 2>/dev/null`" ]; then
 | 
			
		||||
        export SYS_XTERM=`which xterm`
 | 
			
		||||
        export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
 | 
			
		||||
    else
 | 
			
		||||
        export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e"
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_check_and_download_wine () {
 | 
			
		||||
    [ ! -d "${PORT_WINE_PATH}/data/dist/" ] && create_new_dir "${PORT_WINE_PATH}/data/dist"
 | 
			
		||||
    if [[ "${PW_WINE_USE}" == "GET-OTHER-WINE" ]] ; then
 | 
			
		||||
        gui_proton_downloader
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]] 
 | 
			
		||||
    then export PW_WINE_USE="${PW_PROTON_LG_VER}"
 | 
			
		||||
    elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]]
 | 
			
		||||
    then export PW_WINE_USE="${PW_PROTON_GE_VER}"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
 | 
			
		||||
        print_info "Download and install ${PW_WINE_USE}..."
 | 
			
		||||
        if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
 | 
			
		||||
            if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
 | 
			
		||||
                echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}/version"
 | 
			
		||||
                try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
 | 
			
		||||
                try_remove_dir "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}"
 | 
			
		||||
            else
 | 
			
		||||
                try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
 | 
			
		||||
                try_remove_dir "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}"
 | 
			
		||||
                try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
 | 
			
		||||
 | 
			
		||||
                zenity_error_download && pw_check_and_download_wine
 | 
			
		||||
            fi
 | 
			
		||||
        else
 | 
			
		||||
            zenity_error_download && pw_check_and_download_wine
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_check_and_download_dxvk_and_vkd3d () {
 | 
			
		||||
    #Download stable and git version DXVK
 | 
			
		||||
    for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do
 | 
			
		||||
        if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then
 | 
			
		||||
            print_info "Download and install DXVK v.${DXVK_VAR_VER}"
 | 
			
		||||
            if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then
 | 
			
		||||
                if unpack_tar_xz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
 | 
			
		||||
                else
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
 | 
			
		||||
                    try_remove_dir dxvk-${DXVK_VAR_VER}
 | 
			
		||||
 | 
			
		||||
                    zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
 | 
			
		||||
                fi
 | 
			
		||||
            elif try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then
 | 
			
		||||
                if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
 | 
			
		||||
                else
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
 | 
			
		||||
                    try_remove_dir dxvk-${DXVK_VAR_VER}
 | 
			
		||||
 | 
			
		||||
                    zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
 | 
			
		||||
                fi
 | 
			
		||||
            else
 | 
			
		||||
                zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
 | 
			
		||||
            fi
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    #Download stable and git version VKD3D
 | 
			
		||||
    for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do
 | 
			
		||||
        if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then
 | 
			
		||||
            print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}"
 | 
			
		||||
            if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then
 | 
			
		||||
                if unpack_tar_xz "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
 | 
			
		||||
                else
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
 | 
			
		||||
                    try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
 | 
			
		||||
 | 
			
		||||
                    zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
 | 
			
		||||
                fi
 | 
			
		||||
            elif try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then
 | 
			
		||||
                if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
 | 
			
		||||
                else
 | 
			
		||||
                    try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
 | 
			
		||||
                    try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
 | 
			
		||||
 | 
			
		||||
                    zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
 | 
			
		||||
                fi
 | 
			
		||||
            else
 | 
			
		||||
                zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
 | 
			
		||||
            fi
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_check_and_download_plugins () {
 | 
			
		||||
    if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then
 | 
			
		||||
        for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`
 | 
			
		||||
        do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/fake_dlss" \
 | 
			
		||||
    || ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]]
 | 
			
		||||
    then
 | 
			
		||||
        print_info "Download and install plugins${PW_PLUGINS_VER}..."
 | 
			
		||||
        if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then
 | 
			
		||||
            if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then
 | 
			
		||||
                try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" 
 | 
			
		||||
            else
 | 
			
		||||
                try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
 | 
			
		||||
                try_remove_dir "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
 | 
			
		||||
 | 
			
		||||
                zenity_error_download && pw_check_and_download_wine
 | 
			
		||||
            fi
 | 
			
		||||
        else
 | 
			
		||||
            zenity_error_download && pw_check_and_download_wine
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_init_db () {
 | 
			
		||||
    if [[ ! -z "${portwine_exe}" ]] ; then
 | 
			
		||||
        export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
 | 
			
		||||
        if [[ -f "${portwine_exe}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then
 | 
			
		||||
            export PORTWINE_DB_FILE="${portwine_exe}".ppdb
 | 
			
		||||
            sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
 | 
			
		||||
            . "${PORTWINE_DB_FILE}"
 | 
			
		||||
            if [[ -z "`ls -p "${PORT_WINE_PATH}/prefixes/" | grep -e "^${PW_PREFIX_NAME}/"`" ]] ; then
 | 
			
		||||
                export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
 | 
			
		||||
                edit_db_from_gui PW_PREFIX_NAME
 | 
			
		||||
            fi
 | 
			
		||||
        else
 | 
			
		||||
            orig_IFS="$IFS"
 | 
			
		||||
            IFS=$'\n'
 | 
			
		||||
            PW_FIND_DB_FILE=`grep -ilw "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi`
 | 
			
		||||
            if [[ `echo "$PW_FIND_DB_FILE" | wc -l` -gt 1 ]] ; then
 | 
			
		||||
                unset ADD_CB_DBFILE
 | 
			
		||||
                for PW_CHECK_DB_FILE in $PW_FIND_DB_FILE ; do
 | 
			
		||||
                    if [[ -z "${ADD_CB_DBFILE}" ]] ; then
 | 
			
		||||
                        export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}"
 | 
			
		||||
                    else
 | 
			
		||||
                        export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}!${ADD_CB_DBFILE}"
 | 
			
		||||
                    fi
 | 
			
		||||
                done
 | 
			
		||||
                PORTWINE_DB_FILE=`"${pw_yad_new}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form --center  \
 | 
			
		||||
                --title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png"  --form --separator="" \
 | 
			
		||||
                --field="DB FILE: :CB" "${ADD_CB_DBFILE}"`
 | 
			
		||||
                if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
 | 
			
		||||
                sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
 | 
			
		||||
            elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then
 | 
			
		||||
                PORTWINE_DB_FILE="${PW_FIND_DB_FILE}"
 | 
			
		||||
                sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
 | 
			
		||||
            fi
 | 
			
		||||
            IFS="$orig_IFS"
 | 
			
		||||
            if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z `grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}"` ]] ; then
 | 
			
		||||
                try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb
 | 
			
		||||
                export PORTWINE_DB_FILE="${portwine_exe}".ppdb
 | 
			
		||||
            fi
 | 
			
		||||
            if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \
 | 
			
		||||
                [[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]]
 | 
			
		||||
            then 
 | 
			
		||||
                export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
 | 
			
		||||
                edit_db_from_gui PW_PREFIX_NAME
 | 
			
		||||
            fi
 | 
			
		||||
        fi
 | 
			
		||||
        if [ ! -z "${PORTWINE_DB_FILE}" ]; then
 | 
			
		||||
            . "${PORTWINE_DB_FILE}"
 | 
			
		||||
            init_wine_ver &&
 | 
			
		||||
            print_info "Use ${PORTWINE_DB_FILE} db file."
 | 
			
		||||
        fi
 | 
			
		||||
        if [ -z "$PATH_TO_GAME" ] ; then
 | 
			
		||||
            export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_port_update () {
 | 
			
		||||
    ###SCRIPTS UPDATE###
 | 
			
		||||
    if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then
 | 
			
		||||
        echo "2022" > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
			
		||||
    fi
 | 
			
		||||
    export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
 | 
			
		||||
    curl -s --list-only https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var > "${PORT_WINE_TMP_PATH}/curent_var_ver"
 | 
			
		||||
    [[ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ]] && echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
			
		||||
    read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
 | 
			
		||||
    if [[ "${scripts_update_not}" == "1" ]] ; then
 | 
			
		||||
        export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'`
 | 
			
		||||
        print_info "Scripts version in github = ${scripts_current_ver}"
 | 
			
		||||
        print_info "Scripts version local = ${scripts_install_ver}"
 | 
			
		||||
        if [[ ! -z "${scripts_current_ver}" ]] &&  [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
 | 
			
		||||
            if [[ -f "${PW_WINELIB}/portable/bin/yad_new" ]] ; then
 | 
			
		||||
                export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new"
 | 
			
		||||
                curl -s --list-only "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
 | 
			
		||||
                CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' `
 | 
			
		||||
                xcsd=`"${pw_yad_new}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
 | 
			
		||||
                --borders=5 --form --separator='%%%' --width=1000 --height=350 --center \
 | 
			
		||||
                --field=":TXT" "${CHANGLOG_NEWS}" \
 | 
			
		||||
                --field="   ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" `
 | 
			
		||||
                YAD_STATUS="$?"
 | 
			
		||||
                if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
 | 
			
		||||
                xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'`
 | 
			
		||||
            else
 | 
			
		||||
                xcsd=`zenity --title  "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${scripts_upd3}" \
 | 
			
		||||
                TRUE "${scripts_upd4}" \
 | 
			
		||||
                FALSE "${scripts_upd5}" \
 | 
			
		||||
                FALSE "${scripts_upd6}"`
 | 
			
		||||
            fi
 | 
			
		||||
            case $xcsd in
 | 
			
		||||
                "${scripts_upd4}")
 | 
			
		||||
                    echo "######################################################"
 | 
			
		||||
                    print_info "Update scripts..."
 | 
			
		||||
                    try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
 | 
			
		||||
                    if try_download "github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
 | 
			
		||||
                        if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}"
 | 
			
		||||
                        then
 | 
			
		||||
                            create_new_dir "${PORT_WINE_TMP_PATH}/scripts_backup"
 | 
			
		||||
                            cd "${PORT_WINE_PATH}/data/"
 | 
			
		||||
                            tar -czpf "${PORT_WINE_TMP_PATH}/scripts_backup/scripts_v.${scripts_install_ver}.tar.gz" ./scripts ./img \
 | 
			
		||||
                            ./changelog* ./dxvk.conf ./vkBasalt.conf ./tmp/scripts_ver
 | 
			
		||||
                            cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/"
 | 
			
		||||
                            try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
 | 
			
		||||
                            try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
 | 
			
		||||
                            echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
 | 
			
		||||
                            if [[ -z "${pw_yad_new}" ]] ; then
 | 
			
		||||
                                zenity --title="Changelog" --text-info --width=1200 --height=550 \
 | 
			
		||||
                                --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
 | 
			
		||||
                            fi 
 | 
			
		||||
                            [ "$?" == 0 ] && echo "Restarting PP after update..." && /usr/bin/env bash -c ${pw_full_command_line[*]} &
 | 
			
		||||
                            exit 0
 | 
			
		||||
                        fi
 | 
			
		||||
                    else
 | 
			
		||||
                        zenity_error_download && pw_scripts_update
 | 
			
		||||
                    fi ;;
 | 
			
		||||
                "${scripts_upd5}")
 | 
			
		||||
                    echo " " ;;
 | 
			
		||||
                "${scripts_upd6}")
 | 
			
		||||
                    echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;;
 | 
			
		||||
            esac
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    try_remove_file "${PORT_WINE_TMP_PATH}/curent_var_ver"
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
update_winetricks () {
 | 
			
		||||
    W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
 | 
			
		||||
    W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
 | 
			
		||||
    print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
 | 
			
		||||
    W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
 | 
			
		||||
    print_info "Version winetricks in port: ${W_TRX_INT_VER}"
 | 
			
		||||
    if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]; then
 | 
			
		||||
        if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
 | 
			
		||||
            mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
 | 
			
		||||
            W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})" 
 | 
			
		||||
            chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
    if  [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
 | 
			
		||||
        sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
			
		||||
        sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
			
		||||
        #HOTFIX SHA256SUM FOR VC_RUN2019
 | 
			
		||||
        sed -i 's/vc_redist.x86.exe 1acd8d5ea1cdc3eb2eb4c87be3ab28722d0825c15449e5c9ceef95d897de52fa/vc_redist.x86.exe 80c7969f4e05002a0cd820b746e0acb7406d4b85e52ef096707315b390927824/g' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
			
		||||
        sed -i 's/vc_redist.x64.exe 003063723b2131da23f40e2063fb79867bae275f7b5c099dbd1792e25845872b/vc_redist.x64.exe 9b9dd72c27ab1db081de56bb7b73bee9a00f60d14ed8e6fde45dab3e619b5f04/g' "${PORT_WINE_TMP_PATH}/winetricks"
 | 
			
		||||
 | 
			
		||||
    fi
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
edit_db_from_gui () {
 | 
			
		||||
    echo "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
 | 
			
		||||
    for mod_db in $@ ; do
 | 
			
		||||
        echo "${mod_db}=${!mod_db}"
 | 
			
		||||
        if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then
 | 
			
		||||
            echo "export ${mod_db}=\"${!mod_db}\"" >> "${PORTWINE_DB_FILE}"
 | 
			
		||||
        elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then
 | 
			
		||||
            if [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=\"${!mod_db}\"" ] ; then
 | 
			
		||||
                sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/" "${PORTWINE_DB_FILE}"
 | 
			
		||||
            fi
 | 
			
		||||
        elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" != "export ${mod_db}=${!mod_db}" ] ; then
 | 
			
		||||
            sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/g" "${PORTWINE_DB_FILE}"
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pw_create_gui_png () {
 | 
			
		||||
    if [ ! -z "${PORTWINE_CREATE_SHORTCUT_NAME}" ] ; then
 | 
			
		||||
        export PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}"
 | 
			
		||||
    else
 | 
			
		||||
        export PORTPROTON_NAME="$(basename "${portwine_exe}" | sed s/".exe"/""/gi )"
 | 
			
		||||
    fi
 | 
			
		||||
    PW_RESIZE_TO=128
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/img/setup.png"
 | 
			
		||||
    if [[ -x "`which wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
 | 
			
		||||
        try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img"
 | 
			
		||||
        create_new_dir "${PORT_WINE_TMP_PATH}/tmp_img"
 | 
			
		||||
        wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "${portwine_exe}"
 | 
			
		||||
        cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".ico" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
 | 
			
		||||
        icotool -x --width=${PW_RESIZE_TO} --height=${PW_RESIZE_TO} --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
 | 
			
		||||
        if [[ ! -f "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}")" ]] ; then 
 | 
			
		||||
            icotool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
 | 
			
		||||
            cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png"
 | 
			
		||||
        else
 | 
			
		||||
            cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png"
 | 
			
		||||
        fi
 | 
			
		||||
        cp -f "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] && \
 | 
			
		||||
       [[ -x "`which "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
 | 
			
		||||
        convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" 
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then
 | 
			
		||||
        if [[ ! -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] ; then
 | 
			
		||||
            export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" 
 | 
			
		||||
        else
 | 
			
		||||
            export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
@@ -1,43 +1,64 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
# Author: PortWINE-Linux.ru
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
# Author: linux-gaming.ru
 | 
			
		||||
 | 
			
		||||
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
 | 
			
		||||
export update_loc=${update_loc}
 | 
			
		||||
if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
 | 
			
		||||
	read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
 | 
			
		||||
	export update_loc=${update_loc}
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "${update_loc}" = "RUS" ] 
 | 
			
		||||
if [ "${update_loc}" = "RUS" ]
 | 
			
		||||
then
 | 
			
		||||
	export loc_gui_pw_reinstall_pp="Переустановить PORTPROTON"
 | 
			
		||||
    export loc_gui_rm_pp="Удалить PORTPROTON"
 | 
			
		||||
    export loc_gui_upd_pp="Проверить обновления"
 | 
			
		||||
    export loc_gui_changelog="История изменений"
 | 
			
		||||
	export loc_gui_change_loc="Сменить язык интерфейса"
 | 
			
		||||
    export loc_gui_edit_usc="Редактировать USER.CONF"
 | 
			
		||||
    export loc_gui_scripts_fb="Откатить версию скриптов"
 | 
			
		||||
    export loc_gui_credits="Авторы и спасибы =)"
 | 
			
		||||
 | 
			
		||||
	export loc_tray_winefile="Файловый менеджер WINE"
 | 
			
		||||
	export loc_tray_tascmng="Диспетчер задач WINE"
 | 
			
		||||
	export loc_tray_cangelog="История изменений"
 | 
			
		||||
	export loc_tray_force_exit="Завершить работу PortProton"
 | 
			
		||||
 | 
			
		||||
	export loc_mg_autoinstall="АВТОУСТАНОВКА"
 | 
			
		||||
	export loc_mg_emulators="ЭМУЛЯТОРЫ"
 | 
			
		||||
	export loc_mg_wine_settings="НАСТРОЙКИ WINE"
 | 
			
		||||
	export loc_mg_portproton_settings="НАСТРОЙКИ PORTPROTON"
 | 
			
		||||
 | 
			
		||||
	export PW_CHANGELOG_FILE="changelog_rus"
 | 
			
		||||
	export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n"
 | 
			
		||||
 | 
			
		||||
	export inst_set="Выбор"
 | 
			
		||||
	export inst_set_top="Установка PortWINE"
 | 
			
		||||
 | 
			
		||||
	export ss_title="Опции запуска:"
 | 
			
		||||
	export ss_text="Выберите желаемый вариант запуска ${portname}. Вы всегда можете изменить свой выбор, \nзапустив ярлык reset из каталога: "${PORT_WINE_PATH}"/"
 | 
			
		||||
	export ss_ver="Версия?"
 | 
			
		||||
	export ss_default_1="Cтандартный запуск"
 | 
			
		||||
	export ss_default_2="Старый запуск, с вопросами и логами"
 | 
			
		||||
	export ss_ogl_1="Использовать OpenGL. (DirectX в OpenGL)"
 | 
			
		||||
	export ss_ogl_2="Использовать VKD3D. ( DX12 в vulkan)"
 | 
			
		||||
	export ss_ogl_3="Использовать DXVK и D9VK. (DX9-DX11 в Vulkan и выключить DX12)"
 | 
			
		||||
	export ss_done="Ярлык создан в корневом каталоге порта.\nДобавить его в МЕНЮ -> ИГРЫ?" 
 | 
			
		||||
	export ss_done="Ярлык создан в каталоге PortProton.    \n    Добавить его в МЕНЮ -> ИГРЫ?"
 | 
			
		||||
 | 
			
		||||
	export inst_succ="Установка завершена успешно!"
 | 
			
		||||
 | 
			
		||||
	export port_upd1="Обновление PortWINE"
 | 
			
		||||
	export port_upd2="На сайте portwine-linux.ru вышло обновление для ${portname}\n"
 | 
			
		||||
	export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n"
 | 
			
		||||
	export port_upd3="Действие:"
 | 
			
		||||
	export port_upd4="Перейти на сайт"
 | 
			
		||||
	export port_upd5="Напомнить позже"
 | 
			
		||||
	export port_upd6="Больше не напоминать"
 | 
			
		||||
 | 
			
		||||
	export scripts_upd1="Обновление скриптов"
 | 
			
		||||
	export scripts_upd2="Доступно обновление скриптов для ${portname}"
 | 
			
		||||
	export scripts_upd3="Действие :"
 | 
			
		||||
	export scripts_upd4="Обновить сейчас"
 | 
			
		||||
	export scripts_upd5="Напомнить позже"
 | 
			
		||||
	export scripts_upd6="Больше не напоминать"
 | 
			
		||||
 | 
			
		||||
	export port_clear_pfx="Вы действительно хотите очистить префикс PortProton?"
 | 
			
		||||
 | 
			
		||||
	export port_del1="Удаление $portname"
 | 
			
		||||
	export port_del2="Вы действительно хотите удалить $portname,\nс установленным в него клиентом?\n"
 | 
			
		||||
	export port_del3="Удалить?!"
 | 
			
		||||
	export port_del4="Нет, не удалять!"
 | 
			
		||||
	export port_del5="Да, удалить!"
 | 
			
		||||
	export port_del6="был удален."
 | 
			
		||||
	export port_del2="Вы действительно хотите полностью удалить PortProton?"
 | 
			
		||||
 | 
			
		||||
	export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение."
 | 
			
		||||
 | 
			
		||||
	export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта"
 | 
			
		||||
	export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/jfXkZW7F"
 | 
			
		||||
	export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE"
 | 
			
		||||
 | 
			
		||||
	export port_start1="Запуск PortWINE"
 | 
			
		||||
	export port_start2="В каком режиме вы хотите запустить PortWINE?"
 | 
			
		||||
@@ -48,83 +69,237 @@ then
 | 
			
		||||
	export port_start7="Запустить winetricks"
 | 
			
		||||
	export port_start8="DXVK"
 | 
			
		||||
 | 
			
		||||
	export port_time1="Информация"
 | 
			
		||||
	export port_time2="Ты думаешь что помочь автору развивать проект это сложно? Нет!\nДостаточно, что бы именно ты пожертвовал сколько считаешь нужным,\nну или хотя бы 50 рублей."
 | 
			
		||||
	export port_time3="Действие:"
 | 
			
		||||
	export port_time4="Перейти на сайт и помочь развитию проекта."
 | 
			
		||||
	export port_time5="Сейчас не могу, может быть в другой раз."
 | 
			
		||||
	export port_time6="Я уже сделал вклад в будущее проекта."
 | 
			
		||||
	export port_debug="Не торопитесь! После окончания работы ${portname}, нажмите STOP."
 | 
			
		||||
 | 
			
		||||
	export port_debug="Не торопитесь!\nПосле окончания работы ${portname}, нажмите ОК."
 | 
			
		||||
 | 
			
		||||
	export hud_text="Выберите вывод необходимой информации на экран:"
 | 
			
		||||
	export hud_info="Отображать:"
 | 
			
		||||
	export hud_fps="частоту кадров"
 | 
			
		||||
	export hud_devinfo="название графического процессора и версию драйвера"
 | 
			
		||||
	export hud_frametimes="график времени кадра"
 | 
			
		||||
	export hud_submissions="количество командных буферов, представленных на кадр"
 | 
			
		||||
	export hud_drawcalls="количество вызовов отрисовки и отрисовки пропусков на кадр"
 | 
			
		||||
	export hud_pipelines="общее количество графических и вычислительных конвейеров"
 | 
			
		||||
	export hud_memory="объем памяти устройства, выделенной и использованной"
 | 
			
		||||
	export hud_gpuload="предполагаемую загрузку графического процессора (может быть неточна)"
 | 
			
		||||
	export hud_version="используемую версию DXVK"
 | 
			
		||||
	export hud_api="уровень функций D3D, используемый приложением"
 | 
			
		||||
	export hud_compiler="активность шейдерного компилятора"
 | 
			
		||||
	export hud_samplers="текущее количество используемых пар сэмплеров (только для D3D9)"
 | 
			
		||||
 | 
			
		||||
	export sc_name="Введите название будущего ярлыка:"
 | 
			
		||||
	export sc_path="Создаем ярлык. Выберите файл запуска..."
 | 
			
		||||
	export sc_img="Создаем ярлык. Выберите иконку ICO, или PNG формата..."
 | 
			
		||||
	export sc_cmd="Введите дополнительные параметры запуска, или оставьте полепустым."
 | 
			
		||||
 | 
			
		||||
	export debug_path="Выберите ярлык для создания .log файла..."
 | 
			
		||||
 | 
			
		||||
	export loc_creat_shortcut="Создать ярлык для запускаемого файла."
 | 
			
		||||
	export loc_create_shortcut="Создать ярлык для запускаемого файла."
 | 
			
		||||
	export loc_delete_shortcut="Удалить ярлык для запускаемого файла."
 | 
			
		||||
	export loc_debug="Запуск c созданием .log файла в корне ${portname}"
 | 
			
		||||
	export loc_launch="Запустить файл..."
 | 
			
		||||
	export loc_winecfg="Запустить winecfg для редактирования настроек префикса ${portname}"
 | 
			
		||||
	export loc_winecfg="Запустить winecfg для редактирования настроек выбранного префикса"
 | 
			
		||||
	export loc_winefile="Запустить файловый менеждер встроенный в wine"
 | 
			
		||||
    export loc_winecmd="Запустить командную строку wine"
 | 
			
		||||
	export loc_winereg="Запустить редактор реестра префикса ${portname}"
 | 
			
		||||
    export loc_winetricks="Запустить winetricks для установки доп. библиотек в префикс ${portname}"
 | 
			
		||||
 | 
			
		||||
	export loc_scripts_update="   Обновление базы данных для игр\n   и программ успешно завершено.\n\n   Перезапустите ${portname}."
 | 
			
		||||
 | 
			
		||||
	export loc_winereg="Запустить редактор реестра выбранного префикса"
 | 
			
		||||
    export loc_winetricks="Запустить префикс менеджер для установки доп. библиотек в выбранный префикс"
 | 
			
		||||
	export loc_edit_db="Изменить файл настроек для"
 | 
			
		||||
elif [ "${update_loc}" = "ENG" ] 
 | 
			
		||||
	export loc_download_other_wine="Открыть меню для скачивания других версий WINE-PROTON"
 | 
			
		||||
 | 
			
		||||
	export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
 | 
			
		||||
	export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
 | 
			
		||||
	export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)'
 | 
			
		||||
	export PW_USE_DXR10_INFO='Включить поддержку Ray Tracing v.1.0'
 | 
			
		||||
	export PW_USE_DXR11_INFO='Включить поддержку Ray Tracing v.1.1 (бета)'
 | 
			
		||||
	export PW_FIX_VIDEO_IN_GAME_INFO='Требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено (обычно окрашено в розовый цвет)'
 | 
			
		||||
	export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK'
 | 
			
		||||
	export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
 | 
			
		||||
	export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL'
 | 
			
		||||
	export PW_HIDE_NVIDIA_GPU_INFO='Замаскировать все функции используемые для видеокарт NVIDIA'
 | 
			
		||||
	export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации'
 | 
			
		||||
	export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE'
 | 
			
		||||
	export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)'
 | 
			
		||||
	export PW_USE_TERMINAL_INFO='Запускать приложение в терминале'
 | 
			
		||||
    export PW_WINE_ALLOW_XIM_INFO='Использовать альтернативный режим для контроллера (Использовать только в случае проблем с контроллером)'
 | 
			
		||||
	export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.'
 | 
			
		||||
	export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)'
 | 
			
		||||
	export PW_GUI_DISABLED_CS_INFO='Отключить окно выбора режимов запуска и версии WINE'
 | 
			
		||||
	export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)'
 | 
			
		||||
	export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)'
 | 
			
		||||
	export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)'
 | 
			
		||||
	export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)'
 | 
			
		||||
	export PW_DX12_DISABLE_INFO='Принудительное отключение DirectX 12'
 | 
			
		||||
	export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)'
 | 
			
		||||
	export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)'
 | 
			
		||||
	export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX'
 | 
			
		||||
	export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)'
 | 
			
		||||
	export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
 | 
			
		||||
	export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
 | 
			
		||||
	export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
 | 
			
		||||
	export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
 | 
			
		||||
	export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12'
 | 
			
		||||
	export PW_MANGOHUD_x32_INFO='Включить MANGOHUD для 32 битных приложений и игр'
 | 
			
		||||
 | 
			
		||||
	export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
 | 
			
		||||
	export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'
 | 
			
		||||
	export PW_Bloom_INFO='Добавляет свечения от ярких источников света в игре'
 | 
			
		||||
	export PW_Border_INFO='Обрезка изображения сверху и снизу (как в кино =)'
 | 
			
		||||
	export PW_Cartoon_INFO='Сильное увеличение резкости краев тексур'
 | 
			
		||||
	export PW_ChromaticAberration_INFO='Добавляет хроматические аберрации к изображению'
 | 
			
		||||
	export PW_Clarity_INFO='Увеличение резкости текстур с небольшими модификациями контраста изображения (похож по эффекту на CAS)'
 | 
			
		||||
	export PW_ColorMatrix_INFO='Добавление холодных цветов'
 | 
			
		||||
	export PW_Colourfulness_INFO='Увеличение насыщености цветов'
 | 
			
		||||
	export PW_FakeHDR_INFO='Расширение динамического диапазона цветов'
 | 
			
		||||
	export PW_FilmGrain2_INFO='Добавление эффекта зерна кинопленки'
 | 
			
		||||
	export PW_Curves_INFO='Увеличение контраста изображения'
 | 
			
		||||
	export PW_Denoise_INFO='Уменьшение шумов за счет смазывания изображения'
 | 
			
		||||
	export PW_Emphasize_INFO='Уменьшение рязрядности цветопередачи'
 | 
			
		||||
	export PW_FakeMotionBlur_INFO='Сильное размытие объектов в движении'
 | 
			
		||||
	export PW_FilmicAnamorphSharpen_INFO='Увеличение резкости (рекомендую для мультяшных игр)'
 | 
			
		||||
	export PW_FilmicPass_INFO='Добавление холодных цветов'
 | 
			
		||||
	export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)'
 | 
			
		||||
	export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)'
 | 
			
		||||
 | 
			
		||||
	export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
 | 
			
		||||
 | 
			
		||||
	export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_error='Ошибка.'
 | 
			
		||||
	export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания"
 | 
			
		||||
	export loc_gui_settings="Пожалуйста подождите."
 | 
			
		||||
	export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..."
 | 
			
		||||
	export loc_gui_edit_db="Изменение файла настроек для:"
 | 
			
		||||
	export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
 | 
			
		||||
	export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
 | 
			
		||||
	export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_save_changes="СОХРАНИТЬ ИЗМЕНЕНИЯ"
 | 
			
		||||
	export loc_gui_save_changes_help="Сохранить текущие изменения, и перейти в предыдущее меню."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_ver_windows="Изменить версию эмуляции <b>WINDOWS</b>"
 | 
			
		||||
	export loc_gui_ver_windows_help="Изменение версии эмуляции <b>WINDOWS</b> может потребоваться для запуска старых игр. Версии <b>WINDOWS</b> ниже 10 не поддерживает новые игры с DirectX 12."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_aut_winetricks="Автоматически установить с помощью <b>WINETRICKS</b>"
 | 
			
		||||
	export loc_gui_aut_winetricks_help="Автоматически установить с помощью <b>WINETRICKS</b> дополнительных библиотек необходимых для запуска игры/программы. Список библиотек разделяются пробелами. (Пример есть в выпадающем списке)"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_winedllover="Принудительно использовать/отключить библиотеки"
 | 
			
		||||
	export loc_gui_winedllover_help="Принудительное использование/отключиение библиотеки только для даного приложения. (Примеры есть в выпадающем списке)
 | 
			
		||||
 | 
			
		||||
Краткая инструкция:
 | 
			
		||||
	* библиотеки пишутся <b>БЕЗ</b> расширения файлов .dll
 | 
			
		||||
	* библиотеки разделяются точкой с запятой - <b>;</b>
 | 
			
		||||
	* библиотека=n     - использовать библиотеку <b>WINDOWS</b> (сторонюю) 
 | 
			
		||||
	* библиотека=b     - использовать библиотеку <b>WINE</b> (встроенную) 
 | 
			
		||||
	* библиотека=n,b  - использовать <b>WINDOWS</b> библиотеку, а затем <b>WINE</b>
 | 
			
		||||
	* библиотека=b,n  - использовать библиотеку <b>WINE</b>, а затем <b>WINDOWS</b>
 | 
			
		||||
	* библиотека=       - отключить использование данной библиотеки"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла"
 | 
			
		||||
	export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе  <b>WINDOWS </b>" 
 | 
			
		||||
 | 
			
		||||
	export loc_gui_mango_fps="Ограничить FPS (0 - выключено)"
 | 
			
		||||
	export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
 | 
			
		||||
	export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
 | 
			
		||||
	export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
 | 
			
		||||
	export loc_gui_del_wine="Выберите версию WINE для удаления:"
 | 
			
		||||
	export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_ffx_cas="AMD FidelityFX - CAS предназначе для значительного улучшения резкости текстур без дополнительных установок модификаций для игр, с минимальной потерей производительности. (Для старых игр рекомендуется значение = 100)"
 | 
			
		||||
	export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ  VKBASALT"
 | 
			
		||||
	export loc_gui_disabled_vkbas_help="Выключить vkBasalt и перейти в предыдущее меню."
 | 
			
		||||
	export loc_gui_vkbasalt_top="Настройки vkBasalt для добавления эффектов в играх работающих под Vulkan. (Клавиша <b>HOME</b> отключает vkbasalt)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_no="НЕТ"
 | 
			
		||||
	export loc_gui_yes="ДА"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_create_shortcut="СОЗДАТЬ ЯРЛЫК"
 | 
			
		||||
	export loc_gui_delete_shortcut="УДАЛИТЬ ЯРЛЫК"
 | 
			
		||||
	export loc_gui_launch="ЗАПУСТИТЬ"
 | 
			
		||||
	export loc_gui_debug="СОЗДАТЬ ЛОГ"
 | 
			
		||||
	export loc_gui_edit_db_start="НАСТРОИТЬ"
 | 
			
		||||
	export loc_gui_vkbasalt_start="VKBASALT"
 | 
			
		||||
	export loc_gui_db_comments="Найден файл настроек PortProton для"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_vulkan_stable="Стабильные версии DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
 | 
			
		||||
	export loc_gui_vulkan_git="Новейшие версии DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
 | 
			
		||||
	export loc_gui_gallium_nine="GALLIUM_NINE (Аппаратный DX9 для MESA)"
 | 
			
		||||
	export loc_gui_open_gl="OPENGL (Для видеокарт без API VULKAN)"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_installing_the="Устанавливаем"
 | 
			
		||||
	export loc_gui_please_wait="Пожалуйста подождите..."
 | 
			
		||||
 | 
			
		||||
elif [ "${update_loc}" = "ENG" ]
 | 
			
		||||
then
 | 
			
		||||
	export loc_gui_installing_the="Installing the"
 | 
			
		||||
	export loc_gui_please_wait="Please wait..."
 | 
			
		||||
 | 
			
		||||
	export loc_gui_vulkan_stable="VULKAN (Stable version of DXVK and VKD3D)"
 | 
			
		||||
	export loc_gui_vulkan_git="VULKAN (New GIT version of DXVK and VKD3D)"
 | 
			
		||||
	export loc_gui_gallium_nine="GALLIUM_NINE (Native DX9 on MESA)"
 | 
			
		||||
	export loc_gui_open_gl="OPENGL (For video cards without VULKAN)"
 | 
			
		||||
 | 
			
		||||
	export loc_gui_error='Error.'
 | 
			
		||||
	export loc_gui_error_download="You will need to check internet connection,\nand press OK for repeat download"
 | 
			
		||||
	export loc_gui_settings="Settings."
 | 
			
		||||
	export loc_gui_sett_info="Updating parameters..."
 | 
			
		||||
	export loc_gui_edit_db="Change settings in database file for"
 | 
			
		||||
	export loc_gui_cancel="CANCEL"
 | 
			
		||||
	export loc_gui_open_db="OPEN DB FILE"
 | 
			
		||||
	export loc_gui_save_changes="SAVE CHANGES"
 | 
			
		||||
	export loc_gui_ver_windows="SELECT VERSION OF WINDOWS"
 | 
			
		||||
	export loc_gui_aut_winetricks="AUTOINSTALL WITH WINETRICKS"
 | 
			
		||||
	export loc_gui_winedllover="WINEDLLOVERRIDES"
 | 
			
		||||
	export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE"
 | 
			
		||||
	export loc_gui_mango_fps="MANGOHUD FPS LIMIT (0-disabled)"
 | 
			
		||||
	export loc_gui_check_new_wine="Check new version WINE from GitHub"
 | 
			
		||||
	export loc_gui_check_new_wine_error="Error: check wine from github."
 | 
			
		||||
	export loc_gui_set_new_wine="Select WINE for download:"
 | 
			
		||||
	export loc_gui_del_wine="Select installed WINE for delete:"
 | 
			
		||||
	export loc_gui_installed_wine="INSTALLED"
 | 
			
		||||
	export loc_gui_disabled_vkbas="DISABLE  VKBASALT"
 | 
			
		||||
	export loc_gui_no="NO"
 | 
			
		||||
	export loc_gui_yes="YES"
 | 
			
		||||
	export loc_gui_create_shortcut="CREATE SHORTCUT"
 | 
			
		||||
	export loc_gui_delete_shortcut="DELETE SHORTCUT"
 | 
			
		||||
	export loc_gui_launch="LAUNCH"
 | 
			
		||||
	export loc_gui_debug="DEBUG"
 | 
			
		||||
	export loc_gui_edit_db_start="EDIT  DB"
 | 
			
		||||
	export loc_gui_vkbasalt_start="VKBASALT"
 | 
			
		||||
	export loc_gui_db_comments="PortProton database file was found for"
 | 
			
		||||
 | 
			
		||||
    export loc_gui_rm_pp="REMOVE PORTPROTON"
 | 
			
		||||
    export loc_gui_upd_pp="UPDATE PORTPROTON"
 | 
			
		||||
    export loc_gui_changelog="CHANGELOG"
 | 
			
		||||
	export loc_gui_change_loc="CHANGE LANGUAGE"
 | 
			
		||||
    export loc_gui_edit_usc="EDIT USER.CONF"
 | 
			
		||||
    export loc_gui_scripts_fb="SCRIPTS FROM BACKUP"
 | 
			
		||||
    export loc_gui_credits="CREDITS"
 | 
			
		||||
	export loc_gui_pw_reinstall_pp="REINSTALL PORTPROTON"
 | 
			
		||||
 | 
			
		||||
	export loc_tray_winefile="WINEFILE"
 | 
			
		||||
	export loc_tray_tascmng="TASKMNR"
 | 
			
		||||
	export loc_tray_cangelog="CHANGE  LOG"
 | 
			
		||||
	export loc_tray_force_exit="FORCE  EXIT"
 | 
			
		||||
 | 
			
		||||
	export loc_mg_autoinstall="AUTOINSTALL"
 | 
			
		||||
	export loc_mg_emulators="EMULATORS"
 | 
			
		||||
	export loc_mg_wine_settings="WINE SETTINGS"
 | 
			
		||||
	export loc_mg_portproton_settings="PORTPROTON SETTINGS"
 | 
			
		||||
 | 
			
		||||
	export PW_CHANGELOG_FILE="changelog_eng"
 | 
			
		||||
	export PW_SELECTION_DB_LOC="More than one DB file found for the application being launched.\nSelect the required one, or delete the extra DB file before the next run.\n"
 | 
			
		||||
 | 
			
		||||
	export inst_set="Sett..."
 | 
			
		||||
	export inst_set_top="PortWINE setting"
 | 
			
		||||
 | 
			
		||||
	export ss_title="Settings::"
 | 
			
		||||
	export ss_text="Choose your preferred ${portname} launch option. You can always change your choice by unsetting\nthe reset shortcut from the directory: "${PORT_WINE_PATH}"/"
 | 
			
		||||
	export ss_ver="Version:"
 | 
			
		||||
	export ss_default_1="Standard start"
 | 
			
		||||
	export ss_default_2="Old startup, with questions and logs"
 | 
			
		||||
	export ss_ogl_1="Use OpenGL. (DirectX to OpenGL)"
 | 
			
		||||
	export ss_ogl_2="Use VKD3D. (DX12 to vulkan)"
 | 
			
		||||
	export ss_ogl_3="Use DXVK and D9VK. (DX9-DX11 to Vulkan)" 
 | 
			
		||||
	export ss_done="The shortcut was created in the ${portname} directory.\nAdd it to MENU -> GAMES?" 
 | 
			
		||||
 | 
			
		||||
	export ss_done="The shortcut was created in the ${portname} directory.\n    Add it to MENU -> GAMES?"
 | 
			
		||||
	export inst_succ="The installation was successful."
 | 
			
		||||
 | 
			
		||||
	export port_upd1="New update PortWINE"
 | 
			
		||||
	export port_upd2="On portwine-linux.ru site published an update to the ${portname}\n"
 | 
			
		||||
	export port_upd2="On linux-gaming.ru site published an update to the ${portname}\n"
 | 
			
		||||
	export port_upd3="Action:"
 | 
			
		||||
	export port_upd4="Go to the website"
 | 
			
		||||
	export port_upd5="Remind me later"
 | 
			
		||||
	export port_upd6="Do not remind me"
 | 
			
		||||
 | 
			
		||||
	export port_del1="Remove $portname" 
 | 
			
		||||
	export port_del2="Are you sure you want to delete the ${portname}?\n"
 | 
			
		||||
	export port_del3="Remove?!"
 | 
			
		||||
	export port_del4="No!"
 | 
			
		||||
	export port_del5="Yes!"
 | 
			
		||||
	export port_del6="was deleted."
 | 
			
		||||
	export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
 | 
			
		||||
	export scripts_upd1="New update for scripts"
 | 
			
		||||
	export scripts_upd2="Scripts update avialable for ${portname}"
 | 
			
		||||
	export scripts_upd3="Action :"
 | 
			
		||||
	export scripts_upd4="Updating now"
 | 
			
		||||
	export scripts_upd5="Remind me later"
 | 
			
		||||
	export scripts_upd6="Do not remind me"
 | 
			
		||||
 | 
			
		||||
	export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/jfXkZW7F"
 | 
			
		||||
	export port_clear_pfx="Do you want to clear prefix in PortProton?"
 | 
			
		||||
 | 
			
		||||
	export port_del1="Remove $portname"
 | 
			
		||||
	export port_del2="Are you sure you want to delete the PortProton"
 | 
			
		||||
	
 | 
			
		||||
	export port_reinstall="Do you really want to reinstall PortProton?\nFor this, an internet connection will be required."
 | 
			
		||||
 | 
			
		||||
	export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
 | 
			
		||||
	export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE"
 | 
			
		||||
 | 
			
		||||
	export port_start1="Starting the PortWINE"
 | 
			
		||||
	export port_start2="In what mode you want to start the PortWINE?"
 | 
			
		||||
@@ -135,39 +310,15 @@ then
 | 
			
		||||
	export port_start7="Run winetricks"
 | 
			
		||||
	export port_start8="DXVK"
 | 
			
		||||
 | 
			
		||||
	export port_time1="Information"
 | 
			
		||||
	export port_time2="Do you think that it is difficult to help the author develop the project?\nNo! It is enough that you would sacrifice what you think is necessary, well, or at least 1$."
 | 
			
		||||
	export port_time3="Action:"
 | 
			
		||||
	export port_time4="Go to the site and help develop the project"
 | 
			
		||||
	export port_time5="I do not want to help the project"
 | 
			
		||||
	export port_time6="I'm well done and have already contributed to the future of the project"
 | 
			
		||||
 | 
			
		||||
	export port_debug="Please wait!\nAfter finishing the ${portname}, click OK."
 | 
			
		||||
 | 
			
		||||
	export hud_text="The DXVK_HUD environment variable controls a HUD which can display the framerate\nand some stat counters. It accepts a comma-separated list of the following options:"
 | 
			
		||||
	export hud_info="Description:"
 | 
			
		||||
	export hud_fps="Shows the current frame rate."
 | 
			
		||||
	export hud_devinfo="Displays the name of the GPU and the driver version."
 | 
			
		||||
	export hud_frametimes="Shows a frame time graph."
 | 
			
		||||
	export hud_submissions="Shows the number of command buffers submitted per frame."
 | 
			
		||||
	export hud_drawcalls="Shows the number of draw calls and render passes per frame."
 | 
			
		||||
	export hud_pipelines="Shows the total number of graphics and compute pipelines."
 | 
			
		||||
	export hud_memory="Shows the amount of device memory allocated and used."
 | 
			
		||||
	export hud_gpuload="Shows estimated GPU load. May be inaccurate."
 | 
			
		||||
	export hud_version="Shows DXVK version."
 | 
			
		||||
	export hud_api="Shows the D3D feature level used by the application."
 | 
			
		||||
	export hud_compiler="Shows shader compiler activity"
 | 
			
		||||
	export hud_samplers="Shows the current number of sampler pairs used [D3D9 Only]"
 | 
			
		||||
 | 
			
		||||
	export sc_name="Name shortcut:"
 | 
			
		||||
	export sc_path="Select the .exe file..."
 | 
			
		||||
	export sc_img="Select the .ICO or .PNG file..."
 | 
			
		||||
	export sc_cmd="Add command line"
 | 
			
		||||
 | 
			
		||||
	export debug_path="Select the .desktop file for create the log"
 | 
			
		||||
	export port_debug="Please wait! After finishing the ${portname}, click STOP."
 | 
			
		||||
	
 | 
			
		||||
	#Helped in translation: ConTI1NuEsZZZ
 | 
			
		||||
	export loc_creat_shortcut="Create shortcut for select file..."
 | 
			
		||||
	export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!"
 | 
			
		||||
 | 
			
		||||
	export loc_download_other_wine="Download other wine-proton from GITHUB"
 | 
			
		||||
 | 
			
		||||
	# Helped in translation: ConTI1NuEsZZZ
 | 
			
		||||
	export loc_create_shortcut="Create shortcut for select file..."
 | 
			
		||||
	export loc_delete_shortcut="Delete shortcut for select file..."
 | 
			
		||||
	export loc_debug="Launch with the creation of a .log file at the root ${portname}"
 | 
			
		||||
    export loc_launch="Run file ..."
 | 
			
		||||
    export loc_winecfg="Run winecfg to edit prefix settings ${portname}"
 | 
			
		||||
@@ -175,8 +326,12 @@ then
 | 
			
		||||
    export loc_winecmd="Run wine command line"
 | 
			
		||||
    export loc_winereg="Run Registry Prefix Editor ${portname}"
 | 
			
		||||
    export loc_winetricks="Run winetricks to install additional libraries to the prefix ${portname}"
 | 
			
		||||
	
 | 
			
		||||
	export loc_scripts_update="Updating scripts and database of games\n   and programs completed successfully.\n\n   Restart ${portname}."
 | 
			
		||||
 | 
			
		||||
	export loc_edit_db="Edit database file for"
 | 
			
		||||
 | 
			
		||||
	export loc_find_d3dadapter9_error="not found in the system.\nInstall it and try again."
 | 
			
		||||
else
 | 
			
		||||
	SET_LANG=`zenity --title  "LAUNGUAGE" --text "Select the language" --list --radiolist \
 | 
			
		||||
	--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
 | 
			
		||||
	echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
 | 
			
		||||
	exit 0
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								data_from_portwine/scripts/portwine_db/AC4BFSP
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,46 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#AC4BFSP.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
export PW_USE_DXR10=0
 | 
			
		||||
##export PW_DLSS_ON=1
 | 
			
		||||
export PW_VULKAN_NO_ASYNC=0
 | 
			
		||||
export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
export PW_OLD_GL_STRING=0
 | 
			
		||||
export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
export PW_FORCE_USE_VSYNC=0
 | 
			
		||||
export PW_VIRTUAL_DESKTOP=0
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
export ENABLE_VKBASALT=0
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
export PW_NO_FSYNC=1
 | 
			
		||||
export PW_NO_ESYNC=1
 | 
			
		||||
export PW_USE_GSTREAMER=1
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
export PW_NO_WRITE_WATCH=0
 | 
			
		||||
export PW_HEAP_DELAY_FREE=0
 | 
			
		||||
export PW_WINE_ALLOW_XIM=0
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
export PW_WINEDBG_DISABLE=1
 | 
			
		||||
export PW_USE_TERMINAL=0
 | 
			
		||||
export PW_GUI_DISABLED_CS=0
 | 
			
		||||
##export PATH_TO_GAME=
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
export PW_MANGOHUD=1
 | 
			
		||||
export PW_MANGOHUD_USER_CONF=0
 | 
			
		||||
export PW_USE_DXR11=0
 | 
			
		||||
export PW_USE_RUNTIME=1
 | 
			
		||||
export PW_USE_GAMEMODE=1
 | 
			
		||||
export PW_DX12_DISABLE=0
 | 
			
		||||
export PW_USE_WINE_DXGI=0
 | 
			
		||||
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0 
 | 
			
		||||
							
								
								
									
										39
									
								
								data_from_portwine/scripts/portwine_db/ACIII
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,39 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
    #Author: xuser
 | 
			
		||||
    #ACIII.exe 
 | 
			
		||||
    #ACLiberation.exe     
 | 
			
		||||
    #Rating=1-5
 | 
			
		||||
    ################################################
 | 
			
		||||
#    export PW_VULKAN_USE=dxvk
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_DXVK_VER=1.8.1 
 | 
			
		||||
##export PW_VKD3D_VER=2.2
 | 
			
		||||
export WINEDLLOVERRIDES="xinput1_3,d3dcompiler_43=n,b"
 | 
			
		||||
##export PW_DLL_INSTALL="d3dcompiler_43"        # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
			
		||||
##export PW_OLD_GL_STRING=0
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_VKD3D_FEATURE_LEVEL=0
 | 
			
		||||
##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_GAMEMODE=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 ; }
 | 
			
		||||
							
								
								
									
										35
									
								
								data_from_portwine/scripts/portwine_db/ACValhalla
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,35 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: anonymous
 | 
			
		||||
#ACValhalla.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (used winetricks)
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=proton_ge
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
##export PW_DXR_ON=1
 | 
			
		||||
export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/ALOTInstaller
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,38 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#ALOTInstaller.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_PW_6.19
 | 
			
		||||
export PW_VULKAN_USE=0
 | 
			
		||||
##export PW_DXR_ON=1
 | 
			
		||||
##export PW_DLSS_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer 
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##export PATH_TO_GAME=
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Ableton_Live_11_Suite
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: Аливэй
 | 
			
		||||
#Ableton Live 11 Suite.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/AliceMadnessReturns
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#AliceMadnessReturns.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								data_from_portwine/scripts/portwine_db/Alien_Isolation
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: garrett
 | 
			
		||||
#AI.exe
 | 
			
		||||
#Rating=5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Aliens Colonial Marines
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#ACM.exe 
 | 
			
		||||
#Rating=?
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										41
									
								
								data_from_portwine/scripts/portwine_db/Anno4
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,41 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#Anno4.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
export PW_COMMENT_DB="If after the first launch you see a black screen,\njust restart the game."
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
export ENABLE_VKBASALT=1
 | 
			
		||||
export PW_VKBASALT_EFFECTS="cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
export PW_VKBASALT_FFX_CAS="0.6"                 # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer 
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##export PATH_TO_GAME=
 | 
			
		||||
add_in_start_portwine () {
 | 
			
		||||
    if [ -d "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/" ] ; then
 | 
			
		||||
        sed -i 's/<DirectXVersion>0<\/DirectXVersion>/<DirectXVersion>9<\/DirectXVersion>/' "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/Engine.ini"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								data_from_portwine/scripts/portwine_db/AnomalyLauncher
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,44 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: stalker
 | 
			
		||||
#AnomalyLauncher.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
export PW_DLL_INSTALL="d3dx10 d3dx11_42 d3dx11_43"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_LG
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
export PW_USE_DXR10=0
 | 
			
		||||
export PW_VULKAN_NO_ASYNC=0
 | 
			
		||||
export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
export PW_OLD_GL_STRING=0
 | 
			
		||||
export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
export PW_FORCE_USE_VSYNC=0
 | 
			
		||||
export PW_VIRTUAL_DESKTOP=0
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
export ENABLE_VKBASALT=1
 | 
			
		||||
export PW_VKBASALT_EFFECTS=cas:FilmGrain2:Curves
 | 
			
		||||
export PW_VKBASALT_FFX_CAS=1
 | 
			
		||||
export PW_NO_FSYNC=0
 | 
			
		||||
export PW_NO_ESYNC=0
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
export PW_NO_WRITE_WATCH=0
 | 
			
		||||
export PW_HEAP_DELAY_FREE=0
 | 
			
		||||
export PW_WINE_ALLOW_XIM=0
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
export PW_WINEDBG_DISABLE=1
 | 
			
		||||
export PW_USE_TERMINAL=0
 | 
			
		||||
export PW_GUI_DISABLED_CS=0
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
export PW_MANGOHUD=1
 | 
			
		||||
export PW_MANGOHUD_USER_CONF=0
 | 
			
		||||
export PW_USE_DXR11=0
 | 
			
		||||
export PW_USE_GSTREAMER=1
 | 
			
		||||
export PW_USE_RUNTIME=1
 | 
			
		||||
export PW_USE_GAMEMODE=1
 | 
			
		||||
export PW_DX12_DISABLE=0
 | 
			
		||||
export PW_USE_WINE_DXGI=1
 | 
			
		||||
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0 
 | 
			
		||||
							
								
								
									
										41
									
								
								data_from_portwine/scripts/portwine_db/Arthur
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,41 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: akai
 | 
			
		||||
#Arthur.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
			
		||||
##export PW_DXVK_VER=1.8.1 
 | 
			
		||||
##export PW_VKD3D_VER=2.2
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_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=90                    # Fix crackling audio in games
 | 
			
		||||
##export PW_USE_GAMEMODE=1              # Force disabele gamemod
 | 
			
		||||
##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##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 ; }
 | 
			
		||||
							
								
								
									
										35
									
								
								data_from_portwine/scripts/portwine_db/AssassinsCreedII
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,35 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#AssassinsCreedII.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
##export PW_DXR_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										35
									
								
								data_from_portwine/scripts/portwine_db/AssassinsCreedIIGame
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,35 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#AssassinsCreedIIGame.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
##export PW_DXR_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/BF2
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: Сергей 33 (46)
 | 
			
		||||
#BF2.exe 
 | 
			
		||||
#Rating=4
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Baldurs_Gate_3
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#bg3.exe 
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								data_from_portwine/scripts/portwine_db/Battle.net_Launcher
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,17 +1,22 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env 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 PW_COMMENT_DB="We recommend using PROTON_GE + VULKAN!"
 | 
			
		||||
# export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
export LAUNCH_PARAMETERS=""
 | 
			
		||||
export PW_DLL_INSTALL="vcrun2017 d3dx11_42 d3dx11_43"
 | 
			
		||||
export WINEDLLOVERRIDES="locationapi="
 | 
			
		||||
export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43"
 | 
			
		||||
export PW_WINDOWS_VER=10
 | 
			
		||||
 | 
			
		||||
ADD_IN_START_PORTWINE () { 
 | 
			
		||||
    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/ProgramData/Agent/data"
 | 
			
		||||
    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/Blizzard Entertainment/Battle.net/Cache"
 | 
			
		||||
    rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/pfx/drive_c/windows/Fonts/sourcehansans.ttc"
 | 
			
		||||
}
 | 
			
		||||
add_in_start_portwine () {
 | 
			
		||||
    rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Agent/data"
 | 
			
		||||
    rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache"
 | 
			
		||||
    rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache"
 | 
			
		||||
    try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/sourcehansans.ttc"
 | 
			
		||||
    sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								data_from_portwine/scripts/portwine_db/Biomutant
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,33 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: kosta
 | 
			
		||||
#Biomutant.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Botanicula
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#Botanicula.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Brokgame
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author:PortWINE
 | 
			
		||||
#Brokgame.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Call of Juarez Bound in Blood
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#CoJBiBGame_x86.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								data_from_portwine/scripts/portwine_db/Cinebench
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,35 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#Cinebench.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GEC_PW2
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
##export PW_DXR_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										35
									
								
								data_from_portwine/scripts/portwine_db/Configurator
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,35 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#Configurator.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_LG
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
##export PW_DXR_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/Control_DX11
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,38 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: user
 | 
			
		||||
#Control_DX11.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
##export PW_MANGOHUD=1
 | 
			
		||||
export PW_COMMENT_DB="Control (DX11)"
 | 
			
		||||
export PW_DLL_INSTALL="physx"
 | 
			
		||||
##export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,apw_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n"
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/Control_DX12
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,38 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: user
 | 
			
		||||
#Control_DX12.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=vkd3d
 | 
			
		||||
export PW_COMMENT_DB="Control (DX12)"
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_MANGOHUD=1
 | 
			
		||||
export PW_DLL_INSTALL="physx"
 | 
			
		||||
export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,apw_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n"
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/CyberShadow
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#CyberShadow.exe 
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								data_from_portwine/scripts/portwine_db/Cyberpunk2077
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,9 +1,35 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#Author: PortWINE
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#Cyberpunk2077.exe 
 | 
			
		||||
#Rating=4
 | 
			
		||||
################################################
 | 
			
		||||
export PW_VULKAN_USE=vkd3d
 | 
			
		||||
export LAUNCH_PARAMETERS=""
 | 
			
		||||
export PULSE_LATENCY_MSEC=60
 | 
			
		||||
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
export WINEDLLOVERRIDES="Crash*,REDEngineErrorReporter.exe="
 | 
			
		||||
##export PW_DLL_INSTALL="d3dcompiler_47"        # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
			
		||||
##export PW_OLD_GL_STRING=0
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_VKD3D_FEATURE_LEVEL=1
 | 
			
		||||
##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_GAMEMODE=1              # Force disabele gamemod
 | 
			
		||||
##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
 | 
			
		||||
export PULSE_LATENCY_MSEC=40                    # Fix crackling audio in games
 | 
			
		||||
export LAUNCH_PARAMETERS=("--launcher-skip")                # Additional launch options
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
 | 
			
		||||
export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
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 () { "${pw_runtime}" "$WINESERVER" -w }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								data_from_portwine/scripts/portwine_db/DAOriginsLauncher
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,42 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#DAOriginsLauncher.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
export PW_DXR_ON=0
 | 
			
		||||
##export PW_DLSS_ON=1
 | 
			
		||||
export PW_VULKAN_NO_ASYNC=0
 | 
			
		||||
export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
export PW_OLD_GL_STRING=0
 | 
			
		||||
export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
export PW_FORCE_USE_VSYNC=0
 | 
			
		||||
export PW_VIRTUAL_DESKTOP=0
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
export ENABLE_VKBASALT=1
 | 
			
		||||
export PW_VKBASALT_EFFECTS=cas:FilmGrain2:Curves
 | 
			
		||||
export PW_VKBASALT_FFX_CAS=1
 | 
			
		||||
export PW_NO_FSYNC=0
 | 
			
		||||
export PW_NO_ESYNC=1
 | 
			
		||||
export PW_USE_GSTREAMER=1
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
export PW_NO_WRITE_WATCH=0
 | 
			
		||||
export PW_HEAP_DELAY_FREE=0
 | 
			
		||||
export PW_WINE_ALLOW_XIM=0
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
export PW_WINEDBG_DISABLE=1
 | 
			
		||||
export PW_USE_TERMINAL=0
 | 
			
		||||
export PW_GUI_DISABLED_CS=0
 | 
			
		||||
##export PATH_TO_GAME=
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
export PW_MANGOHUD=1
 | 
			
		||||
export PW_USE_RUNTIME=1
 | 
			
		||||
export PW_USE_GAMEMODE=1
 | 
			
		||||
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0 
 | 
			
		||||
							
								
								
									
										12
									
								
								data_from_portwine/scripts/portwine_db/DOOM Eternal
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,23 +1,23 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#Author: PortWINE-Linux.ru
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: linux-gaming.ru
 | 
			
		||||
#DOOMEternalx64vk.exe
 | 
			
		||||
#Rating=?
 | 
			
		||||
################################################
 | 
			
		||||
export PW_VULKAN_USE=vkd3d
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
#export WINEDLLOVERRIDES="amd_ags_x64=b"
 | 
			
		||||
#export PW_LOG=0             # Enable debug mode fo terminal 
 | 
			
		||||
#export PW_NO_FSYNC=1        # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
export PW_NO_ESYNC=1        # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
#export PW_DXVK_NO_ASYNC=1
 | 
			
		||||
#export PW_VULKAN_NO_ASYNC=1
 | 
			
		||||
#export PW_USE_TERMINAL=1
 | 
			
		||||
#export PW_OLD_GL_STRING=0
 | 
			
		||||
#export PW_NVAPI_DISABLE=1
 | 
			
		||||
#export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
#export PW_VKD3D_FEATURE_LEVEL=0
 | 
			
		||||
#export PW_NO_WRITE_WATCH=0          # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
#export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
#export PW_FORCE_USE_VSYNC=2         # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
#export PW_WINEDBG_DISABLE=0
 | 
			
		||||
#export PW_FORCE_DISABLED_GAMEMOD=1              # Force disabele gamemod
 | 
			
		||||
#export PW_USE_GAMEMODE=1              # Force disabele gamemod
 | 
			
		||||
#export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
 | 
			
		||||
export PULSE_LATENCY_MSEC=60
 | 
			
		||||
#export PW_DLL_INSTALL="foo bar"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								data_from_portwine/scripts/portwine_db/DOOMx64vk
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,11 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: nix
 | 
			
		||||
#DOOMx64.exe
 | 
			
		||||
#DOOMx64vk.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
export PW_COMMENT_DB="DOOM 2016"
 | 
			
		||||
export PW_DLL_INSTALL="xact xact_x64 vcrun2019"
 | 
			
		||||
export WINEDLLOVERRIDES="xaudio2_8=n"
 | 
			
		||||
							
								
								
									
										40
									
								
								data_from_portwine/scripts/portwine_db/DXHRDC
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,40 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#DXHRDC.exe
 | 
			
		||||
#DXHumanRevolutionDC.exe
 | 
			
		||||
#DXHumanRevolutionDC_s.exe
 | 
			
		||||
#Rating=5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
export WINEDLLOVERRIDES="WINMM=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GE
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_DLSS_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
export ENABLE_VKBASALT=1
 | 
			
		||||
export PW_VKBASALT_EFFECTS=cas:FilmGrain2:Curves
 | 
			
		||||
export PW_VKBASALT_FFX_CAS=1
 | 
			
		||||
export PW_NO_FSYNC=0                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
export PW_USE_GSTREAMER=0                       # 0 - disabled use winegstreamer
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##export PATH_TO_GAME=
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										33
									
								
								data_from_portwine/scripts/portwine_db/DaysGone
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,33 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#DaysGone.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
########################################################
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
export PW_NO_FSYNC=0                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Dead Space
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#Dead Space.exe 
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								data_from_portwine/scripts/portwine_db/Death Stranding
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,8 +1,8 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: 
 | 
			
		||||
#ds.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
################################################
 | 
			
		||||
export PW_VULKAN_USE=vkd3d
 | 
			
		||||
export PW_VULKAN_USE=1
 | 
			
		||||
export LAUNCH_PARAMETERS=""
 | 
			
		||||
export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Deep Rock Galactic
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: PortWINE
 | 
			
		||||
#FSD.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/Deponia
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,38 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#Deponia.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_COMMENT_DB="blablabla"
 | 
			
		||||
##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
 | 
			
		||||
export PW_WINE_USE=PROTON_GEC_PW2
 | 
			
		||||
export PW_VULKAN_USE=0
 | 
			
		||||
##export PW_USE_DXR10=1
 | 
			
		||||
##export PW_DLSS_ON=1
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_OLD_GL_STRING=1
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=1
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
 | 
			
		||||
##export ENABLE_VKBASALT=1
 | 
			
		||||
##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only)
 | 
			
		||||
##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer 
 | 
			
		||||
##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
 | 
			
		||||
##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HEAP_DELAY_FREE=1
 | 
			
		||||
##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread
 | 
			
		||||
##export WINEARCH=win32                           # defaut = win64
 | 
			
		||||
##export WINEPREFIX=
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_USE_TERMINAL=1                        # Force run in terminal
 | 
			
		||||
##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI
 | 
			
		||||
##export PATH_TO_GAME=
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
							
								
								
									
										8
									
								
								data_from_portwine/scripts/portwine_db/DetroitBecomeHuman
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,9 +1,9 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: MrModer#6697
 | 
			
		||||
#DetroitBecomeHuman.exe
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
################################################
 | 
			
		||||
export PW_VULKAN_USE=dxvk
 | 
			
		||||
export PW_FORCE_USE_VSYNC=0  
 | 
			
		||||
export PW_VULKAN_USE=vkd3d
 | 
			
		||||
export PW_FORCE_USE_VSYNC=0
 | 
			
		||||
export PW_WINDOWS_VER="10"
 | 
			
		||||
export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
#export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								data_from_portwine/scripts/portwine_db/Diablo_II
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: spider
 | 
			
		||||
#Diablo II.exe 
 | 
			
		||||
#Rating=1-5
 | 
			
		||||
@@ -7,20 +7,20 @@ export PW_VULKAN_USE=0
 | 
			
		||||
#####################examples###########################
 | 
			
		||||
##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
 | 
			
		||||
##export WINEDLLOVERRIDES="blabla=n,b"
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export PW_DLL_INSTALL="vcrun2019 "        # Install DDL in port prefix (used winetricks) 
 | 
			
		||||
##export PW_LOG=0                                 # Enable debug mode fo terminal 
 | 
			
		||||
##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
 | 
			
		||||
##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
 | 
			
		||||
##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_VULKAN_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
 | 
			
		||||
##export PW_USE_TERMINAL=0                        # Force run in terminal
 | 
			
		||||
##export PW_OLD_GL_STRING=0
 | 
			
		||||
##export PW_NVAPI_DISABLE=1
 | 
			
		||||
##export PW_USE_NVAPI_AND_DLSS=0
 | 
			
		||||
##export PW_VKD3D_FEATURE_LEVEL=0
 | 
			
		||||
##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
 | 
			
		||||
##export PW_HIDE_NVIDIA_GPU=0
 | 
			
		||||
##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 | 
			
		||||
##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
 | 
			
		||||
##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
 | 
			
		||||
##export PW_USE_GAMEMODE=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
 | 
			
		||||
@@ -28,4 +28,4 @@ export PW_VULKAN_USE=0
 | 
			
		||||
##export VKD3D_CONFIG=force_bindless_texel_buffer
 | 
			
		||||
##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
 | 
			
		||||
##export PW_VIRTUAL_DESKTOP=1
 | 
			
		||||
##ADD_IN_START_PORTWINE () { commands ; }
 | 
			
		||||
##add_in_start_portwine () { commands ; }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Disjunction
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#Author: xuser
 | 
			
		||||
#Disjunction.exe 
 | 
			
		||||
#Rating=5
 | 
			
		||||
 
 | 
			
		||||