Compare commits
	
		
			64 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 97ced97037 | ||
|  | 4ae8269099 | ||
|  | 29ad1fe684 | ||
|  | effaa8caa2 | ||
|  | a852f48d99 | ||
|  | 9c400384a5 | ||
|  | 95b9627c31 | ||
|  | 2c18fe8829 | ||
|  | 95b09db43a | ||
|  | 1c1860dbef | ||
|  | c0c48c32df | ||
|  | c6622177a3 | ||
|  | d9c9747bc6 | ||
|  | 61c73ffe21 | ||
|  | 13a6980cf7 | ||
|  | 1411a31743 | ||
|  | 815689478c | ||
|  | cfbcf69d03 | ||
|  | 0fff71a8bb | ||
|  | 5d7b276873 | ||
|  | a6f899b757 | ||
|  | 3078ed73ef | ||
|  | 1554e7e7cd | ||
|  | c94136c936 | ||
|  | a84b860c25 | ||
|  | 7997f88f64 | ||
|  | 8dae4f8307 | ||
|  | f43f247be5 | ||
|  | bb97c240eb | ||
|  | ffb52f13d9 | ||
|  | aabe7da7a2 | ||
|  | ed4ee4dc9f | ||
|  | 1c05f29e1d | ||
|  | b3937994a1 | ||
|  | 55dedfe548 | ||
|  | f6b5eee05a | ||
|  | 078efd5966 | ||
|  | d247a7be11 | ||
|  | 964931bb77 | ||
|  | 5c9ab48a18 | ||
|  | de073dfd9f | ||
|  | 0848077479 | ||
|  | e1d13a56f4 | ||
|  | e28496e1c8 | ||
|  | ea9a09ad77 | ||
|  | 3e6247a8e9 | ||
|  | 22650b1b2b | ||
|  | 577c0fb332 | ||
|  | 975c2c3bfb | ||
|  | b1fcef36f2 | ||
|  | 25ce69127c | ||
|  | 6e6e20a863 | ||
|  | de15cf32bd | ||
|  | 9c88e6c07f | ||
|  | 1a9631af0f | ||
|  | 93c055630b | ||
|  | 3560d72443 | ||
|  | 7d9804ce04 | ||
|  | 6b8e52720c | ||
|  | 5582ed5862 | ||
|  | 89f282ef7f | ||
|  | e26cc989b4 | ||
|  | 728edf1624 | ||
|  | 343dda7fe8 | 
							
								
								
									
										159
									
								
								README.md
									
									
									
									
									
								
							
							
						
						| @@ -1,56 +1,89 @@ | ||||
