Scripts version 2252
58
README-RU.md
@ -1,5 +1,5 @@
|
|||||||
<div align="center">
|
<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>
|
<h1 align="center">PortProton</h1>
|
||||||
<p align="center">Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей.
|
<p align="center">Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей.
|
||||||
Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.</p>
|
Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.</p>
|
||||||
@ -55,8 +55,8 @@ epm play portproton
|
|||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
|
|
||||||
* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, и т.д.), **Linux Mint 20.x** :
|
* **Ubuntu 24.04**, **Debian 12**, **Linux Mint 21.x** **Deepin** :
|
||||||
[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)
|
[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, и т.д.) :
|
* **Arch Linux** и производные (Manjaro, Garuda, и т.д.) :
|
||||||
[AUR](https://aur.archlinux.org/packages/portproton)
|
[AUR](https://aur.archlinux.org/packages/portproton)
|
||||||
@ -70,7 +70,7 @@ exit
|
|||||||
sudo urpmi portproton
|
sudo urpmi portproton
|
||||||
```
|
```
|
||||||
|
|
||||||
* **Fedora 37+** and **Nobara**:
|
* **Fedora 38+** and **Nobara**:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo dnf copr enable boria138/portproton
|
sudo dnf copr enable boria138/portproton
|
||||||
@ -82,22 +82,8 @@ sudo dnf install portproton
|
|||||||
|
|
||||||
**ВНИМАНИЕ** : при универсальном способе установки PortProton зависимости должны быть установлены вручную!
|
**ВНИМАНИЕ** : при универсальном способе установки PortProton зависимости должны быть установлены вручную!
|
||||||
|
|
||||||
Нормальная установка:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0
|
wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh PortProton_Installer
|
||||||
```
|
|
||||||
|
|
||||||
Тихая установка (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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Зависимости
|
## Зависимости
|
||||||
@ -106,7 +92,7 @@ wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_sc
|
|||||||
|
|
||||||
Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать)
|
Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать)
|
||||||
|
|
||||||
* **Ubuntu / Linux Mint / Pop!_OS**
|
* **Ubuntu / Linux Mint / Pop!_OS / Debian**
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo dpkg --add-architecture i386
|
sudo dpkg --add-architecture i386
|
||||||
@ -117,7 +103,7 @@ sudo apt update
|
|||||||
|
|
||||||
sudo apt upgrade
|
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**
|
* **Arch Linux / Manjaro**
|
||||||
@ -133,7 +119,7 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```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**.
|
Если у вас видеокарта от **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
|
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**
|
* **openSUSE**
|
||||||
|
|
||||||
```sh
|
```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**
|
* **Fedora**
|
||||||
@ -171,7 +141,7 @@ sudo dnf update
|
|||||||
|
|
||||||
sudo dnf upgrade --refresh
|
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**
|
* **Alt Linux**
|
||||||
@ -181,7 +151,7 @@ sudo apt-get update
|
|||||||
|
|
||||||
sudo apt-get dist-upgrade -y
|
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**
|
* **ROSA DESKTOP FRESH R12**
|
||||||
@ -191,19 +161,19 @@ sudo dnf update
|
|||||||
|
|
||||||
sudo dnf upgrade --refresh
|
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**
|
* **RED OS**
|
||||||
|
|
||||||
```sh
|
```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**
|
* **Solus 4.x**
|
||||||
|
|
||||||
```sh
|
```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">
|
<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>
|
<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.
|
<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>
|
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
|
sudo urpmi portproton
|
||||||
```
|
```
|
||||||
|
|
||||||
* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, etc.), **Linux Mint 20.x** :
|
* **Ubuntu 24.04**, **Debian 12**, **Linux Mint 21.x** **Deepin** :
|
||||||
[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)
|
[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.) :
|
* **Arch Linux** and derivatives (Manjaro, Garuda, etc.) :
|
||||||
[AUR](https://aur.archlinux.org/packages/portproton)
|
[AUR](https://aur.archlinux.org/packages/portproton)
|
||||||
@ -69,7 +69,7 @@ sudo urpmi portproton
|
|||||||
* **OpenSuse**:
|
* **OpenSuse**:
|
||||||
[OBS](https://software.opensuse.org/download/package?package=portproton&project=home%3ABoria138%3APortProton)
|
[OBS](https://software.opensuse.org/download/package?package=portproton&project=home%3ABoria138%3APortProton)
|
||||||
|
|
||||||
* **Fedora 37+** and **Nobara**:
|
* **Fedora 38+** and **Nobara**:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo dnf copr enable boria138/portproton
|
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!
|
**ATTENTION** : with the universal method of installing PortProton, dependencies must be installed manually!
|
||||||
|
|
||||||
Normal installation:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0
|
wget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh PortProton_Installer
|
||||||
```
|
|
||||||
|
|
||||||
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
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
@ -117,7 +103,7 @@ sudo apt update
|
|||||||
|
|
||||||
sudo apt upgrade
|
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**
|
* **Arch Linux / Manjaro**
|
||||||
@ -133,7 +119,7 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```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
|
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
|
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**
|
* **openSUSE**
|
||||||
|
|
||||||
```sh
|
```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**
|
* **Fedora**
|
||||||
@ -171,7 +141,7 @@ sudo dnf update
|
|||||||
|
|
||||||
sudo dnf upgrade --refresh
|
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**
|
* **Alt Linux**
|
||||||
@ -181,7 +151,7 @@ su -
|
|||||||
|
|
||||||
apt-get update && apt-get dist-upgrade -y
|
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
|
exit
|
||||||
```
|
```
|
||||||
@ -193,19 +163,19 @@ sudo dnf update
|
|||||||
|
|
||||||
sudo dnf upgrade --refresh
|
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**
|
* **RED OS**
|
||||||
|
|
||||||
```sh
|
```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**
|
* **Solus 4.x**
|
||||||
|
|
||||||
```sh
|
```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
|
## Contacts
|
||||||
|
@ -2,6 +2,18 @@ You can help us in the development of the project on the website: https://linux-
|
|||||||
----------------------------------------
|
----------------------------------------
|
||||||
Changelog:
|
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
|
###Scripts version 2251### Date: 02.02.2024 / Download update size: 8 megabytes
|
||||||
* HOTFIX - fixed automatic closing of EAapp after its installation
|
* 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)
|
* исправлена работа 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 мегабайт
|
###Scripts version 2251### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||||
* HOTFIX - исправлено автоматическое закрытие EAapp после его установки на некоторых системах
|
* HOTFIX - исправлено автоматическое закрытие EAapp после его установки на некоторых системах
|
||||||
|
@ -33,22 +33,17 @@ d3d9.maxFrameRate = 240
|
|||||||
#
|
#
|
||||||
# Supported values: Any four-digit hex number.
|
# Supported values: Any four-digit hex number.
|
||||||
|
|
||||||
dxgi.customDeviceId = 222F
|
# dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090"
|
||||||
dxgi.customVendorId = 10de
|
# 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
|
# 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
|
# Override maximum amount of device memory and shared system memory
|
||||||
# reported to the application. This may fix texture streaming issues
|
# reported to the application. This may fix texture streaming issues
|
||||||
# in games that do not support cards with large amounts of VRAM.
|
# 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
|
KEY_CREDITS=$RANDOM
|
||||||
|
|
||||||
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
|
"${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}
|
--text-align=center --scroll --text="PortProton v. ${install_ver}
|
||||||
scripts v. ${scripts_install_ver}
|
scripts v. ${scripts_install_ver}
|
||||||
|
|
||||||
@ -357,10 +357,9 @@ Yandex кошелек: 410012267513818
|
|||||||
WINE-PROTON: https://github.com/ValveSoftware/Proton
|
WINE-PROTON: https://github.com/ValveSoftware/Proton
|
||||||
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
|
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
|
||||||
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
|
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
|
||||||
YAD: https://github.com/v1cont/yad
|
YAD: https://github.com/v1cont/yad" 2>/dev/null &
|
||||||
ZENITY: https://github.com/GNOME/zenity" 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 \
|
--notebook --no-buttons --tab-pos=bottom \
|
||||||
--tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \
|
--tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \
|
||||||
--tab="БИБЛИОТЕКИ"
|
--tab="БИБЛИОТЕКИ"
|
||||||
@ -725,11 +724,10 @@ Yandex wallet: 410012267513818
|
|||||||
WINE-PROTON: https://github.com/ValveSoftware/Proton
|
WINE-PROTON: https://github.com/ValveSoftware/Proton
|
||||||
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
|
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
|
||||||
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
|
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
|
||||||
YAD: https://github.com/v1cont/yad
|
YAD: https://github.com/v1cont/yad" 2>/dev/null &
|
||||||
ZENITY: https://github.com/GNOME/zenity" 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 \
|
--notebook --no-buttons --tab-pos=bottom \
|
||||||
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \
|
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \
|
||||||
--tab="THIRD PARTY LIBRARIES"
|
--tab="THIRD PARTY LIBRARIES"
|
||||||
|
@ -11,6 +11,11 @@ print_error () {
|
|||||||
}
|
}
|
||||||
export -f print_error
|
export -f print_error
|
||||||
|
|
||||||
|
fatal () {
|
||||||
|
print_error "$@"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
print_warning () {
|
print_warning () {
|
||||||
printf "\E[33m%s Warning: $@ %s\e[0m\n"
|
printf "\E[33m%s Warning: $@ %s\e[0m\n"
|
||||||
}
|
}
|
||||||
@ -119,10 +124,10 @@ try_download_game () {
|
|||||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||||
set -o pipefail
|
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 | \
|
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 \
|
"${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 \
|
--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
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
|
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
|
||||||
return 1
|
return 1
|
||||||
@ -136,18 +141,18 @@ try_download () {
|
|||||||
[[ ! -f "${pw_yad_v12_3}" ]] && local pw_yad_v12_3="yad"
|
[[ ! -f "${pw_yad_v12_3}" ]] && local pw_yad_v12_3="yad"
|
||||||
set -o pipefail
|
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 | \
|
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 \
|
"${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 \
|
--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
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
|
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
|
||||||
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
|
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 | \
|
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 \
|
"${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 \
|
--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
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
|
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
|
||||||
return 1
|
return 1
|
||||||
@ -161,10 +166,10 @@ try_download_to_path () {
|
|||||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||||
set -o pipefail
|
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 | \
|
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 \
|
"${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 \
|
--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
|
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||||
print_error "Failed to download $1."
|
print_error "Failed to download $1."
|
||||||
return 1
|
return 1
|
||||||
@ -231,6 +236,15 @@ var_ld_library_path_update() {
|
|||||||
return 0
|
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 () {
|
unpack_tar_zst () {
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
unset PW_ZSTD_PORT
|
unset PW_ZSTD_PORT
|
||||||
@ -240,7 +254,7 @@ unpack_tar_zst () {
|
|||||||
pw_stop_progress_bar_cover_block
|
pw_stop_progress_bar_cover_block
|
||||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
||||||
else
|
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
|
pw_stop_progress_bar_cover_block
|
||||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
||||||
fi
|
fi
|
||||||
@ -445,6 +459,22 @@ init_wine_ver () {
|
|||||||
return 0
|
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 () {
|
pw_init_runtime () {
|
||||||
|
|
||||||
if grep -q -E '(ROSA Fresh|RED OS)' "/etc/os-release" ; then
|
if grep -q -E '(ROSA Fresh|RED OS)' "/etc/os-release" ; then
|
||||||
@ -454,15 +484,15 @@ pw_init_runtime () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
|
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} ]
|
if [ ! -z ${PATH_TMP} ]
|
||||||
then export PATH="${PATH_TMP}"
|
then export PATH="${PATH_TMP}"
|
||||||
else export PATH_TMP="${PATH}"
|
else export PATH_TMP="${PATH}"
|
||||||
fi
|
fi
|
||||||
if [ ! -z "${PATH}" ]
|
if [ ! -z "${PATH}" ]
|
||||||
then export PATH="${WINEDIR}/bin:${PATH}:${PW_WINELIB}/portable/bin"
|
then export PATH="${WINEDIR}/bin:${PATH}:${PW_PLUGINS_PATH}/portable/bin"
|
||||||
else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin"
|
else export PATH="${WINEDIR}/bin:${PW_PLUGINS_PATH}/portable/bin"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
|
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
|
||||||
@ -497,7 +527,7 @@ pw_init_runtime () {
|
|||||||
unset PW_VK_LAYER_PATH
|
unset PW_VK_LAYER_PATH
|
||||||
else
|
else
|
||||||
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
|
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
|
fi
|
||||||
|
|
||||||
# export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/"
|
# export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/"
|
||||||
@ -526,7 +556,7 @@ pw_init_runtime () {
|
|||||||
done
|
done
|
||||||
|
|
||||||
# drop portable: libssl 32-bit
|
# 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"
|
print_info "RUNTIME is enabled"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -676,8 +706,8 @@ stop_portwine () {
|
|||||||
export -f stop_portwine
|
export -f stop_portwine
|
||||||
|
|
||||||
pw_download_libs () {
|
pw_download_libs () {
|
||||||
if [[ ! -e "${PW_WINELIB}/portable/bin/yad" || ! -e "${PW_WINELIB}/portable/lib/p7zip/7z" \
|
if [[ ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" ]] \
|
||||||
|| ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" || -e "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ]] ;
|
|| [[ ! -f "${PW_WINELIB}/pressure-vessel/bin/pv-bwrap" ]]
|
||||||
then
|
then
|
||||||
print_info "Download and install libraries..."
|
print_info "Download and install libraries..."
|
||||||
if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
|
if 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}`
|
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}"
|
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
|
||||||
done
|
done
|
||||||
|
# TODO: drop clear prefix, and add update prefix from new libs
|
||||||
pw_clear_pfx
|
pw_clear_pfx
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
|
try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
|
||||||
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
|
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
|
then pw_download_libs
|
||||||
else
|
else
|
||||||
export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))"
|
export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))"
|
||||||
@ -700,7 +731,7 @@ pw_download_libs () {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if zenity_error_download
|
if yad_error_download
|
||||||
then pw_download_libs
|
then pw_download_libs
|
||||||
else
|
else
|
||||||
export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))"
|
export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))"
|
||||||
@ -708,11 +739,7 @@ pw_download_libs () {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
export pw_yad="${PW_WINELIB}/portable/bin/yad"
|
try_remove_dir "${PW_WINELIB}/portable"
|
||||||
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"
|
|
||||||
return 0
|
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/tmp/${PW_WINE_USE}"
|
||||||
try_remove_dir "${PORT_WINE_PATH}/data/dist/${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
|
fi
|
||||||
else
|
else
|
||||||
zenity_error_download && pw_check_and_download_wine || exit 1
|
yad_error_download && pw_check_and_download_wine || exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
return 0
|
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_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
|
||||||
try_remove_dir dxvk-${DXVK_VAR_VER}
|
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
|
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
|
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
|
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_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
|
||||||
try_remove_dir dxvk-${DXVK_VAR_VER}
|
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
|
fi
|
||||||
else
|
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
|
||||||
fi
|
fi
|
||||||
done
|
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_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
|
||||||
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
|
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
|
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
|
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
|
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_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
|
||||||
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
|
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
|
fi
|
||||||
else
|
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
|
||||||
fi
|
fi
|
||||||
done
|
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_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz"
|
||||||
try_remove_dir "d8vk-${D8VK_VER}"
|
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
|
fi
|
||||||
else
|
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
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -825,8 +852,11 @@ pw_check_and_download_dxvk_and_vkd3d () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pw_check_and_download_plugins () {
|
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}..."
|
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 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
|
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"
|
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
|
||||||
@ -838,7 +868,7 @@ pw_check_and_download_plugins () {
|
|||||||
else
|
else
|
||||||
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
|
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
|
||||||
try_remove_dir "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
|
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
|
then pw_check_and_download_plugins
|
||||||
else
|
else
|
||||||
export PW_PLUGINS_VER="$(echo _v$(($(echo $PW_PLUGINS_VER | sed 's/_v//') - 1)))"
|
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
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if zenity_error_download
|
if yad_error_download
|
||||||
then pw_check_and_download_plugins
|
then pw_check_and_download_plugins
|
||||||
else
|
else
|
||||||
export PW_PLUGINS_VER="$(echo _v$(($(echo $PW_PLUGINS_VER | sed 's/_v//') - 1)))"
|
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}"
|
export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
|
||||||
fi
|
fi
|
||||||
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
|
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
|
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}"
|
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`!${ADD_CB_DBFILE}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v12_3}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form \
|
PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v12_3}" --text-align=center \
|
||||||
--title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \
|
--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`
|
--field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null`
|
||||||
if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
|
if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
|
||||||
elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then
|
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"
|
check_variables PW_USE_RAY_TRACING "1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "${PATH_TO_GAME}"/steam_emu.ini ]] && [[ "${update_loc}" == "RUS" ]] ; then
|
if [[ "${update_loc}" == "RUS" ]] ; then
|
||||||
sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}"/steam_emu.ini
|
for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" ; do
|
||||||
sed -i "/UserName=/c\UserName=${USER}" "${PATH_TO_GAME}"/steam_emu.ini
|
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
|
||||||
fi
|
fi
|
||||||
[[ "${START_FROM_STEAM}" == 1 ]] && export PW_GUI_DISABLED_CS=1
|
[[ "${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 in github = ${scripts_current_ver}"
|
||||||
print_info "Scripts version local = ${scripts_install_ver}"
|
print_info "Scripts version local = ${scripts_install_ver}"
|
||||||
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
|
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
|
||||||
if [[ -f "${PW_WINELIB}/portable/bin/yad_v12_3" ]] ; then
|
if [[ -f "${PW_PLUGINS_PATH}/portable/bin/yad_v12_3" ]]
|
||||||
export pw_yad_v12_3="${PW_WINELIB}/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"
|
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' `
|
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" \
|
xcsd=`"${pw_yad_v12_3}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--borders=3 --form --separator='%%%' --width=1200 --height=600 \
|
--borders=${YAD_BORDERS} --form --separator='%%%' --width=1200 --height=600 \
|
||||||
--field=":TXT" "${CHANGLOG_NEWS}" \
|
--field=":TXT" "${CHANGLOG_NEWS}" \
|
||||||
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null`
|
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null`
|
||||||
YAD_STATUS="$?"
|
YAD_STATUS="$?"
|
||||||
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
|
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
|
||||||
xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'`
|
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
|
fi
|
||||||
case $xcsd in
|
case $xcsd in
|
||||||
"${scripts_upd4}")
|
"${scripts_upd4}")
|
||||||
@ -1012,15 +1072,11 @@ pw_port_update () {
|
|||||||
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
|
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
|
||||||
try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
|
try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
|
||||||
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
|
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[*]} &
|
[ "$?" == 0 ] && echo "Restarting PP after update..." && /usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
zenity_error_download && pw_port_update || exit 1
|
yad_error_download && pw_port_update || exit 1
|
||||||
fi ;;
|
fi ;;
|
||||||
"${scripts_upd5}")
|
"${scripts_upd5}")
|
||||||
echo " " ;;
|
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/Setup.png"
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/img/launcher.png"
|
try_remove_file "${PORT_WINE_PATH}/data/img/launcher.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"
|
try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img"
|
||||||
create_new_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"
|
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
|
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"
|
cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png"
|
||||||
else
|
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"
|
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=%
|
OrigIFS="$IFS" && IFS=%
|
||||||
PW_SET_FIND_EXE="$("${pw_yad_v12_3}" --height="300" --width="1000" --list \
|
PW_SET_FIND_EXE="$("${pw_yad_v12_3}" --height="300" --width="1000" --list \
|
||||||
--text-align=center --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Create shortcut for..." \
|
--text-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)"
|
--text="\n${loc_gui_create_shortcut_for_exe}" --column="path to .exe file:" ${FIND_TO_GUI} 2>/dev/null)"
|
||||||
YAD_STATUS="$?"
|
YAD_STATUS="$?"
|
||||||
print_var 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
|
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
|
||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \
|
[[ ! -f "${pw_yad_v12_3}" ]] && pw_yad_v12_3="yad"
|
||||||
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
|
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"
|
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
|
||||||
if [[ ! -z "${SET_LANG}" ]]
|
if [[ ! -z "${SET_LANG}" ]]
|
||||||
then export update_loc=${SET_LANG}
|
then export update_loc=${SET_LANG}
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
export LAUNCH_PARAMETERS=("/q" )
|
export LAUNCH_PARAMETERS=("/q" )
|
||||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
|
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
|
||||||
export PW_USE_D3D_EXTRAS=1
|
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
|
# 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"
|
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" \
|
GOG_VER="$(curl "https://remote-config.gog.com/components/webinstaller?component_version=2.0.0" \
|
||||||
| awk -F'galaxy_client_' '{print $2}' \
|
| awk -F'galaxy_client_' '{print $2}' \
|
||||||
| awk -F'.pkg' '{print $1}')"
|
| 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_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_${GOG_VER}.exe"
|
||||||
export PW_PREFIX_NAME="GOG"
|
export PW_PREFIX_NAME="GOG"
|
||||||
export DISABLE_CP_DEFPFX=1
|
export DISABLE_CP_DEFPFX=1
|
||||||
|
@ -20,10 +20,10 @@ if try_download_game "https://lol.secure.dyn.riotcdn.net/channels/public/x/insta
|
|||||||
then
|
then
|
||||||
pw_start_progress_bar_block "Installing League of Legends. ${loc_gui_please_wait} "
|
pw_start_progress_bar_block "Installing League of Legends. ${loc_gui_please_wait} "
|
||||||
if [ "${update_loc}" = "RUS" ] ; then
|
if [ "${update_loc}" = "RUS" ] ; then
|
||||||
zenity --info --width=500 --text "Вы должны нажать кнопку установки, не изменяя настроек!"
|
yad_info "Вы должны нажать кнопку установки, не изменяя настроек!"
|
||||||
fi
|
fi
|
||||||
if [ "${update_loc}" = "ENG" ] ; then
|
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
|
fi
|
||||||
pw_kill_autostart RiotClientServices.exe &
|
pw_kill_autostart RiotClientServices.exe &
|
||||||
pw_run "${PW_AUTOINSTALL_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 \
|
PR64_VER="$(curl https://www.pj64-emu.com/public-releases | grep 'installer' | head -n 1 \
|
||||||
| awk -F'/project64' '{print $2}' \
|
| awk -F'/project64' '{print $2}' \
|
||||||
| awk -F'installer"' '{print $1}')"
|
| 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 LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Project64${PR64_VER}setup.exe"
|
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
|
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}')"
|
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
|
start_portwine
|
||||||
if try_download_game "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}"
|
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
|
if [[ $(id -u) = 0 ]] ; then
|
||||||
echo "Do not run this script as root!"
|
echo "Do not run this script as root!"
|
||||||
zenity --error --text "Do not run this script as root!"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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"
|
. "$(dirname $(readlink -f "$0"))/functions_helper"
|
||||||
|
|
||||||
start_portwine () {
|
start_portwine () {
|
||||||
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
|
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
|
||||||
export WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
|
export WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
|
||||||
if [[ "$WINEPREFIX" != "${PORT_WINE_PATH}/data/prefixes/"* ]] && [[ ! -d "$WINEPREFIX" ]] ; then
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
|
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
|
||||||
@ -64,11 +60,6 @@ start_portwine () {
|
|||||||
unset WARN_CYRILLIC_IN_PATH
|
unset WARN_CYRILLIC_IN_PATH
|
||||||
fi
|
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
|
if [[ "$PW_USE_OBS_VKCAPTURE" == "1" ]] ; then
|
||||||
export OBS_VKCAPTURE="1"
|
export OBS_VKCAPTURE="1"
|
||||||
export PW_USE_SYSTEM_VK_LAYERS="1"
|
export PW_USE_SYSTEM_VK_LAYERS="1"
|
||||||
@ -147,11 +138,23 @@ start_portwine () {
|
|||||||
enabled_fake_nvidia_videocard ()
|
enabled_fake_nvidia_videocard ()
|
||||||
{
|
{
|
||||||
if [[ "${1}" == 1 ]] ; then
|
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.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
|
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.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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,27 +163,38 @@ start_portwine () {
|
|||||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
||||||
done
|
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.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/"
|
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
|
enabled_fake_nvidia_videocard 1
|
||||||
var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b"
|
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
|
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}'))"
|
FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))"
|
||||||
if [[ ! -z "$FIND_NVNGX" ]] ; then
|
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/"
|
||||||
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
|
else
|
||||||
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_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/"
|
||||||
fi
|
fi
|
||||||
enabled_fake_nvidia_videocard 0
|
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"
|
var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b"
|
||||||
else
|
else
|
||||||
enabled_fake_nvidia_videocard 0
|
enabled_fake_nvidia_videocard 0
|
||||||
@ -210,8 +224,11 @@ start_portwine () {
|
|||||||
[[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG
|
[[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG
|
||||||
[[ "${PW_VKBASALT_USER_CONF}" == 1 ]] && unset PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS
|
[[ "${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
|
if [[ "${PW_USE_DXR11}" == 1 ]] \
|
||||||
var_vkd3d_config_update dxr,dxr11
|
|| [[ "${PW_USE_DXR10}" == 1 ]] \
|
||||||
|
|| [[ "${PW_USE_RAY_TRACING}" == 1 ]]
|
||||||
|
then
|
||||||
|
var_vkd3d_config_update dxr
|
||||||
var_radv_perftest_config_update rt
|
var_radv_perftest_config_update rt
|
||||||
else
|
else
|
||||||
var_vkd3d_config_update nodxr
|
var_vkd3d_config_update nodxr
|
||||||
@ -286,8 +303,8 @@ start_portwine () {
|
|||||||
else export PW_LD_PRELOAD="${GAMEMODEAUTO_NAME}"
|
else export PW_LD_PRELOAD="${GAMEMODEAUTO_NAME}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
env LD_LIBRARY_PATH="${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32" \
|
env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64:${PW_PLUGINS_PATH}/portable/lib/lib32" \
|
||||||
"${PW_WINELIB}/portable/bin/gamemoded" &>/dev/null &
|
"${PW_PLUGINS_PATH}/portable/bin/gamemoded" &>/dev/null &
|
||||||
|
|
||||||
print_info "Gamemod will be launched."
|
print_info "Gamemod will be launched."
|
||||||
else
|
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"
|
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
|
for link_font in $LN_FONTS ; do
|
||||||
if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then
|
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
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -348,7 +365,7 @@ start_portwine () {
|
|||||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
||||||
else
|
else
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
||||||
zenity_error_download && exit 1
|
yad_error_download && exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -360,7 +377,7 @@ start_portwine () {
|
|||||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
||||||
else
|
else
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
||||||
zenity_error_download && exit 1
|
yad_error_download && exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -421,23 +438,20 @@ start_portwine () {
|
|||||||
export PW_USE_US_LAYOUT="0"
|
export PW_USE_US_LAYOUT="0"
|
||||||
fi
|
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 [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then
|
||||||
if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ]] \
|
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"`" ]]
|
|| [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]]
|
||||||
then
|
then
|
||||||
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
|
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
|
||||||
fi
|
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
|
#try link d3d extras libs
|
||||||
for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \
|
PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras"
|
||||||
d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \
|
for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do
|
||||||
d3dcompiler_47 d3dx10_33 d3dx10_34 d3dx10_35 d3dx10_36 d3dx10_37 d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 \
|
|
||||||
d3dx10_42 d3dx10_43 d3dx10 d3dx11_42 d3dx11_43 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30 \
|
|
||||||
d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43
|
|
||||||
do
|
|
||||||
try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
try_force_link_file "${PATH_TO_D3DEXTRAS}/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/"
|
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"
|
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"
|
echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
|
||||||
fi
|
fi
|
||||||
done
|
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
|
fi
|
||||||
print_info "Try link wine d3d files by default..."
|
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
|
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"
|
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_vulkan_dll}.dll"
|
||||||
done
|
done
|
||||||
for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d ; do
|
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}/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/${wine_build_dll}.dll"
|
try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||||
done
|
done
|
||||||
|
|
||||||
create_new_dir "${PW_VULKAN_DIR}/opengl"
|
create_new_dir "${PW_VULKAN_DIR}/opengl"
|
||||||
@ -478,7 +497,6 @@ start_portwine () {
|
|||||||
fi
|
fi
|
||||||
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
|
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
|
||||||
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
|
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
|
||||||
export PW_GALLIUM_NINE_VER="0.8"
|
|
||||||
export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
|
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}/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"
|
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}"
|
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
|
||||||
else
|
else
|
||||||
pw_stop_progress_bar
|
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
|
stop_portwine
|
||||||
fi
|
fi
|
||||||
export mesa_glthread=true
|
export mesa_glthread=true
|
||||||
@ -536,42 +554,38 @@ start_portwine () {
|
|||||||
print_info "Try link native DXVK files..."
|
print_info "Try link native DXVK files..."
|
||||||
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
|
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
|
||||||
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
|
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}/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/${wine_dxvk_dll}.dll"
|
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"
|
var_winedlloverride_update "${wine_dxvk_dll}=n"
|
||||||
fi
|
fi
|
||||||
done
|
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 "${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 "${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 "${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/"
|
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||||
|
|
||||||
print_info "Try link native VKD3D files..."
|
print_info "Try link native VKD3D files..."
|
||||||
for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1; do
|
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
|
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}/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/${wine_vkd3d_dll}.dll"
|
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"
|
var_winedlloverride_update "${wine_vkd3d_dll}=n"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
print_info "Try link native D8VK file..."
|
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
|
var_winedlloverride_update d3d8=n
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
|
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
|
||||||
create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin"
|
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"
|
try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/"
|
||||||
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll"
|
try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/"
|
||||||
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
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then
|
if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then
|
||||||
@ -608,15 +622,13 @@ start_portwine () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" "amd_ags_x64.dll" "ir50_32.dll" ; do
|
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}"
|
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."
|
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
|
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}"
|
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."
|
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
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -744,7 +756,7 @@ export -f pw_run
|
|||||||
|
|
||||||
###MAIN###
|
###MAIN###
|
||||||
if [[ $(id -u) -eq 0 ]] ; then
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -832,14 +844,14 @@ cd "${PORT_SCRIPTS_PATH}"
|
|||||||
|
|
||||||
export STEAM_SCRIPTS="${PORT_WINE_PATH}/steam_scripts"
|
export STEAM_SCRIPTS="${PORT_WINE_PATH}/steam_scripts"
|
||||||
export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
|
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}"/lang
|
||||||
. "${PORT_SCRIPTS_PATH}"/zen_yad_gui
|
. "${PORT_SCRIPTS_PATH}"/yad_gui
|
||||||
|
|
||||||
export urlg="https://linux-gaming.ru/portproton/"
|
export urlg="https://linux-gaming.ru/portproton/"
|
||||||
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
|
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
|
||||||
try_remove_dir "${PW_WINELIB}/var"
|
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 install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1`
|
||||||
export WINETRICKS_DOWNLOADER="curl"
|
export WINETRICKS_DOWNLOADER="curl"
|
||||||
export USER_CONF="${PORT_WINE_PATH}/data/user.conf"
|
export USER_CONF="${PORT_WINE_PATH}/data/user.conf"
|
||||||
@ -848,11 +860,11 @@ check_user_conf
|
|||||||
if [[ -z "${INSTALLING_PORT}" ]] ; then
|
if [[ -z "${INSTALLING_PORT}" ]] ; then
|
||||||
. "${USER_CONF}"
|
. "${USER_CONF}"
|
||||||
pw_port_update
|
pw_port_update
|
||||||
|
pw_check_and_download_plugins
|
||||||
pw_download_libs
|
pw_download_libs
|
||||||
export PW_VULKANINFO_PORTABLE="$PW_WINELIB/pressure-vessel/libexec/steam-runtime-tools-0/x86_64-linux-gnu-vulkaninfo"
|
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_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)"
|
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
|
pw_init_db
|
||||||
. "${PORT_SCRIPTS_PATH}"/lang
|
. "${PORT_SCRIPTS_PATH}"/lang
|
||||||
pw_check_and_download_dxvk_and_vkd3d
|
pw_check_and_download_dxvk_and_vkd3d
|
||||||
|
@ -6,6 +6,7 @@ if grep -i "flatpak" /etc/os-release &>/dev/null ; then
|
|||||||
name_desktop="PortProton"
|
name_desktop="PortProton"
|
||||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "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 "Exec=flatpak run com.castrofidel.portproton" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
@ -19,6 +20,7 @@ else
|
|||||||
name_desktop="PortProton"
|
name_desktop="PortProton"
|
||||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "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 "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
@ -30,7 +32,7 @@ else
|
|||||||
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${PW_AUTOPLAY}" ] ; then
|
if [[ ! -f /usr/bin/portproton ]]; then
|
||||||
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
|
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -43,7 +45,7 @@ fi
|
|||||||
name_desktop="readme"
|
name_desktop="readme"
|
||||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
echo "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 "Type=Link" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||||
echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${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"
|
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_SILENT_INSTALL}" = "1" ] ; then
|
||||||
if [ "${PW_AUTOPLAY}" = "1" ] ; then
|
if [ "${PW_AUTOPLAY}" = "1" ] ; then
|
||||||
unset INSTALLING_PORT
|
unset INSTALLING_PORT
|
||||||
if [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then
|
if [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] && [[ -f /usr/bin/portproton ]] ; 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}"
|
|
||||||
try_remove_file "${HOME}/.local/share/applications/PortProton.desktop"
|
try_remove_file "${HOME}/.local/share/applications/PortProton.desktop"
|
||||||
fi
|
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..."
|
echo "Restarting PP after installing..."
|
||||||
/usr/bin/env bash -c "${PORT_WINE_PATH}/data/scripts/start.sh" $@ &
|
/usr/bin/env bash -c "${PORT_WINE_PATH}/data/scripts/start.sh" $@ &
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "Installation completed successfully."
|
echo "Installation completed successfully."
|
||||||
fi
|
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
|
fi
|
||||||
unset INSTALLING_PORT
|
unset INSTALLING_PORT
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
export NO_AT_BRIDGE=1
|
export NO_AT_BRIDGE=1
|
||||||
export pw_full_command_line=("$0" $*)
|
export pw_full_command_line=("$0" $*)
|
||||||
|
export YAD_BORDERS=5
|
||||||
MISSING_DESKTOP_FILE=0
|
MISSING_DESKTOP_FILE=0
|
||||||
|
|
||||||
if [[ -f "$1" ]] ; then
|
if [[ -f "$1" ]] ; then
|
||||||
@ -36,7 +37,7 @@ if [[ -f "$portwine_exe" ]] \
|
|||||||
&& [[ "${WARN_CYRILLIC_IN_PATH}" != 1 ]] \
|
&& [[ "${WARN_CYRILLIC_IN_PATH}" != 1 ]] \
|
||||||
&& echo "${portwine_exe}" | grep -e $'[\u0430-\u044F\u0410-\u042F]' &>/dev/null
|
&& echo "${portwine_exe}" | grep -e $'[\u0430-\u044F\u0410-\u042F]' &>/dev/null
|
||||||
then
|
then
|
||||||
zenity_info "$loc_warn_cyrillic_in_path"
|
yad_info "$loc_warn_cyrillic_in_path"
|
||||||
export WARN_CYRILLIC_IN_PATH="1"
|
export WARN_CYRILLIC_IN_PATH="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -99,7 +100,7 @@ portwine_start_debug () {
|
|||||||
export PW_LOG=1
|
export PW_LOG=1
|
||||||
export PW_WINEDBG_DISABLE=0
|
export PW_WINEDBG_DISABLE=0
|
||||||
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
|
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
|
fi
|
||||||
echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
|
echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
|
||||||
echo "${port_deb2}" >> "${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"
|
[[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
|
||||||
echo "-----" >> "${PORT_WINE_PATH}/${portname}.log"
|
echo "-----" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||||
echo "inxi -G:" >> "${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 echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then
|
||||||
if command -v ldconfig &>/dev/null ; then
|
if command -v ldconfig &>/dev/null ; then
|
||||||
echo "------" >> "${PORT_WINE_PATH}/${portname}.log"
|
echo "------" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||||
@ -193,7 +194,7 @@ portwine_start_debug () {
|
|||||||
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
|
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||||
echo "Vulkan info device name:" >> "${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_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
|
if [ $? -eq 0 ]; then
|
||||||
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log"
|
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||||
else
|
else
|
||||||
@ -255,7 +256,7 @@ portwine_start_debug () {
|
|||||||
sed -i '/wine: RLIMIT_NICE is <= 20/d' "${PORT_WINE_PATH}/${portname}.log"
|
sed -i '/wine: RLIMIT_NICE is <= 20/d' "${PORT_WINE_PATH}/${portname}.log"
|
||||||
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
|
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
|
||||||
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
|
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 \
|
--text-info --show-uri --wrap --width=1200 --height=550 --uri-color=red \
|
||||||
--filename="${PORT_WINE_PATH}/${portname}.log"
|
--filename="${PORT_WINE_PATH}/${portname}.log"
|
||||||
stop_portwine
|
stop_portwine
|
||||||
@ -349,8 +350,8 @@ pw_prefix_manager () {
|
|||||||
--text="${loc_prefix_manager_conf} <b>\"${PW_PREFIX_NAME}\"</b>" \
|
--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 &
|
--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 \
|
"${pw_yad_v12_3}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=${YAD_BORDERS} --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
|
--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="$?"
|
YAD_STATUS="$?"
|
||||||
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
|
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
|
||||||
stop_portwine
|
stop_portwine
|
||||||
@ -430,8 +431,8 @@ pw_start_cont_xterm () {
|
|||||||
|
|
||||||
pw_create_prefix_backup () {
|
pw_create_prefix_backup () {
|
||||||
cd "$HOME"
|
cd "$HOME"
|
||||||
PW_PREFIX_TO_BACKUP=$("${pw_yad_v12_3}" --file --directory --borders=3 --width=650 --height=500 --auto-close \
|
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/port_proton.png" --title "$loc_create_pfx_backup_path" 2>/dev/null )
|
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "$loc_create_pfx_backup_path" 2>/dev/null )
|
||||||
YAD_STATUS="$?"
|
YAD_STATUS="$?"
|
||||||
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
|
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
|
||||||
if [[ ! -z "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
|
if [[ ! -z "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
|
||||||
@ -459,13 +460,13 @@ pw_create_prefix_backup () {
|
|||||||
done
|
done
|
||||||
if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then
|
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"
|
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
|
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"
|
echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
zenity_error "$PW_PFX_BACKUP_ERROR"
|
yad_error "$PW_PFX_BACKUP_ERROR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
@ -475,14 +476,14 @@ pw_edit_db () {
|
|||||||
if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then
|
if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then
|
||||||
pw_gui_for_edit_db \
|
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_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_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_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
|
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
|
else
|
||||||
pw_gui_for_edit_db \
|
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_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_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_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
|
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
|
else
|
||||||
PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/separator.png!${loc_delete_shortcut}:98"
|
PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/separator.png!${loc_delete_shortcut}:98"
|
||||||
fi
|
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 \
|
--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="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
|
||||||
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
|
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
|
||||||
--field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
|
--field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
|
||||||
@ -728,8 +729,8 @@ else
|
|||||||
|
|
||||||
gui_open_scripts_from_backup () {
|
gui_open_scripts_from_backup () {
|
||||||
cd "${PORT_WINE_TMP_PATH}/scripts_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 \
|
PW_SCRIPT_FROM_BACKUP=$("${pw_yad_v12_3}" --file --borders=${YAD_BORDERS} --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 )
|
--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="$?"
|
YAD_STATUS="$?"
|
||||||
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
|
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
|
||||||
unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/"
|
unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/"
|
||||||
@ -861,8 +862,8 @@ else
|
|||||||
export START_FROM_PP_GUI=1
|
export START_FROM_PP_GUI=1
|
||||||
|
|
||||||
if [[ -z "${PW_ALL_DF}" ]] ; then
|
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 \
|
"${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/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \
|
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "${portname}-${install_ver} (${scripts_install_ver})" \
|
||||||
--tab-pos=bottom --keep-icon-size \
|
--tab-pos=bottom --keep-icon-size \
|
||||||
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
||||||
--tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
--tab="$loc_mg_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
|
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" 2>/dev/null
|
||||||
YAD_STATUS="$?"
|
YAD_STATUS="$?"
|
||||||
else
|
else
|
||||||
"${pw_yad_v12_3}" --key=$KEY --notebook --borders=3 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close \
|
"${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/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \
|
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "${portname}-${install_ver} (${scripts_install_ver})" \
|
||||||
--tab-pos=bottom --keep-icon-size \
|
--tab-pos=bottom --keep-icon-size \
|
||||||
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
||||||
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#Author: Castro-Fidel (linux-gaming.ru)
|
#Author: Castro-Fidel (linux-gaming.ru)
|
||||||
#SCRIPTS_NEXT_VERSION=2251
|
#SCRIPTS_NEXT_VERSION=2252
|
||||||
########################################################################
|
########################################################################
|
||||||
export PW_MANGOHUD="0"
|
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 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_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 GAMESCOPE_ARGS="-F fsr"
|
||||||
export PW_RT_MOUNT_RO=("")
|
export PW_RT_MOUNT_RO=("")
|
||||||
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
|
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"
|
# export GTK_THEME="Adwaita:dark"
|
||||||
###DEFAULT_WINE###
|
###DEFAULT_WINE###
|
||||||
export PW_WINE_USE="PROTON_LG"
|
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_VER="230506"
|
||||||
|
export PW_FAKE_DLSS_3_VER="090"
|
||||||
|
export PW_GALLIUM_NINE_VER="0.9"
|
||||||
###WINE_AND_PROTON_LG###
|
###WINE_AND_PROTON_LG###
|
||||||
export PW_PROTON_LG_VER="PROTON_LG_8-25-2"
|
export PW_PROTON_LG_VER="PROTON_LG_8-25-2"
|
||||||
export PW_WINE_LG_VER="WINE_LG_9-0"
|
export PW_WINE_LG_VER="WINE_LG_9-0"
|
||||||
|
@ -1,30 +1,50 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Author: Castro-Fidel (linux-gaming.ru)
|
# Author: Castro-Fidel (linux-gaming.ru)
|
||||||
########################################################################
|
########################################################################
|
||||||
zenity_info () {
|
yad_info () {
|
||||||
print_info "$@"
|
print_info "$@"
|
||||||
zenity --info --no-wrap --text "$@" 2> /dev/null
|
if [[ ! -f "${pw_yad_v12_3}" ]] ; then
|
||||||
}
|
local pw_yad_v12_3="yad"
|
||||||
export -f zenity_info
|
command -v "${pw_yad_v12_3}" &>/dev/null || fatal "yad not found"
|
||||||
|
|
||||||
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
|
|
||||||
fi
|
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 () {
|
gui_question () {
|
||||||
zenity --question --title "${inst_set}." --text "$1" --no-wrap &>/dev/null
|
if [[ ! -f "${pw_yad_v12_3}" ]] ; then
|
||||||
[ $? -eq "0" ] && return 0 || return 1
|
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 () {
|
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_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
|
||||||
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 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 \
|
"${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="$!"
|
export PW_YAD_PID_PROGRESS_BAR_COVER="$!"
|
||||||
return 0
|
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_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
|
||||||
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 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 \
|
"${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="$!"
|
export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -113,7 +133,7 @@ pw_stop_progress_bar_cover_block () {
|
|||||||
export -f pw_stop_progress_bar_cover_block
|
export -f pw_stop_progress_bar_cover_block
|
||||||
|
|
||||||
open_changelog () {
|
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 \
|
--text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \
|
||||||
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
|
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
|
||||||
}
|
}
|
||||||
@ -145,9 +165,9 @@ pw_tray_icon () {
|
|||||||
}
|
}
|
||||||
export -f tray_icon_click_exit
|
export -f tray_icon_click_exit
|
||||||
|
|
||||||
|
# --window-icon="$PW_GUI_ICON_PATH/portproton_tray.png" \
|
||||||
"${pw_yad_v12_3}" --notification --no-middle \
|
"${pw_yad_v12_3}" --notification --no-middle \
|
||||||
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
|
--image="$PW_GUI_ICON_PATH/portproton_tray.png" \
|
||||||
--image="$PW_GUI_ICON_PATH/port_proton.png" \
|
|
||||||
--command="bash -c tray_icon_click" \
|
--command="bash -c tray_icon_click" \
|
||||||
--tooltip="PortProton" \
|
--tooltip="PortProton" \
|
||||||
--menu="| \
|
--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 &
|
--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" \
|
"${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 \
|
--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/port_proton.png" \
|
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \
|
--button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \
|
||||||
--button="${loc_gui_reset_db}"!!"${loc_gui_reset_db_help}":2 \
|
--button="${loc_gui_reset_db}"!!"${loc_gui_reset_db_help}":2 \
|
||||||
--button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \
|
--button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \
|
||||||
@ -325,7 +345,7 @@ gui_proton_downloader () {
|
|||||||
fi
|
fi
|
||||||
pw_stop_progress_bar
|
pw_stop_progress_bar
|
||||||
if [[ -z "${PROTON_GE_GIT}" ]] || [[ -z "${PROTON_PW_GIT}" ]] ; then
|
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[*]} &
|
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@ -357,7 +377,7 @@ gui_proton_downloader () {
|
|||||||
`"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --separator="" --listen \
|
`"${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` &
|
--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 \
|
`"${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`
|
--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="$?"
|
YAD_WINE_STATUS="$?"
|
||||||
if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then
|
if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then
|
||||||
@ -419,12 +439,12 @@ gui_proton_downloader () {
|
|||||||
else
|
else
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_ARCHIVE}.tar.${archive_type}"
|
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}"
|
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
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
zenity_error_download && gui_proton_downloader || exit 1
|
yad_error_download && gui_proton_downloader || exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$1" != "silent" ]] ; then
|
if [[ "$1" != "silent" ]] ; then
|
||||||
@ -451,9 +471,16 @@ gui_vkBasalt () {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
|
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
|
else
|
||||||
VKBASALT_FFX_CAS_GUI=75
|
VKBASALT_FFX_CAS_GUI=66
|
||||||
fi
|
fi
|
||||||
export old_IFS=$IFS
|
export old_IFS=$IFS
|
||||||
export IFS="%"
|
export IFS="%"
|
||||||
@ -466,8 +493,8 @@ gui_vkBasalt () {
|
|||||||
--field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$loc_gui_ffx_cas":SCL "${VKBASALT_FFX_CAS_GUI}" \
|
--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 &
|
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 \
|
"${pw_yad_v12_3}" --paned --key="$KEY_FX_GUI" --height="650" --title="vkBasalt" --center --borders=${YAD_BORDERS} \
|
||||||
--separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
|
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \
|
--button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \
|
||||||
--button="$loc_gui_disabled_vkbas"!!"$loc_gui_disabled_vkbas_help":180 \
|
--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
|
--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"
|
GUI_FX_RESULT="${GUI_FX_RESULT}cas"
|
||||||
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
|
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
|
||||||
|
|
||||||
if [[ "$YAD_CAS_SET" == "0" ]] ; then
|
if [[ "$YAD_CAS_SET" == "0" ]]
|
||||||
export PW_VKBASALT_FFX_CAS="0"
|
then export PW_VKBASALT_FFX_CAS="0"
|
||||||
elif [[ "$YAD_CAS_SET" == "100" ]] ; then
|
elif [[ "$YAD_CAS_SET" == "100" ]]
|
||||||
export PW_VKBASALT_FFX_CAS="1"
|
then export PW_VKBASALT_FFX_CAS="1"
|
||||||
else
|
elif [[ "$YAD_CAS_SET" -lt 10 ]]
|
||||||
export PW_VKBASALT_FFX_CAS="0`bc -s <<< "scale=2; $YAD_CAS_SET/100"`"
|
then export PW_VKBASALT_FFX_CAS="0.0$YAD_CAS_SET"
|
||||||
|
else export PW_VKBASALT_FFX_CAS="0.$YAD_CAS_SET"
|
||||||
fi
|
fi
|
||||||
edit_db_from_gui PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS ENABLE_VKBASALT
|
edit_db_from_gui PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS ENABLE_VKBASALT
|
||||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
/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}" \
|
--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 &
|
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 \
|
"${pw_yad_v12_3}" --paned --key="$KEY_MH_GUI" --height="650" --title="MangoHud" --center --borders=${YAD_BORDERS} \
|
||||||
--separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
|
--separator=" " --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \
|
--button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \
|
||||||
--button="$loc_gui_disabled_mh"!!"$loc_gui_disabled_mh_help":182 \
|
--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
|
--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
|
if [[ "$1" == "block_name" ]] ; then
|
||||||
export name_desktop="${PORTPROTON_NAME}"
|
export name_desktop="${PORTPROTON_NAME}"
|
||||||
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
|
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=${YAD_BORDERS} \
|
||||||
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
|
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
|
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
|
||||||
--field="${sc_info}":LBL "" \
|
--field="${sc_info}":LBL "" \
|
||||||
--field=" ${name_desktop}":LBL "" \
|
--field=" ${name_desktop}":LBL "" \
|
||||||
@ -639,8 +667,8 @@ portwine_create_shortcut () {
|
|||||||
PW_YAD_OUT=$?
|
PW_YAD_OUT=$?
|
||||||
else
|
else
|
||||||
export name_desktop="${PORTPROTON_NAME}"
|
export name_desktop="${PORTPROTON_NAME}"
|
||||||
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
|
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=${YAD_BORDERS} \
|
||||||
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
|
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
|
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
|
||||||
--field="${sc_info}":LBL "" \
|
--field="${sc_info}":LBL "" \
|
||||||
--field="${sc_name}:" "${name_desktop}" \
|
--field="${sc_name}:" "${name_desktop}" \
|
||||||
@ -743,8 +771,8 @@ portwine_delete_shortcut () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
portwine_missing_shortcut () {
|
portwine_missing_shortcut () {
|
||||||
"${pw_yad}" --title="${loc_gui_error}." --form --borders=3 \
|
"${pw_yad}" --title="${loc_gui_error}." --form --borders=${YAD_BORDERS} \
|
||||||
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
|
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
|
||||||
--image "$PW_GUI_ICON_PATH/error_file.png" \
|
--image "$PW_GUI_ICON_PATH/error_file.png" \
|
||||||
--text "$loc_gui_missing_shortcut" \
|
--text "$loc_gui_missing_shortcut" \
|
||||||
--button="$loc_gui_delete_shortcut":0 \
|
--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
|
FilmGrain2 = /run/pressure-vessel/pv-from-host/reshade/shaders/FilmGrain2.fx
|
||||||
Curves = /run/pressure-vessel/pv-from-host/reshade/shaders/Curves.fx
|
Curves = /run/pressure-vessel/pv-from-host/reshade/shaders/Curves.fx
|
||||||
FakeHDR = /run/pressure-vessel/pv-from-host/reshade/shaders/FakeHDR.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
|
Colourfulness = /run/pressure-vessel/pv-from-host/reshade/shaders/Colourfulness.fx
|
||||||
Bloom = /run/pressure-vessel/pv-from-host/reshade/shaders/Bloom.fx
|
Bloom = /run/pressure-vessel/pv-from-host/reshade/shaders/Bloom.fx
|
||||||
SMAA = /run/pressure-vessel/pv-from-host/reshade/shaders/SMAA.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
|
HQ4X = /run/pressure-vessel/pv-from-host/reshade/shaders/HQ4X.fx
|
||||||
HSLShift = /run/pressure-vessel/pv-from-host/reshade/shaders/HSLShift.fx
|
HSLShift = /run/pressure-vessel/pv-from-host/reshade/shaders/HSLShift.fx
|
||||||
Layer = /run/pressure-vessel/pv-from-host/reshade/shaders/Layer.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
|
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
|
LumaSharpen = /run/pressure-vessel/pv-from-host/reshade/shaders/LumaSharpen.fx
|
||||||
LUT = /run/pressure-vessel/pv-from-host/reshade/shaders/LUT.fx
|
LUT = /run/pressure-vessel/pv-from-host/reshade/shaders/LUT.fx
|
||||||
MagicBloom = /run/pressure-vessel/pv-from-host/reshade/shaders/MagicBloom.fx
|
MagicBloom = /run/pressure-vessel/pv-from-host/reshade/shaders/MagicBloom.fx
|
||||||
|
@ -1,168 +1,162 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Author: Castro-Fidel (linux-gaming.ru)
|
# Author: Mikhail Tergoev (linux-gaming.ru)
|
||||||
# License MIT
|
# License MIT
|
||||||
########################################################################
|
########################################################################
|
||||||
unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL
|
unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL
|
||||||
export portname="PortProton"
|
export portname="PortProton"
|
||||||
export port_ver=1.0
|
export port_ver=1.4
|
||||||
########################################################################
|
########################################################################
|
||||||
export NO_AT_BRIDGE=1
|
cd "$(dirname "$(readlink -f "$0")")"
|
||||||
ENG_LANG="English"
|
script_path="$(pwd)"
|
||||||
RUS_LANG="Russian"
|
def_path="${HOME}/${portname}"
|
||||||
[ -z "${LANG}" ] && export LANG=C
|
########################################################################
|
||||||
deflink="${HOME}/PortWINE/${portname}"
|
fatal () {
|
||||||
[ "$(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
|
echo -e "\n${1}\n"
|
||||||
my_dir=$(dirname "$(readlink -f "$0")")
|
exit 1
|
||||||
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
|
pw_notify_send () {
|
||||||
/usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@"
|
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
|
exit 0
|
||||||
else
|
else
|
||||||
if [ ! -z "$(locale | grep "LANG=ru_RU.UTF-8")" ] ; then
|
rm -f "${PP_CONFIG_FILE}"
|
||||||
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}"
|
|
||||||
fi
|
fi
|
||||||
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 INSTALLING_PORT=1
|
||||||
export PROGS_INST=""
|
|
||||||
export vexit=0
|
|
||||||
########################################################################
|
########################################################################
|
||||||
for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do
|
if [[ "${PW_USE_NS}" != "1" ]] ; then
|
||||||
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
|
|
||||||
case $PW_SET_LANG in
|
case $PW_SET_LANG in
|
||||||
"$RUS_LANG")
|
"Russian")
|
||||||
INFO_TEXT="Вы запустили установщик ${portname} версии ${port_ver}. \n\nЭто некоммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права стороннего программного обеспечения принадлежат их владельцам! \nПродолжая установку, Вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;;
|
inst1=$($yad_gui --title "Install ${portname}" --text "Выберите путь для установки (обновления) ${portname},\nили оставьте его по умолчанию.\n\nВнимание:\nУстанавливать необходимо на файловую систему Linux (ext4, btrfs и прочие)." --list --radiolist --width=600 --height=200 \
|
||||||
"$ENG_LANG")
|
--column="Выбор" --column "Путь:" \
|
||||||
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 ;;
|
TRUE "${def_path}" \
|
||||||
esac
|
FALSE "Другой путь...")
|
||||||
zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap 2> /dev/null
|
[ "$?" != "0" ] && exit 1
|
||||||
if [ $? -eq 1 ] ; then echo "INFO message not displayed!" && exit 1 ; fi
|
inst1="$(echo $inst1 | awk -F'|' '{print $2}')"
|
||||||
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
|
|
||||||
case $inst1 in
|
case $inst1 in
|
||||||
"${deflink}")
|
"${def_path}")
|
||||||
D_PATH="${deflink}" ;;
|
D_PATH="${def_path}" ;;
|
||||||
"Другой путь...")
|
"Другой путь...")
|
||||||
D_PATH=$(zenity --file-selection --directory --title="Выберите путь..." )
|
echo 111
|
||||||
D_PATH="${D_PATH}/${portname}" ;;
|
D_PATH="$($yad_gui --file --directory --title="Выберите путь..." --width=800 --height=800)" ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
"$ENG_LANG")
|
"English")
|
||||||
inst1=$(zenity --title "Install ${portname}" --text "Choose path to install (update) ${portname} \nor leave it as default." --list --radiolist --width=350 --height=220 \
|
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="" --column "Path:" \
|
--column="Set..." --column "Path:" \
|
||||||
TRUE "${deflink}" \
|
TRUE "${def_path}" \
|
||||||
FALSE "Other path..." ) 2> /dev/null
|
FALSE "Other path...")
|
||||||
if [ $? -eq 1 ] ; then echo "Installation path not set!" && exit 1; fi
|
inst1="$(echo $inst1 | awk -F'|' '{print $2}')"
|
||||||
|
[ "$?" != "0" ] && exit 1
|
||||||
case $inst1 in
|
case $inst1 in
|
||||||
"${deflink}")
|
"${def_path}")
|
||||||
D_PATH="${deflink}" ;;
|
D_PATH="${def_path}" ;;
|
||||||
"Other path...")
|
"Other path...")
|
||||||
D_PATH=$(zenity --file-selection --directory --title="Choose your path..." )
|
D_PATH="$($yad_gui --file --directory --title="Select the path...")" ;;
|
||||||
D_PATH="${D_PATH}/${portname}" ;;
|
|
||||||
esac ;;
|
esac ;;
|
||||||
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
|
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}"
|
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
|
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
|
else
|
||||||
rm -fr "${PORT_WINE_PATH}/data/tmp"
|
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
|
fi
|
||||||
########################################################################
|
########################################################################
|
||||||
mkdir -p "${PORT_WINE_PATH}/data/tmp"
|
mkdir -p "${PORT_WINE_PATH}/data/tmp"
|
||||||
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver"
|
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver"
|
||||||
case $PW_SET_LANG in
|
case "${PW_SET_LANG}" in
|
||||||
"$RUS_LANG") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
|
"Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
|
||||||
"$ENG_LANG") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
|
"English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
|
||||||
esac
|
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"
|
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
|
||||||
cd "${PORT_WINE_PATH}"
|
cd "${PORT_WINE_PATH}"
|
||||||
try_download_scripts () {
|
echo -e "\nTry download scripts from gitlab.eterfund.ru..."
|
||||||
wget -O "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -nd -c --read-timeout 300 \
|
if ! curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' \
|
||||||
--retry-connrefused --timeout 15 --tries 3 \
|
-L "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz" \
|
||||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
|
-o "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
|
||||||
"https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
|
then
|
||||||
if [ "$?" = "0" ] ; then
|
echo -e "\nError.\nTry download scripts from github.com..."
|
||||||
tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}"
|
curl -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' \
|
||||||
if [ "$?" = "0" ] ; then
|
-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/"
|
[ ! -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/"
|
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 -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
|
||||||
rm -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/"
|
rm -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/"
|
||||||
export scripts_current_ver
|
export scripts_current_ver=$(cat "${PORT_WINE_PATH}/data/scripts/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}')
|
||||||
scripts_current_ver=$(cat "${scripts_dir}/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}')
|
|
||||||
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
|
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
|
else
|
||||||
try_download_scripts | progress_bar
|
rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
|
||||||
|
[ "$?" != "0" ] && fatal "Critical error during file unpacking!"
|
||||||
fi
|
fi
|
||||||
chmod 755 -R "${PORT_WINE_PATH}"
|
|
||||||
########################################################################
|
########################################################################
|
||||||
cd "${scripts_dir}"
|
cd "${PORT_WINE_PATH}/data/scripts"
|
||||||
/usr/bin/env bash "${scripts_dir}/setup.sh" && exit 0
|
/usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/setup.sh" && exit 0
|
||||||
|