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