| # PortProton | ||||
| <div align="center"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64"> | ||||
|   <h1 align="center">PortProton</h1> | ||||
|   <p align="center">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.</p> | ||||
| </div> | ||||
|  | ||||
| The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!** | ||||
| ## Attention | ||||
| 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. | ||||
| ## Features | ||||
|  | ||||
| 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. | ||||
| - 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. | ||||
| - 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. | ||||
|  | ||||
| PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE! | ||||
| - 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. | ||||
|  | ||||
| Wine sources used in PortWINE:   | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton   | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| **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/ | ||||
|  | ||||
| ## 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) | ||||
| [AUR](https://aur.archlinux.org/packages/portproton) | ||||
| * **ROSA Linux** (package in the official repository) is installed with the command: | ||||
| `sudo urpmi portproton` | ||||
| * **Alt Linux (Sisyphus)** (package in the official repository) is installed with the command:   | ||||
|  | ||||
| ```sh | ||||
| sudo urpmi portproton | ||||
| ``` | ||||
|  | ||||
| * **Fedora 37+** and **Nobara**: | ||||
|  | ||||
| ```sh | ||||
| sudo dnf copr enable boria138/portproton | ||||
|  | ||||
| sudo dnf install portproton | ||||
| ``` | ||||
|  | ||||
| * [**openSUSE Leap 15.4**](https://software.opensuse.org/ymp/home:Boria138/15.4/portproton.ymp?base=openSUSE%3ALeap%3A15.4&query=portproton) | ||||
| * [**openSUSE Leap 15.5**](https://software.opensuse.org/ymp/home:Boria138/15.5/portproton.ymp?base=openSUSE%3ALeap%3A15.5&query=portproton) | ||||
| * [**openSUSE Tumbleweed**](https://software.opensuse.org/ymp/home:Boria138/openSUSE_Tumbleweed/portproton.ymp?base=openSUSE%3AFactory&query=portproton) | ||||
|  | ||||
| * **Alt Linux** (package in the official repository) is installed with the command: | ||||
|  | ||||
| ```sh | ||||
| su - | ||||
| epm full-upgrade | ||||
|  | ||||
| epm ei | ||||
|  | ||||
| epm full-upgrade | ||||
|  | ||||
| epm play portproton | ||||
|  | ||||
| exit | ||||
| ``` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## 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` | ||||
| ```sh | ||||
| 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` | ||||
| ```sh | ||||
| 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  | ||||
| `wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus` | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus | ||||
| ``` | ||||
|  | ||||
| ## Dependencies | ||||
|  | ||||
| @@ -60,56 +93,102 @@ If you have a video card from NVIDIA and a proprietary driver is installed, then | ||||
|  | ||||
| * **Ubuntu / Linux Mint / Pop!_OS** | ||||
|  | ||||
| `sudo dpkg --add-architecture i386` | ||||
| ```sh | ||||
| sudo dpkg --add-architecture i386 | ||||
|  | ||||
| `sudo add-apt-repository multiverse` | ||||
| sudo add-apt-repository multiverse | ||||
|  | ||||
| `sudo apt update && sudo apt upgrade` | ||||
| sudo apt update | ||||
|  | ||||
| `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` | ||||
| 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` | ||||
| First check if the **multilib** repository is enabled | ||||
|  | ||||
| ```sh | ||||
| /etc/pacman.conf | ||||
| =================================== | ||||
| [multilib] | ||||
| Include = /etc/pacman.d/mirrorlist | ||||
| ==================================== | ||||
| ``` | ||||
|  | ||||
| ```sh | ||||
| sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip 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` | ||||
| ```sh | ||||
| 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` | ||||
| ```sh | ||||
| sudo apt install software-properties-common -y | ||||
|  | ||||
| `sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract` | ||||
| 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 in curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0` | ||||
| ```sh | ||||
| sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0 | ||||
| ``` | ||||
|  | ||||
| * **Fedora** | ||||
|  | ||||
| Enable Non-free repository: | ||||
| ```sh | ||||
| sudo dnf update | ||||
|  | ||||
| `sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm` | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| 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` | ||||
| sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick | ||||
| ``` | ||||
|  | ||||
| * **Alt Linux** | ||||
|  | ||||
| `sudo apt-get update && sudo apt-get dist-upgrade -y` | ||||
| ```sh | ||||
| sudo apt-get update | ||||
|  | ||||
| `sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd` | ||||
| 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 lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686` | ||||
| ```sh | ||||
| 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 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` | ||||
| ```sh | ||||
| 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. | ||||
| <p> | ||||
|     <a href="https://discord.gg/FTaheP99wE"> | ||||
|         <img src="https://img.shields.io/discord/308323056592486420?logo=discord" | ||||
|             alt="chat on Discord"></a> | ||||
| </p> | ||||
|   | ||||
| @@ -1,7 +1,126 @@ | ||||
| You can help us in the development of the project on the website: boosty.to/linux-gaming.ru | ||||
| You can help us in the development of the project on the website: https://linux-gaming.ru/donate/ | ||||
| ----------------------------------------- | ||||
| Changelog: | ||||
|  | ||||
| ###Scripts version 2215### Date: 18.08.2023 / Update download size: 8 megabytes. | ||||
| * added script mirror: https://gitlab.eterfund.ru/Castro-Fidel/ | ||||
| * creation of third-party (non-working) shortcuts by means of wine is disabled (when using wine versions other than proton) | ||||
|  | ||||
| ###Scripts version 2214### Date: 04.08.2023 / Update download size: 250 megabytes. | ||||
| * updated PROTON_LG to version 8-11 | ||||
|  | ||||
| ###Scripts version 2213### Date: 03.08.2023 / Update download size: 250 megabytes. | ||||
| * updated PROTON_LG to version 8-10 | ||||
| * an update from Boria138 has been adopted and finalized, adding a setting for limiting the use of CPU cores. (WINE_CPU_TOPOLOGY) | ||||
| * added a fix that significantly reduces the CPU load and increases FPS in Unity games (assuming more than 8 logical processor cores) | ||||
| * fixed changing and disabling FPS cutting | ||||
|  | ||||
| ###Scripts version 2212### Date: 01.08.2023 / Update download size: 10 megabytes. | ||||
| * added D8VK (DirectX 8 to Vulkan API) | ||||
|  | ||||
| ###Scripts version 2211### Date: 31.07.2023 / Update download size: 9 megabytes. | ||||
| * fix: League Of Legends (updated WINE_LOL_GE_8.12) | ||||
| * updated README in GitHub (thanks Boria138) | ||||
|  | ||||
| ###Scripts version 2210### Date: 28.07.2023 / Update download size: 9 megabytes. | ||||
| * fix install and run (need tests): | ||||
|     BattleNET | ||||
|     STEAM_PP | ||||
| * minor scripts changes | ||||
|  | ||||
| ###Scripts version 2209### Date: 26.07.2023 / Update download size: 9 megabytes. | ||||
| * added "Battle Of Space Raiders" autoinstall (thanks Boria138) | ||||
| * minor improvements by Boria138 | ||||
| * disabled EAC and BE for autoinstall | ||||
| * HOTFIX - fixed issues on some systems when using PROTON_LG_8-X | ||||
|  | ||||
| ###Scripts version 2208### Date: 24.07.2023 / Update download size: 9 megabytes. | ||||
| * added rename shortcut (thanks Maks1mS) | ||||
| * minor improvements by Boria138 | ||||
| * fix installing: Genshin Impact | ||||
|  | ||||
| ###Scripts version 2207### Date: 23.07.2023 / Update download size: 250 megabytes. | ||||
| * updated PROTON_LG_8-6 (with MONO 8.0) | ||||
| * updated DXVK_GIT_VER="2.2-137" | ||||
| * updated VKD3D_GIT_VER="1.1-3516" | ||||
|  | ||||
| ###Scripts version 2206### Date: 07.07.2023 / Update download size: 250 megabytes. | ||||
| * updated PROTON_LG_8-6 (with MONO 8.0) | ||||
| * updated DXVK_GIT_VER="2.2-116" | ||||
| * updated VKD3D_GIT_VER="1.1-3488" | ||||
| * added Guild Wars 2 to autoinstall | ||||
|  | ||||
| ###Scripts version 2205### Date: 01.07.2023 / Update download size: 240 megabytes. | ||||
| * updated PROTON_LG_8-4 | ||||
| * with the PROTON_LG_8-4 version, the "World of Ships" game is working again | ||||
| * with the PROTON_LG_8-4 version, the "Ubisoft Connect" is working again | ||||
|  | ||||
| ###Scripts version 2204### Date: 29.06.2023 / Update download size: 9 megabytes. | ||||
| * update localization | ||||
| * minor fixes for installing LGC and WGC | ||||
|  | ||||
| ###Scripts version 2203### Date: 23.06.2023 / Update download size: 9 megabytes. | ||||
| * minor fixes for installing Battle.net | ||||
|  | ||||
| ###Scripts version 2202### Date: 15.06.2023 / Update download size: 9 megabytes. | ||||
| * added Genshin Impact (again) | ||||
| * fix: download PROTON-GE | ||||
|  | ||||
| ###Scripts version 2201### Date: 12.06.2023 / Update download size: 9 megabytes. | ||||
| * improved readability of the output when running portproton from the terminal  | ||||
| * fixed the launch of the game World of Sea Battle | ||||
| * added the selection of the settings file before launching setup.exe | ||||
|  | ||||
| ###Scripts version 2200### Date: 06.06.2023 / Update download size: 9 megabytes. | ||||
| * updated WINE for League of Legends  | ||||
|  | ||||
| ###Scripts version 2199### Date: 05.06.2023 / Update download size: 9 megabytes. | ||||
| * minor fixes | ||||
| * function removed: check_nvidia_vk_icd_file | ||||
|  | ||||
| ###Scripts version 2198### Date: 02.06.2023 / Update download size: 9 megabytes. | ||||
| * HOTFIX №2 for DLSS | ||||
| * HOTFIX - language change | ||||
|  | ||||
| ###Scripts version 2197### Date: 02.06.2023 / Update download size: 9 megabytes. | ||||
| * HOTFIX for DLSS | ||||
|  | ||||
| ###Scripts version 2196### Date: 01.06.2023 / Update download size: 9 megabytes. | ||||
| * fixed language switching in PortProton | ||||
| * successfully tested native versions of DLSS and DXR in Alt Linux on video cards from NVIDIA RTX series | ||||
| * added settings file for new game: SystemShockRemake | ||||
| * updated STEAM settings file with online fix (thanks to Boria | Arch | GNOME) To apply the changes, you need to run the STEAM auto-installation again | ||||
| * minor interface improvements | ||||
| * added variable for laptops with hybrid graphics to PortProton/data/user.conf: "export optirun_on= #nvidia-prime-run or prime-run" | ||||
| * added condition: if "optirun_on" variable is not empty, then PRIME_RENDER_OFFLOAD and nvidia_vk_icd_file check are automatically enabled | ||||
|  | ||||
| ###Scripts version 2195### | ||||
| * FIX - install Rockstar Games Launcher | ||||
| * DELETE - ROBLOX (need use: https://github.com/roblox-linux-wrapper/roblox-linux-wrapper) | ||||
| * updated DXR и DLSS functions | ||||
|  | ||||
| ###Scripts version 2194### | ||||
| * HOTFIX - removed nvml verification in the plugins directory | ||||
|  | ||||
| ###Scripts version 2193### | ||||
| * a small change in the settings of 3D api, DXR, DXS. | ||||
| * updated dxvk-nvapi to version 0.6.3 | ||||
| * updated FAKE_DLS 230506 (FidelityFx Super Resolution 2.2-3001-0-9-1683395145) | ||||
|  | ||||
| ###Scripts version 2192### | ||||
| * fixed interface window when changing its size | ||||
| * HOTFIX - transition on the way to .exe file | ||||
|  | ||||
| ###Scripts version 2191### | ||||
| Date: 29.05.2023 / The size of the downloaded update: 450 megabytes. | ||||
| * the libs_v43 library package has been updated | ||||
|     pressure-vessel 0.20230418.0  | ||||
|     sniper 0.20230424.48416 | ||||
|     YAD 12.3 | ||||
| * fixed vkPlay Cloud Cloud gaming (it is necessary to reinstall vkPlay from the AUTOINSTALL tab after updating the scripts) | ||||
| * the installation and launch of Plarium Play has been restored | ||||
| * PortProton has been transferred to a new version of the pseudographic interface: YAD 12.3 | ||||
|  | ||||
| ###Scripts version 2190### | ||||
| * added auto-detection of the path to the file to be launched after selecting automatic installation ITCH.IO | ||||
| * the FULCRUM GAMES launcher has been completely removed from PortProton due to the transition of all their PC games to the STEAM launcher | ||||
| @@ -819,7 +938,7 @@ export WINE_FULLSCREEN_FSR="1" (by default) | ||||
| * updated db files | ||||
|  | ||||
| ###Scripts version 2065### | ||||
| * HOTFIX - correcting the termination of the yad and yad_new processes | ||||
| * HOTFIX - correcting the termination of the yad and yad_v12_3 processes | ||||
|  | ||||
| ###Scripts version 2064### | ||||
| * added notification to the user about possible problems when starting in a Wayland session (once and only under Wayland) | ||||
|   | ||||
| @@ -2,6 +2,129 @@ | ||||
| ----------------------------------------- | ||||
| История изменений: | ||||
|  | ||||
| ###Scripts version 2215### Дата: 18.08.2023 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * добавлено зеркало скриптов: https://gitlab.eterfund.ru/Castro-Fidel/ | ||||
| * отключено создание сторонних (не работающих) ярлыков средствами wine (при использовании версий wine отличных от proton) | ||||
|  | ||||
| ###Scripts version 2214### Дата: 04.08.2023 / Размер скачиваемого обновления: 250 мегабайт | ||||
| * обновлен PROTON_LG до версии 8-11 | ||||
| * обновлен в "Авторы и спасибы" список бустеров которые хоть раз поддержали проект. | ||||
| (Для тех кто хочет присоедениться к поддержке проекта: https://boosty.to/portwine-linux.ru) | ||||
|  | ||||
| ###Scripts version 2213### Дата: 03.08.2023 / Размер скачиваемого обновления: 250 мегабайт | ||||
| * обновлен PROTON_LG до версии 8-10 (фикс UBISOFT: купленные игры работают, для магазина нужен VPN) | ||||
| * принято и доработано обновение от Boria138 добавляющее настройку ограничения использования ядер ЦПУ. (WINE_CPU_TOPOLOGY) | ||||
| * добавлен фикс значительно уменьшающий нагрузку CPU и повышающий FPS в Unity играх (при условии более 8 логических ядер процессора) | ||||
| * исправлены изменение и отключение огранчения FPS | ||||
|  | ||||
| ###Scripts version 2212### Дата: 01.08.2023 / Размер скачиваемого обновления: 10 мегабайт | ||||
| * добавлено использование D8VK (транслятор DirectX 8 в Vulkan API) для старых игр, при использовании DXVK и VKD3D  | ||||
|  | ||||
| ###Scripts version 2211### Дата: 31.07.2023 / Размер скачиваемого обновления: 9 мегабайт основные файлы и 90 мегабайт при запуске игры League Of Legends | ||||
| * исправлена работа League Of Legends (обновлен WINE_LOL_GE_8.12) | ||||
| * обновлен README на GitHub (спасибо Boria138) | ||||
|  | ||||
| ###Scripts version 2210### Дата: 28.07.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * исправлены установка и обновление лончеров (требуется тест на разных системах): | ||||
|     BattleNET | ||||
|     STEAM_PP | ||||
| * множество небольших изменений скриптов | ||||
|  | ||||
| ###Scripts version 2209### Дата: 26.07.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * добавлена автоустановка игры: "Battle Of Space Raiders" (спасибо Boria138) | ||||
| * приняты небольшие исправления от Boria138 | ||||
| * HOTFIX - исправлены проблемы работы PROTON_LG_8-X на некоторых системах (отображение черных лончеров и потеря библиотек необходимых для игр) | ||||
|  | ||||
| ###Scripts version 2208### Дата: 24.07.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * добавлена возможность изменения названия при создании "ярлыка" (спасибо Maks1mS) | ||||
| * приняты небольшие исправления от Boria138 | ||||
| * исправлена установка Genshin Impact | ||||
|  | ||||
| ###Scripts version 2207### Дата: 23.07.2023 / Размер скачиваемого обновления: 250 мегабайт. | ||||
| * обновлен PROTON_LG до версии 8-9 | ||||
| * обновлены версии: | ||||
|     DXVK_GIT_VER="2.2-137" | ||||
|     VKD3D_GIT_VER="1.1-3516" | ||||
|  | ||||
| ###Scripts version 2206### Дата: 07.07.2023 / Размер скачиваемого обновления: 250 мегабайт. | ||||
| * обновлен PROTON_LG до версии 8-6 (совместно с версией MONO 8.0) | ||||
| * обновлены версии: | ||||
|     DXVK_GIT_VER="2.2-116" | ||||
|     VKD3D_GIT_VER="1.1-3488" | ||||
| * добавлена автоустановка игры: Guild Wars 2 | ||||
|  | ||||
| ###Scripts version 2205### Дата: 01.07.2023 / Размер скачиваемого обновления: 240 мегабайт. | ||||
| * обновлен PROTON_LG до версии 8-4 | ||||
| * с версией PROTON_LG_8-4 снова работает игра "Мир Кораблей" | ||||
| * с версией PROTON_LG_8-4 снова работает лончер "Ubisoft Connect" | ||||
|  | ||||
| ###Scripts version 2204### Дата: 29.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * улучшение локализации (спасибо Boria138) | ||||
| * обновлены автоустановки LGC и WGC | ||||
|  | ||||
| ###Scripts version 2203### Дата: 23.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * дополнены всплывающие подсказки в меню настроек vkBasalt (спасибо Boria138) | ||||
| * обновлен установщик Battle.net | ||||
|  | ||||
| ###Scripts version 2202### Дата: 15.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * возвращена установка Genshin Impact. (Снова заработал, на долго?) | ||||
| * исправлена загрузка WINE версий PROTON-GE | ||||
|  | ||||
| ###Scripts version 2201### Дата: 12.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * улучшена читаемость вывода при запуске portproton из терминала  | ||||
| * исправлен запуск игры World of Sea Battle | ||||
| * добавлен выбор файла настроек перед запуском setup.exe | ||||
|  | ||||
| ###Scripts version 2200### Дата: 06.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * обновлен WINE для League of Legends (Для применения изменений требуется снова запустить автоустановку League of Legends) | ||||
|  | ||||
| ###Scripts version 2199### Дата: 05.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * добавлен фикс для установки некоторых репаков от xatab | ||||
| * удалена функция: check_nvidia_vk_icd_file (в ней теперь нет необходимости) | ||||
|  | ||||
| ###Scripts version 2198### Дата: 02.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * HOTFIX №2 для включения DLSS | ||||
| * HOTFIX выбора языка интерфейса | ||||
|  | ||||
| ###Scripts version 2197### Дата: 02.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * HOTFIX для включения DLSS | ||||
|  | ||||
| ###Scripts version 2196### Дата: 01.06.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * исправлено переключение языка в PortProton | ||||
| * успешно проверена работа нативных версий DLSS и DXR в Alt Linux на видеокартах от NVIDIA серии RTX | ||||
| * добавлен файл настроек для новой игры: SystemShockRemake | ||||
| * обновлен файл настроек STEAM с онлайн фиксом (спасибо Boria | Arch | GNOME) Для применения изменений требуется снова запустить автоустановку STEAM | ||||
| * небольшие улучшения интерфейса | ||||
| * в PortProton/data/user.conf добавлена переменная для ноутбуков с гибридной графикой: "export optirun_on=    #nvidia-prime-run or prime-run" | ||||
| * добавлено условие: если переменная "optirun_on" не пустая, то автоматически включается PRIME_RENDER_OFFLOAD и проверка nvidia_vk_icd_file | ||||
|  | ||||
| ###Scripts version 2195### Дата: 30.05.2023 / Размер скачиваемого обновления: 16 мегабайт. | ||||
| * исправлена установка Rockstar Games Launcher (ALT bug 46277) | ||||
| * временно убран установщик ROBLOX (ALT bug 46283) | ||||
| * добавлена поддержка DXR и DLSS в Alt Linux (необходимо выбирать новейшие версии DXVK и VKD3D) | ||||
|  | ||||
| ###Scripts version 2194### Дата: 30.05.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * HOTFIX - убрана проверка nvml в каталоге plugins | ||||
|  | ||||
| ###Scripts version 2193### Дата: 30.05.2023 / Размер скачиваемого обновления: 15 мегабайт. | ||||
| * обновление функций выбора 3D api, DXR, DLSS, FAKE_DLSS | ||||
| * обновлен dxvk-nvapi до версии 0.6.3 | ||||
| * обновлен FAKE_DLSS 230506 (FidelityFx Super Resolution 2.2-3001-0-9-1683395145) | ||||
|  | ||||
| ###Scripts version 2192### Дата: 30.05.2023 / Размер скачиваемого обновления: 9 мегабайт. | ||||
| * исправлено "убегание" окна интерфейса при изменении его размера | ||||
| * HOTFIX - переход по пути до .exe файла | ||||
|  | ||||
| ###Scripts version 2191### | ||||
| Дата: 29.05.2023 / Размер скачиваемого обновления: 450 мегабайт. | ||||
| * обновлен пакет библиотек libs_v43 | ||||
|     pressure-vessel	0.20230418.0	 | ||||
|     sniper	0.20230424.48416 | ||||
|     YAD 12.3 | ||||
| * исправлен облачный гейминг vkPlay Cloud (необходимо после обновления скриптов повторно переустановить vkPlay из вкладки АВТОУСТАНОВКА) | ||||
| * восстановлена установка и запуск Plarium Play | ||||
| * PortProton переведен на новую версию псевдографического интерфейса: YAD 12.3 | ||||
|  | ||||
| ###Scripts version 2190### | ||||
| * добавлено автоопределение пути до запускаемого файла после выбора автоматической установки ITCH.IO (ALT bug 46278) | ||||
| * полностью удален лончер FULQRUM GAMES из PortProton в связи с переходом всех их ПК игр в лончер STEAM (ALT bug 46279) | ||||
| @@ -16,7 +139,7 @@ | ||||
| * установка Indiegala Client устанавливается в отдельный префикс IGCLIENT и добавлена информация при запуске лончера: После первого подтверждения логина в вашем браузере необходимо перезапустить игру | ||||
| * временно убраны установщики которые треуют доработки: | ||||
|     Genshin Impact (разработчики со своей стороны снова запретили запуск под wine) | ||||
|     Plarium Play (требуется dotnet 6 который не работает адекватно на данный момент) | ||||
|     Plarium Play | ||||
|     Electronic Arts App (после перехода с Origin на EA App лончер работает, но игры не запускаются)     | ||||
| * добавлена возможность скачивания новой версии wine: PROTON_STEAM_8.0-2D (с помощью DOWNLOAD OTHER WINE) | ||||
| * исправлено неправильное отображение иконки игры при запуске схожих по названию exe файлов: Setup, setup, Launcher, launcher (ALT bug 46269) | ||||
| @@ -611,7 +734,7 @@ export WINE_FULLSCREEN_FSR="1" (используется по умолчанию | ||||
| * обновлены db файлы | ||||
|  | ||||
| ###Scripts version 2065### | ||||
| * HOTFIX - корректировка завершения процессов yad и yad_new | ||||
| * HOTFIX - корректировка завершения процессов yad и yad_v12_3 | ||||
|  | ||||
| ###Scripts version 2064### | ||||
| * добавлено уведомление пользователю о возможных проблемах при запуске в Wayland сессии (один раз и только под Wayland) | ||||
| @@ -1018,7 +1141,7 @@ PS: не забывает для активации добавить перем | ||||
|  | ||||
| ###Scripts version 1104### | ||||
| * крупное обновлеение контейнера (libs_v16): | ||||
|     - добавлен /bin/yad_new версии 10.1 скомпилированный специально для будущего меню в трее) | ||||
|     - добавлен /bin/yad_v12_3 версии 10.1 скомпилированный специально для будущего меню в трее) | ||||
|     - обновлен MANGOHUD (требуется проверка под OpenGL) | ||||
|     - обновлен 7z необходимый для будущей автоматической установки Rockstar Game Launcher | ||||
| * для тестовой поддержки wayland добавлена переменная в скрипт var: GDK_BACKEND="x11" | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/bsr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 987 B | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/gw2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/poe.png
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						| Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 5.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/port_proton.png
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						| Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/w.png
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						| Before Width: | Height: | Size: 409 KiB After Width: | Height: | Size: 57 KiB | 
| @@ -7,17 +7,27 @@ pw_ping_test () { | ||||
| } | ||||
|  | ||||
| print_error () { | ||||
|     echo "ERROR: $@" | ||||
|     printf "\E[31m%s Error: $@ %s\e[0m\n" | ||||
| } | ||||
| export -f print_error | ||||
|  | ||||
| print_warning () { | ||||
|     printf "\E[33m%s Warning: $@ %s\e[0m\n" | ||||
| } | ||||
| export -f print_warning | ||||
|  | ||||
| print_info () { | ||||
|     echo "INFO: $@" | ||||
|     printf "\E[36m%s Info: $@ %s\e[0m\n" | ||||
| } | ||||
| export -f print_info | ||||
|  | ||||
| print_debug () { | ||||
|     printf "\E[35m%s Debug: $@ %s\e[0m\n" | ||||
| } | ||||
| export -f print_debug | ||||
|  | ||||
| print_var () { | ||||
|     for vp in $@ ; do echo "${vp}=${!vp}" ; done | ||||
|     for vp in $@ ; do print_info "${vp}=${!vp}" ; done | ||||
| } | ||||
| export -f print_var | ||||
|  | ||||
| @@ -27,7 +37,7 @@ try_copy_file () { | ||||
|     else | ||||
|         cp -f "$1" "$2" | ||||
|         if [ "$?" != 0 ] | ||||
|         then print_error "failed to copy file $1 to $2" || return 1 | ||||
|         then print_error "failed to copy file $1 to $2" && return 1 | ||||
|         else return 0 | ||||
|         fi | ||||
|     fi | ||||
| @@ -46,7 +56,7 @@ try_copy_dir () { | ||||
| export -f try_copy_dir | ||||
|  | ||||
| try_remove_file () { | ||||
|     if [ -f "$1" ] ; then | ||||
|     if [ -f "$1" ] || [ ! -e "$1" ] ; then | ||||
|         rm -f "$1" | ||||
|         [ "$?" == 0 ] && return 0 || return 1 | ||||
|     fi | ||||
| @@ -106,7 +116,7 @@ try_download () { | ||||
|     PW_DOWNLOAD_FILE_NAME="$(basename $1)" | ||||
|     set -o pipefail | ||||
|     wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \ | ||||
|     --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "${1}" 2>&1 | \ | ||||
|     --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \ | ||||
|     tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \ | ||||
|     zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90 | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
| @@ -195,7 +205,7 @@ var_vk_istance_layers_config_update () { | ||||
| unpack_tar_zst () { | ||||
|     set -o pipefail | ||||
|     unset PW_ZSTD_PORT | ||||
|     if  [[ `which zstd` ]] &>/dev/null ; then | ||||
|     if  [[ `command -v zstd` ]] &>/dev/null ; then | ||||
|         tar -I zstd -xhvf "$1" -C "$2" | sszen | ||||
|         [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 | ||||
|     else | ||||
| @@ -264,7 +274,7 @@ pw_reinstall_pp () { | ||||
|         read -p "Do you want to reinstall PortProton? (Y,y - Yes):   " -n 1 -r | ||||
|         if [[ ! $REPLY =~ ^[Yy]$ ]] | ||||
|         then | ||||
|             echo | ||||
|             echo "" | ||||
|             exit 1 | ||||
|         fi | ||||
|     elif ! gui_question "${port_reinstall}"  | ||||
| @@ -277,7 +287,7 @@ pw_reinstall_pp () { | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/user.conf" | ||||
|     echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|     echo | ||||
|     echo "Restarting PP for reinstall files..." | ||||
|     print_info "Restarting PP for reinstall files..." | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|     exit 0 | ||||
| } | ||||
| @@ -286,7 +296,13 @@ check_user_conf () { | ||||
|     if [ ! -f "${USER_CONF}" ]; then | ||||
|         echo "#!/usr/bin/env bash" > "${USER_CONF}" | ||||
|         echo "# User overides db and var settings..." >> "${USER_CONF}" | ||||
|         echo "# export DXVK_HUD=full" >> "${USER_CONF}" | ||||
|         echo "# export GALLIUM_HUD=fps" >> "${USER_CONF}" | ||||
|         echo "export optirun_on=      #nvidia-prime-run or prime-run" >> "${USER_CONF}" | ||||
|         chmod u+x "${USER_CONF}" | ||||
|     else | ||||
|         grep "optirun_on" "${USER_CONF}" >/dev/null | ||||
|         [[ "$?" != 0 ]] && echo "export optirun_on=" >> "${USER_CONF}" | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
| @@ -360,21 +376,18 @@ init_wine_ver () { | ||||
|             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." | ||||
|                 print_info "${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." | ||||
|                 print_info "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." | ||||
|                 print_warning "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK." | ||||
|             fi | ||||
|         done | ||||
|  | ||||
| @@ -384,9 +397,14 @@ init_wine_ver () { | ||||
|             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" | ||||
|             sed -i '/winemenubuilder/d' "${WINEDIR}/share/wine/wine.inf" | ||||
|         fi | ||||
|         sed -i '/winemenubuilder/d' "${WINEDIR}/share/wine/wine.inf" | ||||
|     fi | ||||
|  | ||||
|     rm -f "${WINEDIR}"/lib*/*steam* &>/dev/null | ||||
|     rm -f "${WINEDIR}"/lib*/wine/*/*steam* &>/dev/null | ||||
|     rm -f "${WINEDIR}"/lib*/wine/*-windows/winemenubuilder.exe &>/dev/null | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| @@ -415,14 +433,13 @@ pw_init_runtime () { | ||||
|     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 | ||||
|         create_new_dir "${WINEDIR}"/gstreamer_tmp/ | ||||
|         export WINE_GST_REGISTRY_DIR="${WINEDIR}"/gstreamer_tmp/ | ||||
|         export MEDIACONV_AUDIO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/audio.foz | ||||
|         export MEDIACONV_AUDIO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_audio.foz | ||||
|         export MEDIACONV_VIDEO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/video.foz | ||||
|         export MEDIACONV_VIDEO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_video.foz | ||||
|     else | ||||
|         var_winedlloverride_update "winegstreamer=" | ||||
|     fi | ||||
| @@ -462,7 +479,7 @@ pw_init_runtime () { | ||||
|         else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}" | ||||
|         fi | ||||
|     done | ||||
|     echo "RUNTIME is enabled" | ||||
|     print_info "RUNTIME is enabled" | ||||
| } | ||||
|  | ||||
| pw_mangohud_check () { | ||||
| @@ -508,14 +525,6 @@ pw_vkbasalt_check () { | ||||
|     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}'` | ||||
| @@ -606,12 +615,12 @@ stop_portwine () { | ||||
|     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 | ||||
|     if [ ! -z "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         kill -s SIGUSR1 "`pgrep -a yad_v12_3 | 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 | ||||
|     killall yad_v12_3 &>/dev/null | ||||
|     exit 0 | ||||
| } | ||||
| export -f stop_portwine | ||||
| @@ -640,11 +649,11 @@ 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_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3" | ||||
|     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` | ||||
|     if [ -x "`command -v xterm 2>/dev/null`" ]; then | ||||
|         export SYS_XTERM=`command -v xterm` | ||||
|         export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" | ||||
|     else | ||||
|         export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e" | ||||
| @@ -739,6 +748,24 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
|             fi | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     #Download D8VK | ||||
|     if [ ! -d "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" ] ; then | ||||
|         print_info "Download and install D8VK v.${D8VK_VER}" | ||||
|         if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/d8vk-${D8VK_VER}/d8vk-${D8VK_VER}.tar.xz" "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then | ||||
|                 try_remove_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" | ||||
|             else | ||||
|                 try_remove_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" | ||||
|                 try_remove_dir "d8vk-${D8VK_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 | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| @@ -748,9 +775,7 @@ pw_check_and_download_plugins () { | ||||
|         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 | ||||
|     if [[ ! -d "${PW_PLUGINS_PATH}/fake_dlss" ]] || [[ ! -d "${PW_PLUGINS_PATH}/nvapi" ]] ; 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 | ||||
| @@ -770,10 +795,10 @@ pw_check_and_download_plugins () { | ||||
|  | ||||
| pw_init_db () { | ||||
|     if [[ ! -z "${portwine_exe}" ]] ; then | ||||
|         try_remove_file "${PORT_SCRIPTS_PATH}/portwine_db/setup" | ||||
|         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}'` | ||||
| @@ -787,19 +812,17 @@ pw_init_db () { | ||||
|                 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}" | ||||
|                         export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`" | ||||
|                     else | ||||
|                         export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}!${ADD_CB_DBFILE}" | ||||
|                         export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`!${ADD_CB_DBFILE}" | ||||
|                     fi | ||||
|                 done | ||||
|                 PORTWINE_DB_FILE=`"${pw_yad_new}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form --center  \ | ||||
|                 PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v12_3}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form \ | ||||
|                 --title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png"  --form --separator="" \ | ||||
|                 --field="DB FILE: :CB" "${ADD_CB_DBFILE}"` | ||||
|                 --field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null` | ||||
|                 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 | ||||
| @@ -818,9 +841,20 @@ pw_init_db () { | ||||
|             init_wine_ver && | ||||
|             print_info "Use ${PORTWINE_DB_FILE} db file." | ||||
|         fi | ||||
|         if [ -z "$PATH_TO_GAME" ] ; then | ||||
|         if [ -z "${PATH_TO_GAME}" ] ; then | ||||
|             export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"         | ||||
|         fi | ||||
|  | ||||
|         if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ -n "${WINE_CPU_TOPOLOGY}" ]] ; then | ||||
|             export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}" | ||||
|         fi | ||||
|         if ls "${PATH_TO_GAME}"/*_Data/Resources/ 2>/dev/null | grep "unity" &>/dev/null && \ | ||||
|            [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && \ | ||||
|            [[ $(grep -c "^processor" /proc/cpuinfo) -gt "8" ]] | ||||
|         then | ||||
|                 export PW_WINE_CPU_TOPOLOGY="8:0,1,2,3,4,5,6,7" | ||||
|                 print_info "Automatic added fix for unity games: WINE_CPU_TOPOLOGY=8:0,1,2,3,4,5,6,7" | ||||
|         fi | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
| @@ -832,8 +866,22 @@ pw_port_update () { | ||||
|     fi | ||||
|     export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` | ||||
|     print_info "Check update..." | ||||
|     curl -s --list-only https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var > "${PORT_WINE_TMP_PATH}/curent_var_ver" | ||||
|     [[ $? == 0 ]] && print_info "OK!" || print_info "ERROR!" | ||||
|     if curl -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver" | ||||
|     then | ||||
|         URL_FOR_CHANGELOG="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine" | ||||
|         URL_TO_PW_MASTER="https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" | ||||
|         print_info "OK." | ||||
|     else | ||||
|         if curl -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver" | ||||
|         then | ||||
|             URL_FOR_CHANGELOG="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine" | ||||
|             URL_TO_PW_MASTER="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz" | ||||
|             print_info "OK." | ||||
|         else | ||||
|             print_error "Unable to determine the version on the server. Skip it..." | ||||
|             return 1 | ||||
|         fi | ||||
|     fi | ||||
|     [[ ! -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 | ||||
| @@ -841,14 +889,14 @@ pw_port_update () { | ||||
|         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 | ||||
|             if [[ -f "${PW_WINELIB}/portable/bin/yad_v12_3" ]] ; then | ||||
|                 export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3" | ||||
|                 curl -s --list-only "${URL_FOR_CHANGELOG}/${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=1200 --height=600 --center \ | ||||
|                 xcsd=`"${pw_yad_v12_3}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|                 --borders=3 --form --separator='%%%' --width=1200 --height=600 \ | ||||
|                 --field=":TXT" "${CHANGLOG_NEWS}" \ | ||||
|                 --field="   ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" ` | ||||
|                 --field="   ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null` | ||||
|                 YAD_STATUS="$?" | ||||
|                 if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi | ||||
|                 xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'` | ||||
| @@ -863,7 +911,7 @@ pw_port_update () { | ||||
|                     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 try_download "${URL_TO_PW_MASTER}" "${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" | ||||
| @@ -874,7 +922,7 @@ pw_port_update () { | ||||
|                             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 | ||||
|                             if [[ -z "${pw_yad_v12_3}" ]] ; then | ||||
|                                 zenity --title="Changelog" --text-info --width=1200 --height=550 \ | ||||
|                                 --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" | ||||
|                             fi  | ||||
| @@ -882,7 +930,7 @@ pw_port_update () { | ||||
|                             exit 0 | ||||
|                         fi | ||||
|                     else | ||||
|                         zenity_error_download && pw_scripts_update | ||||
|                         zenity_error_download && pw_port_update | ||||
|                     fi ;; | ||||
|                 "${scripts_upd5}") | ||||
|                     echo " " ;; | ||||
| @@ -918,9 +966,9 @@ update_winetricks () { | ||||
| } | ||||
|  | ||||
| edit_db_from_gui () { | ||||
|     echo "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE" | ||||
|     print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE" | ||||
|     for mod_db in $@ ; do | ||||
|         echo "${mod_db}=${!mod_db}" | ||||
|         print_info "${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 | ||||
| @@ -945,7 +993,7 @@ pw_create_gui_png () { | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/img/Setup.png" | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/img/launcher.png" | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/img/Launcher.png" | ||||
|     if [[ -x "`which wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then | ||||
|     if [[ -x "`command -v 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}" | ||||
| @@ -960,7 +1008,7 @@ pw_create_gui_png () { | ||||
|         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 | ||||
|        [[ -x "`command -v "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 | ||||
| @@ -992,15 +1040,15 @@ pw_find_exe () { | ||||
|     done < "${PORT_WINE_TMP_PATH}/tmp_yad_find_exe" | ||||
|  | ||||
|     OrigIFS="$IFS" && IFS=% | ||||
|     PW_SET_FIND_EXE="$("${pw_yad_new}" --height="300" --width="1000" --center --list \ | ||||
|     PW_SET_FIND_EXE="$("${pw_yad_v12_3}" --height="300" --width="1000" --list \ | ||||
|     --text-align=center --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Create shortcut for..." \ | ||||
|     --text="\n${loc_gui_create_shortcut_for_exe}" --column="path to .exe file:" ${FIND_TO_GUI})" | ||||
|     --text="\n${loc_gui_create_shortcut_for_exe}" --column="path to .exe file:" ${FIND_TO_GUI} 2>/dev/null)" | ||||
|     YAD_STATUS="$?" | ||||
|     print_var YAD_STATUS | ||||
|     if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then | ||||
|         if [[ -z "${PW_SET_FIND_EXE}" ]] ; then | ||||
|             /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|             echo "Restarting..." | ||||
|             print_info "Restarting..." | ||||
|         fi | ||||
|         exit 0 | ||||
|     fi | ||||
|   | ||||
| @@ -1,15 +1,28 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: linux-gaming.ru | ||||
| # Helped in translation: ConTI1NuEsZZZ and Boria138  | ||||
|  | ||||
| unset 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" ] | ||||
| then | ||||
| 	export loc_gui_pw_reinstall_pp="Переустановить PORTPROTON" | ||||
|     export loc_gui_rm_pp="Удалить PORTPROTON" | ||||
| if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then | ||||
| 	echo "" | ||||
| 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" | ||||
| 	if [[ ! -z "${SET_LANG}" ]] | ||||
| 	then export update_loc=${SET_LANG} | ||||
| 	else exit 1 | ||||
| 	fi | ||||
| fi | ||||
|  | ||||
| if [[ "${update_loc}" == "RUS" ]] ; then | ||||
| 	export loc_gui_pw_reinstall_pp="Переустановить ${portname}" | ||||
|     export loc_gui_rm_pp="Удалить ${portname}" | ||||
|     export loc_gui_upd_pp="Проверить обновления" | ||||
|     export loc_gui_changelog="История изменений" | ||||
| 	export loc_gui_change_loc="Сменить язык интерфейса" | ||||
| @@ -32,12 +45,14 @@ then | ||||
| 	export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n" | ||||
|  | ||||
| 	export inst_set="Выбор" | ||||
| 	export inst_set_top="Установка PortWINE" | ||||
| 	export ss_done="Ярлык создан в каталоге PortProton.\nДобавить его в МЕНЮ и на Рабочий стол?" | ||||
| 	export inst_set_top="Установка ${portname}" | ||||
| 	export sc_info="Ярлык будет создан в каталоге ${portname}." | ||||
| 	export sc_name="Название" | ||||
| 	export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры и на Рабочий стол" | ||||
|  | ||||
| 	export inst_succ="Установка завершена успешно!" | ||||
|  | ||||
| 	export port_upd1="Обновление PortWINE" | ||||
| 	export port_upd1="Обновление ${portname}" | ||||
| 	export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n" | ||||
| 	export port_upd3="Действие:" | ||||
| 	export port_upd4="Перейти на сайт" | ||||
| @@ -51,18 +66,18 @@ then | ||||
| 	export scripts_upd5="Напомнить позже" | ||||
| 	export scripts_upd6="Больше не напоминать" | ||||
|  | ||||
| 	export port_clear_pfx="Вы действительно хотите очистить префикс PortProton?" | ||||
| 	export port_clear_pfx="Вы действительно хотите очистить префикс ${portname}?" | ||||
|  | ||||
| 	export port_del1="Удаление $portname" | ||||
| 	export port_del2="Вы действительно хотите полностью удалить PortProton?" | ||||
| 	export port_del2="Вы действительно хотите полностью удалить ${portname}?" | ||||
|  | ||||
| 	export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение." | ||||
| 	export port_reinstall="Вы действительно хотите переустановить ${portname}?\nДля этого будет необходимо интернет соединение." | ||||
|  | ||||
| 	export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта" | ||||
| 	export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE" | ||||
|  | ||||
| 	export port_start1="Запуск PortWINE" | ||||
| 	export port_start2="В каком режиме вы хотите запустить PortWINE?" | ||||
| 	export port_start1="Запуск ${portname}" | ||||
| 	export port_start2="В каком режиме вы хотите запустить ${portname}?" | ||||
| 	export port_start3="Режим:" | ||||
| 	export port_start4="Обычный" | ||||
| 	export port_start5="Отдельной X-сессии" | ||||
| @@ -117,28 +132,65 @@ then | ||||
| 	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_USE_EAC_AND_BE_INFO='Включить Easy Anti-Cheat and BattlEye Anti-Cheat (требуется если игра использует какой-то из этих античитов)' | ||||
|  | ||||
| 	export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' | ||||
| 	export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS' | ||||
| 	export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместно с CAS' | ||||
| 	export PW_Bloom_INFO='Добавляет свечения от ярких источников света в игре' | ||||
| 	export PW_Border_INFO='Обрезка изображения сверху и снизу (как в кино =)' | ||||
| 	export PW_Cartoon_INFO='Сильное увеличение резкости краев тексур' | ||||
| 	export PW_Cartoon_INFO='Сильное увеличение резкости краев текстур' | ||||
| 	export PW_ChromaticAberration_INFO='Добавляет хроматические аберрации к изображению' | ||||
| 	export PW_Clarity_INFO='Увеличение резкости текстур с небольшими модификациями контраста изображения (похож по эффекту на CAS)' | ||||
| 	export PW_ColorMatrix_INFO='Добавление холодных цветов' | ||||
| 	export PW_Colourfulness_INFO='Увеличение насыщености цветов' | ||||
| 	export PW_Colourfulness_INFO='Увеличение насыщенности цветов' | ||||
| 	export PW_FakeHDR_INFO='Расширение динамического диапазона цветов' | ||||
| 	export PW_FilmGrain2_INFO='Добавление эффекта зерна кинопленки' | ||||
| 	export PW_Curves_INFO='Увеличение контраста изображения' | ||||
| 	export PW_Curves_INFO='Увеличивает контрастность изображения, при этом не трогая яркие и тёмные участки, чтобы не пропала детализация в тенях и небе' | ||||
| 	export PW_Denoise_INFO='Уменьшение шумов за счет смазывания изображения' | ||||
| 	export PW_Emphasize_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_GaussianBlur_INFO='Небольшой эффект размытия ярких объектов (например пламя)' | ||||
|     export PW_Glitch_INFO='Эффект глючной картинки' | ||||
|     export PW_HighPassSharpen_INFO='Повышения резкости с использованием высокочастотных частот' | ||||
|     export PW_HQ4X_INFO='Сглаживание близлежащих пикселей с дорисовкой недостающих частей (в обычных играх картинка размывается)' | ||||
|     export PW_HSLShift_INFO='Усовершенствованный сдвиг HSL (для каждого оттенка)' | ||||
|     export PW_Layer_INFO='Наложение изображения на игру (изображение лежит в папке ~/PortWINE/PortProton/data/tmp/libs_v43/pressure-vessel/reshade/textures)' | ||||
|     export PW_Levels_INFO='Увеличивает контрастность, но некоторые детали в тенях или бликах могут быть потеряны' | ||||
|     export PW_LevelsPlus_INFO='Тоже что и Levels, но с меньшей потерей деталей' | ||||
|     export PW_LiftGammaGain_INFO='Коррекция гаммы по отдельным цветовым каналам: красному, зелёному и синему' | ||||
|     export PW_LightDoF_INFO='Увеличивает глубину резкости (сильно влияет на FPS)' | ||||
|     export PW_LumaSharpen_INFO='Повышает резкость изображения для улучшения деталей' | ||||
|     export PW_LUT_INFO='Цветокорекция изображения' | ||||
|     export PW_MagicBloom_INFO='Тоже самое что Bloom, но более естественный' | ||||
|     export PW_Monochrome_INFO='Преобразует изображение в черно-белое' | ||||
|     export PW_MultiLUT_INFO='Расширенная версия LUT (предустановлен лут Hollywood)' | ||||
|     export PW_MXAO_INFO='Алгоритм SSAO (сильно влияет на FPS)' | ||||
|     export PW_NightVision_INFO='Эффект ночного зрения' | ||||
|     export PW_Nostalgia_INFO='Делает картинку похожей на старые фотографии' | ||||
|     export PW_PerfectPerspective_INFO='Эффект рыбьего глаза (подходит для VR)' | ||||
|     export PW_PPFX_Godrays_INFO='Объёмное рассеяние света' | ||||
|     export PW_Prism_INFO='Эффект призматической линзы' | ||||
|     export PW_ReflectiveBumpMapping_INFO='Создаёт иллюзию глубины текстур' | ||||
|     export PW_Sepia_INFO='Добавляет эффект сепии со старых фотографий' | ||||
|     export PW_Splitscreen_INFO='Разделяет изображение на необработанное и обработанный вывод для сравнения' | ||||
|     export PW_SurfaceBlur_INFO='Снижение детализации объектов без размытия контрастных контуров' | ||||
|     export PW_Technicolor_INFO='Делает картинку похожей на фильмы 1930 годов' | ||||
|     export PW_Technicolor2_INFO='Обновлённая версия Technicolor, даёт иную картинку, агрессивнее меняя цвета' | ||||
|     export PW_TiltShift_INFO='Размытие по краям экрана для создания эффекта миниатюры' | ||||
|     export PW_Tonemap_INFO='Изменяет насыщенность картинки' | ||||
|     export PW_TriDither_INFO='Уменьшает количество шумов' | ||||
|     export PW_UIDetect_INFO='Автоматически переключает эффекты в зависимости от видимости UI' | ||||
|     export PW_Vibrance_INFO='Насыщает блеклые цвета, не трогая яркие' | ||||
|     export PW_Vignette_INFO='Добавляет к изображению виньетку' | ||||
|     export PW_AspectRatio_INFO='Эффект для настройки соотношения сторон (для игр которые не поддерживают широкоформатные мониторы)' | ||||
|     export PW_UIMask_INFO='Часть общего шейдера ReShade . Он использует маску с градиентами от черного к белому, чтобы определить, где будут применены эффекты' | ||||
|     export PW_StageDepth_INFO='Позволяет добавлять новые элементы в 3d-пространство внутри игры и применять пользовательские текстуры' | ||||
|     export PW_PPFX_Bloom_INFO='Добавляет Bloom эффект' | ||||
|     | ||||
| 	export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" | ||||
| 	export PW_WAYLAND_INFO="Внимание! Вы запускаете ${portname} в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" | ||||
|  | ||||
| 	export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>" | ||||
|  | ||||
| @@ -147,7 +199,7 @@ then | ||||
| 	export loc_gui_error='Ошибка.' | ||||
| 	export loc_gui_error_download="Проверьте интернет соединение и\nнажмите Repeat для повторной попытки скачивания" | ||||
| 	export loc_gui_settings="Пожалуйста подождите." | ||||
| 	export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..." | ||||
| 	export loc_gui_sett_info="Обновление конфигурации <b>${portname}</b>..." | ||||
| 	export loc_gui_edit_db="Изменение файла настроек для:" | ||||
| 	export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст." | ||||
|  | ||||
| @@ -181,9 +233,12 @@ then | ||||
| 	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="Ограничить FPS" | ||||
| 	export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton." | ||||
|  | ||||
| 	export loc_gui_cpu_limit="Ограничить использование ядер процессора" | ||||
| 	export loc_gui_cpu_limit_help="Ограничения количества ядер процессора полезно для игр на движке Unity (Рекомендуется выставить значение равное 8)" | ||||
|  | ||||
| 	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 для загрузки:" | ||||
| @@ -214,77 +269,41 @@ then | ||||
| 	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..." | ||||
| elif [[ "${update_loc}" == "ENG" ]] ; then | ||||
|  | ||||
| 	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_create_shortcut_from_gui="Create shortcut..." | ||||
|  | ||||
|     export loc_gui_rm_pp="REMOVE PORTPROTON" | ||||
|     export loc_gui_upd_pp="UPDATE PORTPROTON" | ||||
| 	export loc_gui_pw_reinstall_pp="REINSTALL ${portname}" | ||||
|     export loc_gui_rm_pp="REMOVE ${portname}" | ||||
|     export loc_gui_upd_pp="UPDATE ${portname}" | ||||
|     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_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_autoinstall="AUTOINSTALL" | ||||
| 	export loc_mg_emulators="EMULATORS" | ||||
| 	export loc_mg_wine_settings="WINE SETTINGS" | ||||
| 	export loc_mg_portproton_settings="PORTPROTON SETTINGS" | ||||
| 	export loc_mg_portproton_settings="${portname} SETTINGS" | ||||
| 	export loc_mg_installed="INSTALLED" | ||||
|  | ||||
| 	export PW_CHANGELOG_FILE="changelog_eng" | ||||
|     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_done="The shortcut was created in the ${portname} directory.\n    Add it to MENU -> GAMES and Desktop?" | ||||
| 	export inst_set="Choices" | ||||
| 	export inst_set_top="Instaling ${portname}" | ||||
| 	export sc_info="The shortcut will be created in the ${portname} directory." | ||||
| 	export sc_name="Name" | ||||
| 	export sc_menu_desktop="Add shortcut to MENU -> GAMES and Desktop" | ||||
|  | ||||
| 	export inst_succ="The installation was successful." | ||||
|  | ||||
| 	export port_upd1="New update PortWINE" | ||||
| 	export port_upd2="On linux-gaming.ru site published an update to the ${portname}\n" | ||||
| 	export port_upd1="New update for ${portname}" | ||||
| 	export port_upd2="On linux-gaming.ru site published an update for ${portname}\n" | ||||
| 	export port_upd3="Action:" | ||||
| 	export port_upd4="Go to the website" | ||||
| 	export port_upd5="Remind me later" | ||||
| @@ -292,23 +311,23 @@ then | ||||
|  | ||||
| 	export scripts_upd1="New update for scripts" | ||||
| 	export scripts_upd2="Scripts update avialable for ${portname}" | ||||
| 	export scripts_upd3="Action :" | ||||
| 	export scripts_upd3="Action:" | ||||
| 	export scripts_upd4="Updating now" | ||||
| 	export scripts_upd5="Remind me later" | ||||
| 	export scripts_upd6="Do not remind me" | ||||
|  | ||||
| 	export port_clear_pfx="Do you want to clear prefix in PortProton?" | ||||
| 	export port_clear_pfx="Do you want to clear prefix in ${portname}?" | ||||
|  | ||||
| 	export port_del1="Remove $portname" | ||||
| 	export port_del2="Are you sure you want to delete the PortProton" | ||||
| 	export port_del2="Do you really want to remove $portname?" | ||||
|  | ||||
| 	export port_reinstall="Do you really want to reinstall PortProton?\nFor this, an internet connection will be required." | ||||
| 	export port_reinstall="Do you really want to reinstall ${portname}?\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_deb1="${portname} 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?" | ||||
| 	export port_start1="Starting the ${portname}" | ||||
| 	export port_start2="In what mode you want to start the ${portname}?" | ||||
| 	export port_start3="Mode:" | ||||
| 	export port_start4="Normal" | ||||
| 	export port_start5="Individual X-Session" | ||||
| @@ -316,30 +335,189 @@ then | ||||
| 	export port_start7="Run winetricks" | ||||
| 	export port_start8="DXVK" | ||||
|  | ||||
| 	export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n" | ||||
|  | ||||
| 	export port_debug="Please wait! After finishing the ${portname}, click STOP." | ||||
|  | ||||
| 	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_from_gui="Create shortcut..." | ||||
| 	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}" | ||||
|     export loc_winefile="Run the file manager built into wine" | ||||
|     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_winecfg="Run winecfg to edit the settings of the selected prefix" | ||||
|     export loc_winefile="Run wine file manager" | ||||
|     export loc_winecmd="Run wine cmd" | ||||
| 	export loc_winereg="Run wine regedit" | ||||
|     export loc_winetricks="Run winetricks to install additional libraries to the selected prefix" | ||||
| 	export loc_edit_db="Edit database file for" | ||||
| 	export loc_download_other_wine="Open the menu to download other versions of WINE-PROTON " | ||||
|  | ||||
| 	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 | ||||
| 	export ENABLE_VKBASALT_INFO='Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)' | ||||
| 	export PW_NO_ESYNC_INFO='Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)' | ||||
| 	export PW_NO_FSYNC_INFO='Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)' | ||||
| 	export PW_USE_RAY_TRACING_INFO='Enable vkd3d support - Ray Tracing' | ||||
| 	export PW_FIX_VIDEO_IN_GAME_INFO='Required for video playback in some games so that it is not distorted (usually colored pink)' | ||||
| 	export PW_VULKAN_NO_ASYNC_INFO='Disable asynchronous calls for VULKAN and DXVK modes' | ||||
| 	export PW_USE_NVAPI_AND_DLSS_INFO='Enable DLSS on supported NVIDIA graphics cards' | ||||
| 	export PW_OLD_GL_STRING_INFO='Forced use of older versions of OpenGL' | ||||
| 	export PW_HIDE_NVIDIA_GPU_INFO='Disguise all features used for NVIDIA graphics cards' | ||||
| 	export PW_FORCE_USE_VSYNC_INFO='Forced activation of vertical sync' | ||||
| 	export PW_VIRTUAL_DESKTOP_INFO='Enable the application to run in the WINE virtual desktop' | ||||
| 	export PW_WINEDBG_DISABLE_INFO='Disable all WINE debugging functions (It is recommended not to change the value)' | ||||
| 	export PW_USE_TERMINAL_INFO='Run the application in the terminal' | ||||
|     export PW_WINE_ALLOW_XIM_INFO='Use alternate mode for controller (Use only if there is a problem with the controller)' | ||||
| 	export PW_HEAP_DELAY_FREE_INFO='Include a delay in releasing some memory to bypass errors associated with using the application after the memory is released' | ||||
| 	export PW_NO_WRITE_WATCH_INFO='A very dangerous way to hack the memory write timer in ntdll. This improves the performance of some very specific games. (It is recommended not to change the value.)' | ||||
| 	export PW_GUI_DISABLED_CS_INFO='Disable the window for selecting startup modes and WINE versions' | ||||
| 	export PW_USE_GSTREAMER_INFO='Use Gstreamer to output clips in games (WMF support)' | ||||
| 	export PW_USE_RUNTIME_INFO='Use container launch mode (It is recommended not to change the value)' | ||||
| 	export PW_MANGOHUD_INFO='Using FPS and system load monitoring (Turns on and off by the key combination - right Shift + F12)' | ||||
| 	export PW_USE_GAMEMODE_INFO='Using automatic system optimization to improve performance in games (provided the gamemode package is installed on the system)' | ||||
| 	export PW_DX12_DISABLE_INFO='Forced disabling DirectX 12' | ||||
| 	export PW_USE_WINE_DXGI_INFO='Forced use of built-in DXGI library (in rare cases it solves problems with DX12 games)' | ||||
| 	export PW_MANGOHUD_USER_CONF_INFO='Forced use of MANGOHUD system settings (GOverlay, etc.)' | ||||
| 	export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries' | ||||
| 	export PW_PRIME_RENDER_OFFLOAD_INFO='Enable NVIDIA discrete graphics card for notebooks with hybrid graphics (if supported by the installed driver in the OS)' | ||||
| 	export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix' | ||||
| 	export PW_USE_AMDVLK_DRIVER_INFO='Use AMDVLK driver instead of RADV on AMD graphics cards' | ||||
| 	export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)' | ||||
| 	export PW_WINE_FULLSCREEN_FSR_INFO='Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen' | ||||
| 	export PW_USE_FAKE_DLSS_INFO='Enable DLSS translator in FSR 2 in DirectX 12 games' | ||||
| 	export PW_MANGOHUD_x32_INFO='Enable MANGOHUD for 32 bit applications and games' | ||||
| 	export PW_USE_EAC_AND_BE_INFO='Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game used this anti-cheats)' | ||||
|  | ||||
|     export PW_3DFX_INFO='Simulation of an old 3dfx graphics accelerator (adds horizontal stripes)' | ||||
|    	export PW_AdaptiveSharpen_INFO='Sharpness increase, can be used with CAS' | ||||
|    	export PW_Bloom_INFO='Adds glow from bright light sources in the game' | ||||
|    	export PW_Border_INFO='Cropping the image from the top and bottom (like in a movie =)' | ||||
|    	export PW_Cartoon_INFO='Strong sharpening of texture edges' | ||||
|    	export PW_ChromaticAberration_INFO='Adds chromatic aberration to an image' | ||||
|    	export PW_Clarity_INFO='Sharpening textures with slight modifications of image contrast (similar in effect to CAS)' | ||||
|    	export PW_ColorMatrix_INFO='Adding cool colors' | ||||
|    	export PW_Colourfulness_INFO='Increasing color saturationIncreasing color saturation' | ||||
|    	export PW_FakeHDR_INFO='Add fake HDR' | ||||
|    	export PW_FilmGrain2_INFO='Adding the film grain effect' | ||||
|    	export PW_Curves_INFO='Increases the contrast of the image without affecting the bright and dark areas, so that the detail in shadows and sky is not lost' | ||||
|    	export PW_Denoise_INFO='Reducing noise by blurring the image' | ||||
|    	export PW_Emphasize_INFO='Reducing the bit depth of color' | ||||
|    	export PW_FakeMotionBlur_INFO='Strong blurring of objects in motion' | ||||
|    	export PW_FilmicAnamorphSharpen_INFO='Sharpening (recommended for cartoon games)' | ||||
|    	export PW_FilmicPass_INFO='Adding cold colors' | ||||
|    	export PW_SMAA_INFO='Alternative antialiasing option (less effect, but with less consumption of GPU resources, relative to the standard SMAA)' | ||||
|    	export PW_GaussianBlur_INFO='Slight blur effect on bright objects (such as flames)' | ||||
|     export PW_Glitch_INFO='Glitch effect' | ||||
|     export PW_HighPassSharpen_INFO='Another method of sharpening using highpass frequencies' | ||||
|     export PW_HQ4X_INFO='Smoothing of nearby pixels with the drawing of missing parts (in normal games the picture is blurred)' | ||||
|     export PW_HSLShift_INFO='Advanced HSL shift (for each shade)' | ||||
|     export PW_Layer_INFO='Image overlay on the game (the image is in the ~/PortWINE/PortProton/data/tmp/libs_v43/pressure-vessel/reshade/textures folder)' | ||||
|     export PW_Levels_INFO='Increases contrast, but some detail in shadows or highlights may be lost' | ||||
|     export PW_LevelsPlus_INFO='Same as Levels, but with less loss of detail' | ||||
|     export PW_LiftGammaGain_INFO='Gamma correction by individual color channels: red, green and blue' | ||||
|     export PW_LightDoF_INFO='Increases depth of field (greatly affects FPS)' | ||||
|     export PW_LumaSharpen_INFO='Enhances image sharpness for improved detail' | ||||
|     export PW_LUT_INFO='Image color correction' | ||||
|     export PW_MagicBloom_INFO='Same as Bloom, but more natural' | ||||
|     export PW_Monochrome_INFO='Converts the image into monochrome' | ||||
|     export PW_MultiLUT_INFO='Extended version of the LUT (Hollywood loot is pre-installed)' | ||||
|     export PW_MXAO_INFO='SSAO algorithm (Greatly affects FPS)' | ||||
|     export PW_NightVision_INFO='Night vision effect' | ||||
|     export PW_Nostalgia_INFO='Makes the picture look like old photos' | ||||
|     export PW_PerfectPerspective_INFO='Fisheye effect (suitable for VR)' | ||||
|     export PW_PPFX_Godrays_INFO='Add God rays (also called 3D light rays) effect' | ||||
|     export PW_Prism_INFO='The prismatic lens effect' | ||||
|     export PW_ReflectiveBumpMapping_INFO='Creates the illusion of depth in textures' | ||||
|     export PW_Sepia_INFO='Adds a sepia effect like in old photos' | ||||
|     export PW_Splitscreen_INFO='Splits the image into raw and processed output for comparison' | ||||
|     export PW_SurfaceBlur_INFO='Reducing object detail without blurring contrast contours' | ||||
|     export PW_Technicolor_INFO='Makes the picture look like films from the 1930s' | ||||
|     export PW_Technicolor2_INFO='The updated version of Technicolor, gives a different picture by changing colors more aggressively' | ||||
|     export PW_TiltShift_INFO='Blur on the edges of the screen to create a Tilt Shift effect' | ||||
|     export PW_Tonemap_INFO='Changes the saturation of the picture' | ||||
|     export PW_TriDither_INFO='Reduces the amount of noise' | ||||
|     export PW_UIDetect_INFO='Automatically switches effects depending on the visibility of the UI' | ||||
|     export PW_Vibrance_INFO='Saturates faded colors without touching the bright ones' | ||||
|     export PW_Vignette_INFO='Adds a vignette to the image' | ||||
|     export PW_AspectRatio_INFO='An effect for adjusting the aspect ratio (for games that do not support widescreen monitors)' | ||||
|     export PW_UIMask_INFO='Part of the overall ReShade shader . It uses a mask with gradients from black to white to determine where the effects will be applied' | ||||
|     export PW_StageDepth_INFO='Allows you to add new elements to the 3d space inside the game and apply custom textures' | ||||
|     export PW_PPFX_Bloom_INFO='Adds a Bloom effect' | ||||
|         | ||||
| 	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_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>" | ||||
|  | ||||
| 	export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n" | ||||
|  | ||||
| 	export loc_gui_error='Error.' | ||||
| 	export loc_gui_error_download="You will need to check internet connection,and\npress Repeat for repeat download" | ||||
| 	export loc_gui_settings="Please wait." | ||||
| 	export loc_gui_sett_info="Updating configuration for <b>${portname}</b>..." | ||||
| 	export loc_gui_edit_db="Change settings in database file for" | ||||
| 	export loc_gui_edit_db_help="<b>NOTE:</b> To display help for each item, simply hover your mouse over the text" | ||||
|  | ||||
| 	export loc_gui_cancel="CANCEL THE CHANGES" | ||||
| 	export loc_gui_cancel_help="Cancel the current changes and return to the previous menu." | ||||
|  | ||||
| 	export loc_gui_open_db="OPEN THE SETTINGS FILE" | ||||
| 	export loc_gui_open_db_help="Open the <b>.ppdb</b> settings file in a system text editor to view and change variables manually." | ||||
|  | ||||
| 	export loc_gui_save_changes="SAVE CHANGES" | ||||
| 	export loc_gui_save_changes_help="Save the current changes, and go to the previous menu."	 | ||||
|  | ||||
| 	export loc_gui_ver_windows="Change the version of <b>WINDOWS</b> emulation" | ||||
| 	export loc_gui_ver_windows_help="Changing the <b>WINDOWS</b> emulation version may be required to run older games. <b>WINDOWS</b> versions below 10 do not support new games with DirectX 12" | ||||
|  | ||||
|  | ||||
| 	export loc_gui_aut_winetricks="AUTOINSTALL WITH <b>WINETRICKS</b>" | ||||
| 	export loc_gui_aut_winetricks_help="Automatically install with <b>WINETRICKS</b> additional libraries required to run the game/program. List of libraries separated by spaces" | ||||
|  | ||||
| 	export loc_gui_winedllover="Forced to use/disable libraries" | ||||
| 	export loc_gui_winedllover_help="Forced to use/disable the library only for the given application. (There are examples in the drop-down list) | ||||
|  | ||||
| A brief instruction: | ||||
| 	* libraries are written <b>WITHOUT</b> the .dll file extension | ||||
| 	* libraries are separated by semicolons - <b>;</b> | ||||
| 	* library=n - use the <b>WINDOWS</b> (third-party) library | ||||
| 	* library=b - use <b>WINE</b> (built-in) library  | ||||
| 	* library=n,b - use <b>WINDOWS</b> library and then <b>WINE</b> | ||||
| 	* library=b,n - use <b>WINE</b> library and then <b>WINDOWS</b> | ||||
| 	* library= - disable the use of this library" | ||||
| 	 | ||||
| 	export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE" | ||||
| 	export loc_gui_arg_exe_help="Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system"  | ||||
|  | ||||
|     export loc_gui_mango_fps="MANGOHUD FPS LIMIT" | ||||
| 	export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into ${portname}"	 | ||||
|  | ||||
| 	export loc_gui_cpu_limit="Limit the use of processor cores" | ||||
| 	export loc_gui_cpu_limit_help="Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)" | ||||
|  | ||||
| 	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_ffx_cas="AMD FidelityFX - CAS is designed to dramatically improve texture sharpness without additional modification settings for games, with minimal loss of performance. (For older games it is recommended to set value = 100)" | ||||
| 	export loc_gui_disabled_vkbas="DISABLE  VKBASALT" | ||||
| 	export loc_gui_disabled_vkbas_help="Disable vkBasalt and go to the previous menu." | ||||
|  | ||||
| 	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_vkbasalt_top="vkBasalt settings for adding effects to games running under Vulkan. (The <b>HOME</b> key disables vkbasalt)\n<b>NOTE:</b> To display help for each item, simply hover over the text\n" | ||||
|  | ||||
| 	export loc_gui_db_comments="${portname} database file was found for"	 | ||||
|  | ||||
| 	export loc_gui_vulkan_stable="Stable DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}" | ||||
| 	export loc_gui_vulkan_git="Newest DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}" | ||||
| 	export loc_gui_gallium_nine="GALLIUM_NINE (DX9 for MESA)" | ||||
| 	export loc_gui_open_gl="OPENGL (For video cards without VULKAN)" | ||||
|  | ||||
| 	export loc_gui_installing_the="Installing the" | ||||
| 	export loc_gui_please_wait="Please wait..." | ||||
| fi | ||||
|   | ||||
							
								
								
									
										23
									
								
								data_from_portwine/scripts/portwine_db/01_setup_standart
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,23 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: linux-gaming.ru | ||||
| #setup.exe | ||||
| #Setup.exe | ||||
| #SETUP.exe | ||||
| #.msi | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export PW_DISABLED_CREATE_DB=1 | ||||
| export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png"  | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MANGOHUD=0 | ||||
| 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=1        # Do not use eventfd-based in-process synchronization primitives | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| 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_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
|  | ||||
| add_in_stop_portwine () { | ||||
|     pw_find_exe news | ||||
| } | ||||
							
								
								
									
										26
									
								
								data_from_portwine/scripts/portwine_db/02_setup_xatab
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,26 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: linux-gaming.ru | ||||
| #setup.exe | ||||
| #Setup.exe | ||||
| #SETUP.exe | ||||
| #.msi | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64" | ||||
| [[ "${update_loc}" == "RUS" ]] && export PW_COMMENT_DB="Для установки репаков от xatab требуется использовать ${PW_WINE_USE}.\nОн загружен и выбран автоматически.\n" | ||||
| export PW_DISABLED_CREATE_DB=1 | ||||
| export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png"  | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MANGOHUD=0 | ||||
| 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=1        # Do not use eventfd-based in-process synchronization primitives | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| 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_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64" | ||||
|  | ||||
| add_in_stop_portwine () { | ||||
|     pw_find_exe news | ||||
| } | ||||
| @@ -5,18 +5,18 @@ | ||||
| #SETUP.exe | ||||
| #.msi | ||||
| #Rating=5 | ||||
| #export PW_COMMENT_DB="blablabla" | ||||
| ################################################ | ||||
| export PW_DISABLED_CREATE_DB=1 | ||||
| export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png"  | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MANGOHUD=0 | ||||
| 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_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=1        # Do not use eventfd-based in-process synchronization primitives | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| export PW_USE_GAMEMODE=0             # 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 PW_DLL_INSTALL="" | ||||
| export PW_PREFIX_NAME="DOTNET" | ||||
| 
 | ||||
| add_in_stop_portwine () { | ||||
|     pw_find_exe news | ||||
| @@ -12,6 +12,8 @@ export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="locationapi=" | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43" | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Agent/data" | ||||
|   | ||||
| @@ -39,4 +39,3 @@ export PW_GUI_DISABLED_CS=0 | ||||
| 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  | ||||
|   | ||||
| @@ -6,11 +6,7 @@ | ||||
| #####################examples########################### | ||||
| # export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (used winetricks)  | ||||
| export PW_VULKAN_USE=1                       # dxvk, vkd3d or 0 for OpenGL | ||||
| # export PW_USE_TERMINAL="1" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| export PW_USE_D3D_EXTRAS=0 | ||||
| export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 d3dcompiler_47" | ||||
| export PW_USE_TERMINAL="1" | ||||
| export PW_PREFIX_NAME="EA_APP" | ||||
| export WINEDLLOVERRIDES="winemenubuilder=d" | ||||
| # export PW_WINE_USE="WINE-8.8-STAGING-AMD64" | ||||
| # gui_proton_downloader silent "WINE-8.8-STAGING-AMD64" | ||||
| # export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64" | ||||
| # gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64" | ||||
|   | ||||
| @@ -11,7 +11,6 @@ export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export PW_WINE_USE="PROTON_LG" | ||||
| export WINEDLLOVERRIDES="vulkan-1=n,b" | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     regdlloverrides "RDR2.exe:vulkan-1=n,b" | ||||
| } | ||||
| # add_in_start_portwine () { | ||||
| #     regdlloverrides "RDR2.exe:vulkan-1=n,b" | ||||
| # } | ||||
|   | ||||
| @@ -8,7 +8,6 @@ | ||||
| ##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 VK_FORMAT_A8_UNORM=1 | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_DXR_ON=0 | ||||
| @@ -37,7 +36,3 @@ 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=60  | ||||
|   | ||||
| @@ -13,7 +13,7 @@ export TEXT_OPSSL="" | ||||
| export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live"              # Additional launch options | ||||
| export PW_WINE_USE=WINE_LOL_GE_7.0-8 | ||||
| export PW_WINE_USE=WINE_LOL_GE_8.12 | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS" | ||||
| @@ -21,12 +21,13 @@ export PW_NO_FSYNC=1 | ||||
| export PW_NO_ESYNC=1 | ||||
| export PW_DISABLED_CREATE_DB=1 | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
| export DXVK_STABLE_VER="1.10.3-28" | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
|  | ||||
| try_remove_dir "${PORT_WINE_PATH}/data/dist/WINE_LOL_GE_8.7-1" | ||||
| gui_proton_downloader silent "${PW_WINE_USE}" | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     echo "" | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -4,35 +4,33 @@ | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINE_USE="WINE-PROTON-8.0-2-AMD64" | ||||
| export PW_PREFIX_NAME="DOTNET" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_WINDOWS_VER="7" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="libglesv2=" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_DXR10="0" | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export PW_PREFIX_NAME="PLARIUM_PLAY" | ||||
| export PW_MANGOHUD="0" | ||||
| export PW_MANGOHUD_x32="0" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export ENABLE_VKBASALT="0" | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| ##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer  | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| export PW_HEAP_DELAY_FREE="0" | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| export PW_NO_FSYNC="1" | ||||
| export PW_USE_RAY_TRACING="0" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_USE_FAKE_DLSS="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_USE_GAMEMODE="0" | ||||
| export PW_DX12_DISABLE="1" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="0" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_USE_GSTREAMER="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="0" | ||||
| export PW_USE_WINE_DXGI="0" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
| export WINEDLLOVERRIDES="" | ||||
|   | ||||
| @@ -7,4 +7,4 @@ | ||||
| export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_PREFIX_NAME="ROBLOX" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| # export DISABLE_CP_DEFPFX=1 | ||||
|   | ||||
| @@ -8,6 +8,7 @@ | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_DLL_INSTALL="vcrun2019" | ||||
| export PW_WINDOWS_VER=10 | ||||
| add_in_start_portwine () { | ||||
|     regdlloverrides "RDR2.exe:vulkan-1=n" | ||||
| } | ||||
| export WINEDLLOVERRIDES="vulkan-1=n,b" | ||||
| # add_in_start_portwine () { | ||||
| #     regdlloverrides "RDR2.exe:vulkan-1=n,b" | ||||
| # } | ||||
|   | ||||
							
								
								
									
										39
									
								
								data_from_portwine/scripts/portwine_db/SystemShockRemake
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,39 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: licrit | ||||
| #SystemShock.exe | ||||
| #SystemReShock-Win64-Shipping.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_VULKAN_USE="2" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| export ENABLE_VKBASALT="1" | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| export PW_PREFIX_NAME="DEFAULT" | ||||
| export PW_MANGOHUD="1" | ||||
| export PW_MANGOHUD_x32="0" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export PW_USE_RAY_TRACING="0" | ||||
| export PW_USE_FAKE_DLSS="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="1" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| export PW_USE_WINE_DXGI="0" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
| export PW_WINE_USE="WINE_8.5_LG" | ||||
| gui_proton_downloader silent "WINE_8.5_LG" | ||||
| @@ -4,7 +4,7 @@ | ||||
| #Rating=1-5 | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_DLL_INSTALL="d3dcompiler_43 d3dcompiler_47 d3dx9 d3dx11_42 d3dx11_43"  | ||||
| export PW_DLL_INSTALL=""  | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL | ||||
|   | ||||
| @@ -9,10 +9,11 @@ else | ||||
|     export PW_COMMENT_DB="If you use Wayland, to intercept control in Atomic Heart\n,you need to collapse the VK Play Game Center itself into the tray" | ||||
| fi | ||||
| export PW_WINDOWS_VER="10" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_PREFIX_NAME="VK_PLAY" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| export PW_VULKAN_USE="2" | ||||
|  | ||||
| export PW_WINE_USE="WINE_8.5_LG" | ||||
| gui_proton_downloader silent "WINE_8.5_LG" | ||||
|   | ||||
| @@ -10,7 +10,6 @@ export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="faudio dotnet48 dotnet20sp2" | ||||
| export WINEDLLOVERRIDES="quartz=b" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_WINE_USE="PROTON_GE" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_VULKAN_NO_ASYNC="0" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| @@ -40,3 +39,5 @@ export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_USE_AMDVLK_DRIVER="1" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| export PW_WINE_USE=GE-PROTON7-55 | ||||
| gui_proton_downloader silent "${PW_WINE_USE}" | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| export PW_COMMENT_DB="Steam" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="vcrun2019 d3dcompiler_46" | ||||
| export WINEDLLOVERRIDES="steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe=b;winemenubuilder=d" | ||||
| export WINEDLLOVERRIDES="OnlineFix64,SteamOverlay64,steam_api,steam_api64,steamclient,steamclient64=n;winmm=n,b" | ||||
| export LAUNCH_PARAMETERS="-gamepadui -fullscreen -no-dwrite" | ||||
| export PW_VULKAN_USE="1" | ||||
|  | ||||
|   | ||||
| @@ -13,11 +13,12 @@ export LAUNCH_PARAMETERS=""            # Additional launch options | ||||
| #export PW_USE_TERMINAL=1 | ||||
| export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| #export PW_USE_NVAPI_AND_DLSS=0 | ||||
| export WINEDLLOVERRIDES="ucrtbase,xaudio2_7,xaudio2_8=n,b" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export PW_DLL_INSTALL="lucida vcrun2019"     # Install DDL in port prefix (used winetricks) | ||||
| ##export PW_GUI_DISABLED_CS=1 | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| export PW_USE_D3D_EXTRAS=0 | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/AppData/Roaming/Wargaming.net/WorldOfTanks/preferences.xml" ]] ; then | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/S") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama-Setup.exe" | ||||
| start_portwine | ||||
| if wget -O "${PW_AUTOINSTALL_EXE}" "https://download.ankama.com/launcher/full/win/"  | ||||
| if try_download "download.ankama.com/launcher/full/win/" "${PW_AUTOINSTALL_EXE}"  | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Ankama Launcher. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -4,12 +4,13 @@ | ||||
| [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" | ||||
| start_portwine | ||||
| if try_download "dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download "https://www.battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     # PW_START_PROGRESS_BAR "${loc_gui_installing_the} Battle Net. ${loc_gui_please_wait} " | ||||
|     try_remove_dir "$WINEPREFIX/drive_c/ProgramData/Battle.net" | ||||
|     pw_kill_autostart Battle.net.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"` | ||||
|     portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe" | grep "Battle.net/Battle.net.exe"` | ||||
|     pw_stop_progress_bar | ||||
|     portwine_create_shortcut | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
							
								
								
									
										19
									
								
								data_from_portwine/scripts/pw_autoinstall/PW_BSR
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,19 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Boria138 | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bsr_setup.exe" | ||||
| start_portwine | ||||
| if try_download "battleofspaceraiders.com/install/bsr_setup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Battle Of Space Raiders. ${loc_gui_please_wait} " | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Battle Of Space Raiders/aops.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Battle Of Space Raiders" | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
| stop_portwine | ||||
| @@ -20,16 +20,8 @@ if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then | ||||
|     [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 | ||||
| fi | ||||
|  | ||||
| try_download_caliber () { | ||||
|     set -o pipefail | ||||
|     wget -t 5 -T 3 "$1" --no-check-certificate --output-document="$2" 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./' | \ | ||||
|     "${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| start_portwine | ||||
| if try_download_caliber "https://cdn.playcaliber.com/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download "https://caliber-files.gcdn.co/caliber-s3/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} CALIBER. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart VC_redist.x64.exe 3 & | ||||
|   | ||||
| @@ -5,13 +5,10 @@ export LAUNCH_PARAMETERS=("/silent" "/repair" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe" | ||||
| export PW_DLL_INSTALL=""               # Install DDL in port prefix (used winetricks)  | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 d3dcompiler_47" | ||||
| export PW_PREFIX_NAME="EA_APP" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| export PW_USE_D3D_EXTRAS=0 | ||||
| export WINEDLLOVERRIDES="winemenubuilder=d" | ||||
| # export PW_WINE_USE="WINE-8.8-STAGING-AMD64" | ||||
| # gui_proton_downloader silent "WINE-8.8-STAGING-AMD64" | ||||
| # export DISABLE_CP_DEFPFX=1 | ||||
| # export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64" | ||||
| # gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64" | ||||
|  | ||||
| start_portwine | ||||
| if try_download "origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -4,22 +4,18 @@ | ||||
| export LAUNCH_PARAMETERS=("/q" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| # sed -i '/Epic Games/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/*.reg >/dev/null | ||||
| try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | ||||
|  | ||||
| start_portwine | ||||
| if try_download "launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing Epic Games Launcher. ${loc_gui_please_wait} " | ||||
| #    pw_kill_autostart EpicGamesLauncher.exe & | ||||
|     # try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Epic Online Services/" | ||||
|     # try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Launcher/" | ||||
|     # try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Epic" | ||||
|     pw_run msiexec /i "${PW_AUTOINSTALL_EXE}" | ||||
| #     sleep 10 | ||||
| #     if [ ! -z `pgrep msiexec* | head -n 1` ] ; then | ||||
| #         while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] || [ ! -z `pgrep -a wrap | grep ${portname} | head -n 1` ] | ||||
| #         do | ||||
| #             [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe" | ||||
| #             sleep 5 | ||||
| #         done | ||||
| #     fi | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" | ||||
|     portwine_exe="${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Castro-Fidel (linux-gaming.ru) | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/q" ) | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export PW_PREFIX_NAME="GENSHIN_IMPACT" | ||||
|  | ||||
| start_portwine | ||||
|  | ||||
| @@ -11,6 +11,7 @@ if try_download "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_glob | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing Genshin Impact Launcher. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart launcher.exe & | ||||
|     export PATH_TO_GAME="${PW_USER_TEMP}" | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/Program Files/Genshin Impact/launcher.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -2,6 +2,9 @@ | ||||
| # Author: Castro Fidel | ||||
| ######################################################################## | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_PREFIX_NAME="GW2" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export PW_MUST_HAVE_DLL="" | ||||
|  | ||||
| start_portwine | ||||
| mkdir -p "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/" | ||||
| @@ -10,13 +13,13 @@ export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2S | ||||
| if try_download "https://s3.amazonaws.com/gw2cdn/client/branches/Gw2Setup-64.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "${loc_gui_installing_the} Guild Wars 2. ${loc_gui_please_wait} " | ||||
|     pw_kill_autostart Gw2-64.exe 3 & | ||||
|     cd "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/" | ||||
|     pw_kill_autostart Gw2.exe 3 & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2-64.exe" | ||||
|     portwine_exe="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2.exe" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|     kill_portwine | ||||
|     mv -f "${WINEPREFIX}/drive_c/users/steamuser/Temp/"* "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/" | ||||
|     pw_stop_progress_bar | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Guild Wars 2" | ||||
|     portwine_create_shortcut | ||||
|   | ||||
| @@ -8,31 +8,23 @@ try_download_lgc () { | ||||
|     set -o pipefail | ||||
|     wget -t 5 -T 3 "$1" --output-document="$2" 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./' | \ | ||||
|     "${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 | ||||
|     "${pw_yad_v12_3}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| start_portwine | ||||
| if [[ -f "$WINEPREFIX/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe" ]] ; then | ||||
|     if [[ ! -f "$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/api/wgc_api.exe" ]] ; then | ||||
|         try_remove_file "${HOME}/.local/share/applications/Wargaming Game Center.desktop" | ||||
|         try_remove_file "${PORT_WINE_PATH}/Wargaming Game Center.desktop" | ||||
|     fi | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Lesta Game Center" | ||||
|  | ||||
| if try_download_lgc "redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe"  "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Starting LGC installation..." | ||||
|     pw_kill_autostart lgc.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe="$WINEPREFIX/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe" | ||||
|     portwine_create_shortcut | ||||
| else | ||||
|     if try_download_lgc "redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe"  "${PW_AUTOINSTALL_EXE}" | ||||
|     then | ||||
|         pw_start_progress_bar_block "Starting LGC installation..." | ||||
|         pw_kill_autostart lgc.exe & | ||||
|         pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|         portwine_exe="$WINEPREFIX/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe" | ||||
|         export PORTWINE_CREATE_SHORTCUT_NAME="Lesta Game Center" | ||||
|         try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     export PORTWINE_CREATE_SHORTCUT_NAME="Lesta Game Center" | ||||
|     try_remove_file "${PW_AUTOINSTALL_EXE}" | ||||
|     try_remove_file "${portwine_exe}.ppdb" | ||||
|         kill_portwine | ||||
|         portwine_create_shortcut | ||||
|     fi | ||||
|     kill_portwine | ||||
|     portwine_create_shortcut | ||||
| fi | ||||
|  | ||||
| stop_portwine | ||||
|   | ||||
| @@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/live.na.exe" | ||||
| export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_WINE_USE=WINE_LOL_GE_7.0-8 | ||||
| export PW_WINE_USE=WINE_LOL_GE_8.12 | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
|  | ||||
|   | ||||
| @@ -1,11 +1,37 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export PW_PREFIX_NAME=DOTNET | ||||
| export LAUNCH_PARAMETERS=("/s" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/plarium_play_setup.exe" | ||||
| export PW_WINE_USE="WINE-PROTON-8.0-2-AMD64" | ||||
| gui_proton_downloader silent "WINE-PROTON-8.0-2-AMD64" | ||||
| export PW_WINDOWS_VER="7" | ||||
| export PW_DLL_INSTALL="" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_PREFIX_NAME="PLARIUM_PLAY" | ||||
| export PW_MANGOHUD="0" | ||||
| export PW_MANGOHUD_x32="0" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export ENABLE_VKBASALT="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_NO_FSYNC="1" | ||||
| export PW_USE_RAY_TRACING="0" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_USE_FAKE_DLSS="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| export PW_USE_GAMEMODE="0" | ||||
| export PW_DX12_DISABLE="1" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="0" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_USE_GSTREAMER="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="0" | ||||
| export PW_USE_WINE_DXGI="0" | ||||
| export PW_USE_EAC_AND_BE="0" | ||||
| export WINEDLLOVERRIDES="" | ||||
|  | ||||
| start_portwine | ||||
| if try_download "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -4,8 +4,8 @@ | ||||
| export LAUNCH_PARAMETERS=("") | ||||
| export PW_PREFIX_NAME="ROBLOX" | ||||
| export PW_AUTOINSTALL_EXE="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/roblox_installer.exe" | ||||
| # export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| # export DISABLE_CP_DEFPFX=1 | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64" | ||||
| gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64" | ||||
|   | ||||
| @@ -1,11 +1,13 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus (Sergey P.) | ||||
| ######################################################################## | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe" | ||||
| start_portwine | ||||
| if try_download "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| if try_download "https://dl-eu.opendataapi.net/lutris/games/GTA/rockstar-games-launcher-1-0-36-344.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|     pw_start_progress_bar_block "Rockstar-Games-Launcher. ${loc_gui_please_wait} " | ||||
|     try_remove_dir "$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher" | ||||
|     pw_kill_autostart RockstarService.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}" | ||||
|     portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Launcher.exe" | grep "Rockstar Games/Launcher/Launcher.exe"` | ||||
|   | ||||
| @@ -7,6 +7,7 @@ export PW_AUTOINSTALL_EXE="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dri | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_WINE_USE="WINE_8.5_LG" | ||||
| pw_clear_pfx | ||||
| gui_proton_downloader silent "WINE_8.5_LG" | ||||
|  | ||||
| start_portwine | ||||
|   | ||||
| @@ -9,7 +9,7 @@ try_download_wgc () { | ||||
|     set -o pipefail | ||||
|     wget -t 5 -T 3 "$1" --output-document="$2" 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./' | \ | ||||
|     "${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 | ||||
|     "${pw_yad_v12_3}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -6,20 +6,9 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe" | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_DLL_INSTALL="faudio dotnet48" | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_WINE_USE=GE-PROTON7-55 | ||||
| gui_proton_downloader silent "${PW_WINE_USE}" | ||||
|  | ||||
| if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then | ||||
|     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 | ||||
|             try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
|             UNPACK_STATUS=0 | ||||
|         else | ||||
|             try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
|             try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" | ||||
|         fi | ||||
|     fi | ||||
|     [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 | ||||
| fi | ||||
| start_portwine | ||||
| if try_download "165311.selcdn.ru/wosb_installer/wos_client.exe" "${PW_AUTOINSTALL_EXE}" | ||||
| then | ||||
|   | ||||
| @@ -19,7 +19,7 @@ if [[ $(id -u) = 0 ]] ; then | ||||
|     zenity --error --text "Do not run this script as root!" | ||||
|     exit 1 | ||||
| fi | ||||
| if [[ "${s_install}" != "1" && ! -x "`which "zenity" 2>/dev/null`" ]] ; then | ||||
| if [[ "${s_install}" != "1" && ! -x "`command -v "zenity" 2>/dev/null`" ]] ; then | ||||
|     echo "You will need to install: zenity, and restart the port." | ||||
|     xdg-open "https://linux-gaming.ru/portproton/" > /dev/null 2>&1 & exit 0 | ||||
| fi | ||||
| @@ -28,8 +28,9 @@ fi | ||||
| start_portwine () { | ||||
|     var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}" | ||||
|     export WINEPREFIX="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" | ||||
|     create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" | ||||
|     try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|     try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${WINEPREFIX}/drive_c/" | ||||
|     export WINEARCH="win64" | ||||
|     if [[ "${PW_VULKAN_USE}" == 3 ]] ; then  | ||||
|         export PW_WINE_USE="${PW_PROTON_LG_VER}" | ||||
| @@ -61,13 +62,14 @@ start_portwine () { | ||||
|  | ||||
|     pw_init_runtime | ||||
|  | ||||
|     if [[ ! -z "${PW_LOG}" && "${PW_LOG}" != 0 ]] ; then | ||||
|     if [[ "${PW_LOG}" == 1 ]] ; then | ||||
|         export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg" | ||||
|         export DXVK_LOG_LEVEL="warn" | ||||
|         export VKD3D_DEBUG="warn" | ||||
|         export WINE_MONO_TRACE="E:System.NotImplementedException" | ||||
|         export VK_LOADER_DEBUG="warn" | ||||
|         export VKBASALT_LOG_LEVEL="warn" | ||||
|         export DXVK_NVAPI_LOG_LEVEL=warn | ||||
|     else | ||||
|         export WINEDEBUG="-all" | ||||
|         export DXVK_LOG_LEVEL="none" | ||||
| @@ -75,17 +77,15 @@ start_portwine () { | ||||
|         export VKD3D_DEBUG="none" | ||||
|         export DXVK_LOG_PATH="none" | ||||
|         export VKBASALT_LOG_LEVEL="none" | ||||
|         export DXVK_NVAPI_LOG_LEVEL=none | ||||
|     fi | ||||
|  | ||||
|     #default wine-mono override for FNA games | ||||
|     export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n" | ||||
|  | ||||
|     if [[ ! -z "${PW_NO_ESYNC}" && "${PW_NO_ESYNC}" != 0 ]] ; then | ||||
|         export WINEESYNC="0" | ||||
|     else  | ||||
|         export WINEESYNC="1" | ||||
|     if [[ "${PW_NO_ESYNC}" == 1 ]] | ||||
|     then export WINEESYNC="0" | ||||
|     else export WINEESYNC="1" | ||||
|     fi | ||||
|     if [[ ! -z "${PW_NO_FSYNC}" && "${PW_NO_FSYNC}" != 0 ]] ; then | ||||
|  | ||||
|     if [[ "${PW_NO_FSYNC}" == 1 ]] ; then | ||||
|         export WINEFSYNC="0" | ||||
|         export WINEFSYNC_FUTEX2="0" | ||||
|     else | ||||
| @@ -93,18 +93,22 @@ start_portwine () { | ||||
|         export WINEFSYNC_FUTEX2="1" | ||||
|         export WINEFSYNC_SPINCOUNT=100 | ||||
|     fi | ||||
|     if [[ ! -z "${PW_FORCE_LARGE_ADDRESS_AWARE}" && "${PW_FORCE_LARGE_ADDRESS_AWARE}" != 0 ]] | ||||
|  | ||||
|     if [[ "${PW_FORCE_LARGE_ADDRESS_AWARE}" == 1 ]] | ||||
|     then export WINE_LARGE_ADDRESS_AWARE="1" | ||||
|     else export WINE_LARGE_ADDRESS_AWARE="0" | ||||
|     fi | ||||
|     if [[ ! -z "${PW_OLD_GL_STRING}" && "${PW_OLD_GL_STRING}" != 0 ]] ; then | ||||
|  | ||||
|     if [[ "${PW_OLD_GL_STRING}" == 1 ]] ; then | ||||
|         export MESA_EXTENSION_MAX_YEAR="2003" #mesa override | ||||
|         export __GL_ExtensionStringVersion="17700" #nvidia override | ||||
|     fi | ||||
|     if [[ ! -z "${PW_NO_WRITE_WATCH}" && "${PW_NO_WRITE_WATCH}" != 0 ]] ; then | ||||
|  | ||||
|     if [[ "${PW_NO_WRITE_WATCH}" == 1 ]] ; then | ||||
|         export WINE_DISABLE_WRITE_WATCH="1" | ||||
|     fi | ||||
|     if [[ ! -z "${PW_VULKAN_NO_ASYNC}" && "${PW_VULKAN_NO_ASYNC}" != 0 ]] ; then | ||||
|  | ||||
|     if [[ "${PW_VULKAN_NO_ASYNC}" == 1 ]] ; then | ||||
|         export RADV_DEBUG="llvm" | ||||
|         var_vkd3d_config_update single_queue | ||||
|     fi | ||||
| @@ -120,64 +124,86 @@ start_portwine () { | ||||
|         fi | ||||
|     } | ||||
|  | ||||
|     if ! try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/" ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/" | ||||
|     if ! try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|     fi | ||||
|     if ! try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/" ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"  | ||||
|     if ! try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"  | ||||
|     fi | ||||
|     try_force_link_file "${PW_PLUGINS_PATH}"/nvml/lib/wine/nvml.dll.so "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/nvml.dll" | ||||
|     try_force_link_file "${PW_PLUGINS_PATH}"/nvml/lib64/wine/nvml.dll.so "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/nvml.dll" | ||||
|  | ||||
|     if [[ ! -z "${PW_USE_FAKE_DLSS}" && "${PW_USE_FAKE_DLSS}" == 1 && -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] | ||||
|     then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"  | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/nvml.dll" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvml.dll" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" | ||||
|     try_remove_file "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll" | ||||
|     if [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"  | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         enabled_fake_nvidia_videocard 1 | ||||
|         var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=" | ||||
|         export DXVK_ENABLE_NVAPI=1 | ||||
|         export WINE_HIDE_NVIDIA_GPU=0 | ||||
|     elif [[ ! -z "${PW_USE_NVAPI_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] && [[ -d "${WINEDIR}/lib/wine/nvapi/" ]] | ||||
|     then | ||||
|         try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/nvngx.ini" | ||||
|         if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/nvngx.dll" || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/_nvngx.dll" ]] ; then | ||||
|             try_copy_file `find /usr/* -type f -name "nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/" | ||||
|             try_copy_file `find /usr/* -type f -name "_nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"        | ||||
|         export VKD3D_FEATURE_LEVEL="12_2" | ||||
|         # export DXVK_NVAPI_DRIVER_VERSION= | ||||
|     elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then | ||||
|         if ! try_copy_file `find /usr/* -type f -name "nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         then try_copy_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         fi | ||||
|         enabled_fake_nvidia_videocard 1 | ||||
|         if ! try_copy_file `find /usr/* -type f -name "_nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${WINEPREFIX}/drive_c/windows/system32/"        | ||||
|         then try_copy_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         fi  | ||||
|         enabled_fake_nvidia_videocard 0 | ||||
|         export DXVK_ENABLE_NVAPI=1 | ||||
|         export WINE_HIDE_NVIDIA_GPU=0 | ||||
|         export VKD3D_FEATURE_LEVEL="12_2" | ||||
|         # export DXVK_NVAPI_DRIVER_VERSION= | ||||
|         var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n" | ||||
|     else | ||||
|         enabled_fake_nvidia_videocard 0 | ||||
|         export DXVK_ENABLE_NVAPI=0 | ||||
|         export WINE_HIDE_NVIDIA_GPU=1 | ||||
|         var_winedlloverride_update "nvngx,_nvngx=" | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -z "${PW_PRIME_RENDER_OFFLOAD}" && "${PW_PRIME_RENDER_OFFLOAD}" != 0 ]] ; then | ||||
|         export __NV_PRIME_RENDER_OFFLOAD=1 | ||||
|         check_nvidia_vk_icd_file | ||||
|     grep '"renderer"=' "${WINEPREFIX}/user.reg" &>/dev/null | ||||
|     if [[ "$?" == 0 ]] ; then | ||||
|         sed -i /'"renderer"='/d "${WINEPREFIX}/user.reg" &>/dev/null | ||||
|         sed -i /'renderer='/d "${WINEPREFIX}/winetricks.log" &>/dev/null | ||||
|     fi | ||||
|     if [[ ! -z "${PW_HEAP_DELAY_FREE}" && "${PW_HEAP_DELAY_FREE}" != 0 ]] | ||||
|  | ||||
|     if [[ ! -z "${optirun_on}" && "${optirun_on}" != "" ]] ; then | ||||
|         export PW_PRIME_RENDER_OFFLOAD=1 | ||||
|         print_info "force PW_PRIME_RENDER_OFFLOAD=1" | ||||
|     fi | ||||
|  | ||||
|     if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then | ||||
|         export __NV_PRIME_RENDER_OFFLOAD=1 | ||||
|         export __GLX_VENDOR_LIBRARY_NAME=nvidia | ||||
|     fi | ||||
|  | ||||
|     if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]] | ||||
|     then export WINE_HEAP_DELAY_FREE="1" | ||||
|     else export WINE_HEAP_DELAY_FREE="0" | ||||
|     fi | ||||
|     if [[ ! -z "${PW_WINE_ALLOW_XIM}" && "${PW_WINE_ALLOW_XIM}" != 0 ]] | ||||
|  | ||||
|     if [[ "${PW_WINE_ALLOW_XIM}" == 1 ]] | ||||
|     then export WINE_ALLOW_XIM="1" | ||||
|     else export WINE_ALLOW_XIM="0" | ||||
|     fi | ||||
|     if [[ ! -z "${PW_FIX_VIDEO_IN_GAME}" && "${PW_FIX_VIDEO_IN_GAME}" != 0 ]] | ||||
|  | ||||
|     if [[ "${PW_FIX_VIDEO_IN_GAME}" == 1 ]] | ||||
|     then export WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER="1" | ||||
|     else export WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER="0" | ||||
|     fi | ||||
|      | ||||
|     [[ ! -z "${PW_MANGOHUD_USER_CONF}" && "${PW_MANGOHUD_USER_CONF}" != 0 ]] && unset MANGOHUD_CONFIG | ||||
|     [[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG | ||||
|  | ||||
|     if [[ "${PW_USE_DXR11}" == 1 ]] || [[ "${PW_USE_DXR10}" == 1 ]] || [[ "${PW_USE_RAY_TRACING}" == 1 ]]; then | ||||
|         var_vkd3d_config_update dxr11 | ||||
|         var_vkd3d_config_update dxr,dxr11 | ||||
|         var_radv_perftest_config_update rt | ||||
|         export VKD3D_FEATURE_LEVEL="12_1" | ||||
|         export DXVK_ENABLE_NVAPI=1 | ||||
|         export VKD3D_FEATURE_LEVEL="12_2" | ||||
|         export WINE_HIDE_NVIDIA_GPU=0 | ||||
|         export DXVK_ENABLE_NVAPI=1 | ||||
|     fi | ||||
|     export optirun_on="" | ||||
|  | ||||
|     case "$PW_FORCE_USE_VSYNC" in  # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
|         "0") | ||||
| @@ -192,13 +218,13 @@ start_portwine () { | ||||
|         killall xneur | ||||
|         export int_xneur=1 | ||||
|     fi | ||||
|     if [[ ! -z "${PW_XKBD_RU_HACK}" && "${PW_XKBD_RU_HACK}" == 1 ]] ; then | ||||
|     if [[ "${PW_XKBD_RU_HACK}" == 1 ]] ; then | ||||
|         export PW_XKBD="$(setxkbmap -query | grep -w ru | awk '{print($2)}')" | ||||
|         if [ ! -z ${PW_XKBD} ]; then | ||||
|             setxkbmap us,ru | ||||
|         fi | ||||
|     fi | ||||
|     if [[ -x "`which "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then | ||||
|     if [[ -x "`command -v "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then | ||||
|         export GAMEMODERUN=1 | ||||
|         PW_GAMEMODERUN_SLR="gamemoderun" | ||||
|         # if [[ ! -z "${PW_LD_PRELOAD}" ]] | ||||
| @@ -206,7 +232,7 @@ start_portwine () { | ||||
|         # else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}" | ||||
|         # fi | ||||
|         systemctl enable --now --user gamemoded &>/dev/null | ||||
|         echo "Gamemod will be launched." | ||||
|         print_info "Gamemod will be launched." | ||||
|     else | ||||
|         export GAMEMODERUN=0 | ||||
|         echo "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE" | ||||
| @@ -214,32 +240,32 @@ start_portwine () { | ||||
|     pw_other_fixes | ||||
|  | ||||
|     check_dirs_and_files_in_pfx () { | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c" | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices" | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/" | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/" | ||||
|         [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" | ||||
|         [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:" ] && try_force_link_dir "/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:" | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/" | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"arial.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"arialbd.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"times.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"cour.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Bold.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"courbd.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"msyh.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"msyh.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"malgun.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"malgun.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"micross.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"micross.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"nirmala.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"nirmala.ttf | ||||
|         create_new_dir "${WINEPREFIX}" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c" | ||||
|         create_new_dir "${WINEPREFIX}/dosdevices" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" | ||||
|         [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/" | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"courbd.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"msyh.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"malgun.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"malgun.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"micross.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"micross.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"nirmala.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"nirmala.ttf | ||||
|  | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"simsun.ttc "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"simsun.ttc | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"msgothic.ttc "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"msgothic.ttc | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"simsun.ttc "${WINEPREFIX}/drive_c/windows/Fonts/"simsun.ttc | ||||
|         try_force_link_file "${WINEDIR}/share/fonts/"msgothic.ttc "${WINEPREFIX}/drive_c/windows/Fonts/"msgothic.ttc | ||||
|          | ||||
|         try_force_link_file "${WINEDIR}/share/wine/fonts/"tahoma.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"tahoma.ttf | ||||
|         try_force_link_file "${WINEDIR}/share/wine/fonts/"tahoma.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"tahoma.ttf | ||||
|     } | ||||
|  | ||||
|     PROGPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/progpfx${PROGPFX_VER}/progpfx${PROGPFX_VER}.tar.xz" | ||||
|     if [[ "${PW_PREFIX_NAME}" == "PROGRAMS" && ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/.progpfx ]] ; then | ||||
|     if [[ "${PW_PREFIX_NAME}" == "PROGRAMS" && ! -f "${WINEPREFIX}"/.progpfx ]] ; then | ||||
|         print_info "Download and install PROGRAMS pfx..." | ||||
|         if try_download "${PROGPFX_URL}" "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" ; then | ||||
|             unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/" | ||||
| @@ -251,7 +277,7 @@ start_portwine () { | ||||
|     fi | ||||
|          | ||||
|     DOTPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/dotpfx${DOTPFX_VER}/dotpfx${DOTPFX_VER}.tar.xz" | ||||
|     if [[ "${PW_PREFIX_NAME}" == "DOTNET" && ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/.dotnet48 ]] ; then | ||||
|     if [[ "${PW_PREFIX_NAME}" == "DOTNET" && ! -f "${WINEPREFIX}"/.dotnet48 ]] ; then | ||||
|         print_info "Download and install DOTNET pfx..." | ||||
|         if try_download "${DOTPFX_URL}" "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" ; then | ||||
|             unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/" | ||||
| @@ -264,9 +290,11 @@ start_portwine () { | ||||
|      | ||||
|     pw_update_pfx_cover_gui | ||||
|  | ||||
|     if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" || ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/windows || \ | ||||
|     ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/userdef.reg || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/system.reg || \ | ||||
|     ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/user.reg ]] | ||||
|     if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" \ | ||||
|     || ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/windows \ | ||||
|     || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/userdef.reg \ | ||||
|     || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/system.reg \ | ||||
|     || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/user.reg ]] | ||||
|     then | ||||
|         pw_clear_pfx | ||||
|         check_dirs_and_files_in_pfx | ||||
| @@ -276,22 +304,33 @@ start_portwine () { | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" | ||||
|         wait_wineserver && | ||||
|         echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | ||||
|     elif [[ -z "`cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | grep ${PW_WINE_USE}`" || ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices" ]] ; then  | ||||
|     elif [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" ]] \ | ||||
|         || [[ -z "`cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | grep ${PW_WINE_USE}`" ]] \ | ||||
|         || [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices" ]] ; then  | ||||
|         check_dirs_and_files_in_pfx | ||||
|         ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" | ||||
|         wait_wineserver && | ||||
|         echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | ||||
|     fi | ||||
|     [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" | ||||
|     [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" | ||||
|     [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:" ] && try_force_link_dir "/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:" | ||||
|     create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser" | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}" ]; then | ||||
| 	    try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser" | ||||
|     if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then | ||||
| 	    try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}" | ||||
|     fi | ||||
|     create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Documents/Steam" | ||||
|     create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Documents/Steam" | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/My Documents" ] | ||||
|     then try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Documents" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/My Documents" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam" | ||||
|     if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ] | ||||
|     then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents" | ||||
|     fi | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming" | ||||
|     if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Application Data" ] | ||||
|     then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming" "${WINEPREFIX}/drive_c/users/steamuser/Application Data" | ||||
|     fi | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local" | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings" | ||||
|     if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data" ] | ||||
|     then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local" "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data" | ||||
|     fi | ||||
|     #enabled BattleEye_Runtime and EasyAntiCheat_Runtime | ||||
|     if [[ "${PW_USE_EAC_AND_BE}" == 1 ]] ; then | ||||
| @@ -301,43 +340,45 @@ start_portwine () { | ||||
|     else | ||||
|         unset PROTON_BATTLEYE_RUNTIME PROTON_EAC_RUNTIME | ||||
|     fi | ||||
|     #try link d3d extras libs | ||||
|     if  [[ -d "${PW_PLUGINS_PATH}/d3d_extras" ]] | ||||
|     then PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras" | ||||
|     else PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras" | ||||
|     fi | ||||
|     if [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then | ||||
|         echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|     fi | ||||
|     for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \ | ||||
|     d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \ | ||||
|     d3dcompiler_47 d3dx10_33 d3dx10_34 d3dx10_35 d3dx10_36 d3dx10_37 d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 \ | ||||
|     d3dx10_42 d3dx10_43 d3dx10 d3dx11_42 d3dx11_43 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30 \ | ||||
|     d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43 | ||||
|     do | ||||
|         if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/" | ||||
|  | ||||
|  | ||||
|     if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then | ||||
|         if [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then | ||||
|             echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|         fi | ||||
|         if  [[ -d "${PW_PLUGINS_PATH}/d3d_extras" ]] | ||||
|         then PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras" | ||||
|         else PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras" | ||||
|         fi | ||||
|         #try link d3d extras libs | ||||
|         for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \ | ||||
|         d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \ | ||||
|         d3dcompiler_47 d3dx10_33 d3dx10_34 d3dx10_35 d3dx10_36 d3dx10_37 d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 \ | ||||
|         d3dx10_42 d3dx10_43 d3dx10 d3dx11_42 d3dx11_43 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30 \ | ||||
|         d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43 | ||||
|         do | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             var_winedlloverride_update "${d3d_extras_from_plugins}=n" | ||||
|         fi | ||||
|         if [[ -z "`grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then | ||||
|             echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|         fi | ||||
|     done | ||||
|     echo "Try link wine DXGI by default..." | ||||
|     if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll" | ||||
|     then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll" | ||||
|             if [[ -z "`grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then | ||||
|                 echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
|     if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll" | ||||
|     then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll" | ||||
|     print_info "Try link wine DXGI by default..." | ||||
|     if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/dxgi.dll" | ||||
|     then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/dxgi.dll" | ||||
|     fi | ||||
|     echo "Try link wine d3d filese by default..." | ||||
|     for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do | ||||
|         if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll" | ||||
|         then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll" | ||||
|     if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll" | ||||
|     then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll" | ||||
|     fi | ||||
|     print_info "Try link wine d3d filese by default..." | ||||
|     for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi ; do | ||||
|         if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll" | ||||
|         then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll" | ||||
|         fi | ||||
|         if ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll" | ||||
|         then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll" | ||||
|         if ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_build_dll}.dll" | ||||
|         then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_build_dll}.dll" | ||||
|         fi | ||||
|     done | ||||
|  | ||||
| @@ -346,16 +387,16 @@ start_portwine () { | ||||
|     PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl" | ||||
|      | ||||
|     if [[ "${PW_VULKAN_USE}" == "0" ]] ; then | ||||
|         echo "Use OpenGL" | ||||
|         print_info "Use OpenGL" | ||||
|         export GL_YIELD="NOTHING" | ||||
|         export mesa_glthread=true | ||||
|         var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12,d3d12core=" | ||||
|         var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core=" | ||||
|     elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then | ||||
|         echo "Use GALLIUM-NINE (Native DX9 on MESA drivers)" | ||||
|         print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" | ||||
|         export PW_GALLIUM_NINE_VER="0.8" | ||||
|         export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}" | ||||
|         try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/d3d9.dll" | ||||
|         try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/d3d9.dll" | ||||
|         try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll" | ||||
|         try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll" | ||||
|         var_winedlloverride_update "d3d9=n;wined3d=b;dxvk_config,vulkan-1,winevulkan=" | ||||
|         unset FIND_D3D_MODULE D3D_MODULE_PATH | ||||
|         FIND_D3D_MODULE=`dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null`  | ||||
| @@ -380,63 +421,71 @@ start_portwine () { | ||||
|         export ENABLE_VKBASALT=0 | ||||
|         export PW_MANGOHUD=0 | ||||
|         export WINE_FULLSCREEN_FSR=0 | ||||
|     elif [[ "${PW_VULKAN_USE}" == "4" ]] ; then | ||||
|         print_info "Use DAMAVAND (DirectX to wined3d vulkan)" | ||||
|         export WINE_D3D_CONFIG='renderer=vulkan' | ||||
|     else | ||||
|         echo "Use VKD3D-PROTON and DXVK (DX 9-12 to vulkan)" | ||||
|         print_info "Use VKD3D-PROTON, DXVK and D8VK (DirectX to vulkan)" | ||||
|         if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then  | ||||
|             export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config openvr_api_dxvk"   | ||||
|             var_winedlloverride_update dxgi=b | ||||
|         elif [[ "${USE_ALL_DXVK_DLLS}" == 1 ]] ; then  | ||||
|             export CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config openvr_api_dxvk"  | ||||
|         else | ||||
|             export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config openvr_api_dxvk"  | ||||
|         fi | ||||
|  | ||||
|         if [[ "${PW_VULKAN_USE}" == "1" ]] ; then | ||||
|             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" | ||||
|             PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" | ||||
|             echo "DXVK v.${DXVK_STABLE_VER} in use" | ||||
|             echo "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" | ||||
|             print_info "DXVK v.${DXVK_STABLE_VER} in use" | ||||
|             print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" | ||||
|         elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then | ||||
|             PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" | ||||
|             PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" | ||||
|             echo "DXVK v.${DXVK_GIT_VER} in use" | ||||
|             echo "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" | ||||
|             print_info "DXVK v.${DXVK_GIT_VER} in use" | ||||
|             print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" | ||||
|         fi | ||||
|         PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" | ||||
|         print_info "D8VK v.${D8VK_VER} in use" | ||||
|  | ||||
|         echo "Try link native DXVK files..." | ||||
|         print_info "Try link native DXVK files..." | ||||
|         for wine_dxvk_dll in ${CP_DXVK_FILES} ; do | ||||
|             try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll" | ||||
|             try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_dxvk_dll}.dll" | ||||
|             try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll" | ||||
|             try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" | ||||
|             [[ "$?" == 0 ]] && var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|         done | ||||
|  | ||||
|         echo "Try link native VKD3D files..." | ||||
|         for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-shader-1 libvkd3d-1 | ||||
|         do | ||||
|             try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll" | ||||
|             try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" | ||||
|         print_info "Try link native VKD3D files..." | ||||
|         for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-shader-1 libvkd3d-proton-utils-3 libvkd3d-1 ; do | ||||
|             if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll" | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" | ||||
|             else | ||||
|                 try_force_link_file "${WINEDIR}/lib/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll" | ||||
|                 try_force_link_file "${WINEDIR}/lib64/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" | ||||
|             fi | ||||
|         done | ||||
|  | ||||
|         print_info "Try link native D8VK file..." | ||||
|         try_force_link_file "${PATH_TO_D8VK_FILES}/x32/d3d8.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d8.dll" | ||||
|         var_winedlloverride_update d3d8=n | ||||
|     fi | ||||
|       | ||||
|     if [[ "${PW_DX12_DISABLE}" == 1 ]]   | ||||
|     then var_winedlloverride_update "d3d12,d3d12core,libvkd3d-shader-1,libvkd3d-1=" | ||||
|     else var_winedlloverride_update "d3d12,d3d12core,libvkd3d-shader-1,libvkd3d-1=n" | ||||
|     then var_winedlloverride_update "d3d12,d3d12core,libvkd3d-1=" | ||||
|     else var_winedlloverride_update "d3d12,d3d12core,libvkd3d-1=n" | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin" ]] ; then | ||||
|         create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin" | ||||
|         if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/vrclient.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient.dll" | ||||
|         then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient.dll" | ||||
|     if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then | ||||
|         create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" | ||||
|         if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll" | ||||
|         then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll" | ||||
|         fi | ||||
|         if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/vrclient_x64.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient_x64.dll" | ||||
|         then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient_x64.dll" | ||||
|         if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient_x64.dll" | ||||
|         then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient_x64.dll" | ||||
|         fi | ||||
|     fi | ||||
|   | ||||
|     try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache" | ||||
|     try_remove_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache" | ||||
|     try_remove_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" | ||||
|     try_remove_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache" | ||||
|   | ||||
|     if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then | ||||
|         create_new_dir "${PATH_TO_DXVK_FILES}/gl_shader_cache" | ||||
|         export __GL_SHADER_DISK_CACHE=1 | ||||
| @@ -464,12 +513,22 @@ start_portwine () { | ||||
|         unset WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING | ||||
|     fi | ||||
|  | ||||
|     for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" ; do | ||||
|         if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" | ||||
|         then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" | ||||
|     if [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then | ||||
|         export WINE_CPU_TOPOLOGY="${PW_WINE_CPU_TOPOLOGY}" | ||||
|     else | ||||
|         unset WINE_CPU_TOPOLOGY | ||||
|     fi | ||||
|  | ||||
|     for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" "amd_ags_x64.dll" "ir50_32.dll" ; do | ||||
|         if try_copy_file "${WINEDIR}/lib/wine/i386-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"  | ||||
|         then print_info "Try copy $try_cp_dll_from_wine to syswow64... OK." | ||||
|         elif ! try_copy_file "${WINEDIR}/lib/wine/fakedlls/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" | ||||
|         then try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" | ||||
|         fi | ||||
|         if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${try_cp_dll_from_wine}" | ||||
|         then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${try_cp_dll_from_wine}" | ||||
|         if try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}" | ||||
|         then print_info "Try copy $try_cp_dll_from_wine to system32... OK." | ||||
|         elif ! try_copy_file "${WINEDIR}/lib64/wine/fakedlls/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}" | ||||
|         then try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}" | ||||
|         fi | ||||
|     done | ||||
|  | ||||
| @@ -477,6 +536,7 @@ start_portwine () { | ||||
|     if [[ ! -z "${PW_MUST_HAVE_DLL}" ]] | ||||
|     then export PW_DLL_INSTALL="`echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' `" | ||||
|     fi | ||||
|  | ||||
|     if [[ ! -z "${PW_DLL_INSTALL}" ]] ; then | ||||
|         export PW_DLL_NEED_INSTALL="" | ||||
|         export USE_WT_FROM_DB=0 | ||||
| @@ -492,7 +552,7 @@ start_portwine () { | ||||
|                 sed -i '/vcrun2015/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|                 sed -i '/vcrun2017/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|             fi | ||||
|             grep "${need_install_dll_to_pfx}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|             grep "${need_install_dll_to_pfx}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null | ||||
|             if [[ "$?" == "1" ]] ; then | ||||
|                 if [[ -z "${PW_DLL_NEED_INSTALL}" ]] | ||||
|                 then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}" | ||||
| @@ -512,7 +572,8 @@ start_portwine () { | ||||
|             kill_portwine | ||||
|         fi | ||||
|     fi | ||||
|     if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then | ||||
|  | ||||
|     if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `grep "Windows $PW_WINDOWS_VER" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg"` ]] ; then | ||||
|         if [[ ! -z "${PW_WINDOWS_VER}" && `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ]] ; then | ||||
|             export PW_WINDOWS_VER="xp64" | ||||
|         fi | ||||
| @@ -522,20 +583,22 @@ start_portwine () { | ||||
|         kill_portwine | ||||
|         echo "Set to win${PW_WINDOWS_VER}" | ||||
|     fi | ||||
|  | ||||
|     if [[ "${portwine_exe}" == *-Shipping.exe ]] ; then  | ||||
|         echo "Disable EAC" | ||||
|         [[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+=" -eac-nop-loaded " | ||||
|     fi | ||||
|  | ||||
|     sleep 1 | ||||
|     pw_stop_progress_bar && | ||||
|     pw_tray_icon && | ||||
|  | ||||
|     if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then | ||||
|         pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif" | ||||
|     fi | ||||
|     if [[ "${PW_PREFIX_NAME}" == "DOTNET" ]] && [[ "${PW_VULKAN_USE}" == "1" || "${PW_VULKAN_USE}" == "2" ]] ; then | ||||
|         var_winedlloverride_update "libglesv2=" | ||||
|     fi | ||||
|  | ||||
|     add_in_start_portwine | ||||
|  | ||||
|     if [[ -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then | ||||
|         export DXVK_CONFIG_FILE="${PATH_TO_GAME}/dxvk.conf" | ||||
|     fi | ||||
| @@ -544,7 +607,6 @@ start_portwine () { | ||||
| pw_run () { | ||||
|     unset GDK_BACKEND | ||||
|     if [[ -n "${PATH_TO_GAME}" ]] ; then | ||||
|         echo "cd to ${PATH_TO_GAME}" | ||||
|         cd "${PATH_TO_GAME}" | ||||
|     else | ||||
|         cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c" | ||||
| @@ -553,12 +615,14 @@ pw_run () { | ||||
|     pw_vkbasalt_check | ||||
|     PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" | ||||
|     print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" \ | ||||
|     "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" "WINEDLLPATH" | ||||
|     "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" "WINEDLLPATH" "WINE_CPU_TOPOLOGY" | ||||
|     if [[ "${PW_LOG}" == 1 ]] ; then | ||||
|         echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" | ||||
|         echo "------------------------------------" >> "${PW_LOG_TO_FILE}" | ||||
|         echo "Log WINE:" >> "${PW_LOG_TO_FILE}" | ||||
|         ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \ | ||||
|         echo "" | ||||
|         print_debug "Log from RUNTIME and WINE:" | ||||
|         env ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \ | ||||
|         env ${PW_MANGOHUD_SLR} \ | ||||
|         PATH="${PATH}" \ | ||||
|         LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ | ||||
| @@ -571,7 +635,9 @@ pw_run () { | ||||
|             export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" | ||||
|             pw_init_runtime | ||||
|         fi | ||||
|         ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \ | ||||
|         echo "" | ||||
|         print_debug "Log from RUNTIME and WINE:" | ||||
|         env ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \ | ||||
|         env ${PW_MANGOHUD_SLR} \ | ||||
|         PATH="${PATH}" \ | ||||
|         LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ | ||||
| @@ -600,7 +666,7 @@ fi | ||||
| unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD | ||||
| unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB | ||||
| unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME | ||||
| unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD  | ||||
| unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY | ||||
| unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48 | ||||
|  | ||||
| export portname=PortProton | ||||
|   | ||||
| @@ -53,7 +53,11 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then | ||||
| 				ln -s "${PW_OLD_PATH}/PortProton" "${XDG_DATA_HOME}/PortWINE" | ||||
| 			fi | ||||
| 		fi | ||||
| 		ln -s "${XDG_DATA_HOME}/PortWINE" "${HOME}/" | ||||
| 		if [ ! -L "${HOME}/PortWINE" ]; then | ||||
| 		    ln -s "${XDG_DATA_HOME}/PortWINE" "${HOME}/" | ||||
| 		else | ||||
| 		    echo "Symbolic link already exists." | ||||
| 		fi | ||||
| 		echo "Restarting PP after installing..." | ||||
| 		/usr/bin/env bash -c "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" $@ &  | ||||
| 		exit 0 | ||||
| @@ -62,6 +66,6 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then | ||||
| 	fi | ||||
| else | ||||
| 	`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1 | ||||
| 	xdg-open "https://linux-gaming.ru/portproton/" > /dev/null 2>&1 & exit 0 | ||||
| 	 xdg-open "https://linux-gaming.ru/portproton/" > /dev/null 2>&1 & exit 0 | ||||
| fi | ||||
| unset INSTALLING_PORT | ||||
| @@ -8,7 +8,7 @@ if [ -f "$1" ]; then | ||||
| fi | ||||
| . "$(dirname $(readlink -f "$0"))/runlib" | ||||
| kill_portwine | ||||
| killall -15 yad_new 2>/dev/null | ||||
| killall -15 yad_v12_3 2>/dev/null | ||||
| kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null | ||||
|  | ||||
| if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then | ||||
| @@ -25,8 +25,8 @@ if [[ -f "${PORT_WINE_TMP_PATH}/tmp_main_gui_size" ]] && [[ -n "$(cat ${PORT_WIN | ||||
|     export PW_MAIN_SIZE_W="$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size | awk '{print $1}')" | ||||
|     export PW_MAIN_SIZE_H="$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size | awk '{print $2}')" | ||||
| else | ||||
|     export PW_MAIN_SIZE_W="1200" | ||||
|     export PW_MAIN_SIZE_H="350" | ||||
|     export PW_MAIN_SIZE_W="1100" | ||||
|     export PW_MAIN_SIZE_H="300" | ||||
| fi     | ||||
|  | ||||
| if [[ -n $(basename "${portwine_exe}" | grep .ppack) ]] ; then | ||||
| @@ -123,7 +123,7 @@ portwine_start_debug () { | ||||
|     echo "$PORT_WINE_PATH" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Operating system" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     lsb_release -d | sed s/Description/ОС/g >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+' >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Desktop environment:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Desktop session: ${DESKTOP_SESSION}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -142,20 +142,20 @@ portwine_start_debug () { | ||||
|     echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo 'lspci -k | grep -EA3 VGA|3D|Display:' >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo $(lspci -k | grep -EA3 'VGA|3D|Display') >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     [[ `which glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     [[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo " " >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     [[ `which vulkaninfo` ]] && vulkaninfo | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     [[ `command -v vulkaninfo` ]] && vulkaninfo | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "${PW_WINELIB}/portable/bin/vkcube" --c 50 | ||||
|     if [ $? -eq 0 ]; then | ||||
|         echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     else | ||||
|         echo "Vkcube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     fi | ||||
|     if [ ! -x "$(which gamemoderun 2>/dev/null)" ] | ||||
|     if [ ! -x "$(command -v gamemoderun 2>/dev/null)" ] | ||||
|     then | ||||
|         echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|         echo "!!!gamemod not found!!!"  >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -188,7 +188,7 @@ portwine_start_debug () { | ||||
|     sleep 3 | ||||
|     pw_stop_progress_bar_cover | ||||
|     unset PW_TIMER | ||||
|     while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}') ]] ; do | ||||
|     while read -r line || [[ -n $(pgrep -a yad | grep "yad_v12_3 --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}') ]] ; do | ||||
|             sleep 0.005 | ||||
|             if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \ | ||||
|                                     && [[ -z "$(echo "${line}" | grep -i "ntlm")" ]] | ||||
| @@ -199,8 +199,8 @@ portwine_start_debug () { | ||||
|                 sleep 3 | ||||
|                 PW_TIMER=1 | ||||
|             fi | ||||
|     done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_new}" --text-info --tail --button="STOP":0 --title="DEBUG" \ | ||||
|     --skip-taskbar --center --width=800 --height=400 --text "${port_debug}" && | ||||
|     done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_v12_3}" --text-info --tail --button="STOP":0 --title="DEBUG" \ | ||||
|     --skip-taskbar --width=800 --height=400 --text "${port_debug}" 2>/dev/null && | ||||
|     kill_portwine | ||||
| #    sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine | ||||
|     sed -i '/.fx$/d' "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -210,8 +210,8 @@ portwine_start_debug () { | ||||
|     sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log" | ||||
|     deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log"  | awk '! a[$0]++')  | ||||
|     echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "$pw_yad" --title="${portname}.log" --borders=7 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --center --width=1200 --height=550  --uri-color=red \ | ||||
|     "$pw_yad" --title="${portname}.log" --borders=3 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --width=1200 --height=550  --uri-color=red \ | ||||
|     --filename="${PORT_WINE_PATH}/${portname}.log" | ||||
|     stop_portwine | ||||
| } | ||||
| @@ -290,20 +290,20 @@ pw_prefix_manager () { | ||||
|         pw_stop_progress_bar | ||||
|  | ||||
|         KEY_EDIT_MANAGER_GUI=$RANDOM | ||||
|         "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \ | ||||
|         "${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \ | ||||
|         --text="Select components to install in prefix: <b>\"${PW_PREFIX_NAME}\"</b>, using wine: <b>\"${PW_WINE_USE}\"</b>" \ | ||||
|         --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & | ||||
|         --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null & | ||||
|  | ||||
|         "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \ | ||||
|         "${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \ | ||||
|         --text="Select fonts to install in prefix: <b>\"${PW_PREFIX_NAME}\"</b>, using wine: <b>\"${PW_WINE_USE}\"</b>" \ | ||||
|         --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & | ||||
|         --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null & | ||||
|  | ||||
|         "${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \ | ||||
|         "${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \ | ||||
|         --text="Change config for prefix: <b>\"${PW_PREFIX_NAME}\"</b>" \ | ||||
|         --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" & | ||||
|         --column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null & | ||||
|  | ||||
|         "${pw_yad_new}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=5 --width=900 --height=800 --center \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONTS" --tab="SETTINGS" | ||||
|         "${pw_yad_v12_3}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=3 --width=900 --height=800 \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONTS" --tab="SETTINGS" 2>/dev/null | ||||
|         YAD_STATUS="$?" | ||||
|         if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then | ||||
|             stop_portwine | ||||
| @@ -343,7 +343,7 @@ pw_winetricks () { | ||||
|     pw_stop_progress_bar | ||||
|     echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" | ||||
|     unset PW_TIMER | ||||
|     while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do | ||||
|     while read -r line || [[ -n $(pgrep -a yad | grep "yad_v12_3 --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do | ||||
|             sleep 0.005 | ||||
|             if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \ | ||||
|                                     && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \ | ||||
| @@ -355,11 +355,11 @@ pw_winetricks () { | ||||
|                 sleep 3 | ||||
|                 PW_TIMER=1 | ||||
|             fi | ||||
|     done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --text-info --tail --no-buttons --title="WINETRICKS" \ | ||||
|     --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y & | ||||
|     done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --text-info --tail --no-buttons --title="WINETRICKS" \ | ||||
|     --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y 2>/dev/null & | ||||
|     "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" | ||||
|     try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log" | ||||
|     kill -s SIGTERM "$(pgrep -a yad_new | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1     | ||||
|     kill -s SIGTERM "$(pgrep -a yad_v12_3 | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1     | ||||
|     stop_portwine | ||||
| } | ||||
|  | ||||
| @@ -368,13 +368,20 @@ pw_start_cont_xterm () { | ||||
|     unset PW_SANDBOX_HOME_PATH | ||||
|     # export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" | ||||
|     pw_init_runtime | ||||
|     ${pw_runtime} xterm | ||||
|     ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \ | ||||
|     env ${PW_MANGOHUD_SLR} \ | ||||
|     PATH="${PATH}" \ | ||||
|     LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ | ||||
|     LD_PRELOAD="${PW_LD_PRELOAD}" \ | ||||
|     VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \ | ||||
|     VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \ | ||||
|     xterm | ||||
| } | ||||
|  | ||||
| pw_create_prefix_backup () { | ||||
|     cd "$HOME" | ||||
|     PW_PREFIX_TO_BACKUP=$("${pw_yad_new}" --file --directory --borders=5 --width=650 --height=500 --auto-close --center \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO...") | ||||
|     PW_PREFIX_TO_BACKUP=$("${pw_yad_v12_3}" --file --directory --borders=3 --width=650 --height=500 --auto-close \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO..." 2>/dev/null ) | ||||
|     YAD_STATUS="$?" | ||||
|     if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi | ||||
|     if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then | ||||
| @@ -416,7 +423,7 @@ pw_edit_db () { | ||||
|     PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \ | ||||
|     PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE | ||||
|     if [ "$?" == 0 ] ; then | ||||
|         echo "Restarting PP after update ppdb file..." | ||||
|         print_info "Restarting PP after update ppdb file..." | ||||
|         /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|         exit 0 | ||||
|     fi | ||||
| @@ -432,6 +439,7 @@ pw_autoinstall_from_db () { | ||||
|     export PW_WINEDBG_DISABLE=1 | ||||
|     export PW_NO_WRITE_WATCH=0 | ||||
|     export PW_VULKAN_USE=0 | ||||
|     export PW_USE_EAC_AND_BE=0 | ||||
|     export PW_NO_FSYNC=1 | ||||
|     export PW_NO_ESYNC=1 | ||||
|     unset PORTWINE_CREATE_SHORTCUT_NAME | ||||
| @@ -449,13 +457,6 @@ export -f gui_credits | ||||
|  | ||||
| ###MAIN### | ||||
|  | ||||
| # HOTFIX WGC TO LGC | ||||
| if [[ ! -z "$(echo ${1} | grep 'wgc_api.exe')" ]] && [[ ! -f "${1}" ]] ; then | ||||
|     export PW_YAD_SET=PW_LGC | ||||
|     pw_autoinstall_from_db  | ||||
|     exit 0 | ||||
| fi | ||||
|  | ||||
| # HOTFIX CALIBRE | ||||
| if [[ ! -z "$(echo ${1} | grep '/Caliber/')" ]] ; then | ||||
|     export PW_WINE_USE=PROTON_STEAM_6.3-8 | ||||
| @@ -562,7 +563,7 @@ if [ -n "${portwine_exe}" ]; then | ||||
|         else | ||||
|             PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/separator.png!${loc_delete_shortcut}:98" | ||||
|         fi | ||||
|         OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=7 --form --center  \ | ||||
|         OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --borders=3 --form \ | ||||
|         --title "${portname}-${install_ver} (${scripts_install_ver})" --image "${PW_ICON_FOR_YAD}" --separator=";" --keep-icon-size \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         --field="3D API  : :CB" "${PW_DEFAULT_VULKAN_USE}" \ | ||||
| @@ -573,7 +574,7 @@ if [ -n "${portwine_exe}" ]; then | ||||
|         --button="${loc_gui_edit_db_start}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_edit_db} ${PORTWINE_DB}":118 \ | ||||
|         --button="${PW_SHORTCUT}" \ | ||||
|         --button="${loc_gui_debug}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_debug}":102 \ | ||||
|         --button="${loc_gui_launch}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_launch}":106 ) | ||||
|         --button="${loc_gui_launch}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_launch}":106 2>/dev/null) | ||||
|         export PW_YAD_SET="$?" | ||||
|         if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi | ||||
|         export VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}') | ||||
| @@ -590,7 +591,7 @@ if [ -n "${portwine_exe}" ]; then | ||||
| else | ||||
|     button_click () { | ||||
|         [[ -n "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" | ||||
|         if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_new) ]] ; then | ||||
|         if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_v12_3) ]] ; then | ||||
|             kill -s SIGUSR1 $(pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}') > /dev/null 2>&1 | ||||
|         fi | ||||
|     } | ||||
| @@ -598,12 +599,12 @@ else | ||||
|  | ||||
|     run_desktop_b_click () { | ||||
|         [[ -n "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" | ||||
|         if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_new) ]] ; then | ||||
|         if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_v12_3) ]] ; then | ||||
|             kill -s SIGUSR1 $(pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}') > /dev/null 2>&1 | ||||
|         fi | ||||
|         PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')" | ||||
|  | ||||
|         echo "Restarting PP after choose desktop file..." | ||||
|         print_info "Restarting PP after choose desktop file..." | ||||
|         # stop_portwine | ||||
|         /usr/bin/env bash -c "${PW_EXEC_FROM_DESKTOP}" & | ||||
|         exit 0  | ||||
| @@ -613,7 +614,7 @@ else | ||||
|     gui_clear_pfx () { | ||||
|         if gui_question "${port_clear_pfx}" ; then | ||||
|             pw_clear_pfx | ||||
|             echo "Restarting PP after clearing prefix..." | ||||
|             print_info "Restarting PP after clearing prefix..." | ||||
|             /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|             exit 0 | ||||
|         fi | ||||
| @@ -634,14 +635,14 @@ else | ||||
|  | ||||
|     gui_pw_update () { | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|         echo "Restarting PP for check update..." | ||||
|         print_info "Restarting PP for check update..." | ||||
|         /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|         exit 0 | ||||
|     } | ||||
|  | ||||
|     change_loc () { | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/PortProton_loc" | ||||
|         echo "Restarting PP for change language..." | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
|         print_info "Restarting PP for change language..." | ||||
|         /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|         exit 0 | ||||
|     } | ||||
| @@ -659,13 +660,13 @@ else | ||||
|  | ||||
|     gui_open_scripts_from_backup () { | ||||
|         cd "${PORT_WINE_TMP_PATH}/scripts_backup/" | ||||
|         PW_SCRIPT_FROM_BACKUP=$("${pw_yad_new}" --file --borders=5 --width=650 --height=500 --auto-close --center \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz") | ||||
|         PW_SCRIPT_FROM_BACKUP=$("${pw_yad_v12_3}" --file --borders=3 --width=650 --height=500 --auto-close \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz" 2>/dev/null ) | ||||
|         YAD_STATUS="$?" | ||||
|         if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi | ||||
|         unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/" | ||||
|         echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|         echo "Restarting PP after backup..." | ||||
|         print_info "Restarting PP after backup..." | ||||
|         /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|         exit 0 | ||||
|     } | ||||
| @@ -684,17 +685,17 @@ else | ||||
|     for PW_DESKTOP_FILES in ${PW_ALL_DF} ; do | ||||
|         PW_NAME_D_ICON="$(cat "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | grep Icon | awk -F= '{print $2}')" | ||||
|         PW_NAME_D_ICON_48="${PW_NAME_D_ICON//".png"/"_48.png"}" | ||||
|         if [[ ! -f "${PW_NAME_D_ICON_48}" ]]  && [[ -f "${PW_NAME_D_ICON}" ]] && [[ -x "`which "convert" 2>/dev/null`" ]] ; then | ||||
|         if [[ ! -f "${PW_NAME_D_ICON_48}" ]]  && [[ -f "${PW_NAME_D_ICON}" ]] && [[ -x "`command -v "convert" 2>/dev/null`" ]] ; then | ||||
|             convert "${PW_NAME_D_ICON}" -resize 48x48 "${PW_NAME_D_ICON_48}"  | ||||
|         fi | ||||
|         PW_GENERATE_BUTTONS+="--field=   ${PW_DESKTOP_FILES//".desktop"/""}!${PW_NAME_D_ICON_48}!:FBTN%@bash -c \"run_desktop_b_click "${PW_DESKTOP_FILES//" "/¬}"\"%" | ||||
|     done | ||||
|     IFS="$orig_IFS" | ||||
|     old_IFS=$IFS && IFS="%" | ||||
|     "${pw_yad_new}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[4]} --form --columns=3 --align-buttons --keep-icon-size --scroll --separator=" " ${PW_GENERATE_BUTTONS} & | ||||
|     "${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[4]} --form --columns=3 --align-buttons --keep-icon-size --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null & | ||||
|     IFS="$orig_IFS" | ||||
|  | ||||
|     "${pw_yad_new}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[3]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \ | ||||
|     "${pw_yad_v12_3}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[3]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \ | ||||
|     --field="   $loc_gui_pw_reinstall_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_pw_reinstall_pp"' \ | ||||
|     --field="   $loc_gui_rm_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \ | ||||
|     --field="   $loc_gui_upd_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_pw_update"' \ | ||||
| @@ -703,9 +704,9 @@ else | ||||
|     --field="   $loc_gui_edit_usc"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \ | ||||
|     --field="   $loc_gui_scripts_fb"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_open_scripts_from_backup"' \ | ||||
|     --field="   Xterm"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_start_cont_xterm"' \ | ||||
|     --field="   $loc_gui_credits"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_credits"' & | ||||
|     --field="   $loc_gui_credits"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_credits"'  2>/dev/null & | ||||
|  | ||||
|     "${pw_yad_new}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[2]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \ | ||||
|     "${pw_yad_v12_3}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[2]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \ | ||||
|     --field="  3D API  : :CB" "${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_open_gl}!${loc_gui_gallium_nine}" \ | ||||
|     --field="  PREFIX  : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ | ||||
|     --field="  WINE    : :CB" "${PW_DEFAULT_WINE_USE}" \ | ||||
| @@ -717,9 +718,9 @@ else | ||||
|     --field='   WINETRICKS'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \ | ||||
|     --field="   WINE UNINSTALLER"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \ | ||||
|     --field="   CLEAR PREFIX"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \ | ||||
|     --field="   CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & | ||||
|     --field="   CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & | ||||
|  | ||||
|     "${pw_yad_new}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll  \ | ||||
|     "${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll  \ | ||||
|     --field="   Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \ | ||||
|     --field="   MAME"!"$PW_GUI_ICON_PATH/mame.png"!"":"FBTN" '@bash -c "button_click PW_MAME"' \ | ||||
|     --field="   ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"":"FBTN" '@bash -c "button_click PW_SCUMMVM"' \ | ||||
| @@ -736,11 +737,10 @@ else | ||||
|     --field="   FCEUX"!"$PW_GUI_ICON_PATH/fceux.png"!"":"FBTN" '@bash -c "button_click PW_FCEUX"' \ | ||||
|     --field="   xemu"!"$PW_GUI_ICON_PATH/xemu.png"!"":"FBTN" '@bash -c "button_click PW_XEMU"' \ | ||||
|     --field="   Demul"!"$PW_GUI_ICON_PATH/demul.png"!"":"FBTN" '@bash -c "button_click PW_DEMUL"' \ | ||||
|     --field="   Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"":"FBTN" '@bash -c "button_click PW_RPCS3"' & | ||||
|     --field="   Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"":"FBTN" '@bash -c "button_click PW_RPCS3"' 2>/dev/null & | ||||
|  | ||||
|     "${pw_yad_new}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[0]} --form --columns=3 --align-buttons --keep-icon-size --scroll \ | ||||
|     "${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[0]} --form --columns=3 --align-buttons --keep-icon-size --scroll \ | ||||
|     --field="   Lesta Game Center"!"$PW_GUI_ICON_PATH/lgc.png"!"":"FBTN" '@bash -c "button_click PW_LGC"' \ | ||||
|     --field="   Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png"!"":"FBTN" '@bash -c "button_click PW_WGC"' \ | ||||
|     --field="   vkPlay Games Center"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_VKPLAY"' \ | ||||
|     --field="   Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png"!"":"FBTN" '@bash -c "button_click PW_BATTLE_NET"' \ | ||||
|     --field="   Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png"!"":"FBTN" '@bash -c "button_click PW_EPIC"' \ | ||||
| @@ -748,35 +748,38 @@ else | ||||
|     --field="   Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png"!"":"FBTN" '@bash -c "button_click PW_UBC"' \ | ||||
|     --field="   EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click PW_EVE"' \ | ||||
|     --field="   Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click PW_ROCKSTAR"' \ | ||||
|     --field="   OSU"!"$PW_GUI_ICON_PATH/osu.png"!"":"FBTN" '@bash -c "button_click PW_OSU"' \ | ||||
|     --field="   League of Legends"!"$PW_GUI_ICON_PATH/lol.png"!"":"FBTN" '@bash -c "button_click PW_LOL"' \ | ||||
|     --field="   Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png"!"":"FBTN" '@bash -c "button_click  PW_GAMEFORGE"' \ | ||||
|     --field="   World of Sea Battle (BETA)"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click PW_WOSB"' \ | ||||
|     --field="   CALIBER"!"$PW_GUI_ICON_PATH/caliber.png"!"":"FBTN" '@bash -c "button_click PW_CALIBER"' \ | ||||
|     --field="   ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' \ | ||||
|     --field="   Steam (unstable)"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' \ | ||||
|     --field="   Crossout"!"$PW_GUI_ICON_PATH/crossout.png"!"":"FBTN" '@bash -c "button_click PW_CROSSOUT"' \ | ||||
|     --field="   Warframe"!"$PW_GUI_ICON_PATH/warframe.png"!"":"FBTN" '@bash -c "button_click PW_WARFRAME"' \ | ||||
|     --field="   Panzar"!"$PW_GUI_ICON_PATH/panzar.png"!"":"FBTN" '@bash -c "button_click PW_PANZAR"' \ | ||||
|     --field="   STALCRAFT"!"$PW_GUI_ICON_PATH/stalcraft.png"!"":"FBTN" '@bash -c "button_click PW_STALCRAFT"' \ | ||||
|     --field="   ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"' \ | ||||
|     --field="   CONTRACT WARS"!"$PW_GUI_ICON_PATH/cwc.png"!"":"FBTN" '@bash -c "button_click PW_CWC"' \ | ||||
|     --field="   Stalker Online"!"$PW_GUI_ICON_PATH/so.png"!"":"FBTN" '@bash -c "button_click PW_SO"' \ | ||||
|     --field="   Metal War Online"!"$PW_GUI_ICON_PATH/mwo.png"!"":"FBTN" '@bash -c "button_click PW_MWO"' \ | ||||
|     --field="   Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \ | ||||
|     --field="   Indiegala Client"!"$PW_GUI_ICON_PATH/igclient.png"!"":"FBTN" '@bash -c "button_click PW_IGCLIENT"' \ | ||||
|     --field="   Path of Exile"!"$PW_GUI_ICON_PATH/poe.png"!"":"FBTN" '@bash -c "button_click PW_POE"' & | ||||
|     --field="   Plarium Play"!"$PW_GUI_ICON_PATH/plariumplay.png"!"":"FBTN" '@bash -c "button_click PW_PLARIUM_PLAY"' \ | ||||
|     --field="   Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png"!"":"FBTN" '@bash -c "button_click PW_WGC"' \ | ||||
|     --field="   OSU"!"$PW_GUI_ICON_PATH/osu.png"!"":"FBTN" '@bash -c "button_click PW_OSU"' \ | ||||
|     --field="   ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' \ | ||||
|     --field="   Steam (unstable)"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' \ | ||||
|     --field="   Path of Exile"!"$PW_GUI_ICON_PATH/poe.png"!"":"FBTN" '@bash -c "button_click PW_POE"' \ | ||||
|     --field="   Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"' \ | ||||
|     --field="   Genshin Impact"!"$PW_GUI_ICON_PATH/genshinimpact.png"!"":"FBTN" '@bash -c "button_click PW_GENSHIN_IMPACT"' \ | ||||
|     --field="   Battle Of Space Raiders"!"$PW_GUI_ICON_PATH/bsr.png"!"":"FBTN" '@bash -c "button_click PW_BSR"' 2>/dev/null  & | ||||
|      | ||||
|     # --field="   Electronic Arts App"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"'  | ||||
|     # --field="   Genshin Impact"!"$PW_GUI_ICON_PATH/genshinimpact.png"!"":"FBTN" '@bash -c "button_click PW_GENSHIN_IMPACT"' | ||||
|     # --field="   Plarium Play"!"$PW_GUI_ICON_PATH/plariumplay.png"!"":"FBTN" '@bash -c "button_click PW_PLARIUM_PLAY"' | ||||
|     # --field="   Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click PW_SWL"' | ||||
|     # --field="   Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"' | ||||
|     #  | ||||
|     # --field="   Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"' | ||||
|     # --field="   ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"' | ||||
|  | ||||
|     if  [[ `which wmctrl` ]] &>/dev/null ; then | ||||
|     if  [[ `command -v wmctrl` ]] &>/dev/null ; then | ||||
|         sleep 2 | ||||
|         while [[ $(pgrep -a yad_new | head -n 1 | awk '{print $1}' 2>/dev/null) ]] ; do | ||||
|         while [[ $(pgrep -a yad_v12_3 | head -n 1 | awk '{print $1}' 2>/dev/null) ]] ; do | ||||
|             sleep 2 | ||||
|             PW_MAIN_GUI_SIZE_TMP="$(wmctrl -lG | grep PortProton-1.0 | awk '{print $5" "$6}' 2>/dev/null)" | ||||
|             if [[ -n "${PW_MAIN_GUI_SIZE_TMP}" ]] ; then | ||||
| @@ -786,24 +789,24 @@ else | ||||
|     fi & | ||||
|  | ||||
|     if [[ -z "${PW_ALL_DF}" ]] ; then | ||||
|         "${pw_yad_new}" --key=$KEY --notebook --borders=5 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close --center \ | ||||
|         "${pw_yad_v12_3}" --key=$KEY --notebook --borders=3 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \ | ||||
|         --tab-pos=bottom --keep-icon-size \ | ||||
|         --tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_wine_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" | ||||
|         --tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" 2>/dev/null | ||||
|         YAD_STATUS="$?" | ||||
|     else | ||||
|         "${pw_yad_new}" --key=$KEY --notebook --borders=5 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close --center \ | ||||
|         "${pw_yad_v12_3}" --key=$KEY --notebook --borders=3 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \ | ||||
|         --tab-pos=bottom --keep-icon-size \ | ||||
|         --tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_wine_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \ | ||||
|         --tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" | ||||
|         --tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" 2>/dev/null | ||||
|         YAD_STATUS="$?" | ||||
|     fi | ||||
|  | ||||
|   | ||||
| @@ -1,13 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: Castro-Fidel (linux-gaming.ru) | ||||
| #SCRIPTS_NEXT_VERSION=2190 | ||||
| #SCRIPTS_NEXT_VERSION=2215 | ||||
| ######################################################################## | ||||
| export PW_MANGOHUD=0 | ||||
| export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt | ||||
| #export DXVK_HUD=compiler | ||||
| #export GALLIUM_HUD=fps | ||||
| #export ENABLE_VKBASALT=1 | ||||
| #export PW_VIRTUAL_DESKTOP=1 | ||||
| #export PW_XKBD_RU_HACK=1 | ||||
| export PW_RT_MOUNT_RO=("") | ||||
| export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}") | ||||
| @@ -20,47 +16,55 @@ export PW_USE_TERMINAL="0" | ||||
| export PW_WINEDBG_DISABLE="1" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export WINEARCH="win64" | ||||
| export PW_LIBS_VER="_v42" | ||||
| export PW_LIBS_VER="_v43" | ||||
| export GDK_BACKEND="x11" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_PREFIX_NAME="DEFAULT" | ||||
| export WINE_WIN_START="start /i /b /wait /high /unix" | ||||
| export WINE_WIN_START="start /wait /high /unix" | ||||
| export WINE_ALLOW_XIM="0" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| export PW_WINE_CPU_TOPOLOGY="disabled" | ||||
| export STAGING_SHARED_MEMORY="1" | ||||
| export PROTON_DISABLE_LSTEAMCLIENT="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_MANGOHUD_x32="0" | ||||
| export PW_USE_EAC_AND_BE="1" | ||||
| ###GTK_CONFIG### | ||||
| # export GTK_DATA_PREFIX= | ||||
| # export GTK_THEME="Adwaita:dark" | ||||
| ###DEFAULT_WINE### | ||||
| export PW_WINE_USE="PROTON_LG" | ||||
| export PW_PLUGINS_VER="_v10" | ||||
| export PW_FAKE_DLSS_VER="091122" | ||||
| export PW_PLUGINS_VER="_v12" | ||||
| export PW_FAKE_DLSS_VER="230506" | ||||
| ###WINE_PROTON_LG### | ||||
| export PW_LG_VER="7-54" | ||||
| export PW_LG_VER="8-11" | ||||
| export PW_PROTON_LG_VER="PROTON_LG_${PW_LG_VER}" | ||||
| ###WINE_PROTON_GE### | ||||
| export PW_GE_VER="8-3" | ||||
| export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" | ||||
| export PW_WINE_FULLSCREEN_FSR="1" | ||||
| ###DXVK_AND_VKD3D### | ||||
| # export VKD3D_FEATURE_LEVEL=12_1 | ||||
| export VKD3D_LIMIT_TESS_FACTORS="16" | ||||
| export VKD3D_FEATURE_LEVEL="12_0" | ||||
| # export VKD3D_LIMIT_TESS_FACTORS="16" | ||||
| export D8VK_VER="1.0" | ||||
| export DXVK_STABLE_VER="1.10.3-28" | ||||
| export DXVK_GIT_VER="2.2-7" | ||||
| export DXVK_GIT_VER="2.2-137" | ||||
| export VKD3D_STABLE_VER="1.1-2602" | ||||
| export VKD3D_GIT_VER="1.1-3424" | ||||
| export VKD3D_GIT_VER="1.1-3516" | ||||
| ###PREFIX_VERSION### | ||||
| export DOTPFX_VER="48v1" | ||||
| export DEFPFX_VER="v1" | ||||
| export PROGPFX_VER="v1" | ||||
| export PW_MUST_WINEDLLOVERRIDES="steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe=b,winemenubuilder.exe=" | ||||
| ################################################################# | ||||
| export optirun_on="" | ||||
| export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf" | ||||
| ################################################################# | ||||
| pw_install_dll_in_prefix () | ||||
| { | ||||
|     case $PW_PREFIX_NAME in | ||||
|         DEFAULT) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019" ;; | ||||
|         DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022" ;; | ||||
|          DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;; | ||||
|               *) export PW_MUST_HAVE_DLL="" ;; | ||||
|     esac | ||||
|   | ||||
| @@ -50,7 +50,7 @@ pw_update_pfx_cover_gui () { | ||||
|     PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'` | ||||
|     echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" | ||||
|     unset PW_TIMER | ||||
|     while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do | ||||
|     while read -r line || [[ ! -z `pgrep -a yad | grep "yad_v12_3 --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do | ||||
|             sleep 0.005 | ||||
|             if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ | ||||
|                                     && [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ | ||||
| @@ -62,11 +62,11 @@ pw_update_pfx_cover_gui () { | ||||
|                 sleep 3 | ||||
|                 PW_TIMER=1 | ||||
|             fi | ||||
|     done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail & | ||||
|     "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top & | ||||
|     done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail  2>/dev/null & | ||||
|     "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null & | ||||
|  | ||||
|     "${pw_yad_new}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \ | ||||
|     --center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom & | ||||
|     "${pw_yad_v12_3}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \ | ||||
|     --center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom 2>/dev/null & | ||||
|     export PW_YAD_PID_PFX_COVER_UI="$!" | ||||
|     return 0 | ||||
| } | ||||
| @@ -102,15 +102,15 @@ pw_stop_progress_bar_cover () { | ||||
| export -f pw_stop_progress_bar_cover | ||||
|  | ||||
| open_changelog () { | ||||
|     "${pw_yad}" --title="$loc_gui_changelog" --borders=10 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --center --width=1200 --height=700 --uri-color=red \ | ||||
|     "${pw_yad}" --title="$loc_gui_changelog" --borders=3 --no-buttons --text-align=center \ | ||||
|     --text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \ | ||||
|     --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" | ||||
| } | ||||
| export -f open_changelog | ||||
|  | ||||
| pw_tray_icon () { | ||||
|     if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|     if [ ! -z "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         kill -s SIGUSR1 "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`" | ||||
|     fi | ||||
|  | ||||
|     tray_icon_click () { | ||||
| @@ -134,7 +134,7 @@ pw_tray_icon () { | ||||
|     } | ||||
|     export -f tray_icon_click_exit | ||||
|  | ||||
|     "${pw_yad_new}" --notification --no-middle \ | ||||
|     "${pw_yad_v12_3}" --notification --no-middle \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --image="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --command="bash -c tray_icon_click" \ | ||||
| @@ -143,19 +143,34 @@ pw_tray_icon () { | ||||
|   ${loc_tray_winefile}!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/port_winefile.png"|| \ | ||||
|   ${loc_tray_tascmng}!bash -c pw_tray_taskmgr!"$PW_GUI_ICON_PATH/port_winefile.png"|| \ | ||||
|   ${loc_tray_cangelog}!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"|| \ | ||||
|   ${loc_tray_force_exit}    !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"||" &  | ||||
|   ${loc_tray_force_exit}    !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"||" 2>/dev/null &  | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
|    | ||||
| pw_gui_for_edit_db () { | ||||
|     KEY_EDIT_DB_GUI=$RANDOM | ||||
|     if [[ -n "`echo "${MANGOHUD_CONFIG}" | grep "fps_limit"`" ]] ; then | ||||
|         FPS_LIMIT_VAR="`echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//g' | awk -F, '{print $1}'`" | ||||
|     if echo "${MANGOHUD_CONFIG}" | grep "fps_limit" ; then | ||||
|         FPS_LIMIT_VAR="$(echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//' | awk -F, '{print $1}')" | ||||
|     else | ||||
|         FPS_LIMIT_VAR=0 | ||||
|         FPS_LIMIT_VAR="disabled" | ||||
|     fi | ||||
|     echo "FPS_LIMIT_VAR=$FPS_LIMIT_VAR" | ||||
|  | ||||
|     if [[ -n "${PW_WINE_CPU_TOPOLOGY}" ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then | ||||
|         CPU_LIMIT_VAR="`echo ${PW_WINE_CPU_TOPOLOGY%%:*}`" | ||||
|     else | ||||
|         CPU_LIMIT_VAR="disabled" | ||||
|     fi | ||||
|  | ||||
|     GET_REFRASH_RATE="30!45!60!75!120!144!165!240" | ||||
|  | ||||
|     logical_cores=$(grep -c "^processor" /proc/cpuinfo) | ||||
|     if [[ "${logical_cores}" -le "4" ]] ; then | ||||
|         GET_LOGICAL_CORE="1!$(seq -s! 1 $((${logical_cores} - 1)))" | ||||
|     else | ||||
|         GET_LOGICAL_CORE="1!2!$(seq -s! 4 4 $((${logical_cores} - 1)))" | ||||
|     fi | ||||
|  | ||||
|     unset ADD_CHK_BOX_EDIT_DB | ||||
|     edit_db_field_add () { | ||||
|         for int_to_boole in $@ ; do | ||||
| @@ -171,8 +186,8 @@ pw_gui_for_edit_db () { | ||||
|     edit_db_field_add $@ | ||||
|     old_IFS=$IFS | ||||
|     IFS="%"  | ||||
|     "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \ | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" &  | ||||
|     "${pw_yad_v12_3}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \ | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &  | ||||
|     IFS=$old_IFS | ||||
|  | ||||
|     case ${PW_WINDOWS_VER} in | ||||
| @@ -180,21 +195,21 @@ pw_gui_for_edit_db () { | ||||
|         "XP") ADD_WINVER_EDIT_DB="XP!7!10" ;; | ||||
|            *) ADD_WINVER_EDIT_DB="10!7!XP" ;; | ||||
|     esac | ||||
|     "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \ | ||||
|     "${pw_yad_v12_3}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \ | ||||
|     --field="${loc_gui_ver_windows}!${loc_gui_ver_windows_help} :CB" "${ADD_WINVER_EDIT_DB}" \ | ||||
|     --field="${loc_gui_aut_winetricks}!${loc_gui_aut_winetricks_help} :CBE" "${PW_DLL_INSTALL}!vcrun2019 corefonts lucida" \ | ||||
|     --field="${loc_gui_winedllover}!${loc_gui_winedllover_help} :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \ | ||||
|     --field=":LBL" "" \ | ||||
|     --field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \ | ||||
|     --field=":LBL" "" \ | ||||
|     --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :SCL" ${FPS_LIMIT_VAR} 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" &  | ||||
|  | ||||
|     "${pw_yad_new}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="550" \ | ||||
|     --text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=10 --center \ | ||||
|     --field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \ | ||||
|     --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}"  2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null & | ||||
|     "${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \ | ||||
|     --text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \ | ||||
|     --button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \ | ||||
|     --button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 | ||||
|     --button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null | ||||
|     YAD_STATUS="$?" | ||||
|     case "$YAD_STATUS" in  | ||||
|           1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; | ||||
| @@ -218,14 +233,25 @@ pw_gui_for_edit_db () { | ||||
|     PW_DLL_INSTALL=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}'` | ||||
|     WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'` | ||||
|     LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'` | ||||
|     FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`" | ||||
|     CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`" | ||||
|     FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`" | ||||
|  | ||||
|     if [ "${FPS_LIMIT}" != 0 ] ; then | ||||
|     if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then | ||||
|         export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/fps_limit=${FPS_LIMIT_VAR}/fps_limit=${FPS_LIMIT}/")" | ||||
|         export PW_MANGOHUD=1 | ||||
|     elif [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" == "disabled" ]] ; then | ||||
|         export MANGOHUD_CONFIG=${MANGOHUD_CONFIG},fps_limit=${FPS_LIMIT} | ||||
|         export PW_MANGOHUD=1 | ||||
|     elif [[ "${FPS_LIMIT}" == "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then | ||||
|         export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//")" | ||||
|     fi | ||||
|     if [[ "${CPU_LIMIT}" != "disabled" ]] ; then | ||||
|         export PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $((${CPU_LIMIT} - 1)))" | ||||
|     else | ||||
|         export PW_WINE_CPU_TOPOLOGY="disabled" | ||||
|     fi | ||||
|     echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE" | ||||
|     edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES | ||||
|     edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| @@ -295,22 +321,24 @@ gui_proton_downloader () { | ||||
|         #GUI | ||||
|         export KEY_WINE=$RANDOM | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_set" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" | ||||
|  | ||||
|         `"${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --separator="" --listen \ | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"` & | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" 2>/dev/null` & | ||||
|         `"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --separator="" --listen \ | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set"` & | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" 2>/dev/null` & | ||||
|         `"${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --separator="" --listen \ | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set"` & | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set" 2>/dev/null` & | ||||
|         `"${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --separator="" --listen \ | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"` & | ||||
|         --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" 2>/dev/null` & | ||||
|         `"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --separator="" --listen \ | ||||
|         --column "$loc_gui_del_wine" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"` & | ||||
|         `"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center --center \ | ||||
|         --column "$loc_gui_del_wine" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" 2>/dev/null` & | ||||
|         `"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "WINE MANAGER" --separator="" \ | ||||
|         --tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK"  --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine"` | ||||
|         --tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK"  --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine" 2>/dev/null` | ||||
|         YAD_WINE_STATUS="$?" | ||||
|         if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then | ||||
|             /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
| @@ -327,13 +355,16 @@ gui_proton_downloader () { | ||||
|             export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"`" | ||||
|         elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" | awk '{print $1}'` ] ; then | ||||
|             export VERSION_INSTALLED_WINE="`cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"`" | ||||
|         else | ||||
|             print_info "Nothing to do." | ||||
|             /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|             exit 0 | ||||
|         fi | ||||
|  | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_set" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" | ||||
|         try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine" | ||||
|  | ||||
|     elif [[ "$1" == "silent" ]] && [[ -n "$2" ]] ; then | ||||
| @@ -341,8 +372,9 @@ gui_proton_downloader () { | ||||
|     fi | ||||
|  | ||||
|     for GIVE_WINE_URL in ${PROTON_GE_GIT[@]} ${PROTON_PW_GIT[@]} ${WINE_KRON4EK[@]} ${WINE_GE_CUSTOM[@]} ; do | ||||
|         if [ ! -z `echo ${GIVE_WINE_URL} | grep -i "$VERSION_WINE_GIT"` ] ; then | ||||
|         if [ ! -z `echo ${GIVE_WINE_URL} | grep -i "${VERSION_WINE_GIT}"` ] ; then | ||||
|             export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}" | ||||
|             break | ||||
|         fi | ||||
|     done | ||||
| 	 | ||||
| @@ -405,20 +437,20 @@ gui_vkBasalt () { | ||||
|     fi | ||||
|     export old_IFS=$IFS | ||||
|     export IFS="%"  | ||||
|     "${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \ | ||||
|     "${pw_yad_v12_3}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \ | ||||
|     --text-align=center --text="$loc_gui_vkbasalt_top" \ | ||||
|     ${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" & | ||||
|     ${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" 2>/dev/null & | ||||
|     export IFS="${old_IFS}"  | ||||
|  | ||||
|     "${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \ | ||||
|     "${pw_yad_v12_3}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \ | ||||
|     --field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$loc_gui_ffx_cas":SCL "${VKBASALT_FFX_CAS_GUI}" \ | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" & | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null & | ||||
|  | ||||
|     "${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="500" --title="vkBasalt" --center --borders=10 \ | ||||
|     "${pw_yad_v12_3}" --paned --key="$KEY_FX_GUI" --height="650" --title="vkBasalt" --center --borders=3 \ | ||||
|     --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \ | ||||
|     --button="$loc_gui_disabled_vkbas"!!"$loc_gui_disabled_vkbas_help":180 \ | ||||
|     --button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":182 | ||||
|     --button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":182 2>/dev/null | ||||
|     YAD_VKBASALT_STATUS="$?" | ||||
|     case "${YAD_VKBASALT_STATUS}" in | ||||
|         1|252) | ||||
| @@ -457,38 +489,49 @@ gui_vkBasalt () { | ||||
| portwine_create_shortcut () { | ||||
|     pw_create_gui_png | ||||
|     name_desktop="${PORTPROTON_NAME}" | ||||
|     try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     if [ -z "${PW_CHECK_AUTOINSTAL}" ] | ||||
|     then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \ | ||||
|     >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \ | ||||
|     >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     fi | ||||
|     echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     echo "Icon="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|     "${pw_yad}" --title="${inst_set}." --form --center --borders=5 \ | ||||
|     OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ | ||||
|     --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ | ||||
|     --field="\n    <b>${name_desktop}.desktop</b>:LBL" "" \ | ||||
|     --field="\n    ${ss_done}:LBL" "" \ | ||||
|     --button="$loc_gui_no":1 \ | ||||
|     --button="$loc_gui_yes":0  | ||||
|     --field="${sc_info}":LBL "" \ | ||||
|     --field="${sc_name}:" "${name_desktop}" \ | ||||
|     --field="${sc_menu_desktop}":CHK "TRUE" \ | ||||
|     --button="$loc_gui_create_shortcut":0) | ||||
|     if [ $? -eq "0" ]; then | ||||
|         try_remove_file "${HOME}/.local/share/applications/${name_desktop}.desktop" | ||||
|         cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/.local/share/applications/" | ||||
|         if [[ -d "${HOME}/Desktop" ]] ; then | ||||
|             cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Desktop/" | ||||
|         elif [[ -d "${HOME}/Рабочий стол" ]] ; then | ||||
|             cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Рабочий стол/" | ||||
|         name_desktop=$(echo "$OUTPUT" | awk -F'|' '{ print $2 }') | ||||
|         create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{ print $3 }') | ||||
|  | ||||
|         try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|          | ||||
|         mv -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${name_desktop}.png" | ||||
|  | ||||
|         echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         if [ -z "${PW_CHECK_AUTOINSTAL}" ] | ||||
|         then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \ | ||||
|         >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \ | ||||
|         >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         fi | ||||
|         echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         echo "Icon="${PORT_WINE_PATH}/data/img/${name_desktop}.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|         chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
|  | ||||
|         if [[ "${create_menu_desktop_shortcut}" == "TRUE" ]]; then | ||||
|             try_remove_file "${HOME}/.local/share/applications/${name_desktop}.desktop" | ||||
|             cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/.local/share/applications/" | ||||
|             if [[ -d "${HOME}/Desktop" ]] ; then | ||||
|                 cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Desktop/" | ||||
|             elif [[ -d "${HOME}/Рабочий стол" ]] ; then | ||||
|                 cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Рабочий стол/" | ||||
|             fi | ||||
|         fi | ||||
|  | ||||
|  | ||||
|         [[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & | ||||
|     fi | ||||
|     [[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null & | ||||
| } | ||||
|  | ||||
| portwine_delete_shortcut () { | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| reshadeTexturePath = /run/pressure-vessel/pv-from-host/reshade/textures | ||||
| reshadeIncludePath = /run/pressure-vessel/pv-from-host/reshade | ||||
|  | ||||
| FilmGrain2 = /run/pressure-vessel/pv-from-host/reshade/shaders/FilmGrain2.fx | ||||
| Curves = /run/pressure-vessel/pv-from-host/reshade/shaders/Curves.fx | ||||
| FakeHDR = /run/pressure-vessel/pv-from-host/reshade/shaders/FakeHDR.fx | ||||
|   | ||||
| @@ -35,7 +35,7 @@ export PROGS_INST="" | ||||
| export vexit=0 | ||||
| ######################################################################## | ||||
| for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do | ||||
| 	if [ ! -x "$(which "${PROGS}" 2>/dev/null)" ] ; then | ||||
| 	if [ ! -x "$(command -v "${PROGS}" 2>/dev/null)" ] ; then | ||||
| 		PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1 | ||||
| 	fi | ||||
| done | ||||
| @@ -62,9 +62,9 @@ elif [ -z "${PW_SET_LANG}" ] ; then | ||||
| 	if [ $? -eq 1 ] ; then echo "Installation language not set!" && exit 1 ; fi | ||||
| 	case $PW_SET_LANG in | ||||
| 		"$RUS_LANG") | ||||
| 			INFO_TEXT="Вы запустили установщик PortWINE ${portname} версии ${port_ver}. \n\nЭто некоммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права стороннего программного обеспечения принадлежат их владельцам! \nПродолжая установку, Вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;; | ||||
| 			INFO_TEXT="Вы запустили установщик ${portname} версии ${port_ver}. \n\nЭто некоммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права стороннего программного обеспечения принадлежат их владельцам! \nПродолжая установку, Вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;; | ||||
| 		"$ENG_LANG") | ||||
| 			INFO_TEXT="You’ve started PortWINE ${portname} installer v.${port_ver}. \n\nIt is a non-commercial product and is developed only for the idea and with the help of your donations. \nAll third-party software rights belong to their respective owners! \nIf you continue installation, you agree to these terms." > /dev/null 2>&1 ;; | ||||
| 			INFO_TEXT="You’ve started ${portname} installer v.${port_ver}. \n\nIt is a non-commercial product and is developed only for the idea and with the help of your donations. \nAll third-party software rights belong to their respective owners! \nIf you continue installation, you agree to these terms." > /dev/null 2>&1 ;; | ||||
| 	esac | ||||
| 	zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap 2> /dev/null | ||||
| 	if [ $? -eq 1 ] ; then echo "INFO message not displayed!" && exit 1 ; fi | ||||
| @@ -76,7 +76,7 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then | ||||
| else | ||||
| 	case $PW_SET_LANG in | ||||
| 		"$RUS_LANG") | ||||
| 			inst1=$(zenity --title  "Установка ${portname}" --text "Выберите путь для установки (обновления) PortWINE \nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \ | ||||
| 			inst1=$(zenity --title  "Установка ${portname}" --text "Выберите путь для установки (обновления) ${portname} \nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \ | ||||
| 			--column="" --column "Путь:" \ | ||||
| 			TRUE  "${deflink}" \ | ||||
| 			FALSE "Другой путь..." ) 2> /dev/null | ||||
| @@ -89,7 +89,7 @@ else | ||||
| 					D_PATH="${D_PATH}/${portname}" ;; | ||||
| 			esac ;; | ||||
| 		"$ENG_LANG") | ||||
| 			inst1=$(zenity --title  "Install ${portname}" --text "Choose path to install (update) PortWINE \nor leave it as default." --list --radiolist --width=350 --height=220 \ | ||||
| 			inst1=$(zenity --title  "Install ${portname}" --text "Choose path to install (update) ${portname} \nor leave it as default." --list --radiolist --width=350 --height=220 \ | ||||
| 			--column="" --column "Path:" \ | ||||
| 			TRUE  "${deflink}" \ | ||||
| 			FALSE "Other path..." ) 2> /dev/null | ||||
| @@ -108,7 +108,7 @@ fi | ||||
| case $PW_SET_LANG in | ||||
| 	"$RUS_LANG") | ||||
| 		progress_bar() { | ||||
| 			zenity --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 | ||||
| 			zenity --progress --title="Установка..." --text="Установка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 | ||||
| 		} ;; | ||||
| 	"$ENG_LANG") | ||||
| 		progress_bar() { | ||||
|   | ||||