Scripts version 2252
							
								
								
									
										58
									
								
								README-RU.md
									
									
									
									
									
								
							
							
						
						| @@ -1,5 +1,5 @@ | ||||
| <div align="center"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/data_from_portwine/img/gui/port_proton.svg" width="64"> | ||||
|   <h1 align="center">PortProton</h1> | ||||
|   <p align="center">Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей. | ||||
| Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.</p> | ||||
| @@ -55,8 +55,8 @@ epm play portproton | ||||
| exit | ||||
| ``` | ||||
|  | ||||
| * **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, и т.д.), **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) | ||||
| * **Ubuntu 24.04**, **Debian 12**, **Linux Mint 21.x** **Deepin** : | ||||
| [portproton_1.4-1_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.4-1_amd64/portproton_1.4-1_amd64.deb) | ||||
|  | ||||
| * **Arch Linux** и производные (Manjaro, Garuda, и т.д.) : | ||||
| [AUR](https://aur.archlinux.org/packages/portproton) | ||||
| @@ -70,7 +70,7 @@ exit | ||||
| sudo urpmi portproton | ||||
| ``` | ||||
|  | ||||
| * **Fedora 37+** and **Nobara**: | ||||
| * **Fedora 38+** and **Nobara**: | ||||
|  | ||||
| ```sh | ||||
| sudo dnf copr enable boria138/portproton | ||||
| @@ -82,22 +82,8 @@ sudo dnf install portproton | ||||
|  | ||||
| **ВНИМАНИЕ** : при универсальном способе установки PortProton зависимости должны быть установлены вручную! | ||||
|  | ||||
| Нормальная установка: | ||||
|  | ||||
| ```sh | ||||
| 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 | ||||
| ``` | ||||
|  | ||||
| Тихая установка (RUS): | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus | ||||
| wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh PortProton_Installer | ||||
| ``` | ||||
|  | ||||
| ## Зависимости | ||||
| @@ -106,7 +92,7 @@ wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_sc | ||||
|  | ||||
| Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать) | ||||
|  | ||||
| * **Ubuntu / Linux Mint / Pop!_OS** | ||||
| * **Ubuntu / Linux Mint / Pop!_OS / Debian** | ||||
|  | ||||
| ```sh | ||||
| sudo dpkg --add-architecture i386 | ||||
| @@ -117,7 +103,7 @@ sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386 | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386  zstd cabextract xdg-utils openssl libgl1 libgl1:i386 | ||||
| ``` | ||||
|  | ||||
| * **Arch Linux / Manjaro** | ||||
| @@ -133,7 +119,7 @@ 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 | ||||
| sudo pacman -Syu bash bubblewrap zstd cabextract tar openssl desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font 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-lib32-openssl | ||||
| ``` | ||||
|  | ||||
| Если у вас видеокарта от **NVIDIA**, обязательно проверьте, установлен ли пакет **lib32-nvidia-utils**. | ||||
| @@ -142,26 +128,10 @@ sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl ga | ||||
| sudo pacman -Syu lib32-nvidia-utils | ||||
| ``` | ||||
|  | ||||
| * **Debian/Deepin** | ||||
|  | ||||
| ```sh | ||||
| sudo apt install software-properties-common -y | ||||
|  | ||||
| sudo apt-add-repository non-free | ||||
|  | ||||
| sudo dpkg --add-architecture i386 | ||||
|  | ||||
| sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract | ||||
| ``` | ||||
|  | ||||
| * **openSUSE** | ||||
|  | ||||
| ```sh | ||||
| sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0 | ||||
| sudo zypper install curl bubblewrap zstd cabextract tar steam | ||||
| ``` | ||||
|  | ||||
| * **Fedora** | ||||
| @@ -171,7 +141,7 @@ sudo dnf update | ||||
|  | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| 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 | ||||
| sudo dnf install curl 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** | ||||
| @@ -181,7 +151,7 @@ sudo apt-get update | ||||
|  | ||||
| sudo apt-get dist-upgrade -y | ||||
|  | ||||
| sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd | ||||
| sudo apt-get install bubblewrap cabextract curl icoutils i586-libvulkan1 libvulkan1 vulkan-tools  zstd | ||||
| ``` | ||||
|  | ||||
| * **ROSA DESKTOP FRESH R12** | ||||
| @@ -191,19 +161,19 @@ 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 | ||||
| sudo dnf install sysvinit-tools curl libcurl4 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 libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686 | ||||
| ``` | ||||
|  | ||||
| * **RED OS** | ||||
|  | ||||
| ```sh | ||||
| sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| sudo -E dnf install curl icoutils libcurl  bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| ``` | ||||
|  | ||||
| * **Solus 4.x** | ||||
|  | ||||
| ```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 | ||||
| sudo eopkg it curl file bubblewrap curl icoutils tar  zstd cabextract xdg-utils openssl vulkan vulkan-32bit mesalib-32bit samba | ||||
| ``` | ||||
|  | ||||
| ## Контакты | ||||
|   | ||||
							
								
								
									
										56
									
								
								README.md
									
									
									
									
									
								
							
							
						
						| @@ -1,5 +1,5 @@ | ||||
| <div align="center"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64"> | ||||
|   <img src="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/data_from_portwine/img/gui/port_proton.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> | ||||
| @@ -60,8 +60,8 @@ exit | ||||
| sudo urpmi portproton | ||||
| ``` | ||||
|  | ||||
| * **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) | ||||
| * **Ubuntu 24.04**, **Debian 12**, **Linux Mint 21.x** **Deepin** : | ||||
| [portproton_1.4-1_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.4-1_amd64/portproton_1.4-1_amd64.deb) | ||||
|  | ||||
| * **Arch Linux** and derivatives (Manjaro, Garuda, etc.) : | ||||
| [AUR](https://aur.archlinux.org/packages/portproton) | ||||
| @@ -69,7 +69,7 @@ sudo urpmi portproton | ||||
| * **OpenSuse**: | ||||
| [OBS](https://software.opensuse.org/download/package?package=portproton&project=home%3ABoria138%3APortProton) | ||||
|  | ||||
| * **Fedora 37+** and **Nobara**: | ||||
| * **Fedora 38+** and **Nobara**: | ||||
|  | ||||
| ```sh | ||||
| sudo dnf copr enable boria138/portproton | ||||
| @@ -82,22 +82,8 @@ sudo dnf install portproton | ||||
|  | ||||
| **ATTENTION** : with the universal method of installing PortProton, dependencies must be installed manually! | ||||
|  | ||||
| Normal installation: | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 | ||||
| ``` | ||||
|  | ||||
| Silent installation (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): | ||||
|  | ||||
| ```sh | ||||
| wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus | ||||
| wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh PortProton_Installer | ||||
| ``` | ||||
|  | ||||
| ## Dependencies | ||||
| @@ -117,7 +103,7 @@ sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386 | ||||
| sudo apt install curl file libc6 libnss3 policykit-1 xz-utils bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386  zstd cabextract xdg-utils openssl libgl libgl1:i386 | ||||
| ``` | ||||
|  | ||||
| * **Arch Linux / Manjaro** | ||||
| @@ -133,7 +119,7 @@ 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 | ||||
| sudo pacman -Syu bash bubblewrap zstd cabextract tar openssl desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font 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-openssl | ||||
| ``` | ||||
|  | ||||
| If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidia-utils** package is installed | ||||
| @@ -142,26 +128,10 @@ If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidi | ||||
| sudo pacman -Syu lib32-nvidia-utils | ||||
| ``` | ||||
|  | ||||
| * **Debian/Deepin** | ||||
|  | ||||
| ```sh | ||||
| sudo apt install software-properties-common -y | ||||
|  | ||||
| sudo apt-add-repository non-free | ||||
|  | ||||
| sudo dpkg --add-architecture i386 | ||||
|  | ||||
| sudo apt update | ||||
|  | ||||
| sudo apt upgrade | ||||
|  | ||||
| sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract | ||||
| ``` | ||||
|  | ||||
| * **openSUSE** | ||||
|  | ||||
| ```sh | ||||
| sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0 | ||||
| sudo zypper install curl bubblewrap zstd cabextract tar steam | ||||
| ``` | ||||
|  | ||||
| * **Fedora** | ||||
| @@ -171,7 +141,7 @@ sudo dnf update | ||||
|  | ||||
| sudo dnf upgrade --refresh | ||||
|  | ||||
| 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 | ||||
| sudo dnf install curl 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** | ||||
| @@ -181,7 +151,7 @@ su - | ||||
|  | ||||
| apt-get update && apt-get dist-upgrade -y | ||||
|  | ||||
| apt-get install bubblewrap cabextract wget zstd gawk tar xz pciutils bc coreutils file curl icoutils wmctrl zenity xdg-utils desktop-file-utils libvulkan1 vulkan-tools libd3d libGL gamemode fontconfig xrdb libcurl libgio libnm libnsl1 libnss glibc-nss glibc-pthread i586-{libvulkan1,libd3d,libGL,libgio,libnm,libnsl1,libnss,glibc-nss,glibc-pthread,libunwind,xorg-dri-swrast} | ||||
| apt-get install bubblewrap cabextract  zstd gawk tar xz pciutils coreutils file curl icoutils wmctrl xdg-utils desktop-file-utils libvulkan1 vulkan-tools libd3d libGL fontconfig xrdb libcurl libgio libnm libnsl1 libnss glibc-nss glibc-pthread i586-{libvulkan1,libd3d,libGL,libgio,libnm,libnsl1,libnss,glibc-nss,glibc-pthread,libunwind,xorg-dri-swrast} | ||||
|  | ||||
| exit | ||||
| ``` | ||||
| @@ -193,19 +163,19 @@ 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 | ||||
| sudo dnf install sysvinit-tools curl libcurl4 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 libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686 | ||||
| ``` | ||||
|  | ||||
| * **RED OS** | ||||
|  | ||||
| ```sh | ||||
| sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| sudo -E dnf install curl icoutils libcurl bubblewrap zstd cabextract tar goverlay openssl steam | ||||
| ``` | ||||
|  | ||||
| * **Solus 4.x** | ||||
|  | ||||
| ```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 | ||||
| sudo eopkg it curl file bubblewrap curl icoutils tar zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba | ||||
| ``` | ||||
|  | ||||
| ## Contacts | ||||
|   | ||||
| @@ -2,6 +2,18 @@ You can help us in the development of the project on the website: https://linux- | ||||
| ---------------------------------------- | ||||
| Changelog: | ||||
|  | ||||
| ###Scripts version 2252### Date: 09.02.2024 / Download update size: 33 megabytes | ||||
| * GUI has been completely translated from zenity to yad | ||||
| * download from wget has been switched to curl (improved download stability with some providers) | ||||
| * improved graphics in games are enabled by default (turned off by pressing: "HOME") | ||||
| * Cyrillic check in paths with a warning has been added | ||||
| * fixed the work of zink in x11 in new versions of mesa (thanks Htylol) | ||||
| * improved the work of FAKE_DLSS (CyberFSR project) | ||||
| * added a setting for enabling FAKE_DLSS_3 (experimental dlssg-to-fsr3 project) | ||||
| * updated the plugins package to version v13 | ||||
| * updated GALLIUM_NINE version to 0.9 | ||||
| * updated NVAPI version to 0.6.4-20 | ||||
|  | ||||
| ###Scripts version 2251### Date: 02.02.2024 / Download update size: 8 megabytes | ||||
| * HOTFIX - fixed automatic closing of EAapp after its installation | ||||
|  | ||||
|   | ||||
| @@ -2,8 +2,17 @@ | ||||
| ----------------------------------------- | ||||
| История изменений: | ||||
|  | ||||
| ###Scripts version 2252### Дата: 09.02.2024 / Размер скачиваемого обновления: 33 мегабайт | ||||
| * интерфейс полностью переведен с zenity на yad | ||||
| * скачивание с wget переведено на curl (для улучшения стабильности скачивания с некоторыми провайдерами) | ||||
| * включено по умолчанию улучшение графики в играх (выключение по клавише: "HOME") | ||||
| * добалена проверка на кирилицу в путях с предупреждением | ||||
| * исправлена работа zink в x11 в новых версиях mesa (спасибо Htylol) | ||||
| * улучшена работа FAKE_DLSS (проект CyberFSR) | ||||
| * добавлена настройка включения FAKE_DLSS_3 (эксперементальный проект dlssg-to-fsr3) | ||||
| * обновлен пакет plugins до версии v13 | ||||
| * обновлена версия GALLIUM_NINE до 0.9 | ||||
| * обновлена версия NVAPI до 0.6.4-20 | ||||
|  | ||||
| ###Scripts version 2251### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт | ||||
| * HOTFIX - исправлено автоматическое закрытие EAapp после его установки на некоторых системах | ||||
|   | ||||
| @@ -33,22 +33,17 @@ d3d9.maxFrameRate = 240 | ||||
| # | ||||
| # Supported values: Any four-digit hex number. | ||||
|  | ||||
| dxgi.customDeviceId = 222F | ||||
| dxgi.customVendorId = 10de | ||||
| # dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090" | ||||
| # dxgi.customDeviceId = 2684 | ||||
| # dxgi.customVendorId = 10de | ||||
| # dxgi.hideAmdGpu = True | ||||
| # dxgi.hideNvidiaGpu = False | ||||
|  | ||||
| # d3d9.customDeviceId = 222F | ||||
| # d3d9.customDeviceDesc = "NVIDIA GeForce RTX 4090" | ||||
| # d3d9.customDeviceId = 2684 | ||||
| # d3d9.customVendorId = 10de | ||||
|  | ||||
|  | ||||
| # Override the reported device description | ||||
| # | ||||
| # Supported values: Any string. | ||||
|  | ||||
| # dxgi.customDeviceDesc = "" | ||||
| # d3d9.customDeviceDesc = "" | ||||
|  | ||||
|  | ||||
|  | ||||
| # Override maximum amount of device memory and shared system memory | ||||
| # reported to the application. This may fix texture streaming issues | ||||
| # in games that do not support cards with large amounts of VRAM. | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/download.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/error.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/info.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.7 KiB | 
| Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										1
									
								
								data_from_portwine/img/gui/portproton.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 64 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/portproton_tray.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/question.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.4 KiB | 
| Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 63 KiB | 
| @@ -1,85 +0,0 @@ | ||||
| xterm*faceSize: 12 | ||||
| xterm*vt100*geometry: 120x20 | ||||
| xterm*saveLines: 16384 | ||||
| xterm*loginShell: true | ||||
| xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48 | ||||
| xterm*termName: xterm-color | ||||
| xterm*eightBitInput: false | ||||
|  | ||||
| !BLK Cursor | ||||
| #define _color0        #000d18 | ||||
| #define _color8        #000d18 | ||||
| !RED Tag | ||||
| #define _color1        #e89393 | ||||
| #define _color9        #e89393 | ||||
| !GRN SpecialKey | ||||
| #define _color2        #9ece13 | ||||
| #define _color10       #9ece13 | ||||
| !YEL Keyword | ||||
| #define _color3        #f0dfaf | ||||
| #define _color11       #f0dfaf | ||||
| !BLU Number | ||||
| #define _color4        #8cd0d3 | ||||
| #define _color12       #8cd0d3 | ||||
| !MAG Precondit | ||||
| #define _color5        #c0bed1 | ||||
| #define _color13       #c0bed1 | ||||
| !CYN Float | ||||
| #define _color6        #dfaf8f | ||||
| #define _color14       #dfaf8f | ||||
| !WHT Search | ||||
| #define _color7        #efefef | ||||
| #define _color15       #efefef | ||||
| !FMT Include, StatusLine, ErrorMsg | ||||
| #define _colorBD       #ffcfaf | ||||
| #define _colorUL       #ccdc90 | ||||
| #define _colorIT       #80d4aa | ||||
| !TXT Normal, Normal, Cursor | ||||
| #define _foreground    #dcdccc | ||||
| #define _background    #1f1f1f | ||||
| #define _cursorColor   #8faf9f | ||||
| URxvt*color0         : _color0 | ||||
| URxvt*color1         : _color1 | ||||
| URxvt*color2         : _color2 | ||||
| URxvt*color3         : _color3 | ||||
| URxvt*color4         : _color4 | ||||
| URxvt*color5         : _color5 | ||||
| URxvt*color6         : _color6 | ||||
| URxvt*color7         : _color7 | ||||
| URxvt*color8         : _color8 | ||||
| URxvt*color9         : _color9 | ||||
| URxvt*color10        : _color10 | ||||
| URxvt*color11        : _color11 | ||||
| URxvt*color12        : _color12 | ||||
| URxvt*color13        : _color13 | ||||
| URxvt*color14        : _color14 | ||||
| URxvt*color15        : _color15 | ||||
| URxvt*colorBD        : _colorBD | ||||
| URxvt*colorIT        : _colorIT | ||||
| URxvt*colorUL        : _colorUL | ||||
| URxvt*foreground     : _foreground | ||||
| URxvt*background     : _background | ||||
| URxvt*cursorColor    : _cursorColor | ||||
| XTerm*color0         : _color0 | ||||
| XTerm*color1         : _color1 | ||||
| XTerm*color2         : _color2 | ||||
| XTerm*color3         : _color3 | ||||
| XTerm*color4         : _color4 | ||||
| XTerm*color5         : _color5 | ||||
| XTerm*color6         : _color6 | ||||
| XTerm*color7         : _color7 | ||||
| XTerm*color8         : _color8 | ||||
| XTerm*color9         : _color9 | ||||
| XTerm*color10        : _color10 | ||||
| XTerm*color11        : _color11 | ||||
| XTerm*color12        : _color12 | ||||
| XTerm*color13        : _color13 | ||||
| XTerm*color14        : _color14 | ||||
| XTerm*color15        : _color15 | ||||
| XTerm*colorBD        : _colorBD | ||||
| XTerm*colorIT        : _colorIT | ||||
| XTerm*colorUL        : _colorUL | ||||
| XTerm*foreground     : _foreground | ||||
| XTerm*background     : _background | ||||
| XTerm*cursorColor    : _cursorColor | ||||
|  | ||||
| @@ -6,7 +6,7 @@ then | ||||
|     KEY_CREDITS=$RANDOM | ||||
|  | ||||
| "${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ | ||||
| --image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ | ||||
| --image-path="$PW_GUI_ICON_PATH" --image="port_proton" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
| --text-align=center --scroll --text="PortProton v. ${install_ver} | ||||
| scripts v. ${scripts_install_ver} | ||||
|  | ||||
| @@ -357,10 +357,9 @@ Yandex кошелек:   410012267513818 | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds | ||||
| YAD: https://github.com/v1cont/yad | ||||
| ZENITY: https://github.com/GNOME/zenity" 2>/dev/null & | ||||
| YAD: https://github.com/v1cont/yad" 2>/dev/null & | ||||
|          | ||||
| "${pw_yad_v12_3}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| "${pw_yad_v12_3}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|  --notebook --no-buttons  --tab-pos=bottom \ | ||||
| --tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \ | ||||
| --tab="БИБЛИОТЕКИ" | ||||
| @@ -725,11 +724,10 @@ Yandex wallet:   410012267513818 | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds | ||||
| YAD: https://github.com/v1cont/yad | ||||
| ZENITY: https://github.com/GNOME/zenity" 2>/dev/null & | ||||
| YAD: https://github.com/v1cont/yad" 2>/dev/null & | ||||
|  | ||||
|  | ||||
| "${pw_yad_v12_3}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| "${pw_yad_v12_3}" --title "ABOUT US" --key="${KEY_CREDITS}" ---window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
| --notebook --no-buttons  --tab-pos=bottom \ | ||||
| --tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \ | ||||
| --tab="THIRD PARTY LIBRARIES" | ||||
|   | ||||
| @@ -11,6 +11,11 @@ print_error () { | ||||
| } | ||||
| export -f print_error | ||||
|  | ||||
| fatal () { | ||||
|     print_error "$@" | ||||
|     exit 1 | ||||
| } | ||||
|  | ||||
| print_warning () { | ||||
|     printf "\E[33m%s Warning: $@ %s\e[0m\n" | ||||
| } | ||||
| @@ -119,10 +124,10 @@ try_download_game () { | ||||
|     PW_DOWNLOAD_FILE_NAME="$(basename $1)" | ||||
|     set -o pipefail | ||||
|     curl -C - -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2" 2>&1 | \ | ||||
|     tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \ | ||||
|     tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \ | ||||
|     "${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \ | ||||
|     --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15 | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|         print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}." | ||||
|         return 1    | ||||
| @@ -136,18 +141,18 @@ try_download () { | ||||
|     [[ ! -f "${pw_yad_v12_3}" ]] && local pw_yad_v12_3="yad" | ||||
|     set -o pipefail | ||||
|     curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2" 2>&1 | \ | ||||
|     tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \ | ||||
|     tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \ | ||||
|     "${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \ | ||||
|     --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15 | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|         print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub." | ||||
|         print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP" | ||||
|         curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -L "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" -o "$2" 2>&1 | \ | ||||
|         tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \ | ||||
|         tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \ | ||||
|         "${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \ | ||||
|         --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/port_proton.png" | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15 | ||||
|         if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|             print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP." | ||||
|             return 1    | ||||
| @@ -161,10 +166,10 @@ try_download_to_path () { | ||||
|     PW_DOWNLOAD_FILE_NAME="$(basename $1)" | ||||
|     set -o pipefail | ||||
|     curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2/$PW_DOWNLOAD_FILE_NAME" 2>&1 | \ | ||||
|     tr '\r' '\n' | sed -u -e 's/#//g' -e 's/ //g' -e 's/\.[[:digit:]]%//' | \ | ||||
|     tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \ | ||||
|     "${pw_yad_v12_3}" --progress --percentage=0 --text="Download ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \ | ||||
|     --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15 | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|         print_error "Failed to download $1." | ||||
|         return 1  | ||||
| @@ -231,6 +236,15 @@ var_ld_library_path_update() { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_notify_send () { | ||||
|     if command -v notify-send &>/dev/null ; then | ||||
|         if [[ -f "$PW_GUI_ICON_PATH/portproton.svg" ]] | ||||
|         then notify-send -a PortProton -i "$PW_GUI_ICON_PATH/portproton.svg" $@ "${PW_NOTIFY_TEXT}" | ||||
|         else notify-send -a PortProton $@ "${PW_NOTIFY_TEXT}" | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| unpack_tar_zst () { | ||||
|     set -o pipefail | ||||
|     unset PW_ZSTD_PORT | ||||
| @@ -240,7 +254,7 @@ unpack_tar_zst () { | ||||
|         pw_stop_progress_bar_cover_block | ||||
|         [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 | ||||
|     else | ||||
|         env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xhvf "$1" -C "$2" | ||||
|         env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_PLUGINS_PATH}/portable/lib/lib64:${PW_PLUGINS_PATH}/portable/lib/lib" tar -I "${PW_PLUGINS_PATH}/portable/bin/zstd" -xhvf "$1" -C "$2" | ||||
|         pw_stop_progress_bar_cover_block | ||||
|         [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 | ||||
|     fi | ||||
| @@ -445,6 +459,22 @@ init_wine_ver () { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_use_command () { | ||||
|     if command -v "$1" $>/dev/null ; then | ||||
|         $@ | ||||
|     else | ||||
|         if [[ -f "${PW_PLUGINS_PATH}/portable/bin/${1}" ]] ; then | ||||
|             if [ ! -z "$LD_LIBRARY_PATH" ] | ||||
|             then env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64:$LD_LIBRARY_PATH" "${PW_PLUGINS_PATH}/portable/bin/"$@  | ||||
|             else env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" "${PW_PLUGINS_PATH}/portable/bin/"$@  | ||||
|             fi | ||||
|         else | ||||
|             print_error "command $1 - not found" | ||||
|             exit 1 | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| pw_init_runtime () { | ||||
|  | ||||
|     if grep -q -E '(ROSA Fresh|RED OS)' "/etc/os-release" ; then | ||||
| @@ -454,15 +484,15 @@ pw_init_runtime () { | ||||
|     fi | ||||
|  | ||||
|     PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"  | ||||
|     export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases" | ||||
|     export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_PLUGINS_PATH}/portable/lib/lib64:${PW_PLUGINS_PATH}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases" | ||||
|  | ||||
|     if [ ! -z ${PATH_TMP} ] | ||||
|     then export PATH="${PATH_TMP}" | ||||
|     else export PATH_TMP="${PATH}" | ||||
|     fi | ||||
|     if [ ! -z "${PATH}" ] | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}:${PW_WINELIB}/portable/bin" | ||||
|     else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin" | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}:${PW_PLUGINS_PATH}/portable/bin" | ||||
|     else export PATH="${WINEDIR}/bin:${PW_PLUGINS_PATH}/portable/bin" | ||||
|     fi | ||||
|  | ||||
|     if [ "${PW_USE_GSTREAMER}" = 1 ] ; then  | ||||
| @@ -497,7 +527,7 @@ pw_init_runtime () { | ||||
|         unset PW_VK_LAYER_PATH | ||||
|     else | ||||
|         export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0 | ||||
|         export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d" | ||||
|         export PW_VK_LAYER_PATH="${PW_PLUGINS_PATH}/portable/share/vulkan/implicit_layer.d" | ||||
|     fi | ||||
|  | ||||
|     # export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/" | ||||
| @@ -526,7 +556,7 @@ pw_init_runtime () { | ||||
|     done | ||||
|  | ||||
|     # drop portable: libssl 32-bit | ||||
|     try_remove_file "${PW_WINELIB}/portable/lib/lib32/libssl.so.1.1" | ||||
|     try_remove_file "${PW_PLUGINS_PATH}/portable/lib/lib32/libssl.so.1.1" | ||||
|     print_info "RUNTIME is enabled" | ||||
| } | ||||
|  | ||||
| @@ -676,8 +706,8 @@ stop_portwine () { | ||||
| export -f stop_portwine | ||||
|  | ||||
| pw_download_libs () { | ||||
|     if [[ ! -e "${PW_WINELIB}/portable/bin/yad" || ! -e "${PW_WINELIB}/portable/lib/p7zip/7z" \ | ||||
|     || ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" || -e "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ]] ; | ||||
|     if [[ ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" ]] \ | ||||
|     || [[ ! -f "${PW_WINELIB}/pressure-vessel/bin/pv-bwrap" ]] | ||||
|     then | ||||
|         print_info "Download and install libraries..." | ||||
|         if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then | ||||
| @@ -687,12 +717,13 @@ pw_download_libs () { | ||||
|                     for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}` | ||||
|                     do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}" | ||||
|                     done | ||||
|                     # TODO: drop clear prefix, and add update prefix from new libs  | ||||
|                     pw_clear_pfx | ||||
|                 fi | ||||
|             else | ||||
|                 try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" | ||||
|                 try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" | ||||
|                 if zenity_error_download | ||||
|                 if yad_error_download | ||||
|                 then pw_download_libs | ||||
|                 else | ||||
|                     export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))" | ||||
| @@ -700,7 +731,7 @@ pw_download_libs () { | ||||
|                 fi | ||||
|             fi | ||||
|         else | ||||
|             if zenity_error_download | ||||
|             if yad_error_download | ||||
|             then pw_download_libs | ||||
|             else | ||||
|                 export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))" | ||||
| @@ -708,11 +739,7 @@ pw_download_libs () { | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
|     export pw_yad="${PW_WINELIB}/portable/bin/yad" | ||||
|     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" | ||||
|     export PW_XTERM="${PW_WINELIB}/portable/bin/xterm -geometry 159x37 -e" | ||||
|     try_remove_dir "${PW_WINELIB}/portable" | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| @@ -738,10 +765,10 @@ pw_check_and_download_wine () { | ||||
|                 try_remove_dir "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}" | ||||
|                 try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" | ||||
|  | ||||
|                 zenity_error_download && pw_check_and_download_wine || exit 1 | ||||
|                 yad_error_download && pw_check_and_download_wine || exit 1 | ||||
|             fi | ||||
|         else | ||||
|             zenity_error_download && pw_check_and_download_wine || exit 1 | ||||
|             yad_error_download && pw_check_and_download_wine || exit 1 | ||||
|         fi | ||||
|     fi | ||||
|     return 0 | ||||
| @@ -759,7 +786,7 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" | ||||
|                     try_remove_dir dxvk-${DXVK_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                     yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                 fi | ||||
|             elif try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then | ||||
|                 if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then | ||||
| @@ -768,10 +795,10 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" | ||||
|                     try_remove_dir dxvk-${DXVK_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                     yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                 fi | ||||
|             else | ||||
|                 zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                 yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|             fi | ||||
|         fi | ||||
|     done | ||||
| @@ -787,7 +814,7 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" | ||||
|                     try_remove_dir vkd3d-proton-${VKD3D_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                     yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                 fi | ||||
|             elif try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then | ||||
|                 if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then | ||||
| @@ -796,10 +823,10 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" | ||||
|                     try_remove_dir vkd3d-proton-${VKD3D_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                     yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                 fi | ||||
|             else | ||||
|                 zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|                 yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|             fi | ||||
|         fi | ||||
|     done | ||||
| @@ -814,10 +841,10 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
|                 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 || exit 1 | ||||
|                 yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|             fi | ||||
|         else | ||||
|             zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|             yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 | ||||
|         fi | ||||
|     fi | ||||
|  | ||||
| @@ -825,8 +852,11 @@ pw_check_and_download_dxvk_and_vkd3d () { | ||||
| } | ||||
|  | ||||
| pw_check_and_download_plugins () { | ||||
|     if [[ ! -d "${PW_PLUGINS_PATH}/fake_dlss" ]] || [[ ! -d "${PW_PLUGINS_PATH}/nvapi" ]] ; then | ||||
|     if [[ ! -f "${PW_PLUGINS_PATH}/portable/bin/yad_new" ]] \ | ||||
|     || [[ ! -f "${PW_PLUGINS_PATH}/portable/bin/yad_v12_3" ]] | ||||
|     then | ||||
|         print_info "Download and install plugins${PW_PLUGINS_VER}..." | ||||
|         if command -v yad &>/dev/null ; then | ||||
|             if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then | ||||
|                 if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then | ||||
|                     try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"  | ||||
| @@ -838,7 +868,7 @@ pw_check_and_download_plugins () { | ||||
|                 else | ||||
|                     try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" | ||||
|                     try_remove_dir "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}" | ||||
|                 if zenity_error_download | ||||
|                     if yad_error_download | ||||
|                     then pw_check_and_download_plugins | ||||
|                     else | ||||
|                         export PW_PLUGINS_VER="$(echo _v$(($(echo $PW_PLUGINS_VER | sed 's/_v//') - 1)))" | ||||
| @@ -846,14 +876,37 @@ pw_check_and_download_plugins () { | ||||
|                     fi | ||||
|                 fi | ||||
|             else | ||||
|             if zenity_error_download | ||||
|                 if yad_error_download | ||||
|                 then pw_check_and_download_plugins | ||||
|                 else | ||||
|                     export PW_PLUGINS_VER="$(echo _v$(($(echo $PW_PLUGINS_VER | sed 's/_v//') - 1)))" | ||||
|                     export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"   | ||||
|                 fi | ||||
|             fi | ||||
|         else | ||||
|             PW_NOTIFY_TEXT="Please wait for update PortProton" | ||||
|             pw_notify_send -u normal  | ||||
|             if try_download_silent "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then | ||||
|                 if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then | ||||
|                     try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"  | ||||
|                     if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then | ||||
|                         for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}` | ||||
|                         do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" | ||||
|                         done | ||||
|                     fi | ||||
|                 else | ||||
|                     PW_NOTIFY_TEXT="Failed updating PortProton!" | ||||
|                     pw_notify_send -u critical  | ||||
|                     print_error "Failed updating PortProton!" | ||||
|                 fi | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
|     export pw_yad="${PW_PLUGINS_PATH}/portable/bin/yad" | ||||
|     export pw_yad_v12_3="${PW_PLUGINS_PATH}/portable/bin/yad_v12_3" | ||||
|     export pw_zstd="${PW_PLUGINS_PATH}/portable/bin/zstd" | ||||
|     export pw_7z="${PW_PLUGINS_PATH}/portable/lib/p7zip/7z" | ||||
|     export PW_XTERM="${PW_PLUGINS_PATH}/portable/bin/xterm -geometry 159x37 -e" | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| @@ -892,8 +945,9 @@ pw_init_db () { | ||||
|                         export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`!${ADD_CB_DBFILE}" | ||||
|                     fi | ||||
|                 done | ||||
|                 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="" \ | ||||
|                 PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v12_3}" --text-align=center \ | ||||
|                 --text "${PW_SELECTION_DB_LOC}" --borders="${YAD_BORDERS}" --form \ | ||||
|                 --title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/portproton.svg"  --form --separator="" \ | ||||
|                 --field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null` | ||||
|                 if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi | ||||
|             elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then | ||||
| @@ -937,9 +991,13 @@ pw_init_db () { | ||||
|             check_variables PW_USE_RAY_TRACING "1" | ||||
|         fi | ||||
|  | ||||
|         if [[ -f "${PATH_TO_GAME}"/steam_emu.ini ]] && [[ "${update_loc}" == "RUS" ]] ; then | ||||
|             sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}"/steam_emu.ini | ||||
|             sed -i "/UserName=/c\UserName=${USER}" "${PATH_TO_GAME}"/steam_emu.ini | ||||
|         if [[ "${update_loc}" == "RUS" ]] ; then | ||||
|             for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" ; do | ||||
|                 if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then | ||||
|                     sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|                     sed -i "/UserName=/c\UserName=${USER}" "${PATH_TO_GAME}/${chk_lang_and_uname}" | ||||
|                 fi | ||||
|             done | ||||
|         fi | ||||
|     fi | ||||
|     [[ "${START_FROM_STEAM}" == 1 ]] && export PW_GUI_DISABLED_CS=1 | ||||
| @@ -978,22 +1036,24 @@ 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_v12_3" ]] ; then | ||||
|                 export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3" | ||||
|             if [[ -f "${PW_PLUGINS_PATH}/portable/bin/yad_v12_3" ]] | ||||
|             then export pw_yad_v12_3="${PW_PLUGINS_PATH}/portable/bin/yad_v12_3" | ||||
|             elif command -v yad &>/dev/null | ||||
|             then local pw_yad_v12_3="yad" | ||||
|             else local pw_yad_v12_3="not_found" | ||||
|             fi | ||||
|             if [[ "${pw_yad_v12_3}" == "not_found" ]] ; then | ||||
|                 xcsd="${scripts_upd4}" | ||||
|             else | ||||
|                 curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | ||||
|                 CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' ` | ||||
|                 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 \ | ||||
|                 xcsd=`"${pw_yad_v12_3}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|                 --borders=${YAD_BORDERS} --form --separator='%%%' --width=1200 --height=600 \ | ||||
|                 --field=":TXT" "${CHANGLOG_NEWS}" \ | ||||
|                 --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}'` | ||||
|             else | ||||
|                 xcsd=`zenity --title  "${scripts_upd1}" --text "${scripts_upd2}" --list --radiolist --height=240 --column="${inst_set}" --column "${scripts_upd3}" \ | ||||
|                 TRUE "${scripts_upd4}" \ | ||||
|                 FALSE "${scripts_upd5}" \ | ||||
|                 FALSE "${scripts_upd6}"` | ||||
|             fi | ||||
|             case $xcsd in | ||||
|                 "${scripts_upd4}") | ||||
| @@ -1012,15 +1072,11 @@ 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_v12_3}" ]] ; then | ||||
|                                 zenity --title="Changelog" --text-info --width=1200 --height=550 \ | ||||
|                                 --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" | ||||
|                             fi  | ||||
|                             [ "$?" == 0 ] && echo "Restarting PP after update..." && /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|                             exit 0 | ||||
|                         fi | ||||
|                     else | ||||
|                         zenity_error_download && pw_port_update || exit 1 | ||||
|                         yad_error_download && pw_port_update || exit 1 | ||||
|                     fi ;; | ||||
|                 "${scripts_upd5}") | ||||
|                     echo " " ;; | ||||
| @@ -1099,14 +1155,14 @@ 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 "`command -v wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then | ||||
|     if [[ ! -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 "$(readlink -f "${portwine_exe}")" | ||||
|         pw_use_command wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "$(readlink -f "${portwine_exe}")" | ||||
|         cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".ico" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" | ||||
|         icotool -x --width=${PW_RESIZE_TO} --height=${PW_RESIZE_TO} --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" | ||||
|         pw_use_command icotool -x --width=${PW_RESIZE_TO} --height=${PW_RESIZE_TO} --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" | ||||
|         if [[ ! -f "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}")" ]] ; then  | ||||
|             icotool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" | ||||
|             pw_use_command icotool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico" | ||||
|             cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" | ||||
|         else | ||||
|             cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" | ||||
| @@ -1147,7 +1203,7 @@ pw_find_exe () { | ||||
|  | ||||
|     OrigIFS="$IFS" && IFS=% | ||||
|     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-align=center --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "Create shortcut for..." \ | ||||
|     --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 | ||||
|   | ||||
| @@ -14,8 +14,11 @@ else | ||||
| 	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" ` | ||||
| 		[[ ! -f "${pw_yad_v12_3}" ]] && pw_yad_v12_3="yad" | ||||
| 		SET_LANG=$("$pw_yad_v12_3" --title  "LAUNGUAGE" --text "Select the language:" --list --radiolist \ | ||||
| 		--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" \ | ||||
| 		--window-icon "$PW_GUI_ICON_PATH/portproton.svg" --width=300 --height=150) | ||||
| 		SET_LANG="$(echo $SET_LANG | awk -F'|' '{print $2}')" | ||||
| 		echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| 		if [[ ! -z "${SET_LANG}" ]] | ||||
| 		then export update_loc=${SET_LANG} | ||||
|   | ||||
| @@ -4,6 +4,7 @@ | ||||
| export LAUNCH_PARAMETERS=("/q" ) | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Epic Games Launcher" | ||||
| # 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" | ||||
|  | ||||
|   | ||||
| @@ -5,7 +5,7 @@ export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| GOG_VER="$(curl "https://remote-config.gog.com/components/webinstaller?component_version=2.0.0" \ | ||||
| | awk -F'galaxy_client_' '{print $2}' \ | ||||
| | awk -F'.pkg' '{print $1}')" | ||||
| [[ "${GOG_VER}" != 2.* ]] && zenity_error "ERROR: Get the GOG version." && exit 1 | ||||
| [[ "${GOG_VER}" != 2.* ]] && yad_error "ERROR: Get the GOG version." && exit 1 | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_${GOG_VER}.exe" | ||||
| export PW_PREFIX_NAME="GOG" | ||||
| export DISABLE_CP_DEFPFX=1 | ||||
|   | ||||
| @@ -20,10 +20,10 @@ if try_download_game "https://lol.secure.dyn.riotcdn.net/channels/public/x/insta | ||||
| then | ||||
|     pw_start_progress_bar_block "Installing League of Legends. ${loc_gui_please_wait} " | ||||
|     if [ "${update_loc}" = "RUS" ] ; then | ||||
|        zenity --info --width=500 --text "Вы должны нажать кнопку установки, не изменяя настроек!" | ||||
|        yad_info "Вы должны нажать кнопку установки, не изменяя настроек!" | ||||
|    fi | ||||
|    if [ "${update_loc}" = "ENG" ] ; then | ||||
|        zenity --info --width=500 --text "You must click the install button without changing the settings!" | ||||
|        yad_info "You must click the install button without changing the settings!" | ||||
|   fi | ||||
|     pw_kill_autostart RiotClientServices.exe & | ||||
|     pw_run "${PW_AUTOINSTALL_EXE}"  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| PR64_VER="$(curl https://www.pj64-emu.com/public-releases | grep 'installer' | head -n 1 \ | ||||
| | awk -F'/project64' '{print $2}' \ | ||||
| | awk -F'installer"' '{print $1}')" | ||||
| [[ "${PR64_VER}" != *-3-* ]] && zenity_error "ERROR: Get the Project64 version." && exit 1 | ||||
| [[ "${PR64_VER}" != *-3-* ]] && yad_error "ERROR: Get the Project64 version." && exit 1 | ||||
|  | ||||
| export LAUNCH_PARAMETERS=("/VERYSILENT") | ||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Project64${PR64_VER}setup.exe" | ||||
|   | ||||
| @@ -8,7 +8,7 @@ export PW_DLL_INSTALL="faudio dotnet48" | ||||
| export PW_VULKAN_USE=1 | ||||
|  | ||||
| WOSB_VERSION="$(curl -s --list-only --connect-timeout 3 https://www.worldofseabattle.com/download2 2>/dev/null | grep 'installer.exe' | awk -F'xsolla-launcher-update/' '{print $2}' | awk -F'/' '{print $1}')" | ||||
| [[ ! -z "$WOSB_VERSION" ]] && print_info "Found version: $WOSB_VERSION" || zenity_error "Error while get version of WOSB INSTALLER." | ||||
| [[ ! -z "$WOSB_VERSION" ]] && print_info "Found version: $WOSB_VERSION" || yad_error "Error while get version of WOSB INSTALLER." | ||||
|  | ||||
| start_portwine | ||||
| if try_download_game "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}" | ||||
|   | ||||
| @@ -16,20 +16,16 @@ echo ' | ||||
| ' | ||||
| if [[ $(id -u) = 0 ]] ; then | ||||
|     echo "Do not run this script as root!" | ||||
|     zenity --error --text "Do not run this script as root!" | ||||
|     exit 1 | ||||
| fi | ||||
| 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 | ||||
|  | ||||
| . "$(dirname $(readlink -f "$0"))/functions_helper" | ||||
|  | ||||
| start_portwine () { | ||||
|     var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}" | ||||
|     export WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")" | ||||
|     if [[ "$WINEPREFIX" != "${PORT_WINE_PATH}/data/prefixes/"* ]] && [[ ! -d "$WINEPREFIX" ]] ; then | ||||
|         zenity_error "Path to PREFIX not found:\n$WINEPREFIX" | ||||
|         yad_error "Path to PREFIX not found:\n$WINEPREFIX" | ||||
|         exit 1 | ||||
|     fi | ||||
|     create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" | ||||
| @@ -64,11 +60,6 @@ start_portwine () { | ||||
|         unset WARN_CYRILLIC_IN_PATH | ||||
|     fi | ||||
|  | ||||
|     if [ ! -f "${HOME}/.Xresources" ]; then | ||||
|         cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}" | ||||
|         xrdb -merge "${HOME}/.Xresources" | ||||
|     fi | ||||
|  | ||||
|     if [[ "$PW_USE_OBS_VKCAPTURE" == "1" ]] ; then | ||||
|         export OBS_VKCAPTURE="1" | ||||
|         export PW_USE_SYSTEM_VK_LAYERS="1" | ||||
| @@ -147,11 +138,23 @@ start_portwine () { | ||||
|     enabled_fake_nvidia_videocard ()  | ||||
|     { | ||||
|         if [[ "${1}" == 1 ]] ; then | ||||
|             sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 222F' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.customDeviceDesc =/c dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090"' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 2684' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.hideAmdGpu =/c dxgi.hideAmdGpu = True' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.hideNvidiaGpu =/c dxgi.hideNvidiaGpu = False' "${DXVK_CONFIG_FILE}" | ||||
|             export WINE_HIDE_NVIDIA_GPU=0 | ||||
|             export WINE_HIDE_AMD_GPU=1 | ||||
|             export DXVK_NVAPI_DRIVER_VERSION=53713 | ||||
|             export DXVK_NVAPI_ALLOW_OTHER_DRIVERS=1 | ||||
|         elif [[ "${1}" == 0 ]] ; then | ||||
|             sed -i /'dxgi.customDeviceId =/c # dxgi.customDeviceId = 222F' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090"' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.customDeviceId =/c # dxgi.customDeviceId = 2684' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.customVendorId =/c # dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.hideAmdGpu =/c # dxgi.hideAmdGpu = True' "${DXVK_CONFIG_FILE}" | ||||
|             sed -i /'dxgi.hideNvidiaGpu =/c # dxgi.hideNvidiaGpu = False' "${DXVK_CONFIG_FILE}" | ||||
|             unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU  | ||||
|             unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS | ||||
|         fi | ||||
|     } | ||||
|  | ||||
| @@ -160,27 +163,38 @@ start_portwine () { | ||||
|         try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll" | ||||
|     done | ||||
|  | ||||
|     if [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then | ||||
|     # TODO: LFX (wait new LFX v2) | ||||
|     # if [[ "${PW_USE_LFX}" == 1 ]] ; then | ||||
|     #     try_force_link_file "${PW_PLUGINS_PATH}/lfx/${PW_LFX_VER}/latencyflex_layer.so" "${WINEDIR}/lib64/wine/x86_64-unix/" | ||||
|     #     try_force_link_file "${PW_PLUGINS_PATH}/lfx/${PW_LFX_VER}/latencyflex_layer.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     #     try_force_link_file "${PW_PLUGINS_PATH}/lfx/${PW_LFX_VER}/latencyflex_wine.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     #     enabled_fake_nvidia_videocard 1 | ||||
|     #     export LFX2=1 | ||||
|     # fi | ||||
|  | ||||
|     export DXVK_ENABLE_NVAPI=1 | ||||
|     if [[ "${PW_USE_FAKE_DLSS_3}" == 1 ]] ; then | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss_3/${PW_FAKE_DLSS_3_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"  | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_3_VER}/dlssg_to_fsr3_amd_is_better.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         var_winedlloverride_update "nvapi,nvapi64,nvngx,_nvngx,dlssg_to_fsr3_amd_is_better=n;nvcuda=b" | ||||
|         enabled_fake_nvidia_videocard 1 | ||||
|         export WINEHAGS=1 | ||||
|     elif [[ "${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=;nvcuda=b" | ||||
|         export DXVK_ENABLE_NVAPI=1 | ||||
|         export WINE_HIDE_NVIDIA_GPU=0 | ||||
|         export WINE_HIDE_AMD_GPU=1 | ||||
|         export DXVK_NVAPI_DRIVER_VERSION=99999 | ||||
|     elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then | ||||
|         FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))" | ||||
|         if [[ ! -z "$FIND_NVNGX" ]] ; then | ||||
|             try_copy_file "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_copy_file "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         else | ||||
|             try_copy_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_copy_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|             try_force_link_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 | ||||
|         var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b" | ||||
|     else | ||||
|         enabled_fake_nvidia_videocard 0 | ||||
| @@ -210,8 +224,11 @@ start_portwine () { | ||||
|     [[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG | ||||
|     [[ "${PW_VKBASALT_USER_CONF}" == 1 ]] && unset PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS | ||||
|  | ||||
|     if [[ "${PW_USE_DXR11}" == 1 ]] || [[ "${PW_USE_DXR10}" == 1 ]] || [[ "${PW_USE_RAY_TRACING}" == 1 ]]; then | ||||
|         var_vkd3d_config_update dxr,dxr11 | ||||
|     if [[ "${PW_USE_DXR11}" == 1 ]] \ | ||||
|     || [[ "${PW_USE_DXR10}" == 1 ]] \ | ||||
|     || [[ "${PW_USE_RAY_TRACING}" == 1 ]] | ||||
|     then | ||||
|         var_vkd3d_config_update dxr | ||||
|         var_radv_perftest_config_update rt | ||||
|     else | ||||
|         var_vkd3d_config_update nodxr | ||||
| @@ -286,8 +303,8 @@ start_portwine () { | ||||
|         else export PW_LD_PRELOAD="${GAMEMODEAUTO_NAME}" | ||||
|         fi | ||||
|          | ||||
|         env LD_LIBRARY_PATH="${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32" \ | ||||
|         "${PW_WINELIB}/portable/bin/gamemoded" &>/dev/null & | ||||
|         env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64:${PW_PLUGINS_PATH}/portable/lib/lib32" \ | ||||
|         "${PW_PLUGINS_PATH}/portable/bin/gamemoded" &>/dev/null & | ||||
|  | ||||
|         print_info "Gamemod will be launched." | ||||
|     else | ||||
| @@ -313,7 +330,7 @@ start_portwine () { | ||||
|         LN_FONTS="arialbd.ttf courbd.ttf georgia.ttf micross.ttf msyh.ttf simsun.ttc arial.ttf cour.ttf malgun.ttf msgothic.ttc nirmala.ttf times.ttf" | ||||
|         for link_font in $LN_FONTS ; do | ||||
|             if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then | ||||
|                 try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" | ||||
|                 try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/" | ||||
|             fi | ||||
|         done | ||||
|  | ||||
| @@ -348,7 +365,7 @@ start_portwine () { | ||||
|             try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" | ||||
|         else | ||||
|             try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" | ||||
|             zenity_error_download && exit 1 | ||||
|             yad_error_download && exit 1 | ||||
|         fi | ||||
|     fi | ||||
|          | ||||
| @@ -360,7 +377,7 @@ start_portwine () { | ||||
|             try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" | ||||
|         else | ||||
|             try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" | ||||
|             zenity_error_download && exit 1 | ||||
|             yad_error_download && exit 1 | ||||
|         fi | ||||
|     fi | ||||
|      | ||||
| @@ -421,23 +438,20 @@ start_portwine () { | ||||
|         export PW_USE_US_LAYOUT="0" | ||||
|     fi | ||||
|  | ||||
|     D3D_EXTRAS_LIBS="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" | ||||
|     if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then | ||||
|         if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ]] \ | ||||
|         || [[ -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 | ||||
|         PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras" | ||||
|         for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; 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" | ||||
| @@ -445,6 +459,11 @@ start_portwine () { | ||||
|                 echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | ||||
|             fi | ||||
|         done | ||||
|     else | ||||
|         for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do | ||||
|             try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|             try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|         done | ||||
|     fi | ||||
|     print_info "Try link wine d3d files by default..." | ||||
|     for rm_vulkan_dll in libvkd3d-1 libvkd3d-shader-1 dxvk_config nvapi nvapi64 d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d ; do | ||||
| @@ -452,8 +471,8 @@ start_portwine () { | ||||
|         try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_vulkan_dll}.dll" | ||||
|     done | ||||
|     for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d ; do | ||||
|         try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll" | ||||
|         try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_build_dll}.dll" | ||||
|         try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|     done | ||||
|  | ||||
|     create_new_dir "${PW_VULKAN_DIR}/opengl" | ||||
| @@ -478,7 +497,6 @@ start_portwine () { | ||||
|         fi | ||||
|     elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then | ||||
|         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" "${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" | ||||
| @@ -498,7 +516,7 @@ start_portwine () { | ||||
|             print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}" | ||||
|         else  | ||||
|             pw_stop_progress_bar | ||||
|             zenity_error "d3dadapter9.so.1.0.0 - ${loc_find_d3dadapter9_error}" | ||||
|             yad_error "d3dadapter9.so.1.0.0 - ${loc_find_d3dadapter9_error}" | ||||
|             stop_portwine | ||||
|         fi | ||||
|         export mesa_glthread=true | ||||
| @@ -536,42 +554,38 @@ start_portwine () { | ||||
|         print_info "Try link native DXVK files..." | ||||
|         for wine_dxvk_dll in ${CP_DXVK_FILES} ; do | ||||
|             if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll"  ]] ; then | ||||
|                 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" | ||||
|                 try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 var_winedlloverride_update "${wine_dxvk_dll}=n" | ||||
|             fi | ||||
|         done | ||||
|  | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ | ||||
|         try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|  | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ | ||||
|         try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ | ||||
|         try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ | ||||
|         try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"  | ||||
|  | ||||
|         print_info "Try link native VKD3D files..." | ||||
|         for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-1 libvkd3d-shader-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" | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|                 try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" | ||||
|                 var_winedlloverride_update "${wine_vkd3d_dll}=n" | ||||
|             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" | ||||
|         try_force_link_file "${PATH_TO_D8VK_FILES}/x32/d3d8.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" | ||||
|         var_winedlloverride_update d3d8=n | ||||
|     fi | ||||
|  | ||||
|     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 "${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 | ||||
|         try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/" | ||||
|         try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/" | ||||
|     fi | ||||
|   | ||||
|     if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then | ||||
| @@ -608,15 +622,13 @@ start_portwine () { | ||||
|     fi | ||||
|  | ||||
|     for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" "amd_ags_x64.dll" "ir50_32.dll" ; do | ||||
|         try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" | ||||
|         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 | ||||
|         try_remove_file "${WINEPREFIX}/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 | ||||
|  | ||||
| @@ -744,7 +756,7 @@ export -f pw_run | ||||
|  | ||||
| ###MAIN### | ||||
| if [[ $(id -u) -eq 0 ]] ; then | ||||
|     zenity_error "Do not run the script from the superuser!" | ||||
|     yad_error "Do not run the script from the superuser!" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| @@ -832,14 +844,14 @@ cd "${PORT_SCRIPTS_PATH}" | ||||
|              | ||||
| export STEAM_SCRIPTS="${PORT_WINE_PATH}/steam_scripts" | ||||
| export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}" | ||||
| export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" | ||||
|  | ||||
| . "${PORT_SCRIPTS_PATH}"/lang | ||||
| . "${PORT_SCRIPTS_PATH}"/zen_yad_gui | ||||
| . "${PORT_SCRIPTS_PATH}"/yad_gui | ||||
|  | ||||
| export urlg="https://linux-gaming.ru/portproton/" | ||||
| export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" | ||||
| try_remove_dir "${PW_WINELIB}/var" | ||||
| export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" | ||||
| export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` | ||||
| export WINETRICKS_DOWNLOADER="curl" | ||||
| export USER_CONF="${PORT_WINE_PATH}/data/user.conf" | ||||
| @@ -848,11 +860,11 @@ check_user_conf | ||||
| if [[ -z "${INSTALLING_PORT}" ]] ; then | ||||
|     . "${USER_CONF}" | ||||
|     pw_port_update | ||||
|     pw_check_and_download_plugins | ||||
|     pw_download_libs | ||||
|     export PW_VULKANINFO_PORTABLE="$PW_WINELIB/pressure-vessel/libexec/steam-runtime-tools-0/x86_64-linux-gnu-vulkaninfo" | ||||
|     export VULKAN_API_DRIVER_VERSION="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')" | ||||
|     export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)" | ||||
|     pw_check_and_download_plugins | ||||
|     pw_init_db | ||||
|     . "${PORT_SCRIPTS_PATH}"/lang | ||||
|     pw_check_and_download_dxvk_and_vkd3d | ||||
|   | ||||
| @@ -6,6 +6,7 @@ if  grep -i "flatpak" /etc/os-release &>/dev/null ; then | ||||
| 	name_desktop="PortProton" | ||||
| 	echo "[Desktop Entry]"	 					  		 > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Name=${name_desktop}" 				 		 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Version=${install_ver}"						 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Exec=flatpak run com.castrofidel.portproton"	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Type=Application" 						 	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Terminal=False" 						 		 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -19,6 +20,7 @@ else | ||||
| 	name_desktop="PortProton" | ||||
| 	echo "[Desktop Entry]"	 					  		 > "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Name=${name_desktop}" 				 		 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Version=${install_ver}"						 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F""	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Type=Application" 							 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| 	echo "Terminal=False" 								 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -30,7 +32,7 @@ else | ||||
| 	chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| fi | ||||
|  | ||||
| if [ -z "${PW_AUTOPLAY}" ] ; then | ||||
| if [[ ! -f /usr/bin/portproton ]]; then | ||||
| 	cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ | ||||
| fi | ||||
|  | ||||
| @@ -43,7 +45,7 @@ fi | ||||
| name_desktop="readme" | ||||
| echo "[Desktop Entry]"				 					> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Name=${name_desktop}"								>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Version=1.3"					>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Version=${install_ver}"							>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Type=Link"										>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "Icon="${PORT_WINE_PATH}/data/img/readme.png""		>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| echo "URL=${urlg}" 										>> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| @@ -52,38 +54,14 @@ chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||
| if [ "${PW_SILENT_INSTALL}" = "1" ] ; then | ||||
| 	if [ "${PW_AUTOPLAY}" = "1" ] ; then | ||||
| 		unset INSTALLING_PORT | ||||
| 		if [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then | ||||
| 			export PW_OLD_PATH=`cat "${HOME}/.local/share/applications/PortProton.desktop" | grep -w 'Path=' | sed -E 's/Path=//' | sed -E 's%\/PortProton\/data\/scripts\/%%g' ` | ||||
| 			echo "PW_OLD_PATH=${PW_OLD_PATH}" | ||||
| 		if [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] && [[ -f /usr/bin/portproton ]] ; then | ||||
| 			try_remove_file "${HOME}/.local/share/applications/PortProton.desktop" | ||||
| 		fi | ||||
| 		if [[ ! -z "${PW_OLD_PATH}" ]]	; then  | ||||
| 			if [[ "${PW_OLD_PATH}"* == "${HOME}/PortWINE"* ]] & [[ -d "${HOME}/PortWINE" ]] ; then | ||||
| 				echo "Old path = ${HOME}/PortWINE" | ||||
| 				try_remove_dir "${XDG_DATA_HOME}/PortWINE" | ||||
| 				mv -f "${HOME}/PortWINE" "${XDG_DATA_HOME}" | ||||
| 			elif [[ "${PW_OLD_PATH}"* == "${PW_OLD_PATH}/PortWINE"* ]] & [[ -d "${PW_OLD_PATH}/PortWINE" ]] ; then | ||||
| 				try_remove_dir "${XDG_DATA_HOME}/PortWINE" | ||||
| 				ln -s "${PW_OLD_PATH}/PortWINE" "${XDG_DATA_HOME}/" | ||||
| 			elif [[ "${PW_OLD_PATH}"* == "${PW_OLD_PATH}/PortProton"* ]] & [[ -d "${PW_OLD_PATH}/PortProton" ]] ; then | ||||
| 				try_remove_dir "${XDG_DATA_HOME}/PortWINE" | ||||
| 				create_new_dir "${XDG_DATA_HOME}/PortWINE" | ||||
| 				ln -s "${PW_OLD_PATH}/PortProton" "${XDG_DATA_HOME}/PortWINE" | ||||
| 			fi | ||||
| 		fi | ||||
| 		if [ ! -L "${HOME}/PortWINE" ] && [ -d "${XDG_DATA_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 "${PORT_WINE_PATH}/data/scripts/start.sh" $@ &  | ||||
| 		exit 0 | ||||
| 	else | ||||
| 		echo "Installation completed successfully." | ||||
| 	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 | ||||
| fi | ||||
| unset INSTALLING_PORT | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
|  | ||||
| export NO_AT_BRIDGE=1 | ||||
| export pw_full_command_line=("$0" $*) | ||||
| export YAD_BORDERS=5 | ||||
| MISSING_DESKTOP_FILE=0 | ||||
|  | ||||
| if [[ -f "$1" ]] ; then | ||||
| @@ -36,7 +37,7 @@ if [[ -f "$portwine_exe" ]] \ | ||||
| && [[ "${WARN_CYRILLIC_IN_PATH}" != 1 ]] \ | ||||
| && echo "${portwine_exe}" | grep -e $'[\u0430-\u044F\u0410-\u042F]' &>/dev/null | ||||
| then | ||||
|     zenity_info "$loc_warn_cyrillic_in_path" | ||||
|     yad_info "$loc_warn_cyrillic_in_path" | ||||
|     export WARN_CYRILLIC_IN_PATH="1" | ||||
| fi | ||||
|  | ||||
| @@ -99,7 +100,7 @@ portwine_start_debug () { | ||||
|     export PW_LOG=1 | ||||
|     export PW_WINEDBG_DISABLE=0 | ||||
|     if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then | ||||
| 	zenity_info "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!" | ||||
| 	yad_info "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!" | ||||
|     fi | ||||
|     echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -182,7 +183,7 @@ portwine_start_debug () { | ||||
|     [[ `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" -Gc0 >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "${PW_PLUGINS_PATH}/portable/bin/inxi" -Gc0 >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then  | ||||
|         if command -v ldconfig &>/dev/null ; then | ||||
|             echo "------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
| @@ -193,7 +194,7 @@ portwine_start_debug () { | ||||
|     echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     "${PW_WINELIB}/portable/bin/vkcube" --c 50 | ||||
|     "${PW_PLUGINS_PATH}/portable/bin/vkcube" --c 50 | ||||
|     if [ $? -eq 0 ]; then | ||||
|         echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log" | ||||
|     else | ||||
| @@ -255,7 +256,7 @@ portwine_start_debug () { | ||||
|     sed -i '/wine: RLIMIT_NICE is <= 20/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=3 --no-buttons --text-align=center \ | ||||
|     "$pw_yad" --title="${portname}.log" --borders=${YAD_BORDERS} --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 | ||||
| @@ -349,8 +350,8 @@ pw_prefix_manager () { | ||||
|         --text="${loc_prefix_manager_conf} <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" 2>/dev/null & | ||||
|  | ||||
|         "${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 "$loc_pm" --tab-pos=bottom --tab="$loc_pm_dlls" --tab="$loc_pm_fonts" --tab="$loc_pm_settings" 2>/dev/null | ||||
|         "${pw_yad_v12_3}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=${YAD_BORDERS} --width=900 --height=800 \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$loc_pm" --tab-pos=bottom --tab="$loc_pm_dlls" --tab="$loc_pm_fonts" --tab="$loc_pm_settings" 2>/dev/null | ||||
|         YAD_STATUS="$?" | ||||
|         if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then | ||||
|             stop_portwine | ||||
| @@ -430,8 +431,8 @@ pw_start_cont_xterm () { | ||||
|  | ||||
| pw_create_prefix_backup () { | ||||
|     cd "$HOME" | ||||
|     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 "$loc_create_pfx_backup_path" 2>/dev/null ) | ||||
|     PW_PREFIX_TO_BACKUP=$("${pw_yad_v12_3}" --file --directory --borders=${YAD_BORDERS} --width=650 --height=500 --auto-close \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$loc_create_pfx_backup_path" 2>/dev/null ) | ||||
|     YAD_STATUS="$?" | ||||
|     if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi | ||||
|     if [[ ! -z "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then | ||||
| @@ -459,13 +460,13 @@ pw_create_prefix_backup () { | ||||
|     done | ||||
|     if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then | ||||
|         mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack" | ||||
|         zenity_info "$PW_PFX_BACKUP_SUCCESS" | ||||
|         yad_info "$PW_PFX_BACKUP_SUCCESS" | ||||
|         if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]] ; then | ||||
|             zenity_info "$PW_PFX_BACKUP_INFO" | ||||
|             yad_info "$PW_PFX_BACKUP_INFO" | ||||
|             echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info" | ||||
|         fi | ||||
|     else  | ||||
|         zenity_error "$PW_PFX_BACKUP_ERROR" | ||||
|         yad_error "$PW_PFX_BACKUP_ERROR" | ||||
|     fi | ||||
|  | ||||
|     return 0 | ||||
| @@ -475,14 +476,14 @@ pw_edit_db () { | ||||
|     if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then | ||||
|         pw_gui_for_edit_db \ | ||||
|         PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \ | ||||
|         PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ | ||||
|         PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ | ||||
|         PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY \ | ||||
|         PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \ | ||||
|         PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE | ||||
|     else | ||||
|         pw_gui_for_edit_db \ | ||||
|         PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \ | ||||
|         PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ | ||||
|         PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ | ||||
|         PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME  \ | ||||
|         PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \ | ||||
|         PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE | ||||
| @@ -626,9 +627,9 @@ if [[ -f "${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" --borders=3 --form \ | ||||
|         OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --borders=${YAD_BORDERS} --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" \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|         --field="3D API  : :CB" "${PW_DEFAULT_VULKAN_USE}" \ | ||||
|         --field="  WINE  : :CB" "${PW_DEFAULT_WINE_USE}" \ | ||||
|         --field="PREFIX  : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ | ||||
| @@ -728,8 +729,8 @@ else | ||||
|  | ||||
|     gui_open_scripts_from_backup () { | ||||
|         cd "${PORT_WINE_TMP_PATH}/scripts_backup/" | ||||
|         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 ) | ||||
|         PW_SCRIPT_FROM_BACKUP=$("${pw_yad_v12_3}" --file --borders=${YAD_BORDERS} --width=650 --height=500 --auto-close \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --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/" | ||||
| @@ -861,8 +862,8 @@ else | ||||
|     export START_FROM_PP_GUI=1 | ||||
|  | ||||
|     if [[ -z "${PW_ALL_DF}" ]] ; then | ||||
|         "${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})" \ | ||||
|         "${pw_yad_v12_3}" --key=$KEY --notebook --borders=${YAD_BORDERS} --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --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"!"" \ | ||||
| @@ -871,8 +872,8 @@ else | ||||
|         --tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" 2>/dev/null | ||||
|         YAD_STATUS="$?" | ||||
|     else | ||||
|         "${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})" \ | ||||
|         "${pw_yad_v12_3}" --key=$KEY --notebook --borders=${YAD_BORDERS} --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --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"!"" \ | ||||
|   | ||||
| @@ -1,11 +1,12 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: Castro-Fidel (linux-gaming.ru) | ||||
| #SCRIPTS_NEXT_VERSION=2251 | ||||
| #SCRIPTS_NEXT_VERSION=2252 | ||||
| ######################################################################## | ||||
| export PW_MANGOHUD="0" | ||||
| export DEFAULT_MANGOHUD_CONFIG="cpu_stats,cpu_temp,cpu_mhz,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,vram,ram,frame_timing=1,time,arch,wine,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode" | ||||
| export PW_VKBASALT_EFFECTS="Curves:cas" | ||||
| export PW_VKBASALT_FFX_CAS="0.75" | ||||
| export PW_VKBASALT_FFX_CAS="0.66" | ||||
| export ENABLE_VKBASALT=1 | ||||
| export GAMESCOPE_ARGS="-F fsr" | ||||
| export PW_RT_MOUNT_RO=("") | ||||
| export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}") | ||||
| @@ -38,8 +39,10 @@ export PW_USE_GAMESCOPE="0" | ||||
| # export GTK_THEME="Adwaita:dark" | ||||
| ###DEFAULT_WINE### | ||||
| export PW_WINE_USE="PROTON_LG" | ||||
| export PW_PLUGINS_VER="_v12" | ||||
| export PW_PLUGINS_VER="_v13" | ||||
| export PW_FAKE_DLSS_VER="230506" | ||||
| export PW_FAKE_DLSS_3_VER="090" | ||||
| export PW_GALLIUM_NINE_VER="0.9" | ||||
| ###WINE_AND_PROTON_LG### | ||||
| export PW_PROTON_LG_VER="PROTON_LG_8-25-2" | ||||
| export PW_WINE_LG_VER="WINE_LG_9-0" | ||||
|   | ||||
| @@ -1,30 +1,50 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Castro-Fidel (linux-gaming.ru) | ||||
| ######################################################################## | ||||
| zenity_info () { | ||||
| yad_info () { | ||||
|     print_info "$@" | ||||
|     zenity --info --no-wrap --text "$@" 2> /dev/null | ||||
| } | ||||
| export -f zenity_info | ||||
| 
 | ||||
| zenity_error () { | ||||
|     print_error "$@" | ||||
|     zenity --error --no-wrap --text "$@" 2> /dev/null | ||||
| } | ||||
| export -f zenity_error | ||||
| 
 | ||||
| zenity_error_download () { | ||||
|     zenity --question --title "$loc_gui_error" --text "$loc_gui_error_download\n" --no-wrap --ok-label="Repeat" --cancel-label="Skip" | ||||
|     if [[ "$?" != 0 ]] ; then | ||||
|         return 1 | ||||
|     else | ||||
|         return 0 | ||||
|     if [[ ! -f "${pw_yad_v12_3}" ]] ; then | ||||
|         local pw_yad_v12_3="yad"  | ||||
|         command -v "${pw_yad_v12_3}" &>/dev/null || fatal "yad not found" | ||||
|     fi | ||||
|     "${pw_yad_v12_3}" --no-wrap --text "$@" --width=400 --height=50 --borders=15 --title "INFO" \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/info.png" \ | ||||
|     --center --text-align=center --button=OK 2>/dev/null | ||||
| } | ||||
| export -f yad_info | ||||
| 
 | ||||
| yad_error () { | ||||
|     print_error "$@" | ||||
|     if [[ ! -f "${pw_yad_v12_3}" ]] ; then | ||||
|         local pw_yad_v12_3="yad"  | ||||
|         command -v "${pw_yad_v12_3}" &>/dev/null || fatal "yad not found" | ||||
|     fi | ||||
|     "${pw_yad_v12_3}" --no-wrap --text "$@" --width=400 --borders=15 --title "ERROR" \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/error.png" \ | ||||
|     --center --text-align=center --button=EXIT 2>/dev/null | ||||
| } | ||||
| export -f yad_error | ||||
| 
 | ||||
| yad_error_download () { | ||||
|     if [[ ! -f "${pw_yad_v12_3}" ]] ; then | ||||
|         local pw_yad_v12_3="yad"  | ||||
|         command -v "${pw_yad_v12_3}" &>/dev/null || fatal "yad not found" | ||||
|     fi | ||||
|     "${pw_yad_v12_3}" --text "$loc_gui_error_download" --width=400 --borders=15 --title "$loc_gui_error" \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/download.png" \ | ||||
|     --no-wrap --center --text-align=center --button=SKIP:1 --button=REPEAT:0 2>/dev/null | ||||
|     [[ "$?" != 0 ]] && return 1 || return 0 | ||||
| } | ||||
| 
 | ||||
| gui_question () { | ||||
|     zenity --question --title "${inst_set}." --text "$1" --no-wrap &>/dev/null | ||||
|     [ $? -eq "0" ] && return 0 || return 1 | ||||
|     if [[ ! -f "${pw_yad_v12_3}" ]] ; then | ||||
|         local pw_yad_v12_3="yad"  | ||||
|         command -v "${pw_yad_v12_3}" &>/dev/null || fatal "yad not found" | ||||
|     fi | ||||
|     "${pw_yad_v12_3}" --text "${1}" --width=400 --borders=15 --title "${inst_set}." \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/question.png" \ | ||||
|     --no-wrap --center --text-align=center --button=NO:1 --button=YES:0 2>/dev/null | ||||
|     [[ "$?" != 0 ]] && return 1 || return 0 | ||||
| } | ||||
| 
 | ||||
| pw_start_progress_bar_cover () { | ||||
| @@ -32,7 +52,7 @@ pw_start_progress_bar_cover () { | ||||
|     PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'` | ||||
|     PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'` | ||||
|     "${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \ | ||||
|     --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/port_proton.png" > /dev/null 2>&1 & | ||||
|     --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 & | ||||
|     export PW_YAD_PID_PROGRESS_BAR_COVER="$!" | ||||
|     return 0 | ||||
| } | ||||
| @@ -43,7 +63,7 @@ pw_start_progress_bar_cover_block () { | ||||
|     PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'` | ||||
|     PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'` | ||||
|     "${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \ | ||||
|     --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/port_proton.png" > /dev/null 2>&1 & | ||||
|     --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 & | ||||
|     export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!" | ||||
|     return 0  | ||||
| } | ||||
| @@ -113,7 +133,7 @@ pw_stop_progress_bar_cover_block () { | ||||
| export -f pw_stop_progress_bar_cover_block | ||||
| 
 | ||||
| open_changelog () { | ||||
|     "${pw_yad}" --title="$loc_gui_changelog" --borders=3 --no-buttons --text-align=center \ | ||||
|     "${pw_yad}" --title="$loc_gui_changelog" --borders=${YAD_BORDERS} --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}" | ||||
| } | ||||
| @@ -145,9 +165,9 @@ pw_tray_icon () { | ||||
|     } | ||||
|     export -f tray_icon_click_exit | ||||
| 
 | ||||
|     # --window-icon="$PW_GUI_ICON_PATH/portproton_tray.png" \ | ||||
|     "${pw_yad_v12_3}" --notification --no-middle \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --image="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     --image="$PW_GUI_ICON_PATH/portproton_tray.png" \ | ||||
|     --command="bash -c tray_icon_click" \ | ||||
|     --tooltip="PortProton" \ | ||||
|     --menu="| \ | ||||
| @@ -227,8 +247,8 @@ pw_gui_for_edit_db () { | ||||
|     --field="${loc_gui_arg_gamescope}!${loc_gui_arg_gamescope_help} :CBE" "\\${GAMESCOPE_ARGS}!-r 60 -F fsr!" 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="800" \ | ||||
|     --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" \ | ||||
|     --text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=${YAD_BORDERS} \ | ||||
|     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|     --button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \ | ||||
|     --button="${loc_gui_reset_db}"!!"${loc_gui_reset_db_help}":2 \ | ||||
|     --button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \ | ||||
| @@ -325,7 +345,7 @@ gui_proton_downloader () { | ||||
|     fi | ||||
|     pw_stop_progress_bar | ||||
|     if [[ -z "${PROTON_GE_GIT}" ]] || [[ -z "${PROTON_PW_GIT}" ]] ; then | ||||
|         zenity_error "$loc_gui_check_new_wine_error" | ||||
|         yad_error "$loc_gui_check_new_wine_error" | ||||
|         /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|         exit 0 | ||||
|     fi | ||||
| @@ -357,7 +377,7 @@ gui_proton_downloader () { | ||||
|         `"${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" 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="" \ | ||||
|         --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --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" 2>/dev/null` | ||||
|         YAD_WINE_STATUS="$?" | ||||
|         if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then | ||||
| @@ -419,12 +439,12 @@ gui_proton_downloader () { | ||||
|                 else | ||||
|                     try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_ARCHIVE}.tar.${archive_type}" | ||||
|                     try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_ARCHIVE}" | ||||
|                     zenity_error_download && gui_proton_downloader || exit 1 | ||||
|                     yad_error_download && gui_proton_downloader || exit 1 | ||||
|                 fi | ||||
|             fi | ||||
|         done | ||||
|     else | ||||
|         zenity_error_download && gui_proton_downloader || exit 1 | ||||
|         yad_error_download && gui_proton_downloader || exit 1 | ||||
|     fi | ||||
| 
 | ||||
|     if [[ "$1" != "silent" ]] ; then | ||||
| @@ -451,9 +471,16 @@ gui_vkBasalt () { | ||||
|         fi | ||||
|     done | ||||
|     if [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then | ||||
|         VKBASALT_FFX_CAS_GUI=`bc -s <<< "${PW_VKBASALT_FFX_CAS}*100" | sed 's/\..*//'` | ||||
|         if [[ "$PW_VKBASALT_FFX_CAS" == "0" ]] | ||||
|         then export VKBASALT_FFX_CAS_GUI="0" | ||||
|         elif [[ "$PW_VKBASALT_FFX_CAS" == "1" ]] | ||||
|         then export VKBASALT_FFX_CAS_GUI="100" | ||||
|         elif [[ "$PW_VKBASALT_FFX_CAS" == 0.0* ]] | ||||
|         then export VKBASALT_FFX_CAS_GUI="$(echo "$PW_VKBASALT_FFX_CAS" | awk -F'0.0' '{print $2}')" | ||||
|         else export VKBASALT_FFX_CAS_GUI="$(echo "$PW_VKBASALT_FFX_CAS" | awk -F'0.' '{print $2}')" | ||||
|         fi | ||||
|     else | ||||
|         VKBASALT_FFX_CAS_GUI=75 | ||||
|         VKBASALT_FFX_CAS_GUI=66 | ||||
|     fi | ||||
|     export old_IFS=$IFS | ||||
|     export IFS="%" | ||||
| @@ -466,8 +493,8 @@ gui_vkBasalt () { | ||||
|     --field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$loc_gui_ffx_cas":SCL "${VKBASALT_FFX_CAS_GUI}" \ | ||||
|     1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null & | ||||
| 
 | ||||
|     "${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" \ | ||||
|     "${pw_yad_v12_3}" --paned --key="$KEY_FX_GUI" --height="650" --title="vkBasalt" --center --borders=${YAD_BORDERS} \ | ||||
|     --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|     --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 2>/dev/null | ||||
| @@ -494,12 +521,13 @@ gui_vkBasalt () { | ||||
|     GUI_FX_RESULT="${GUI_FX_RESULT}cas" | ||||
|     export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}" | ||||
| 
 | ||||
|     if [[ "$YAD_CAS_SET" == "0" ]] ; then | ||||
|         export PW_VKBASALT_FFX_CAS="0" | ||||
|     elif [[ "$YAD_CAS_SET" == "100" ]] ; then | ||||
|         export PW_VKBASALT_FFX_CAS="1" | ||||
|     else | ||||
|         export PW_VKBASALT_FFX_CAS="0`bc -s <<< "scale=2; $YAD_CAS_SET/100"`" | ||||
|     if [[ "$YAD_CAS_SET" == "0" ]] | ||||
|     then export PW_VKBASALT_FFX_CAS="0" | ||||
|     elif [[ "$YAD_CAS_SET" == "100" ]] | ||||
|     then export PW_VKBASALT_FFX_CAS="1" | ||||
|     elif [[ "$YAD_CAS_SET" -lt 10 ]] | ||||
|     then export PW_VKBASALT_FFX_CAS="0.0$YAD_CAS_SET" | ||||
|     else export PW_VKBASALT_FFX_CAS="0.$YAD_CAS_SET" | ||||
|     fi | ||||
|     edit_db_from_gui PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS ENABLE_VKBASALT | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
| @@ -557,8 +585,8 @@ gui_MangoHud () { | ||||
|         --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRESH_RATE}" \ | ||||
|         1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null & | ||||
| 
 | ||||
|     "${pw_yad_v12_3}" --paned --key="$KEY_MH_GUI" --height="650" --title="MangoHud" --center --borders=3 \ | ||||
|         --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     "${pw_yad_v12_3}" --paned --key="$KEY_MH_GUI" --height="650" --title="MangoHud" --center --borders=${YAD_BORDERS} \ | ||||
|         --separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|         --button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \ | ||||
|         --button="$loc_gui_disabled_mh"!!"$loc_gui_disabled_mh_help":182 \ | ||||
|         --button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":184 2>/dev/null | ||||
| @@ -627,8 +655,8 @@ portwine_create_shortcut () { | ||||
| 
 | ||||
|     if [[ "$1" == "block_name" ]] ; then | ||||
|         export name_desktop="${PORTPROTON_NAME}" | ||||
|         OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ | ||||
|         --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=${YAD_BORDERS} \ | ||||
|         --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|         --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ | ||||
|         --field="${sc_info}":LBL "" \ | ||||
|         --field="  ${name_desktop}":LBL "" \ | ||||
| @@ -639,8 +667,8 @@ portwine_create_shortcut () { | ||||
|         PW_YAD_OUT=$? | ||||
|     else | ||||
|         export name_desktop="${PORTPROTON_NAME}" | ||||
|         OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \ | ||||
|         --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|         OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=${YAD_BORDERS} \ | ||||
|         --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|         --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ | ||||
|         --field="${sc_info}":LBL "" \ | ||||
|         --field="${sc_name}:" "${name_desktop}" \ | ||||
| @@ -743,8 +771,8 @@ portwine_delete_shortcut () { | ||||
| } | ||||
| 
 | ||||
| portwine_missing_shortcut () { | ||||
|     "${pw_yad}" --title="${loc_gui_error}." --form --borders=3 \ | ||||
|     --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
|     "${pw_yad}" --title="${loc_gui_error}." --form --borders=${YAD_BORDERS} \ | ||||
|     --window-icon "$PW_GUI_ICON_PATH/portproton.svg" \ | ||||
|     --image "$PW_GUI_ICON_PATH/error_file.png" \ | ||||
|     --text "$loc_gui_missing_shortcut" \ | ||||
|     --button="$loc_gui_delete_shortcut":0 \ | ||||
| @@ -4,6 +4,7 @@ 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 | ||||
| LevelsPlus = /run/pressure-vessel/pv-from-host/reshade/shaders/LevelsPlus.fx | ||||
| Colourfulness = /run/pressure-vessel/pv-from-host/reshade/shaders/Colourfulness.fx | ||||
| Bloom = /run/pressure-vessel/pv-from-host/reshade/shaders/Bloom.fx | ||||
| SMAA = /run/pressure-vessel/pv-from-host/reshade/shaders/SMAA.fx | ||||
| @@ -20,10 +21,7 @@ HighPassSharpen = /run/pressure-vessel/pv-from-host/reshade/shaders/HighPassShar | ||||
| HQ4X = /run/pressure-vessel/pv-from-host/reshade/shaders/HQ4X.fx | ||||
| HSLShift = /run/pressure-vessel/pv-from-host/reshade/shaders/HSLShift.fx | ||||
| Layer = /run/pressure-vessel/pv-from-host/reshade/shaders/Layer.fx | ||||
| Levels = /run/pressure-vessel/pv-from-host/reshade/shaders/Levels.fx | ||||
| LevelsPlus = /run/pressure-vessel/pv-from-host/reshade/shaders/LevelsPlus.fx | ||||
| LiftGammaGain = /run/pressure-vessel/pv-from-host/reshade/shaders/LiftGammaGain.fx | ||||
| LightDoF = /run/pressure-vessel/pv-from-host/reshade/shaders/LightDoF.fx | ||||
| LumaSharpen = /run/pressure-vessel/pv-from-host/reshade/shaders/LumaSharpen.fx | ||||
| LUT = /run/pressure-vessel/pv-from-host/reshade/shaders/LUT.fx | ||||
| MagicBloom = /run/pressure-vessel/pv-from-host/reshade/shaders/MagicBloom.fx | ||||
|   | ||||
| @@ -1,168 +1,162 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Castro-Fidel (linux-gaming.ru) | ||||
| # Author: Mikhail Tergoev (linux-gaming.ru) | ||||
| # License MIT | ||||
| ######################################################################## | ||||
| unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL | ||||
| export portname="PortProton" | ||||
| export port_ver=1.0 | ||||
| export port_ver=1.4 | ||||
| ######################################################################## | ||||
| export NO_AT_BRIDGE=1 | ||||
| ENG_LANG="English" | ||||
| RUS_LANG="Russian" | ||||
| [ -z "${LANG}" ] && export LANG=C | ||||
| deflink="${HOME}/PortWINE/${portname}" | ||||
| [ "$(id -u)" -eq 0 ] && echo "This script should NOT be run by root!" && zenity --error --text "This script should NOT be run by root!" 2> /dev/null && exit 1 | ||||
| my_dir=$(dirname "$(readlink -f "$0")") | ||||
| if [ "$my_dir" == "/usr/bin" ] ; then | ||||
| 	[ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share" | ||||
| 	if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then | ||||
| 		/usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@" | ||||
| cd "$(dirname "$(readlink -f "$0")")" | ||||
| script_path="$(pwd)" | ||||
| def_path="${HOME}/${portname}" | ||||
| ######################################################################## | ||||
| fatal () { | ||||
| 	echo -e "\n${1}\n" | ||||
| 	exit 1 | ||||
| } | ||||
|  | ||||
| pw_notify_send () { | ||||
| 	if command -v notify-send &>/dev/null ; then | ||||
| 		if [[ -f "/usr/share/icons/hicolor/scalable/apps/portproton.svg" ]] | ||||
| 		then notify-send -u normal -a PortProton -i "/usr/share/icons/hicolor/scalable/apps/portproton.svg" $@ "${PW_NOTIFY_TEXT}" | ||||
| 		else notify-send -u normal -a PortProton $@ "${PW_NOTIFY_TEXT}" | ||||
| 		fi | ||||
| 	fi | ||||
| } | ||||
| ######################################################################## | ||||
| if [ "$(id -u)" == "0" ] ; then | ||||
| 	$yad_gui --error --text "\nDo not run ${portname} from the superuser!" 2>/dev/null | ||||
| 	fatal "Do not run the script from the superuser!" | ||||
| fi | ||||
| ######################################################################## | ||||
| unset PW_USE_NS | ||||
| if command -v yad &>/dev/null | ||||
| then yad_gui="yad --window-icon=portproton.svg --borders=10 --center --text-align=center" | ||||
| else PW_USE_NS=1 | ||||
| fi | ||||
|  | ||||
| [ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share" | ||||
| PP_CONFIG_FILE="${HOME}/.config/${portname}.conf" | ||||
| if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then | ||||
| 	echo "${XDG_DATA_HOME}/PortWINE/PortProton" > "${PP_CONFIG_FILE}" | ||||
| elif [ -f "${HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then | ||||
| 	echo "${XDG_DATA_HOME}/PortWINE/PortProton" > "${PP_CONFIG_FILE}" | ||||
| fi | ||||
|  | ||||
| if [ "$script_path" == "/usr/bin" ] && [ -f "${PP_CONFIG_FILE}" ] ; then | ||||
| 	export PORT_WINE_PATH="$(cat "${PP_CONFIG_FILE}" | head -n 1)" | ||||
| 	if [ -f "${PORT_WINE_PATH}/data/scripts/start.sh" ] ; then | ||||
| 		echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver" | ||||
| 		/usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/start.sh" "$@" | ||||
| 		exit 0 | ||||
| 	else | ||||
| 		if [ ! -z "$(locale | grep "LANG=ru_RU.UTF-8")" ] ; then | ||||
| 			PW_SET_LANG=$RUS_LANG | ||||
| 		else | ||||
| 			PW_SET_LANG=$ENG_LANG | ||||
| 		fi | ||||
| 		export PW_SILENT_INSTALL="1" | ||||
| 		export PW_AUTOPLAY=1 | ||||
| 		deflink="${XDG_DATA_HOME}/PortWINE/${portname}" | ||||
| 		rm -f "${PP_CONFIG_FILE}" | ||||
| 	fi | ||||
| fi | ||||
| if locale | grep "LANG=ru_RU.UTF-8" 2>/dev/null | ||||
| then PW_SET_LANG="Russian" | ||||
| else PW_SET_LANG="English" | ||||
| fi | ||||
| ######################################################################## | ||||
| export PW_SILENT_INSTALL=1 | ||||
| export PW_AUTOPLAY=1 | ||||
| export INSTALLING_PORT=1 | ||||
| export PROGS_INST="" | ||||
| export vexit=0 | ||||
| ######################################################################## | ||||
| for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do | ||||
| 	if [ ! -x "$(command -v "${PROGS}" 2>/dev/null)" ] ; then | ||||
| 		PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1 | ||||
| 	fi | ||||
| done | ||||
| if [ "${vexit}" -eq "1" ] ; then | ||||
|     echo "You will need to install: ${PROGS_INST}, and restart the script" | ||||
|     exit 1 | ||||
| fi | ||||
| ######################################################################## | ||||
| cd "$my_dir" | ||||
| export links | ||||
| links="$(pwd)" | ||||
| ######################################################################## | ||||
| if [ "$1" = "-rus" ] ; then | ||||
| 	PW_SET_LANG=$RUS_LANG | ||||
| 	export PW_SILENT_INSTALL="1" | ||||
| elif [ "$1" = "-eng" ] ; then | ||||
| 	PW_SET_LANG=$ENG_LANG | ||||
| 	export PW_SILENT_INSTALL="1" | ||||
| elif [ -z "${PW_SET_LANG}" ] ; then | ||||
| 	PW_SET_LANG=$(zenity --title  "Install $portname" --text "Select installation language:" --list --radiolist \ | ||||
| --column="" --column "Language" \ | ||||
| 	TRUE  "$RUS_LANG" \ | ||||
| 	FALSE "$ENG_LANG" ) 2> /dev/null | ||||
| 	if [ $? -eq 1 ] ; then echo "Installation language not set!" && exit 1 ; fi | ||||
| if [[ "${PW_USE_NS}" != "1" ]] ; then | ||||
| 	case $PW_SET_LANG in | ||||
| 		"$RUS_LANG") | ||||
| 			INFO_TEXT="Вы запустили установщик ${portname} версии ${port_ver}. \n\nЭто некоммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права стороннего программного обеспечения принадлежат их владельцам! \nПродолжая установку, Вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;; | ||||
| 		"$ENG_LANG") | ||||
| 			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 | ||||
| fi | ||||
| ######################################################################## | ||||
| if [ "${PW_SILENT_INSTALL}" = "1" ] ; then | ||||
| 	echo "${portname} is installed in ${deflink}" | ||||
| 	D_PATH="${deflink}" | ||||
| else | ||||
| 	case $PW_SET_LANG in | ||||
| 		"$RUS_LANG") | ||||
| 			inst1=$(zenity --title  "Установка ${portname}" --text "Выберите путь для установки (обновления) ${portname} \nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \ | ||||
| 			--column="" --column "Путь:" \ | ||||
| 			TRUE  "${deflink}" \ | ||||
| 			FALSE "Другой путь..." ) 2> /dev/null | ||||
| 			if [ $? -eq 1 ] ; then echo "Installation path not set!" && exit 1 ; fi | ||||
| 		"Russian") | ||||
| 			inst1=$($yad_gui --title  "Install ${portname}" --text "Выберите путь для установки (обновления) ${portname},\nили оставьте его по умолчанию.\n\nВнимание:\nУстанавливать необходимо на файловую систему Linux (ext4, btrfs и прочие)." --list --radiolist --width=600 --height=200 \ | ||||
| 			--column="Выбор" --column "Путь:" \ | ||||
| 			TRUE "${def_path}" \ | ||||
| 			FALSE "Другой путь...") | ||||
| 			[ "$?" != "0" ] && exit 1 | ||||
| 			inst1="$(echo $inst1 | awk -F'|' '{print $2}')" | ||||
| 			case $inst1 in | ||||
| 				"${deflink}") | ||||
| 					D_PATH="${deflink}" ;; | ||||
| 				"${def_path}") | ||||
| 					D_PATH="${def_path}" ;; | ||||
| 				"Другой путь...") | ||||
| 					D_PATH=$(zenity --file-selection --directory --title="Выберите путь..." ) | ||||
| 					D_PATH="${D_PATH}/${portname}" ;; | ||||
| 					echo 111 | ||||
| 					D_PATH="$($yad_gui --file --directory --title="Выберите путь..." --width=800 --height=800)" ;; | ||||
| 			esac ;; | ||||
| 		"$ENG_LANG") | ||||
| 			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 | ||||
| 			if [ $? -eq 1 ] ; then echo "Installation path not set!" && exit 1; fi | ||||
| 		"English") | ||||
| 			inst1=$($yad_gui --title  "Install ${portname}" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=600 --height=200 \ | ||||
| 			--column="Set..." --column "Path:" \ | ||||
| 			TRUE "${def_path}" \ | ||||
| 			FALSE "Other path...") | ||||
| 			inst1="$(echo $inst1 | awk -F'|' '{print $2}')" | ||||
| 			[ "$?" != "0" ] && exit 1 | ||||
| 			case $inst1 in | ||||
| 				"${deflink}") | ||||
| 					D_PATH="${deflink}" ;; | ||||
| 				"${def_path}") | ||||
| 					D_PATH="${def_path}" ;; | ||||
| 				"Other path...") | ||||
| 					D_PATH=$(zenity --file-selection --directory --title="Choose your path..." ) | ||||
| 					D_PATH="${D_PATH}/${portname}" ;; | ||||
| 					D_PATH="$($yad_gui --file --directory --title="Select the path...")" ;; | ||||
| 			esac ;; | ||||
| 	esac | ||||
| 	if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi | ||||
| 	[[ -z "${D_PATH}" ]] && fatal | ||||
| 	echo "${D_PATH}" | grep -i "${portname}" 2>/dev/null || D_PATH="${D_PATH}/${portname}" | ||||
|  | ||||
| 	case $PW_SET_LANG in | ||||
| 		"Russian") | ||||
| 			progress_bar() { | ||||
| 			$yad_gui --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=500 | ||||
| 			} ;; | ||||
| 		"English") | ||||
| 			progress_bar() { | ||||
| 			$yad_gui --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=500 | ||||
| 			} ;; | ||||
| 	esac | ||||
| else | ||||
| 	D_PATH="${def_path}" | ||||
| 	PW_NOTIFY_TEXT="Installing PortProton..." | ||||
| 	pw_notify_send | ||||
| 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 | ||||
| 		} ;; | ||||
| 	"$ENG_LANG") | ||||
| 		progress_bar() { | ||||
| 			zenity --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 | ||||
| 		} ;; | ||||
| esac | ||||
| ######################################################################## | ||||
| export PORT_WINE_PATH="${D_PATH}" | ||||
| scripts_dir="${PORT_WINE_PATH}/data/scripts" | ||||
| echo "${PORT_WINE_PATH}" > "${PP_CONFIG_FILE}" | ||||
| if [ ! -d "${PORT_WINE_PATH}" ] ; then | ||||
|     mkdir -p "$PORT_WINE_PATH" | ||||
|     mkdir -p "$PORT_WINE_PATH" || fatal "Cannot create a directory: $PORT_WINE_PATH" | ||||
| else | ||||
| 	rm -fr "${PORT_WINE_PATH}/data/tmp" | ||||
| 	rm -f "${scripts_dir}/"* > /dev/null 2>&1 | ||||
| 	rm -f "${PORT_WINE_PATH}/data/scripts/"* 2>/dev/null | ||||
| fi | ||||
| ######################################################################## | ||||
| mkdir -p "${PORT_WINE_PATH}/data/tmp" | ||||
| echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver" | ||||
| case $PW_SET_LANG in | ||||
| 	"$RUS_LANG") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; | ||||
| 	"$ENG_LANG") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; | ||||
| case "${PW_SET_LANG}" in | ||||
| 	"Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; | ||||
| 	"English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; | ||||
| esac | ||||
| ######################################################################## | ||||
| if [[ "${PW_USE_NS}" != "1" ]] ; then | ||||
| 	PW_NOTIFY_TEXT="Installing PortProton..." | ||||
| 	pw_notify_send | ||||
| fi | ||||
| export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" | ||||
| cd "${PORT_WINE_PATH}" | ||||
| try_download_scripts () { | ||||
| 	wget -O "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -nd -c --read-timeout 300 \ | ||||
| 	--retry-connrefused --timeout 15 --tries 3 \ | ||||
|     --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \ | ||||
| 	"https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" | ||||
| 	if [ "$?" = "0" ] ; then | ||||
| 		tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" | ||||
| 		if [ "$?" = "0" ] ; then | ||||
| echo -e "\nTry download scripts from gitlab.eterfund.ru..." | ||||
| if ! curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' \ | ||||
| 	-L "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz" \ | ||||
| 	-o "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
| then | ||||
| 	echo -e "\nError.\nTry download scripts from github.com..." | ||||
| 	curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' \ | ||||
| 	-L "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" \ | ||||
| 	-o "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
| 	[ "$?" != "0" ] && fatal "Critical error during file download!" | ||||
| fi | ||||
| echo "Try unpacking scripts..." | ||||
| tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" | ||||
| if [ "$?" = "0" ] ; then | ||||
| 	[ ! -d "${PORT_WINE_PATH}/data/" ] && mkdir "${PORT_WINE_PATH}/data/" | ||||
| 	cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/" | ||||
| 	rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
| 	rm -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/" | ||||
| 			export scripts_current_ver | ||||
| 			scripts_current_ver=$(cat "${scripts_dir}/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}') | ||||
| 	export scripts_current_ver=$(cat "${PORT_WINE_PATH}/data/scripts/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}') | ||||
| 	echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
| 		else | ||||
| 			rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
| 			try_download_scripts | ||||
| 		fi | ||||
| 	else | ||||
| 		try_download_scripts | ||||
| 	fi | ||||
| } | ||||
| if [ "${PW_SILENT_INSTALL}" = "1" ] && [ ! -f "/usr/bin/portproton" ] ; then | ||||
| 	try_download_scripts | ||||
| else | ||||
| 	try_download_scripts | progress_bar | ||||
| 	rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
| 	[ "$?" != "0" ] && fatal "Critical error during file unpacking!" | ||||
| fi | ||||
| chmod 755 -R "${PORT_WINE_PATH}" | ||||
| ######################################################################## | ||||
| cd "${scripts_dir}" | ||||
| /usr/bin/env bash "${scripts_dir}/setup.sh" && exit 0 | ||||
| cd "${PORT_WINE_PATH}/data/scripts" | ||||
| /usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/setup.sh" && exit 0 | ||||
|   | ||||