Compare commits
63 Commits
libs_v46
...
yad_portab
Author | SHA1 | Date | |
---|---|---|---|
02dfbc89cf | |||
73edeb4b3c | |||
f0e4c82ba9 | |||
2668d0e50e | |||
f7803d8f40 | |||
d830c189e7 | |||
05f78285e1 | |||
b4f7f301c5 | |||
c401db2e68 | |||
88ec0d7bb0 | |||
f3197b4b9f | |||
1e0872b892 | |||
c9be94cc08 | |||
fa0e61a875 | |||
f3b1b93c6b | |||
b151d29bfa | |||
6d32500a04 | |||
53d5e6ec77 | |||
e247502614 | |||
087530afdb | |||
2ca39ea1db | |||
60dc1de95d | |||
7fd54ed79e | |||
47e625d370 | |||
6aed9c3a62 | |||
4429fb5a7e | |||
2169763824 | |||
1e8927cca1 | |||
9afcd9f9b4 | |||
fad066079a | |||
e3f35f84ee | |||
a94b014ac7 | |||
480480e60f | |||
82f6e7cf6d | |||
cf9ec3e71a | |||
fd2291ecd3 | |||
f3bf1ef7cb | |||
30ac7a6e60 | |||
e328c64599 | |||
8835cdd5ae | |||
d8a463104f | |||
e46ebfb242 | |||
187efccd68 | |||
a672741c69 | |||
acc2832649 | |||
d20fdfd087 | |||
6569e52e89 | |||
7dc1358a85 | |||
791c25a850 | |||
2fb4fd4952 | |||
3744dbf0b5 | |||
0126e2ff4b | |||
55760cd8f2 | |||
535fec969d | |||
6682459c99 | |||
6c08c16ff6 | |||
4a37ea80c1 | |||
1cb3ecdad9 | |||
c83970539c | |||
4efeb762f0 | |||
3ee922f4d4 | |||
f114439f27 | |||
2a96c9a9a1 |
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/master/data_from_portwine/img/gui/portproton.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
|
||||
```
|
||||
|
||||
## Зависимости
|
||||
@ -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/master/data_from_portwine/img/gui/portproton.svg" width="64">
|
||||
<h1 align="center">PortProton</h1>
|
||||
<p align="center">Project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users.
|
||||
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.</p>
|
||||
@ -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
|
||||
```
|
||||
|
||||
## 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,90 @@ You can help us in the development of the project on the website: https://linux-
|
||||
----------------------------------------
|
||||
Changelog:
|
||||
|
||||
###Scripts version 2256### Date: 13.02.2024 / Download update size: 15 megabytes
|
||||
* updated WINE_LG to version 9-2
|
||||
* updated versions:
|
||||
D8VK "1.7.1-2367"
|
||||
DXVK_GIT "2.3-57"
|
||||
VKD3D_GIT "1.1-3908"
|
||||
* fixed FAKE_DLSS in some games (CyberFSR project)
|
||||
* improved download functions
|
||||
* for Steam Deck, the launch of some games has been fixed only from the second time
|
||||
|
||||
###Scripts version 2255### Date: 12.02.2024 / Download update size: 15 megabytes
|
||||
* the portable versions of MANGOHUD and GAMESCOPE are disabled for Steam Deck in Gaming Mode
|
||||
* small additional script improvements
|
||||
|
||||
###Scripts version 2254### Date: 11.02.2024 / Download update size: 15 megabytes
|
||||
* PortProton interface restart has been accelerated
|
||||
* added priority for using the system gamemode if it is installed (thanks to Boria138)
|
||||
* updated startup, update and unpacking animations (thanks to WEBMAS and Dervart)
|
||||
* checking the PortProton update on Steam Deck occurs only in desktop mode
|
||||
|
||||
###Scripts version 2253### Date: 10.02.2024 / Download update size: 8 megabytes
|
||||
* minor fixes for SteamOS
|
||||
|
||||
###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
|
||||
|
||||
###Scripts version 2250### Date: 02.02.2024 / Download update size: 8 megabytes
|
||||
* fixed prefix adjustment and updating when starting from steam
|
||||
* fixed unpacking of WINE archives when starting from steam
|
||||
* significantly improved PP integration when launching from steam (ALL launchers should work)
|
||||
* fixed a rare League of Legends installation error
|
||||
* vkPlay installation has been updated
|
||||
* Electronic Arts App auto-installation has been returned
|
||||
* minor improvements to the 3D API customization feature
|
||||
|
||||
###Scripts version 2249### Date: 30.01.2024 / Download update size: 8 megabytes
|
||||
* added a unique name to launch Crossout (requires restarting the auto-installation)
|
||||
* fixed installation of the Project64 emulator
|
||||
* removed DuckStation, ScummVM, RPCS3 emulators (it is recommended to use native versions for Linux)
|
||||
* improved MANGOHUD configuration functions (thanks to Boria138)
|
||||
* minor additional localization and script improvements
|
||||
|
||||
###Scripts version 2248### Date: 26.01.2024 / Download update size: 8 megabytes
|
||||
* creating a shortcut in the "MENU -> Games" is separate from creating on the "Desktop"
|
||||
* added a condition for using fonts from WINE Proton only if there are no original fonts in the prefix
|
||||
* fixed the choice of installing libraries in the PortProton prefix manager
|
||||
* the creation of symlinks in PortProton has been transferred from direct paths to relative ones
|
||||
* added the "VKBASALT_USER_CONF" setting to use vkBasalt system settings (thanks Arta48)
|
||||
* updated the "EVE Online Launcher" installer to the current version (thanks cefeiko)
|
||||
|
||||
###Scripts version 2247### Date: 23.01.2024 / Download update size: 8 megabytes
|
||||
* improved operation of the portable version of gamemode
|
||||
* added cleaning of the data/tmp directory from broken (undocumented) archives before launching PortProton
|
||||
|
||||
###Scripts version 2246### Date: 20.01.2024 / Download update size: 8 megabytes
|
||||
* HOTFIX - fixed the launch of Modern Warships after its update
|
||||
* HOTFIX - fixed launch with gamescope
|
||||
* the REDUCE_PULSE_LATENCY variable was returned to the settings when running on wayland
|
||||
* by default, when creating a shortcut, the option "create a shortcut for STEAM" is deselected
|
||||
* the PW_RESTORE_RESOLUTION setting is replaced with an automatic return to the original resolution of the main monitor after the game is completed
|
||||
* improved automatic font size adjustment in MANGOHUD (when using more than one monitor)
|
||||
|
||||
###Scripts version 2245### Date: 19.01.2024 / Download update size: 350 megabytes
|
||||
* updated WINE_LG to version 9-0 and added fonts from proton steam
|
||||
* The libs_v46 container library package has been updated
|
||||
* updated MANGOHUD to version 0.7.0 in the container (thanks to Boria138)
|
||||
* fixed the display of gamemode in MANGOHUD (thanks to Boria138)
|
||||
* improved the functionality of selecting an nvidia graphics card with hybrid graphics
|
||||
* added auto-installation of the Modern Warships game (thanks to ValoKarDin)
|
||||
* the auto installer has been updated and the GOG Galaxy launcher has been fixed
|
||||
* the auto installer has been updated and the operation of the CALIBER game has been fixed
|
||||
|
||||
###Scripts version 2244### Date: 14.01.2024 / Download update size: 8 megabytes
|
||||
* updated PROTON_LG to version 8-25-2 (added fonts from proton steam)
|
||||
* fixed the display of the script version after reinstalling PortProton from the settings of the PortProton itself
|
||||
|
@ -2,6 +2,93 @@
|
||||
-----------------------------------------
|
||||
История изменений:
|
||||
|
||||
###Scripts version 2256### Дата: 13.02.2024 / Размер скачиваемого обновления: 15 мегабайт
|
||||
* обновлен WINE_LG до версии 9-2
|
||||
* обновлены версии:
|
||||
D8VK "1.7.1-2367"
|
||||
DXVK_GIT "2.3-57"
|
||||
VKD3D_GIT "1.1-3908"
|
||||
* исправлена работа FAKE_DLSS в некоторых играх (проект CyberFSR)
|
||||
* улучшены функции скачивания
|
||||
* для Steam Deck исправлен запуск некоторых игр только со второго раза
|
||||
|
||||
###Scripts version 2255### Дата: 12.02.2024 / Размер скачиваемого обновления: 15 мегабайт
|
||||
* для Steam Deck в режиме Gaming Mode отключены портативные версии MANGOHUD и GAMESCOPE
|
||||
* небольшие дополнительные улучшения скриптов
|
||||
|
||||
###Scripts version 2254### Дата: 11.02.2024 / Размер скачиваемого обновления: 15 мегабайт
|
||||
* ускорен перезапуск интерфейса PortProton
|
||||
* добавлен приоритет использования системного gamemode если он установлен (спасибо Boria138)
|
||||
* обновлены анимации запуска, обновления и распаковки (спасибо WEBMAS и Dervart)
|
||||
* проверка обновления PortProton на Steam Deck происходит только в режиме рабочего стола
|
||||
|
||||
###Scripts version 2253### Дата: 10.02.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* небольшие улучшения для SteamOS
|
||||
|
||||
###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 после его установки на некоторых системах
|
||||
|
||||
###Scripts version 2250### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* исправлено добавление ярлыков в steam если имеется более одного каталога с пользователями в steam
|
||||
* исправлена подготавка префикса и его обновление при запуске из steam
|
||||
* исправлена распаковка архивов WINE при запуске из steam
|
||||
* значительно улучшена интеграция PP при запуске из steam (должны работать ВСЕ лаунчеры)
|
||||
* исправлена редкая ошибка установки League of Legends
|
||||
* обновлена установка vkPlay
|
||||
* возвращена автоустановка Electronic Arts App
|
||||
* небольшие улучшения функции настройки 3D API
|
||||
|
||||
###Scripts version 2249### Дата: 30.01.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* добавлено уникальное имя для запуска Crossout (требуется повторный запуск автоустановки)
|
||||
* исправлена установка эмулятора Project64
|
||||
* удалены эмуляторы DuckStation, ScummVM, RPCS3 (рекомендуется использовать нативные версии для Linux)
|
||||
* улучшены функции настройки MANGOHUD (спасибо Boria138)
|
||||
* небольшие дополнительные улучшения локализации и скриптов
|
||||
|
||||
###Scripts version 2248### Дата: 26.01.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* создание ярлыка в "МЕНЮ -> Игры" отделены от создания на "Рабочем столе"
|
||||
* добавлено условие использования шрифтов из WINE Proton, только если нет оригинальных шрифтов в префиксе
|
||||
* исправлен выбор установки библиотек в префикс менеджере PortProton
|
||||
* создание симлинков в PortProton переведены с прямых путей, на относительные
|
||||
* добавлена настройка "VKBASALT_USER_CONF" для использования системных настроек vkBasalt (спасибо Arta48)
|
||||
* обновлен установщик "EVE Online Launcher" на актуальную версию (спасибо cefeiko)
|
||||
|
||||
###Scripts version 2247### Дата: 23.01.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* улучшена работа портативной версии gamemode
|
||||
* исправление опечаток
|
||||
* добавлена очистка data/tmp каталога от битых (недокаченных) архивов, перед запуском PortProton
|
||||
|
||||
###Scripts version 2246### Дата: 20.01.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* HOTFIX - исправлен запуск Modern Warships после его обновления
|
||||
* HOTFIX - исправлен запуск с gamescope
|
||||
* возвращена переменная REDUCE_PULSE_LATENCY в настройки при запуске на wayland
|
||||
* по умолчанию при создании ярлыка снят выбор с пункта "создать ярлык для STEAM"
|
||||
* заменена настройка PW_RESTORE_RESOLUTION на автоматический возврат исходного разрешения главного монитора после завершения игры
|
||||
* улучшена автоматическая настройка размера шрифта в MANGOHUD (при использовании более одного монитора)
|
||||
|
||||
###Scripts version 2245### Дата: 19.01.2024 / Размер скачиваемого обновления: 350 мегабайт
|
||||
* обновлен WINE_LG до версии 9-0 и добавлены шрифты из proton steam
|
||||
* обновлен пакет библиотек контейнера libs_v46
|
||||
* обновлен MANGOHUD до версии 0.7.0 в контейнере (спасибо Boria138)
|
||||
* исправлено отображение работы gamemode в MANGOHUD (спасибо Boria138)
|
||||
* улучшен функционал выбора видеокарты nvidia с гибридной графикой
|
||||
* небольшие улучшения переводов
|
||||
* добавлена автоустановка игры Modern Warships (спасибо ValoKarDin)
|
||||
* обновлен автоустановщик и исправлена работа лончера GOG Galaxy
|
||||
* обновлен автоустановщик и исправлена работа игры CALIBER
|
||||
|
||||
###Scripts version 2244### Дата: 14.01.2024 / Размер скачиваемого обновления: 8 мегабайт
|
||||
* обновлен PROTON_LG до версии 8-25-2 (добавлены шрифты из proton steam)
|
||||
* исправлено отображение версии скриптов после переустановки PortProton из настроек самого PortProton
|
||||
|
@ -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/EALauncher.png
Executable file
After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 987 B After Width: | Height: | Size: 4.5 KiB |
BIN
data_from_portwine/img/gui/covers/loading_ENG.gif
Normal file
After Width: | Height: | Size: 2.4 MiB |
BIN
data_from_portwine/img/gui/covers/loading_RUS.gif
Normal file
After Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 3.5 MiB |
BIN
data_from_portwine/img/gui/covers/unpacking_ENG.gif
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
data_from_portwine/img/gui/covers/unpacking_RUS.gif
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
data_from_portwine/img/gui/covers/update_prefix_ENG.gif
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
data_from_portwine/img/gui/covers/update_prefix_RUS.gif
Normal file
After Width: | Height: | Size: 2.4 MiB |
BIN
data_from_portwine/img/gui/download.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.6 KiB |
BIN
data_from_portwine/img/gui/error.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 415 B |
BIN
data_from_portwine/img/gui/info.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
data_from_portwine/img/gui/mw.png
Normal file
After Width: | Height: | Size: 6.1 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
|
||||
|
@ -5,10 +5,7 @@
|
||||
PROGNAME="PortProton"
|
||||
# PERSONAL_NAME="$(grep PersonaName "$HOME/.local/share/Steam/config/loginusers.vdf" | awk -F'"' '{print $4}')"
|
||||
|
||||
SCVDF="shortcuts.vdf"
|
||||
SCPATH="$STUIDPATH/config/$SCVDF"
|
||||
|
||||
if [[ ! -f "$SCPATH" ]] ; then
|
||||
if [[ ! -f "$SCPATH" ]] ; then
|
||||
echo '0073686f727463757473000808' | xxd -r -p > "$SCPATH"
|
||||
fi
|
||||
|
||||
|
@ -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"
|
||||
}
|
||||
@ -21,10 +26,10 @@ print_info () {
|
||||
}
|
||||
export -f print_info
|
||||
|
||||
print_debug () {
|
||||
printf "\E[35m%s Debug: $@ %s\e[0m\n"
|
||||
print_ok () {
|
||||
printf "\E[35m%s OK: $@ %s\e[0m\n"
|
||||
}
|
||||
export -f print_debug
|
||||
export -f print_ok
|
||||
|
||||
print_var () {
|
||||
for vp in $@ ; do print_info "${vp}=${!vp}" ; done
|
||||
@ -77,7 +82,7 @@ try_force_link_file () {
|
||||
if [ ! -f "$1" ] ; then :
|
||||
elif [ -z "$2" ] ; then print_error "no way to link file $1"
|
||||
else
|
||||
ln -sf "$1" "$2"
|
||||
ln -s -f -r "$1" "$2"
|
||||
[ "$?" != 0 ] && print_error "failed to link file $1 to $2" || return 0
|
||||
fi
|
||||
return 1
|
||||
@ -102,7 +107,7 @@ try_force_link_dir () {
|
||||
if [ ! -d "$1" ] ; then print_info "directory $1 not found for link"
|
||||
elif [ -z "$2" ] ; then print_error "no way to link directory $1"
|
||||
else
|
||||
ln -sf "$1" "$2"
|
||||
ln -s -f -r "$1" "$2"
|
||||
[ "$?" != 0 ] && print_error "failed to link directory $1 to $2" || return 0
|
||||
fi
|
||||
return 1
|
||||
@ -110,71 +115,81 @@ try_force_link_dir () {
|
||||
export -f try_force_link_dir
|
||||
|
||||
check_process () {
|
||||
[ ! -n "`ps cax | grep "$1" | awk '{print $1}'`" ] && return 0 || return 1
|
||||
[ ! -n "`ps cax | grep "$1" | awk '{print $1}'`" ] && return 0 || return 1
|
||||
}
|
||||
export -f check_process
|
||||
|
||||
try_download_game () {
|
||||
try_download_no_mirror () {
|
||||
[[ -f "${PW_AUTOINSTALL_EXE}" ]] && try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||
PW_DOWNLOAD_FILE_NAME="$(basename $2)"
|
||||
set -o pipefail
|
||||
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
|
||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
|
||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
||||
zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
|
||||
curl -f -# -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 -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/portproton.svg" --borders=15
|
||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
|
||||
return 1
|
||||
print_error "Failed to download $PW_DOWNLOAD_FILE_NAME"
|
||||
return 1
|
||||
else
|
||||
print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
try_download () {
|
||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||
[[ ! -f "${pw_yad_v12_3}" ]] && local pw_yad_v12_3="yad"
|
||||
set -o pipefail
|
||||
wget -c -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
|
||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
|
||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
||||
zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
|
||||
curl -f -# -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 -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/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"
|
||||
wget -c -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
|
||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \
|
||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
||||
zenity --progress --percentage=0 --title="Try download ${PW_DOWNLOAD_FILE_NAME} from FTP" --text=Starting... --auto-close --width=500 --height=90
|
||||
curl -f -# -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 -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/portproton.svg" --borders=15
|
||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
|
||||
return 1
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/download_log"
|
||||
print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
|
||||
return 0
|
||||
}
|
||||
|
||||
try_download_to_path () {
|
||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||
set -o pipefail
|
||||
wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
|
||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
|
||||
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
|
||||
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90
|
||||
curl -f -# -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 -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/portproton.svg" --borders=15
|
||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||
print_error "Failed to download $1."
|
||||
return 1
|
||||
else
|
||||
print_error "Failed to download $PW_DOWNLOAD_FILE_NAME"
|
||||
return 1
|
||||
else
|
||||
print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
try_download_silent () {
|
||||
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
|
||||
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1"
|
||||
if [ "${PIPESTATUS[0]}" != 0 ] ; then
|
||||
print_error "Failed to download $1. Skipping."
|
||||
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
|
||||
curl -f -sS -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"
|
||||
if [ "$?" != 0 ] ; then
|
||||
print_error "Failed to download $PW_DOWNLOAD_FILE_NAME. Skipping."
|
||||
try_remove_file "$2"
|
||||
return 1
|
||||
else
|
||||
return 1
|
||||
else
|
||||
print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
@ -218,7 +233,7 @@ var_vk_istance_layers_config_update () {
|
||||
return 0
|
||||
}
|
||||
|
||||
var_ld_library_path_update() {
|
||||
var_ld_library_path_update () {
|
||||
if [ ! -z "$LD_LIBRARY_PATH" ]
|
||||
then export LD_LIBRARY_PATH="$1:$LD_LIBRARY_PATH"
|
||||
else export LD_LIBRARY_PATH="$1"
|
||||
@ -226,14 +241,40 @@ 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
|
||||
}
|
||||
|
||||
check_start_from_steam () {
|
||||
if [[ "${START_FROM_STEAM}" == 1 ]]
|
||||
then return 0
|
||||
else return 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_gamescope_session () {
|
||||
if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null
|
||||
then return 0
|
||||
else return 1
|
||||
fi
|
||||
}
|
||||
|
||||
unpack_tar_zst () {
|
||||
set -o pipefail
|
||||
unset PW_ZSTD_PORT
|
||||
if [[ `command -v zstd` ]] &>/dev/null ; then
|
||||
tar -I zstd -xhvf "$1" -C "$2" | sszen
|
||||
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
|
||||
if command -v zstd &>/dev/null ; then
|
||||
tar -I zstd -xhvf "$1" -C "$2"
|
||||
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" | sszen
|
||||
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
|
||||
}
|
||||
@ -243,20 +284,26 @@ unpack_tar_xz () {
|
||||
tar -Jxhvf "$1" -C "$2" && return 0 || return 1
|
||||
else
|
||||
set -o pipefail
|
||||
tar -Jxhvf "$1" -C "$2" | sszen
|
||||
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
|
||||
tar -Jxhvf "$1" -C "$2"
|
||||
pw_stop_progress_bar_cover_block
|
||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
||||
fi
|
||||
}
|
||||
|
||||
unpack_tar_gz () {
|
||||
set -o pipefail
|
||||
tar -xhzvf "$1" -C "$2" | sszen
|
||||
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
|
||||
tar -xhzvf "$1" -C "$2"
|
||||
pw_stop_progress_bar_cover_block
|
||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
||||
}
|
||||
|
||||
unpack_tar () {
|
||||
set -o pipefail
|
||||
tar -xhvf "$1" -C "$2" | sszen
|
||||
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
|
||||
tar -xhvf "$1" -C "$2"
|
||||
pw_stop_progress_bar_cover_block
|
||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
|
||||
}
|
||||
|
||||
@ -319,6 +366,7 @@ pw_reinstall_pp () {
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver"
|
||||
echo
|
||||
print_info "Restarting PP for reinstall files..."
|
||||
export SKIP_CHECK_UPDATES=0
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
}
|
||||
@ -391,7 +439,7 @@ init_wine_ver () {
|
||||
if [[ -d "${WINEDIR}" ]] ; then
|
||||
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
|
||||
|
||||
if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
|
||||
if [[ ! -d "${WINEDIR}/lib64/" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
|
||||
create_new_dir "${WINEDIR}/lib64/wine"
|
||||
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
|
||||
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
|
||||
@ -401,10 +449,12 @@ init_wine_ver () {
|
||||
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
|
||||
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
|
||||
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
|
||||
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | sszen
|
||||
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
|
||||
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
|
||||
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
|
||||
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
|
||||
print_info "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
|
||||
pw_stop_progress_bar_cover_block
|
||||
else
|
||||
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
|
||||
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
|
||||
@ -431,22 +481,22 @@ init_wine_ver () {
|
||||
|
||||
pw_init_runtime () {
|
||||
|
||||
if grep -q -E '(ROSA Fresh|RED OS)' "/etc/os-release" ; then
|
||||
if grep -i -E '(ROSA|RED OS)' "/etc/os-release" &>/dev/null ; then
|
||||
export LOCPATH="/run/host/usr/share/locale/"
|
||||
elif grep -q "altlinux" "/etc/os-release" ; then
|
||||
elif grep -i "altlinux" "/etc/os-release" &>/dev/null ; then
|
||||
export LIBGL_DRIVERS_PATH="/usr/lib/X11/modules/dri:/usr/lib64/X11/modules/dri"
|
||||
fi
|
||||
|
||||
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
|
||||
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
|
||||
export PW_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
|
||||
@ -481,7 +531,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="/"
|
||||
@ -493,6 +543,7 @@ pw_init_runtime () {
|
||||
export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}"
|
||||
export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var"
|
||||
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
|
||||
export FONTCONFIG_PATH=''
|
||||
|
||||
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
|
||||
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
|
||||
@ -507,11 +558,14 @@ pw_init_runtime () {
|
||||
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
|
||||
fi
|
||||
done
|
||||
|
||||
# drop portable: libssl 32-bit
|
||||
try_remove_file "${PW_PLUGINS_PATH}/portable/lib/lib32/libssl.so.1.1"
|
||||
print_info "RUNTIME is enabled"
|
||||
}
|
||||
|
||||
pw_mangohud_check () {
|
||||
if [[ "${PW_MANGOHUD}" == "1" ]] ; then
|
||||
if [[ "${PW_MANGOHUD}" == "1" ]] && ! check_gamescope_session ; then
|
||||
export PW_MANGOHUD_SLR='MANGOHUD=1'
|
||||
MANGOHUD_LIB_NAME="libMangoHud.so"
|
||||
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
|
||||
@ -522,26 +576,22 @@ pw_mangohud_check () {
|
||||
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
|
||||
fi
|
||||
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32"
|
||||
print_info "MANGOHUD is enabled"
|
||||
print_info "Portable MANGOHUD is enabled"
|
||||
else
|
||||
export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1'
|
||||
print_info "MANGOHUD is disabled"
|
||||
export PW_MANGOHUD_SLR=""
|
||||
print_info "Portable MANGOHUD is disabled"
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
pw_vkbasalt_check () {
|
||||
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
|
||||
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
|
||||
if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then
|
||||
export PW_VKBASALT_EFFECTS="Curves:cas"
|
||||
if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
|
||||
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
|
||||
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}"
|
||||
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}"
|
||||
sed -ri "s|= .*/reshade|= \"${PW_WINELIB}\"/pressure-vessel/reshade|g" "${VKBASALT_CONFIG_FILE}"
|
||||
fi
|
||||
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}"
|
||||
if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
|
||||
export PW_VKBASALT_FFX_CAS="0.7"
|
||||
fi
|
||||
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}"
|
||||
sed -ri "s|= .*/reshade|= \"${PW_WINELIB}/pressure-vessel/reshade\"|g" "${VKBASALT_CONFIG_FILE}"
|
||||
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
|
||||
print_info "vkBasalt is enabled"
|
||||
else
|
||||
@ -610,12 +660,15 @@ pw_kill_autostart () {
|
||||
sleep 5
|
||||
|
||||
while true ; do
|
||||
if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then
|
||||
if [[ -z "`ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then
|
||||
echo -e "PID "$1" not found"
|
||||
sleep "${SWAIT}"
|
||||
else
|
||||
sleep "${SWAIT}"
|
||||
kill_portwine
|
||||
if [[ "$3" == please ]]
|
||||
then kill -s SIGTERM `ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}'`
|
||||
else kill_portwine
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
@ -635,10 +688,10 @@ stop_portwine () {
|
||||
if [[ "$PW_USE_US_LAYOUT" == "1" ]] && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] && command -v setxkbmap &>/dev/null ; then
|
||||
setxkbmap
|
||||
fi
|
||||
if [[ "${PW_RESTORE_RESOLUTION}" == "1" ]] && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] && command -v xrandr &>/dev/null ; then
|
||||
RESOLUTION=$(sed -n '1p' "${PORT_WINE_TMP_PATH}/tmp_screen_configuration")
|
||||
OUTPUT_SCREEN=$(sed -n '2p' "${PORT_WINE_TMP_PATH}/tmp_screen_configuration")
|
||||
xrandr --output "$OUTPUT_SCREEN" --mode "$RESOLUTION"
|
||||
if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
|
||||
&& [[ "$(xrandr | sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')" != "$PW_SCREEN_RESOLUTION" ]]
|
||||
then
|
||||
xrandr --output "$PW_SCREEN_PRIMARY" --mode "$PW_SCREEN_RESOLUTION"
|
||||
fi
|
||||
pw_stop_progress_bar
|
||||
try_remove_file "${PORT_SCRIPTS_PATH}/0"
|
||||
@ -657,23 +710,25 @@ 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
|
||||
if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" \
|
||||
"${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
|
||||
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
|
||||
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`" ] ; then
|
||||
for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`
|
||||
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
|
||||
done
|
||||
# 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)))"
|
||||
@ -681,7 +736,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)))"
|
||||
@ -689,16 +744,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"
|
||||
if [ -x "`command -v xterm 2>/dev/null`" ]; then
|
||||
export SYS_XTERM=`command -v xterm`
|
||||
export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
|
||||
else
|
||||
export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e"
|
||||
fi
|
||||
try_remove_dir "${PW_WINELIB}/portable"
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -714,7 +760,8 @@ pw_check_and_download_wine () {
|
||||
fi
|
||||
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
|
||||
print_info "Download and install ${PW_WINE_USE}..."
|
||||
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
|
||||
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \
|
||||
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
|
||||
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
|
||||
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}/version"
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
|
||||
@ -724,10 +771,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
|
||||
@ -738,26 +785,28 @@ pw_check_and_download_dxvk_and_vkd3d () {
|
||||
for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do
|
||||
if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then
|
||||
print_info "Download and install DXVK v.${DXVK_VAR_VER}"
|
||||
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then
|
||||
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" \
|
||||
"${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then
|
||||
if unpack_tar_xz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
|
||||
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
|
||||
else
|
||||
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
|
||||
try_remove_dir dxvk-${DXVK_VAR_VER}
|
||||
|
||||
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || 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
|
||||
elif try_download_no_mirror "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" \
|
||||
"${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then
|
||||
if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then
|
||||
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
|
||||
else
|
||||
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
|
||||
try_remove_dir dxvk-${DXVK_VAR_VER}
|
||||
|
||||
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || 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
|
||||
@ -766,26 +815,28 @@ pw_check_and_download_dxvk_and_vkd3d () {
|
||||
for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do
|
||||
if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then
|
||||
print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}"
|
||||
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then
|
||||
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" \
|
||||
"${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then
|
||||
if unpack_tar_xz "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
|
||||
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
|
||||
else
|
||||
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
|
||||
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
|
||||
|
||||
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || 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
|
||||
elif try_download_no_mirror "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" \
|
||||
"${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then
|
||||
if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then
|
||||
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
|
||||
else
|
||||
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
|
||||
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
|
||||
|
||||
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || 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
|
||||
@ -800,10 +851,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
|
||||
|
||||
@ -811,20 +862,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)))"
|
||||
@ -832,14 +894,30 @@ 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 critical
|
||||
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
|
||||
}
|
||||
|
||||
@ -878,8 +956,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
|
||||
@ -922,11 +1001,19 @@ pw_init_db () {
|
||||
check_variables PW_USE_FAKE_DLSS "0"
|
||||
check_variables PW_USE_RAY_TRACING "1"
|
||||
fi
|
||||
|
||||
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
|
||||
[[ "${START_FROM_PP_GUI}" == 1 ]] && export PW_GUI_DISABLED_CS=0 && unset START_FROM_PP_GUI
|
||||
|
||||
[[ -z "$GAMESCOPE_ARGS" ]] && export GAMESCOPE_ARGS="-F fsr"
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -937,13 +1024,13 @@ pw_port_update () {
|
||||
fi
|
||||
export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
|
||||
print_info "Check update..."
|
||||
if curl -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
|
||||
if curl -f -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
|
||||
then
|
||||
URL_FOR_CHANGELOG="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine"
|
||||
URL_TO_PW_MASTER="https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
|
||||
print_info "OK."
|
||||
else
|
||||
if curl -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
|
||||
if curl -f -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
|
||||
then
|
||||
URL_FOR_CHANGELOG="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine"
|
||||
URL_TO_PW_MASTER="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz"
|
||||
@ -960,29 +1047,31 @@ 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"
|
||||
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
|
||||
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}")
|
||||
echo "######################################################"
|
||||
print_info "Update scripts..."
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
|
||||
if try_download "${URL_TO_PW_MASTER}" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
|
||||
if try_download_no_mirror "${URL_TO_PW_MASTER}" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
|
||||
if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}"
|
||||
then
|
||||
create_new_dir "${PORT_WINE_TMP_PATH}/scripts_backup"
|
||||
@ -994,15 +1083,13 @@ 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[*]} &
|
||||
echo "Restarting PP after update..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/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 " " ;;
|
||||
@ -1015,7 +1102,6 @@ pw_port_update () {
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
update_winetricks () {
|
||||
W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
|
||||
W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
||||
@ -1023,7 +1109,7 @@ update_winetricks () {
|
||||
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
||||
print_info "Version winetricks in port: ${W_TRX_INT_VER}"
|
||||
if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]; then
|
||||
if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
|
||||
if try_download_no_mirror "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
|
||||
mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
|
||||
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"
|
||||
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
|
||||
@ -1082,22 +1168,43 @@ 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}")"
|
||||
if command -v wrestool &>/dev/null ; then
|
||||
wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "$(readlink -f "${portwine_exe}")"
|
||||
else
|
||||
env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" "${PW_PLUGINS_PATH}/portable/bin/wrestool" \
|
||||
-x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "$(readlink -f "${portwine_exe}")"
|
||||
fi
|
||||
cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".ico" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
|
||||
icotool -x --width=${PW_RESIZE_TO} --height=${PW_RESIZE_TO} --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
|
||||
|
||||
if command -v icotool &>/dev/null ; then
|
||||
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"
|
||||
else
|
||||
env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" "${PW_PLUGINS_PATH}/portable/bin/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"
|
||||
fi
|
||||
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"
|
||||
if command -v icotool &>/dev/null ; then
|
||||
icotool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
|
||||
else
|
||||
env LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" "${PW_PLUGINS_PATH}/portable/bin/icotool" \
|
||||
-x --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
|
||||
fi
|
||||
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"
|
||||
cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}" | head -n 1)" \
|
||||
"${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png"
|
||||
fi
|
||||
cp -f "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
|
||||
fi
|
||||
if [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] && \
|
||||
[[ -x "`command -v "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
|
||||
if [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] \
|
||||
&& command -v convert &>/dev/null \
|
||||
&& [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]]
|
||||
then
|
||||
convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
|
||||
fi
|
||||
if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then
|
||||
@ -1130,12 +1237,13 @@ 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
|
||||
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
|
||||
if [[ -z "${PW_SET_FIND_EXE}" ]] ; then
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
print_info "Restarting..."
|
||||
fi
|
||||
@ -1146,6 +1254,7 @@ pw_find_exe () {
|
||||
if [[ ! -z "${PW_SET_FIND_EXE}" ]] ; then
|
||||
portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $1}')"
|
||||
portwine_create_shortcut silent
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
fi
|
||||
|
@ -8,15 +8,22 @@ if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
|
||||
export update_loc=${update_loc}
|
||||
fi
|
||||
|
||||
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
|
||||
echo ""
|
||||
if [[ "${FORCE_ENG_LANG}" == "1" ]] ; then
|
||||
export update_loc="ENG"
|
||||
else
|
||||
SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \
|
||||
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
|
||||
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
|
||||
if [[ ! -z "${SET_LANG}" ]]
|
||||
then export update_loc=${SET_LANG}
|
||||
else exit 1
|
||||
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
|
||||
echo ""
|
||||
else
|
||||
[[ ! -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}
|
||||
else exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -36,7 +43,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
|
||||
export loc_create_pfx_backup_path="РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРЕФИКСА В..."
|
||||
|
||||
export loc_gui_wine_uninstaller="Удаление программм"
|
||||
export loc_gui_wine_uninstaller="Удаление программ"
|
||||
export loc_gui_wine_cfg="Настройка префикса"
|
||||
export loc_gui_wine_file="Файловый менеджер"
|
||||
export loc_gui_wine_cmd="Командная строка"
|
||||
@ -60,7 +67,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
export inst_set_top="Установка ${portname}"
|
||||
export sc_info="Ярлык будет создан в каталоге ${portname}."
|
||||
export sc_name="Название"
|
||||
export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры и на Рабочий стол"
|
||||
export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры"
|
||||
export sc_desktop_desktop="Добавить ярлык на Рабочий стол"
|
||||
export sc_add_in_steam="Добавить ярлык в библиотеку STEAM"
|
||||
export sc_restert_steam="Для добавления ярлыка в STEAM, необходим перезапуск.\n\nПерезапустить STEAM?"
|
||||
|
||||
@ -128,7 +136,6 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
export PW_HIDE_NVIDIA_GPU_INFO='Замаскировать все функции используемые для видеокарт NVIDIA'
|
||||
export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации'
|
||||
export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE'
|
||||
export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)'
|
||||
export PW_USE_TERMINAL_INFO='Запускать приложение в терминале'
|
||||
export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.'
|
||||
export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)'
|
||||
@ -140,6 +147,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)'
|
||||
export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)'
|
||||
export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)'
|
||||
export PW_VKBASALT_USER_CONF_INFO='Принудительное использование системных настроек VKBASALT (GOverlay и т.п.)'
|
||||
export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX'
|
||||
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
|
||||
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
|
||||
@ -263,6 +271,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
export PW_MH_vkbasalt_INFO='Показать включён ли vkBasalt'
|
||||
export PW_MH_vram_INFO='Отображение использования VRAM'
|
||||
export PW_MH_vulkan_driver_INFO='Отображает используемый драйвер vulkan (radv/amdgpu-pro/amdvlk)'
|
||||
export PW_MH_frametime='Отображение времени кадра рядом FPS'
|
||||
export PW_MH_wine_INFO='Показать используемую версию Wine или Proton'
|
||||
|
||||
export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов"
|
||||
@ -352,7 +361,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
export loc_gui_amd_vulkan_select_help="Выбор какая реализация vulkan будет использоваться для запуска игры"
|
||||
|
||||
export loc_gui_gpu_select="Выбрать видеокарту для запуска игры (в user.conf)"
|
||||
export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}, а так же не работает с gamescope)"
|
||||
export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}.)"
|
||||
|
||||
export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
|
||||
export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
|
||||
@ -409,6 +418,18 @@ if [[ "${update_loc}" == "RUS" ]] ; then
|
||||
export loc_demul="Эмулятор для игровой консоли Sega Dreamcast"
|
||||
export loc_rpcs3="Эмулятор для игровой консоли PlayStation 3"
|
||||
|
||||
export loc_prefix_manager_comp='Выберите компонент для установки в префикс:'
|
||||
export loc_prefix_manager_font='Выберите шрифт для установки в префикс:'
|
||||
export loc_prefix_manager_conf='Изменить дополнительные настройки префикса:'
|
||||
export loc_prefix_manager_wine='используя wine:'
|
||||
|
||||
export loc_pm='МЕНЕДЖЕР ПРЕФИКСА'
|
||||
export loc_pm_dlls='БИБЛИОТЕКИ'
|
||||
export loc_pm_fonts='ШРИФТЫ'
|
||||
export loc_pm_settings='НАСТРОЙКИ'
|
||||
|
||||
export loc_warn_cyrillic_in_path="Путь до исполняемого файла содержит кириллические символы.\nИногда это может привести к неработоспособности приложения."
|
||||
|
||||
elif [[ "${update_loc}" == "ENG" ]] ; then
|
||||
|
||||
export loc_gui_pw_reinstall_pp="REINSTALL ${portname}"
|
||||
@ -450,7 +471,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
|
||||
export inst_set_top="Instaling ${portname}"
|
||||
export sc_info="The shortcut will be created in the ${portname} directory."
|
||||
export sc_name="Name"
|
||||
export sc_menu_desktop="Add shortcut to MENU -> GAMES and Desktop"
|
||||
export sc_menu_desktop="Add shortcut to MENU -> GAMES"
|
||||
export sc_desktop_desktop="Add shortcut to Desktop"
|
||||
export sc_add_in_steam="Add shortcut to STEAM library"
|
||||
export sc_restert_steam="For adding shortcut to STEAM, needed restart.\n\nRestart STEAM now?"
|
||||
|
||||
@ -518,7 +540,6 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
|
||||
export PW_HIDE_NVIDIA_GPU_INFO='Disguise all features used for NVIDIA graphics cards'
|
||||
export PW_FORCE_USE_VSYNC_INFO='Forced activation of vertical sync'
|
||||
export PW_VIRTUAL_DESKTOP_INFO='Enable the application to run in the WINE virtual desktop'
|
||||
export PW_WINEDBG_DISABLE_INFO='Disable all WINE debugging functions (It is recommended not to change the value)'
|
||||
export PW_USE_TERMINAL_INFO='Run the application in the terminal'
|
||||
export PW_HEAP_DELAY_FREE_INFO='Include a delay in releasing some memory to bypass errors associated with using the application after the memory is released'
|
||||
export PW_NO_WRITE_WATCH_INFO='A very dangerous way to hack the memory write timer in ntdll. This improves the performance of some very specific games. (It is recommended not to change the value.)'
|
||||
@ -530,6 +551,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
|
||||
export PW_USE_GAMEMODE_INFO='Using automatic system optimization to improve performance in games (provided the gamemode package is installed on the system)'
|
||||
export PW_USE_WINE_DXGI_INFO='Forced use of built-in DXGI library (in rare cases it solves problems with DX12 games)'
|
||||
export PW_MANGOHUD_USER_CONF_INFO='Forced use of MANGOHUD system settings (GOverlay, etc.)'
|
||||
export PW_VKBASALT_USER_CONF_INFO='Forced use of VKBASALT system settings (GOverlay, etc.)'
|
||||
export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries'
|
||||
export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix'
|
||||
export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)'
|
||||
@ -652,6 +674,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
|
||||
export PW_MH_vkbasalt_INFO='Show if vkBasalt is on'
|
||||
export PW_MH_vram_INFO='Display system VRAM usage'
|
||||
export PW_MH_vulkan_driver_INFO='Display used Vulkan driver (radv/amdgpu-pro/amdvlk)'
|
||||
export PW_MH_frametime='Display frametime next to FPS text'
|
||||
export PW_MH_wine_INFO='Show current Wine or Proton version in use'
|
||||
|
||||
export PW_PFX_BACKUP_INFO="Attention! Do not pass the resev copy to third parties, there is a risk of losing accounts"
|
||||
@ -741,7 +764,7 @@ A brief instruction:
|
||||
export loc_gui_amd_vulkan_select_help="Choosing which implementation of vulkan will be used to run the game"
|
||||
|
||||
export loc_gui_gpu_select="Choose a graphics card to run the game (in user.conf)"
|
||||
export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname}, and also does not work with gamescope)"
|
||||
export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname})"
|
||||
|
||||
export loc_gui_check_new_wine="Check new version WINE from GitHub"
|
||||
export loc_gui_check_new_wine_error="Error: check wine from github."
|
||||
@ -799,4 +822,15 @@ A brief instruction:
|
||||
export loc_demul="Emulator for the Sega Dreamcast game console"
|
||||
export loc_rpcs3="Emulator for the PlayStation 3 game console"
|
||||
|
||||
export loc_prefix_manager_comp='Select components to install in prefix:'
|
||||
export loc_prefix_manager_font='Select fonts to install in prefix:'
|
||||
export loc_prefix_manager_conf='Change config for prefix:'
|
||||
export loc_prefix_manager_wine='using wine:'
|
||||
export loc_pm='PREFIX MANAGER'
|
||||
export loc_pm_dlls='DLLS'
|
||||
export loc_pm_fonts='FONTS'
|
||||
export loc_pm_settings='SETTINGS'
|
||||
|
||||
export loc_warn_cyrillic_in_path="The path to the executable file contains Cyrillic characters.\nSometimes this can cause the application to malfunction."
|
||||
|
||||
fi
|
||||
|
9
data_from_portwine/scripts/portwine_db/Caliber
Normal file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
#Author: fidel
|
||||
#caliber_launcher_pp.exe
|
||||
#Rating=1-5
|
||||
#####################examples###########################
|
||||
export PW_VULKAN_USE="2"
|
||||
export PW_WINE_USE="WINE_LG_9-0"
|
||||
export PW_PREFIX_NAME="CALIBER"
|
||||
export DISABLE_CP_DEFPFX=1
|
@ -4,4 +4,41 @@
|
||||
#EADesktop.exe
|
||||
#Rating=5
|
||||
#####################examples###########################
|
||||
export PW_USE_TERMINAL="1"
|
||||
export PW_USE_TERMINAL="0"
|
||||
export PW_VULKAN_USE="2"
|
||||
export PW_WINE_USE="PROTON_LG"
|
||||
export PW_PREFIX_NAME="EAAPP"
|
||||
export PW_MANGOHUD="0"
|
||||
export PW_MANGOHUD_USER_CONF="0"
|
||||
export ENABLE_VKBASALT="0"
|
||||
export PW_VKBASALT_USER_CONF="0"
|
||||
export PW_NO_ESYNC="1"
|
||||
export PW_NO_FSYNC="0"
|
||||
export PW_USE_RAY_TRACING="0"
|
||||
export PW_USE_NVAPI_AND_DLSS="0"
|
||||
export PW_USE_FAKE_DLSS="0"
|
||||
export PW_WINE_FULLSCREEN_FSR="1"
|
||||
export PW_HIDE_NVIDIA_GPU="0"
|
||||
export PW_VIRTUAL_DESKTOP="0"
|
||||
export PW_GUI_DISABLED_CS="0"
|
||||
export PW_USE_GAMEMODE="1"
|
||||
export PW_USE_D3D_EXTRAS="1"
|
||||
export PW_FIX_VIDEO_IN_GAME="0"
|
||||
export PW_REDUCE_PULSE_LATENCY="0"
|
||||
export PW_USE_US_LAYOUT="0"
|
||||
export PW_USE_GSTREAMER="1"
|
||||
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
|
||||
export PW_USE_SHADER_CACHE="1"
|
||||
export PW_USE_WINE_DXGI="0"
|
||||
export PW_USE_EAC_AND_BE="1"
|
||||
export PW_USE_SYSTEM_VK_LAYERS="0"
|
||||
export PW_USE_OBS_VKCAPTURE="0"
|
||||
export PW_USE_GALLIUM_ZINK="0"
|
||||
export PW_USE_GAMESCOPE="0"
|
||||
export LAUNCH_PARAMETERS=""
|
||||
export PW_WINDOWS_VER="10"
|
||||
export PW_DLL_INSTALL=""
|
||||
export WINEDLLOVERRIDES=""
|
||||
export PW_WINE_CPU_TOPOLOGY="disabled"
|
||||
export GAMESCOPE_ARGS="-F fsr"
|
||||
add_in_start_portwine () { export LANG=C ;}
|
||||
|
@ -9,6 +9,7 @@ export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2="
|
||||
export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated"
|
||||
export PW_PREFIX_NAME="GOG"
|
||||
export DISABLE_CP_DEFPFX=1
|
||||
export PW_WINE_USE=PROTON_STEAM_8.0-4
|
||||
|
||||
add_in_start_portwine ()
|
||||
{
|
||||
|
13
data_from_portwine/scripts/portwine_db/MODERN_WARSHIPS
Normal file
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
#Author: ValoKarDin
|
||||
#modern_warships_pp.exe
|
||||
#Modern Warships.exe
|
||||
#Rating=5
|
||||
export PW_COMMENT_DB="Modern Warships"
|
||||
################################################
|
||||
export PW_VULKAN_USE=2 #dxvk, vkd3d or 0 for OpenGL
|
||||
export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks)
|
||||
export PW_USE_D3D_EXTRAS="1"
|
||||
export PW_USE_EAC_AND_BE="0"
|
||||
export PW_PREFIX_NAME="MODERN_WARSHIPS"
|
||||
export PW_USE_SHADER_CACHE="1"
|
@ -20,7 +20,6 @@ export PW_DLL_INSTALL=""
|
||||
##export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
|
||||
##export PW_HIDE_NVIDIA_GPU=0
|
||||
##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
|
||||
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
|
||||
##export PW_USE_GAMEMODE=0 # Force disabele gamemod
|
||||
##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
|
||||
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
|
||||
|
@ -14,7 +14,7 @@ export PW_MUST_HAVE_DLL=""
|
||||
export PW_PREFIX_NAME="VK_PLAY"
|
||||
export PW_USE_GSTREAMER="1"
|
||||
export PW_VULKAN_USE="2"
|
||||
export PW_WINE_USE="WINE_LG_8-18-1"
|
||||
export PW_WINE_USE="WINE_LG"
|
||||
|
||||
gui_proton_downloader silent "$PW_WINE_USE"
|
||||
|
||||
|
@ -6,5 +6,4 @@
|
||||
export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL
|
||||
export PW_DLL_INSTALL="lucida vcrun2019" # Install DDL in port prefix (used winetricks)
|
||||
export WINEDLLOVERRIDES="xaudio2_7="
|
||||
export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
|
||||
export PW_USE_D3D_EXTRAS=0
|
||||
|
@ -38,7 +38,6 @@
|
||||
##export WINEARCH=win32 # defaut = win64
|
||||
##export WINEPREFIX=
|
||||
|
||||
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
|
||||
##export PW_USE_TERMINAL=1 # Force run in terminal
|
||||
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
|
||||
|
||||
|
@ -2,8 +2,19 @@
|
||||
#Author: linux-gaming.ru
|
||||
#eve.exe
|
||||
#evelauncher.exe
|
||||
#eve-online.exe
|
||||
#Rating=5
|
||||
#####################examples###########################
|
||||
export PW_VULKAN_USE=1
|
||||
export PW_DLL_INSTALL="vcrun2019 d3dcompiler_47" # Install DLL in port prefix (used winetricks)
|
||||
export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47=n"
|
||||
export PW_WINDOWS_VER="10"
|
||||
export PW_WINE_USE="WINE_LG"
|
||||
export PW_USE_WINE_DXGI="1"
|
||||
export PW_VULKAN_USE="1"
|
||||
export PW_USE_GSTREAMER="0"
|
||||
export PW_PREFIX_NAME="EVE_ONLINE"
|
||||
export PW_WINE_FULLSCREEN_FSR="0"
|
||||
export PW_USE_D3D_EXTRAS="1"
|
||||
export PW_FORCE_LARGE_ADDRESS_AWARE="0"
|
||||
export PW_USE_SHADER_CACHE="0"
|
||||
export PW_USE_EAC_AND_BE="1"
|
||||
export PW_DLL_INSTALL="vcrun2022 d3dcompiler_47 tahoma arial" # msdelta
|
||||
export WINEDLLOVERRIDES="msvcp140,msvcp140_1=n"
|
||||
|
@ -12,7 +12,6 @@ export PW_VULKAN_USE=1
|
||||
export PW_MANGOHUD=0
|
||||
export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
|
||||
export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
|
||||
export PW_WINEDBG_DISABLE=1
|
||||
export PW_USE_GAMEMODE=0 # Force disabele gamemod
|
||||
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
|
||||
export PW_DLL_INSTALL=""
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama-Setup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://download.ankama.com/launcher/full/win/" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://download.ankama.com/launcher/full/win/" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Ankama Launcher. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -5,7 +5,7 @@
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
# PW_START_PROGRESS_BAR "${loc_gui_installing_the} Battle Net. ${loc_gui_please_wait} "
|
||||
try_remove_dir "$WINEPREFIX/drive_c/ProgramData/Battle.net"
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT" )
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BethesdaNetLauncher_Setup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} BethesdaNetLauncher. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart BethesdaNetLauncher.exe &
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bsr_setup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://battleofspaceraiders.com/install/bsr_setup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://battleofspaceraiders.com/install/bsr_setup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Battle Of Space Raiders. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -4,22 +4,24 @@
|
||||
export PW_PREFIX_NAME="CALIBER"
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/CaliberSetup.exe"
|
||||
export PW_WINE_USE=PROTON_STEAM_6.3-8
|
||||
export PW_WINE_USE=WINE_LG_9-0
|
||||
export DISABLE_CP_DEFPFX=1
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="CALIBER"
|
||||
|
||||
gui_proton_downloader silent "${PW_WINE_USE}"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://caliber-files.gcdn.co/caliber-s3/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://caliber-files.gcdn.co/caliber-s3/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} CALIBER. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart VC_redist.x64.exe 3 &
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/1C Game Studios/Caliber/Launcher.exe"
|
||||
pw_create_unique_exe "caliber_launcher_pp"
|
||||
try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||
try_remove_file "${portwine_exe}.ppdb"
|
||||
kill_portwine
|
||||
pw_stop_progress_bar
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="CALIBER"
|
||||
portwine_create_shortcut
|
||||
fi
|
||||
stop_portwine
|
||||
|
@ -4,7 +4,7 @@
|
||||
export PW_URL_CEMU=($(curl -s "https://cemu.info" | grep "zip" | cut -d \" -f 2))
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/`echo ${PW_URL_CEMU} | awk -F/ '{print $5}'`"
|
||||
start_portwine
|
||||
if try_download_game "${PW_URL_CEMU}" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "${PW_URL_CEMU}" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Cemu. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)"
|
||||
|
@ -7,7 +7,7 @@ export PORTWINE_CREATE_SHORTCUT_NAME="Citra"
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_game "github.com/citra-emu/citra-web/releases/download/1.0/citra-setup-windows.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "github.com/citra-emu/citra-web/releases/download/1.0/citra-setup-windows.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Citra. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -3,20 +3,21 @@
|
||||
########################################################################
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/crossout.exe"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Crossout"
|
||||
# export PW_PREFIX_NAME=DOTNET
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://yupmaster.gaijinent.com/launcher/current.php?id=CrossoutLauncher" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://yupmaster.gaijinent.com/launcher/current.php?id=CrossoutLauncher" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Crossout. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart launcher.exe 3 &
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Crossout/launcher.exe"
|
||||
pw_create_unique_exe "crossout_launcher_pp"
|
||||
try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||
try_remove_file "${portwine_exe}.ppdb"
|
||||
kill_portwine
|
||||
pw_stop_progress_bar
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Crossout"
|
||||
portwine_create_shortcut
|
||||
fi
|
||||
stop_portwine
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/CWClient_Install.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://cdn-01.contractwarsgame.com/standalone/CWClient_Install.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://cdn-01.contractwarsgame.com/standalone/CWClient_Install.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} CONTRACT WARS Client. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/demul07_280418.7z"
|
||||
start_portwine
|
||||
if try_download_game "http://demul.emulation64.com/files/demul07_280418.7z" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "http://demul.emulation64.com/files/demul07_280418.7z" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Demul. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Demul"
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/dolphin-x64-5.0.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://dl-mirror.dolphin-emu.org/5.0/dolphin-x64-5.0.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://dl-mirror.dolphin-emu.org/5.0/dolphin-x64-5.0.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Dolphin 5.0. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/duckstation-windows-x64-release.zip"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/stenzek/duckstation/releases/download/preview/duckstation-windows-x64-release.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/stenzek/duckstation/releases/download/preview/duckstation-windows-x64-release.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} VBA-M. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Duckstation"
|
||||
|
@ -3,14 +3,17 @@
|
||||
########################################################################
|
||||
export LAUNCH_PARAMETERS=("/silent" "/repair" )
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe"
|
||||
export PW_VULKAN_USE=1
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="EALauncher"
|
||||
export PW_VULKAN_USE="2"
|
||||
export PW_WINE_USE="PROTON_LG"
|
||||
export PW_PREFIX_NAME="EAAPP"
|
||||
export PW_USE_EAC_AND_BE="1"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} EA Launcher. ${loc_gui_please_wait} "
|
||||
# pw_kill_autostart EABackgroundService.exe &
|
||||
# pw_kill_autostart EALocalHostSvc.exe &
|
||||
pw_kill_autostart EABackgroundSer 5 please &
|
||||
mkdir -p "$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop"
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe="$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe"
|
||||
|
@ -4,11 +4,12 @@
|
||||
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"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Installing Epic Games Launcher. ${loc_gui_please_wait} "
|
||||
# try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Epic Online Services/"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/ePSXe205.zip"
|
||||
start_portwine
|
||||
if try_download_game "https://www.epsxe.com/files/ePSXe205.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://www.epsxe.com/files/ePSXe205.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} VBA-M. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/EPSXe"
|
||||
|
@ -1,15 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Author: cefeiko
|
||||
########################################################################
|
||||
export PW_WINDOWS_VER=10
|
||||
export PW_DLL_INSTALL="vcrun2017"
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-2198233.exe"
|
||||
export PW_WINDOWS_VER="10"
|
||||
export PW_WINE_USE="WINE_LG"
|
||||
export PW_USE_WINE_DXGI="1"
|
||||
export PW_VULKAN_USE="1"
|
||||
export PW_USE_GSTREAMER="0"
|
||||
export PW_PREFIX_NAME="EVE_ONLINE"
|
||||
export PW_WINE_FULLSCREEN_FSR="0"
|
||||
export PW_USE_GAMEMODE="0"
|
||||
export PW_USE_D3D_EXTRAS="1"
|
||||
export PW_FORCE_LARGE_ADDRESS_AWARE="0"
|
||||
export PW_USE_SHADER_CACHE="0"
|
||||
export PW_USE_EAC_AND_BE="1"
|
||||
export PW_DLL_INSTALL="vcrun2022 d3dcompiler_47 arial tahoma" # msdelta
|
||||
export WINEDLLOVERRIDES="msvcp140,msvcp140_1=n"
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/eve-online-latest+Setup.exe"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="EVE Online Launcher"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://binaries.eveonline.com/EveLauncher-2198233.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_kill_autostart evelauncher.exe &
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "evelauncher.exe"`
|
||||
if try_download_no_mirror "https://launcher.ccpgames.com/eve-online/release/win32/x64/eve-online-latest+Setup.exe" "${PW_AUTOINSTALL_EXE}" ; then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} EVE Online Launcher. ${loc_gui_please_wait} "
|
||||
EVE_LAUNCHER_DIR="${WINEPREFIX}/drive_c/users/steamuser/AppData/Local/eve-online"
|
||||
|
||||
$pw_7z x "${PW_USER_TEMP}/eve-online-latest+Setup.exe" -o"${EVE_LAUNCHER_DIR}" -y
|
||||
$pw_7z x "${EVE_LAUNCHER_DIR}/eve-online-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`-full.nupkg" -o"${EVE_LAUNCHER_DIR}/tmp" -y
|
||||
|
||||
APP_DIR="app-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`"
|
||||
|
||||
create_new_dir "${EVE_LAUNCHER_DIR}/$APP_DIR"
|
||||
create_new_dir "${EVE_LAUNCHER_DIR}/packages/SquirrelTemp"
|
||||
|
||||
cp -r "${EVE_LAUNCHER_DIR}/tmp/lib/net45/." "${EVE_LAUNCHER_DIR}/$APP_DIR"
|
||||
cp "${EVE_LAUNCHER_DIR}/eve-online-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`-full.nupkg" "${EVE_LAUNCHER_DIR}/packages"
|
||||
mv "${EVE_LAUNCHER_DIR}/${APP_DIR}/eve-online_ExecutionStub.exe" "${EVE_LAUNCHER_DIR}/eve-online.exe"
|
||||
cp "${EVE_LAUNCHER_DIR}/RELEASES" "${EVE_LAUNCHER_DIR}/packages"
|
||||
mv "${EVE_LAUNCHER_DIR}/setupIcon.ico" "${EVE_LAUNCHER_DIR}/app.ico"
|
||||
rm -rf "${EVE_LAUNCHER_DIR}/background.gif" "${EVE_LAUNCHER_DIR}/eve-online-`cat "${EVE_LAUNCHER_DIR}/RELEASES" | awk '{print $2}' | awk -F"-" '{print $3}'`-full.nupkg" "${EVE_LAUNCHER_DIR}/RELEASES" "${EVE_LAUNCHER_DIR}/tmp"
|
||||
|
||||
portwine_exe="${EVE_LAUNCHER_DIR}/eve-online.exe"
|
||||
pw_stop_progress_bar
|
||||
portwine_create_shortcut
|
||||
try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/fceux-2.6.5-win64.zip"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/TASEmulators/fceux/releases/download/v2.6.6/fceux-2.6.6-win64.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/TASEmulators/fceux/releases/download/v2.6.6/fceux-2.6.6-win64.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} FCEUX. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/FCEUX"
|
||||
|
@ -22,7 +22,7 @@ pw_shutdown_please () {
|
||||
export LAUNCH_PARAMETERS=("")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GameforgeInstaller.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Gameforge-Client. ${loc_gui_please_wait} "
|
||||
pw_shutdown_please SparkWebHelper.exe &
|
||||
|
@ -8,7 +8,7 @@ export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact"
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_game "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_global/genshinimpactpc/default" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_global/genshinimpactpc/default" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Installing Genshin Impact Launcher. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart launcher.exe &
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S" )
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GlyphInstall.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://glyph.dyn.triongames.com/glyph/live/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://glyph.dyn.triongames.com/glyph/live/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} GlyphClient. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart GlyphClient.exe &
|
||||
|
@ -5,14 +5,15 @@ 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
|
||||
export PW_WINE_USE=PROTON_STEAM_8.0-4
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_game "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/${GOG_VER}/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/${GOG_VER}/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} GOG Galaxy. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -10,7 +10,7 @@ start_portwine
|
||||
mkdir -p "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/"
|
||||
export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2Setup-64.exe"
|
||||
|
||||
if try_download_game "https://s3.amazonaws.com/gw2cdn/client/branches/Gw2Setup-64.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://s3.amazonaws.com/gw2cdn/client/branches/Gw2Setup-64.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Guild Wars 2. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart Gw2.exe 3 &
|
||||
|
@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/igclient_setup.exe"
|
||||
export PW_DLL_INSTALL="vcrun2019"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://content.indiegalacdn.com/common/IGClientSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://content.indiegalacdn.com/common/IGClientSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Indiegala Client. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart IGClient.exe 3 &
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("--silent")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/itch-setup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://itch.io/app/download?platform=windows" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://itch.io/app/download?platform=windows" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} ITCH.IO. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart itch.exe &
|
||||
|
@ -7,7 +7,7 @@ export PW_PREFIX_NAME="LGC"
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_game "https://redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Starting LGC installation..."
|
||||
pw_kill_autostart lgc.exe &
|
||||
|
@ -16,14 +16,14 @@ gui_proton_downloader silent "${PW_WINE_USE}"
|
||||
pw_clear_pfx
|
||||
start_portwine
|
||||
wait_wineserver
|
||||
if try_download_game "https://lol.secure.dyn.riotcdn.net/channels/public/x/installer/current/live.na.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://lol.secure.dyn.riotcdn.net/channels/public/x/installer/current/live.na.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
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}"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/mame0259b_64bit.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/mamedev/mame/releases/download/mame0259/mame0259b_64bit.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/mamedev/mame/releases/download/mame0259/mame0259b_64bit.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} MAME. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Mame"
|
||||
|
24
data_from_portwine/scripts/pw_autoinstall/PW_MW
Normal file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# Author: ValoKarDin
|
||||
########################################################################
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/modern_warships.exe"
|
||||
export PW_PREFIX_NAME="MODERN_WARSHIPS"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Modern Warships"
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_no_mirror "https://gdn.gaijin.net/launcher/current.php?id=ModernWarshipsLauncher" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Modern Warships. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart launcher.exe &
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/ModernWarships/launcher.exe"
|
||||
pw_create_unique_exe "modern_warships_pp"
|
||||
try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||
try_remove_file "${portwine_exe}.ppdb"
|
||||
kill_portwine
|
||||
portwine_create_shortcut
|
||||
fi
|
||||
|
||||
stop_portwine
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/s" "/nr" "/l=Russian")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/MWO_Launcher_Setup.exe"
|
||||
start_portwine
|
||||
if try_download_game "http://mwogame.com/download.php" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "http://mwogame.com/download.php" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Metal War Online. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/silent" "/NoLaunch" )
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginThinSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginThinSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Origin. ${loc_gui_please_wait}"
|
||||
# pw_kill_autostart Origin.exe &
|
||||
|
@ -9,7 +9,7 @@ start_portwine
|
||||
mkdir -p "${WINEPREFIX}/drive_c/Program Files (x86)/OSU/"
|
||||
export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.exe"
|
||||
|
||||
if try_download_game "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} OSU!. ${loc_gui_please_wait} "
|
||||
if [ -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" ]; then
|
||||
|
@ -8,7 +8,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Panzar.exe"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Panzar"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://www.panzar.ru/ru/download/installer/" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://www.panzar.ru/ru/download/installer/" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Panzar. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart start.exe 3 &
|
||||
|
@ -9,7 +9,7 @@ export PW_PREFIX_NAME="DOTNET"
|
||||
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Plarium Play. ${loc_gui_please_wait}"
|
||||
pw_kill_autostart PlariumPlay.exe &
|
||||
|
@ -5,7 +5,7 @@ export LAUNCH_PARAMETERS=("/S")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PathOfExileInstaller.exe"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://web.poecdn.com/protected/downloads/PathOfExileInstaller.exe?key=lpKVe-ZJOqVrur8612s8gg" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://web.poecdn.com/protected/downloads/PathOfExileInstaller.exe?key=lpKVe-ZJOqVrur8612s8gg" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Path of Exile. ${loc_gui_please_wait}"
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PPSSPPSetup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://ppsspp.org/files/1_16_5/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://ppsspp.org/files/1_16_5/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} PPSSPPS. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -1,11 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
# Author: chal55rus (Sergey P.)
|
||||
########################################################################
|
||||
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-* ]] && yad_error "ERROR: Get the Project64 version." && exit 1
|
||||
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Setup Project64 3.0.1-5664-2df3434.exe"
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Project64${PR64_VER}setup.exe"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Project64"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://pj64-emu.com/file/setup-project64-3-0-0-5632-f83bee9/" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://www.pj64-emu.com/download/project64${PR64_VER}installer" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
GET_URL_POSTFIX="$(cat "${PW_AUTOINSTALL_EXE}" | grep "Did your download not start?" | awk -F"$PR64_VER" '{print $2}' | awk -F'/' '{print $1}')"
|
||||
try_remove_file "${PW_AUTOINSTALL_EXE}"
|
||||
try_download_no_mirror "https://www.pj64-emu.com/file/setup-project64${PR64_VER}${GET_URL_POSTFIX}/" "${PW_AUTOINSTALL_EXE}"
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Project64. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Project64 3.0/Project64.exe"
|
||||
@ -13,7 +23,6 @@ then
|
||||
try_remove_file "${portwine_exe}.ppdb"
|
||||
kill_portwine
|
||||
pw_stop_progress_bar
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Project64"
|
||||
portwine_create_shortcut
|
||||
fi
|
||||
stop_portwine
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/RetroArch.7z"
|
||||
start_portwine
|
||||
if try_download_game "https://buildbot.libretro.com/stable/1.16.0/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://buildbot.libretro.com/stable/1.16.0/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} RetroArch. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)"
|
||||
|
@ -7,16 +7,16 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/roblox_installer.exe"
|
||||
export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
# export DISABLE_CP_DEFPFX=1
|
||||
export PW_MUST_HAVE_DLL=""
|
||||
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_kill_autostart MicrosoftEdge &
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
portwine_exe="$(find "$WINEPREFIX/drive_c/Program Files (x86)/Roblox/" -type f -name "RobloxPlayerBeta.exe" | head -n 1)"
|
||||
try_remove_file "${portwine_exe}.ppdb"
|
||||
pw_stop_progress_bar
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"
|
||||
portwine_create_shortcut
|
||||
fi
|
||||
stop_portwine
|
||||
|
@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Rockstar-Games-Launcher. ${loc_gui_please_wait} "
|
||||
try_remove_dir "$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/rpcs3-v0.0.29-15676-9fce7080_win64.7z"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-9fce70809ee06a7e61a3dbe5bb9b0179fc541d9f/rpcs3-v0.0.29-15676-9fce7080_win64.7z" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-9fce70809ee06a7e61a3dbe5bb9b0179fc541d9f/rpcs3-v0.0.29-15676-9fce7080_win64.7z" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} RPCS3. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/RPCS3"
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/scummvm-2.7.1-win32.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://downloads.scummvm.org/frs/scummvm/2.7.1/scummvm-2.7.1-win32.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://downloads.scummvm.org/frs/scummvm/2.7.1/scummvm-2.7.1-win32.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} ScummVM. ${loc_gui_please_wait} "
|
||||
#pw_kill_autostart launcher101xp.exe &
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SO_installer.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://update-nl-release.stalker.so/launcher/SO_installer.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://update-nl-release.stalker.so/launcher/SO_installer.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Stalker Online. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -7,7 +7,7 @@ export PW_PREFIX_NAME=DOTNET
|
||||
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://exbo2.b-cdn.net/EXBO_Setup_ru.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://exbo2.b-cdn.net/EXBO_Setup_ru.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Installing STALCRAFT Launcher. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart ExboLauncher &
|
||||
|
@ -7,7 +7,7 @@ export PW_USE_D3D_EXTRAS=1
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_game "https://sg-public-api.hoyoverse.com/event/download_porter/link/hkrpg_global/oswebpc/default" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://sg-public-api.hoyoverse.com/event/download_porter/link/hkrpg_global/oswebpc/default" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Installing Honkai Star Rail Launcher. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart launcher.exe &
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Steam")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SteamSetup.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_cs "${loc_gui_installing_the} Steam. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart steam.exe &
|
||||
|
@ -6,7 +6,7 @@ export LAUNCH_PARAMETERS=("/VERYSILENT")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SecretWorldLegendsMin.exe"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://web-cdn.funcom.com/downloads/swl/SecretWorldLegendsMin.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://web-cdn.funcom.com/downloads/swl/SecretWorldLegendsMin.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Secret World Legends. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart ClientPatcher.exe &
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S" "/D=c:\Program Files (x86)\Ubisoft Game Launcher")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/UbisoftConnectInstaller.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_cs "${loc_gui_installing_the} Ubisoft Connect. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart UbisoftConnect.exe &
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/visualboyadvance-m-Win-x86_64.zip"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/visualboyadvance-m/visualboyadvance-m/releases/latest/download/visualboyadvance-m-Win-x86_64.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/visualboyadvance-m/visualboyadvance-m/releases/latest/download/visualboyadvance-m-Win-x86_64.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} VBA-M. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/Visualboyadvance-m"
|
||||
|
@ -8,7 +8,7 @@ export WINEDLLOVERRIDES="mscoree,mshtml="
|
||||
export PW_MUST_HAVE_DLL=""
|
||||
|
||||
start_portwine
|
||||
if try_download_game "https://static.gc.my.games/VKPlayLoader.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://static.gc.my.games/VKPlayLoader.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/VKPlayLoader.exe"
|
||||
try_remove_file "${portwine_exe}.ppdb"
|
||||
|
@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Warframe.msi"
|
||||
export PORTWINE_CREATE_SHORTCUT_NAME="Warframe"
|
||||
|
||||
start_portwine
|
||||
if try_download_game "http://content.warframe.com/dl/Warframe.msi" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "http://content.warframe.com/dl/Warframe.msi" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Warframe. ${loc_gui_please_wait} "
|
||||
pw_kill_autostart Launcher.exe 3 &
|
||||
|
@ -8,7 +8,7 @@ export PW_PREFIX_NAME="WGC"
|
||||
|
||||
start_portwine
|
||||
|
||||
if try_download_game "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Starting WGC installation..."
|
||||
pw_kill_autostart wgc.exe &
|
||||
|
@ -8,10 +8,10 @@ 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}"
|
||||
if try_download_no_mirror "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "Installing World of Sea Battle. ${loc_gui_please_wait} "
|
||||
pw_run "${PW_AUTOINSTALL_EXE}"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/xemu-win-release.zip"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/xemu-project/xemu/releases/latest/download/xemu-win-release.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/xemu-project/xemu/releases/latest/download/xemu-win-release.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} xemu. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/xemu"
|
||||
|
@ -3,7 +3,7 @@
|
||||
########################################################################
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/xenia_master.zip"
|
||||
start_portwine
|
||||
if try_download_game "https://github.com/xenia-project/release-builds-windows/releases/latest/download/xenia_master.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://github.com/xenia-project/release-builds-windows/releases/latest/download/xenia_master.zip" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Xenia. ${loc_gui_please_wait} "
|
||||
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/xenia"
|
||||
|
@ -4,7 +4,7 @@
|
||||
export LAUNCH_PARAMETERS=("/S")
|
||||
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/yabause-0.9.15-win64.exe"
|
||||
start_portwine
|
||||
if try_download_game "https://download.tuxfamily.org/yabause/releases/0.9.15/yabause-0.9.15-win64.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
if try_download_no_mirror "https://download.tuxfamily.org/yabause/releases/0.9.15/yabause-0.9.15-win64.exe" "${PW_AUTOINSTALL_EXE}"
|
||||
then
|
||||
pw_start_progress_bar_block "${loc_gui_installing_the} Yabause. ${loc_gui_please_wait} "
|
||||
pw_run "${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/"
|
||||
@ -59,9 +55,9 @@ start_portwine () {
|
||||
pw_install_dll_in_prefix
|
||||
init_wine_ver
|
||||
|
||||
if [ ! -f "${HOME}/.Xresources" ]; then
|
||||
cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}"
|
||||
xrdb -merge "${HOME}/.Xresources"
|
||||
if [[ -f "$portwine_exe" ]] && [[ "${WARN_CYRILLIC_IN_PATH}" == 1 ]] ; then
|
||||
edit_db_from_gui WARN_CYRILLIC_IN_PATH
|
||||
unset WARN_CYRILLIC_IN_PATH
|
||||
fi
|
||||
|
||||
if [[ "$PW_USE_OBS_VKCAPTURE" == "1" ]] ; then
|
||||
@ -119,10 +115,10 @@ start_portwine () {
|
||||
var_vkd3d_config_update single_queue
|
||||
fi
|
||||
|
||||
if [[ "${PW_USE_GAMESCOPE}" == 1 ]] && command -v gamescope &>/dev/null ; then
|
||||
if [[ "${PW_USE_GAMESCOPE}" == 1 ]] && command -v gamescope &>/dev/null && ! check_gamescope_session ; then
|
||||
# Workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/6029
|
||||
if [[ -d "/sys/module/i915" ]] ; then
|
||||
export INTEL_DEBUG=norbc
|
||||
export INTEL_DEBUG="norbc"
|
||||
fi
|
||||
if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
|
||||
PW_vendorID="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -B3 "${PW_GPU_USE}" | grep vendorID | sort -u | awk -F'0x' '{print $2}')"
|
||||
@ -132,21 +128,41 @@ start_portwine () {
|
||||
unset PW_ID_VIDEO
|
||||
fi
|
||||
export PW_RUN_GAMESCOPE="gamescope -o 30 ${PW_ID_VIDEO} ${GAMESCOPE_ARGS} --"
|
||||
export PW_WINE_FULLSCREEN_FSR=0
|
||||
export vk_xwayland_wait_ready=false
|
||||
export PW_WINE_FULLSCREEN_FSR="0"
|
||||
export vk_xwayland_wait_ready="false"
|
||||
else
|
||||
export PW_USE_GAMESCOPE=0
|
||||
unset PW_RUN_GAMESCOPE INTEL_DEBUG vk_xwayland_wait_ready
|
||||
export PW_USE_GAMESCOPE="0"
|
||||
export PW_RUN_GAMESCOPE=""
|
||||
fi
|
||||
|
||||
enabled_fake_nvidia_videocard ()
|
||||
{
|
||||
if [[ "${1}" == 1 ]] ; then
|
||||
if [[ "${1}" == old ]] ; then
|
||||
sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc =' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 222F' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.hideAmdGpu =/c # dxgi.hideAmdGpu =' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.hideNvidiaGpu =/c # dxgi.hideNvidiaGpu =' "${DXVK_CONFIG_FILE}"
|
||||
unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU
|
||||
unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS
|
||||
elif [[ "${1}" == new ]] ; then
|
||||
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.customVendorId =/c # dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc =' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.customDeviceId =/c # dxgi.customDeviceId =' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.customVendorId =/c # dxgi.customVendorId =' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.hideAmdGpu =/c # dxgi.hideAmdGpu =' "${DXVK_CONFIG_FILE}"
|
||||
sed -i /'dxgi.hideNvidiaGpu =/c # dxgi.hideNvidiaGpu =' "${DXVK_CONFIG_FILE}"
|
||||
unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU
|
||||
unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS
|
||||
fi
|
||||
}
|
||||
|
||||
@ -155,27 +171,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 new
|
||||
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
|
||||
enabled_fake_nvidia_videocard old
|
||||
var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b"
|
||||
export DXVK_ENABLE_NVAPI=1
|
||||
export WINE_HIDE_NVIDIA_GPU=0
|
||||
# export DXVK_NVAPI_DRIVER_VERSION=
|
||||
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
|
||||
# export DXVK_NVAPI_DRIVER_VERSION=
|
||||
var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b"
|
||||
else
|
||||
enabled_fake_nvidia_videocard 0
|
||||
@ -203,17 +230,27 @@ start_portwine () {
|
||||
fi
|
||||
|
||||
[[ "${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
|
||||
export VKD3D_FEATURE_LEVEL="12_1"
|
||||
var_vkd3d_config_update dxr
|
||||
var_radv_perftest_config_update rt
|
||||
export WINE_HIDE_NVIDIA_GPU=0
|
||||
export DXVK_ENABLE_NVAPI=1
|
||||
else
|
||||
var_vkd3d_config_update nodxr
|
||||
fi
|
||||
|
||||
if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
|
||||
export DXVK_FILTER_DEVICE_NAME="${PW_GPU_USE}"
|
||||
export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
|
||||
if echo "${PW_GPU_USE}" | grep -i nvidia &>/dev/null ; then
|
||||
if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then
|
||||
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
|
||||
@ -247,25 +284,49 @@ start_portwine () {
|
||||
# fi
|
||||
|
||||
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
|
||||
"0")
|
||||
unset vblank_mode
|
||||
unset __GL_SYNC_TO_VBLANK ;;
|
||||
"1")
|
||||
0)
|
||||
export vblank_mode=0
|
||||
export __GL_SYNC_TO_VBLANK=0
|
||||
;;
|
||||
1)
|
||||
export vblank_mode=1
|
||||
export __GL_SYNC_TO_VBLANK=1 ;;
|
||||
export __GL_SYNC_TO_VBLANK=1
|
||||
;;
|
||||
*)
|
||||
unset vblank_mode __GL_SYNC_TO_VBLANK
|
||||
;;
|
||||
esac
|
||||
export int_xneur=0
|
||||
if [[ ! -z "`pgrep xneur`" ]]; then
|
||||
killall xneur
|
||||
export int_xneur=1
|
||||
fi
|
||||
if [[ -x "`command -v "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
|
||||
export GAMEMODERUN=1
|
||||
PW_GAMEMODERUN_SLR="gamemoderun"
|
||||
systemctl enable --now --user gamemoded &>/dev/null
|
||||
print_info "Gamemod will be launched."
|
||||
if [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
|
||||
|
||||
if command -v gamemoded ; then
|
||||
export GAMEMODERUN=1
|
||||
PW_GAMEMODERUN_SLR="gamemoderun"
|
||||
systemctl enable --now --user gamemoded &>/dev/null
|
||||
print_info "Gamemod will be launched."
|
||||
else
|
||||
export GAMEMODERUN=1
|
||||
if ! pidof gamemoded &>/dev/null ; then
|
||||
GAMEMODEAUTO_NAME="libgamemodeauto.so.0"
|
||||
if [[ ! -z "${PW_LD_PRELOAD}" ]]
|
||||
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${GAMEMODEAUTO_NAME}"
|
||||
else export PW_LD_PRELOAD="${GAMEMODEAUTO_NAME}"
|
||||
fi
|
||||
|
||||
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."
|
||||
sleep 0.1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
export GAMEMODERUN=0
|
||||
export PW_GAMEMODERUN_SLR=""
|
||||
print_info "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
|
||||
fi
|
||||
pw_other_fixes
|
||||
@ -276,6 +337,9 @@ start_portwine () {
|
||||
create_new_dir "${WINEPREFIX}/dosdevices"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/$USER/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/steamuser/"
|
||||
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/h:" ] && try_force_link_dir "$HOME" "${WINEPREFIX}/dosdevices/h:"
|
||||
@ -283,7 +347,9 @@ start_portwine () {
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/"
|
||||
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
|
||||
try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}"
|
||||
if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then
|
||||
try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/"
|
||||
fi
|
||||
done
|
||||
|
||||
find "${WINEPREFIX}/dosdevices" -xtype l -maxdepth 1 2>/dev/null -exec rm {} \;
|
||||
@ -317,7 +383,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
|
||||
|
||||
@ -329,7 +395,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
|
||||
|
||||
@ -384,34 +450,26 @@ start_portwine () {
|
||||
unset PULSE_LATENCY_MSEC
|
||||
fi
|
||||
|
||||
if [[ "${PW_RESTORE_RESOLUTION}" == "1" ]] && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] && command -v xrandr &>/dev/null ; then
|
||||
xrandr | grep -oP 'current\s+\K[0-9]+ x [0-9]+' | tr -d ' ' > "${PORT_WINE_TMP_PATH}/tmp_screen_configuration"
|
||||
xrandr | grep " connected" | awk '{print $1}' >> "${PORT_WINE_TMP_PATH}/tmp_screen_configuration"
|
||||
fi
|
||||
|
||||
if [[ "$PW_USE_US_LAYOUT" == "1" ]] && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] && command -v setxkbmap &>/dev/null ; then
|
||||
setxkbmap -model pc101 us -print | xkbcomp - $DISPLAY &>/dev/null
|
||||
else
|
||||
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"
|
||||
@ -419,6 +477,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
|
||||
@ -426,8 +489,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"
|
||||
@ -447,9 +510,11 @@ start_portwine () {
|
||||
export __GLX_VENDOR_LIBRARY_NAME=mesa
|
||||
export MESA_LOADER_DRIVER_OVERRIDE=zink
|
||||
export GALLIUM_DRIVER=zink
|
||||
if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] || [[ "${PW_USE_GAMESCOPE}" != 1 ]] ; then
|
||||
export LIBGL_KOPPER_DRI2=1
|
||||
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"
|
||||
@ -469,7 +534,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
|
||||
@ -489,7 +554,7 @@ start_portwine () {
|
||||
else
|
||||
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk
|
||||
fi
|
||||
check_variables VKD3D_FEATURE_LEVEL "12_1"
|
||||
check_variables VKD3D_FEATURE_LEVEL "12_0"
|
||||
if [[ "${PW_VULKAN_USE}" == "1" ]] ; then
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
|
||||
@ -507,42 +572,39 @@ 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/"
|
||||
try_force_link_file "${PATH_TO_D8VK_FILES}/x64/d3d8.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
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
|
||||
@ -579,15 +641,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
|
||||
|
||||
@ -624,7 +684,7 @@ start_portwine () {
|
||||
echo "START WINETRICKS..." >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
|
||||
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
wait_wineserver
|
||||
kill_portwine
|
||||
@ -635,7 +695,7 @@ start_portwine () {
|
||||
if [[ ! -z "${PW_WINDOWS_VER}" && `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ]] ; then
|
||||
export PW_WINDOWS_VER="xp64"
|
||||
fi
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
|
||||
"${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'`
|
||||
wait_wineserver
|
||||
kill_portwine
|
||||
@ -647,10 +707,12 @@ start_portwine () {
|
||||
[[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+=" -eac-nop-loaded "
|
||||
fi
|
||||
pw_stop_progress_bar &&
|
||||
[[ "${START_FROM_STEAM}" != 1 ]] && pw_tray_icon
|
||||
sleep 0.5
|
||||
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
|
||||
pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
|
||||
if ! check_start_from_steam ; then
|
||||
pw_tray_icon
|
||||
sleep 0.5
|
||||
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
|
||||
pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
|
||||
fi
|
||||
fi
|
||||
add_in_start_portwine
|
||||
|
||||
@ -672,24 +734,32 @@ pw_run () {
|
||||
pw_mangohud_check
|
||||
pw_vkbasalt_check
|
||||
PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
|
||||
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME" "VULKAN_API_DRIVER_VERSION" \
|
||||
"VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE"
|
||||
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME"
|
||||
print_var "VULKAN_API_DRIVER_VERSION" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
|
||||
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH"
|
||||
kill -s SIGUSR1 "$PW_YAD_PID_PFX_COVER_UI" &>/dev/null
|
||||
if [[ "${PW_LOG}" == 1 ]] ; then
|
||||
if check_start_from_steam ; then
|
||||
for VAR_LOGGER in PW_WINE_USE WINEDIR WINEDLLPATH WINEPREFIX PATH_TO_GAME PW_VULKAN_USE PW_LD_LIBRARY_PATH LD_LIBRARY_PATH PATH \
|
||||
VKD3D_CONFIG WINEESYNC WINEFSYNC WINEFSYNC_FUTEX2 WINE_CPU_TOPOLOGY DESKTOP_SESSION
|
||||
do
|
||||
echo "${VAR_LOGGER}=${!VAR_LOGGER}" >> "${PW_LOG_TO_FILE}"
|
||||
done
|
||||
fi
|
||||
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
|
||||
echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
|
||||
echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
|
||||
echo ""
|
||||
print_debug "Log from RUNTIME and WINE:"
|
||||
${PW_GAMEMODERUN_SLR} \
|
||||
print_info "Log from RUNTIME and WINE:"
|
||||
${PW_RUN_GAMESCOPE} \
|
||||
${pw_runtime} \
|
||||
env ${PW_MANGOHUD_SLR} \
|
||||
PATH="${PATH}" \
|
||||
env PATH="${PATH}" \
|
||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
|
||||
${PW_GAMEMODERUN_SLR} \
|
||||
${PW_MANGOHUD_SLR} \
|
||||
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
|
||||
else
|
||||
if [[ "${PW_USE_TERMINAL}" == "1" ]] ; then
|
||||
@ -698,16 +768,16 @@ pw_run () {
|
||||
fi
|
||||
echo ""
|
||||
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
|
||||
print_debug "Log from RUNTIME and WINE:"
|
||||
${PW_GAMEMODERUN_SLR} \
|
||||
print_info "Log from RUNTIME and WINE:"
|
||||
${PW_RUN_GAMESCOPE} \
|
||||
${pw_runtime} \
|
||||
env ${PW_MANGOHUD_SLR} \
|
||||
PATH="${PATH}" \
|
||||
env PATH="${PATH}" \
|
||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||
${PW_GAMEMODERUN_SLR} \
|
||||
${PW_MANGOHUD_SLR} \
|
||||
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
|
||||
cat "${PW_LOG_TO_FILE}"
|
||||
fi
|
||||
@ -716,10 +786,18 @@ 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
|
||||
[[ -z "${LANG}" ]] && export LANG=C
|
||||
|
||||
if [[ -z "${LANG}" ]] ; then
|
||||
export LANG=C
|
||||
export FORCE_ENG_LANG=1
|
||||
elif [[ "${START_FROM_STEAM}" == 1 ]] ; then
|
||||
export FORCE_ENG_LANG=1
|
||||
else
|
||||
unset FORCE_ENG_LANG
|
||||
fi
|
||||
|
||||
create_new_dir "${HOME}/.local/share/applications"
|
||||
if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then
|
||||
@ -740,6 +818,8 @@ cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
|
||||
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
|
||||
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
|
||||
|
||||
rm -f $PORT_WINE_TMP_PATH/*{exe,msi,tar}*
|
||||
|
||||
echo "" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
|
||||
|
||||
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
|
||||
@ -753,8 +833,9 @@ if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
|
||||
fi
|
||||
done
|
||||
IFS="$orig_IFS"
|
||||
else
|
||||
create_new_dir "${PORT_WINE_PATH}/data/dist"
|
||||
fi
|
||||
|
||||
create_new_dir "${PORT_WINE_PATH}/data/prefixes/DEFAULT"
|
||||
create_new_dir "${PORT_WINE_PATH}/data/prefixes/DOTNET"
|
||||
create_new_dir "${PORT_WINE_PATH}/data/prefixes/PROGRAMS"
|
||||
@ -779,32 +860,45 @@ create_new_dir "${PW_VULKAN_DIR}"
|
||||
|
||||
export LSPCI_VGA="$(lspci -k | grep -E 'VGA|3D' | tr -d '\n')"
|
||||
|
||||
if command -v xrandr &>/dev/null ; then
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_screen_configuration"
|
||||
export PW_SCREEN_RESOLUTION="$(xrandr | sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')"
|
||||
export PW_SCREEN_PRIMARY="$(xrandr | grep "primary" | awk '{print $1}')"
|
||||
print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY
|
||||
else
|
||||
print_error "xrandr - not found!"
|
||||
fi
|
||||
|
||||
cd "${PORT_SCRIPTS_PATH}"
|
||||
. "${PORT_SCRIPTS_PATH}/var"
|
||||
|
||||
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"
|
||||
check_user_conf
|
||||
check_variables PW_LOG "0"
|
||||
|
||||
if [[ -z "${INSTALLING_PORT}" ]] ; then
|
||||
. "${USER_CONF}"
|
||||
pw_port_update
|
||||
if ! check_start_from_steam && [[ "${SKIP_CHECK_UPDATES}" != 1 ]]; then
|
||||
pw_port_update
|
||||
fi
|
||||
unset SKIP_CHECK_UPDATES
|
||||
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
|
||||
|
@ -2,70 +2,71 @@
|
||||
# Author: linux-gaming.ru
|
||||
. "$(dirname $(readlink -f "$0"))/runlib"
|
||||
|
||||
name_desktop="PortProton"
|
||||
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
echo "Name=${name_desktop}" >> "${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 "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 "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
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"
|
||||
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 "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
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 "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 "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 "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
|
||||
|
||||
if grep "SteamOS" "/etc/os-release" &>/dev/null ; then
|
||||
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "$(xdg-user-dir DESKTOP)"
|
||||
fi
|
||||
|
||||
update-desktop-database -q "${HOME}/.local/share/applications"
|
||||
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
|
||||
|
||||
if ! grep -i "flatpak" /etc/os-release &>/dev/null ; then
|
||||
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
|
||||
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.0" >> "${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..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/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
|
||||
@ -11,18 +12,36 @@ elif [[ "$1" == *.exe ]] ; then
|
||||
export portwine_exe="$1"
|
||||
MISSING_DESKTOP_FILE=1
|
||||
fi
|
||||
|
||||
# HOTFIX - ModernWarships
|
||||
if echo "$portwine_exe" | grep ModernWarships &>/dev/null \
|
||||
&& [[ -f "$(dirname "${portwine_exe}")/Modern Warships.exe" ]]
|
||||
then
|
||||
export portwine_exe="$(dirname "${portwine_exe}")/Modern Warships.exe"
|
||||
MISSING_DESKTOP_FILE=0
|
||||
fi
|
||||
|
||||
. "$(dirname $(readlink -f "$0"))/runlib"
|
||||
kill_portwine
|
||||
killall -15 yad_v12_3 2>/dev/null
|
||||
kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null
|
||||
|
||||
if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash "/usr/bin/portproton" "$@" &
|
||||
exit 0
|
||||
fi
|
||||
|
||||
[[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut
|
||||
|
||||
# if [[ -f "$portwine_exe" ]] \
|
||||
# && [[ "${WARN_CYRILLIC_IN_PATH}" != 1 ]] \
|
||||
# && echo "${portwine_exe}" | grep -e $'[\u0430-\u044F\u0410-\u042F]' &>/dev/null
|
||||
# then
|
||||
# yad_info "$loc_warn_cyrillic_in_path"
|
||||
# export WARN_CYRILLIC_IN_PATH="1"
|
||||
# fi
|
||||
|
||||
if [[ -f "${PORT_WINE_TMP_PATH}/tmp_main_gui_size" ]] && [[ ! -z "$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size)" ]] ; then
|
||||
export PW_MAIN_SIZE_W="$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size | awk '{print $1}')"
|
||||
export PW_MAIN_SIZE_H="$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size | awk '{print $2}')"
|
||||
@ -67,8 +86,7 @@ portwine_launch () {
|
||||
PORTWINE_MSI=$(basename "${portwine_exe}" | grep .msi)
|
||||
PORTWINE_BAT=$(basename "${portwine_exe}" | grep .bat)
|
||||
if [[ ! -z "${PW_VIRTUAL_DESKTOP}" && "${PW_VIRTUAL_DESKTOP}" == "1" ]] ; then
|
||||
pw_screen_resolution=$(xrandr --current | grep "*" | awk '{print $1;}' | head -1)
|
||||
pw_run explorer "/desktop=PortProton,${pw_screen_resolution}" ${WINE_WIN_START} "$portwine_exe"
|
||||
pw_run explorer "/desktop=PortProton,${PW_SCREEN_RESOLUTION}" ${WINE_WIN_START} "$portwine_exe"
|
||||
elif [ ! -z "${PORTWINE_MSI}" ]; then
|
||||
pw_run msiexec /i "$portwine_exe"
|
||||
elif [[ ! -z "${PORTWINE_BAT}" || -n "${portwine_exe}" ]] ; then
|
||||
@ -81,9 +99,8 @@ portwine_launch () {
|
||||
portwine_start_debug () {
|
||||
kill_portwine
|
||||
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"
|
||||
@ -166,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"
|
||||
@ -177,23 +194,12 @@ 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
|
||||
echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
fi
|
||||
echo "----------------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
echo "GameMode status:" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
if gamemoded -s | grep "is active";
|
||||
then
|
||||
echo "gamemode is active" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
elif gamemoded -s | grep "is inactive";
|
||||
then
|
||||
echo "gamemode is inactive" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
else
|
||||
echo "gamemode is not found" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
fi
|
||||
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
echo 'locale:' >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
locale >> "${PORT_WINE_PATH}/${portname}.log"
|
||||
@ -246,10 +252,11 @@ portwine_start_debug () {
|
||||
sed -i '/HACK_does_openvr_work/d' "${PORT_WINE_PATH}/${portname}.log"
|
||||
sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log"
|
||||
sed -i '/dlopen failed - libgamemode.so/d' "${PORT_WINE_PATH}/${portname}.log"
|
||||
sed -i '/gamemodeauto: /d' "${PORT_WINE_PATH}/${portname}.log"
|
||||
sed -i '/wine: RLIMIT_NICE is <= 20/d' "${PORT_WINE_PATH}/${portname}.log"
|
||||
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
|
||||
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
|
||||
@ -257,6 +264,7 @@ portwine_start_debug () {
|
||||
|
||||
pw_winecfg () {
|
||||
start_portwine
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0=""
|
||||
pw_run winecfg
|
||||
}
|
||||
|
||||
@ -275,6 +283,7 @@ pw_winecmd () {
|
||||
|
||||
pw_winereg () {
|
||||
start_portwine
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0=""
|
||||
pw_run regedit
|
||||
}
|
||||
|
||||
@ -330,19 +339,19 @@ pw_prefix_manager () {
|
||||
|
||||
KEY_EDIT_MANAGER_GUI=$RANDOM
|
||||
"${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \
|
||||
--text="Select components to install in prefix: <b>\"${PW_PREFIX_NAME}\"</b>, using wine: <b>\"${PW_WINE_USE}\"</b>" \
|
||||
--text="${loc_prefix_manager_comp} <b>\"${PW_PREFIX_NAME}\"</b>, ${loc_prefix_manager_wine} <b>\"${PW_WINE_USE}\"</b>" \
|
||||
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
|
||||
|
||||
"${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \
|
||||
--text="Select fonts to install in prefix: <b>\"${PW_PREFIX_NAME}\"</b>, using wine: <b>\"${PW_WINE_USE}\"</b>" \
|
||||
--text="${loc_prefix_manager_font} <b>\"${PW_PREFIX_NAME}\"</b>, ${loc_prefix_manager_wine} <b>\"${PW_WINE_USE}\"</b>" \
|
||||
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
|
||||
|
||||
"${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \
|
||||
--text="Change config for prefix: <b>\"${PW_PREFIX_NAME}\"</b>" \
|
||||
--text="${loc_prefix_manager_conf} <b>\"${PW_PREFIX_NAME}\"</b>" \
|
||||
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
|
||||
|
||||
"${pw_yad_v12_3}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=3 --width=900 --height=800 \
|
||||
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONTS" --tab="SETTINGS" 2>/dev/null
|
||||
"${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
|
||||
@ -364,7 +373,8 @@ pw_prefix_manager () {
|
||||
if [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then
|
||||
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
|
||||
pw_init_runtime
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER}
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
|
||||
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
gui_prefix_manager
|
||||
else
|
||||
print_info "Nothing to do. Restarting PortProton..."
|
||||
@ -396,7 +406,8 @@ pw_winetricks () {
|
||||
fi
|
||||
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --text-info --tail --no-buttons --title="WINETRICKS" \
|
||||
--auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y 2>/dev/null &
|
||||
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
|
||||
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
kill -s SIGTERM "$(pgrep -a yad_v12_3 | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1
|
||||
stop_portwine
|
||||
@ -407,20 +418,21 @@ pw_start_cont_xterm () {
|
||||
unset PW_SANDBOX_HOME_PATH
|
||||
# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
|
||||
pw_init_runtime
|
||||
${PW_GAMEMODERUN_SLR} ${pw_runtime} \
|
||||
env ${PW_MANGOHUD_SLR} \
|
||||
PATH="${PATH}" \
|
||||
${pw_runtime} \
|
||||
env PATH="${PATH}" \
|
||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||
${PW_GAMEMODERUN_SLR} \
|
||||
${PW_MANGOHUD_SLR} \
|
||||
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
|
||||
@ -448,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
|
||||
@ -463,25 +475,26 @@ pw_create_prefix_backup () {
|
||||
pw_edit_db () {
|
||||
if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then
|
||||
pw_gui_for_edit_db \
|
||||
PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT 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_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \
|
||||
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_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_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_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_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_RESTORE_RESOLUTION PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \
|
||||
PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \
|
||||
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE
|
||||
fi
|
||||
if [[ "$?" == 0 ]] ; then
|
||||
print_info "Restarting PP after update ppdb file..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
fi
|
||||
# PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE HEAP_DELAY_FREE
|
||||
# PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
|
||||
}
|
||||
|
||||
pw_autoinstall_from_db () {
|
||||
@ -490,7 +503,6 @@ pw_autoinstall_from_db () {
|
||||
export PW_USE_GAMEMODE=0
|
||||
export PW_CHECK_AUTOINSTAL=1
|
||||
export PW_GUI_DISABLED_CS=1
|
||||
export PW_WINEDBG_DISABLE=1
|
||||
export PW_NO_WRITE_WATCH=0
|
||||
export PW_VULKAN_USE=1
|
||||
export PW_USE_EAC_AND_BE=0
|
||||
@ -511,11 +523,6 @@ export -f gui_credits
|
||||
|
||||
###MAIN###
|
||||
|
||||
# HOTFIX CALIBRE
|
||||
if [[ ! -z "$(echo ${1} | grep '/Caliber/')" ]] ; then
|
||||
export PW_WINE_USE=PROTON_STEAM_6.3-8
|
||||
fi
|
||||
|
||||
# CLI
|
||||
case "${1}" in
|
||||
'--help' )
|
||||
@ -620,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}" \
|
||||
@ -660,12 +667,17 @@ else
|
||||
if [[ ! -z $(pidof -s yad) ]] || [[ ! -z $(pidof -s yad_v12_3) ]] ; then
|
||||
kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1
|
||||
fi
|
||||
PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
|
||||
|
||||
if grep -i "flatpak" /etc/os-release &>/dev/null ;
|
||||
then PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | sed 's|flatpak run com.castrofidel.portproton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')"
|
||||
else PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
|
||||
fi
|
||||
|
||||
print_info "Restarting PP after choose desktop file..."
|
||||
# stop_portwine
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c "${PW_EXEC_FROM_DESKTOP}" &
|
||||
exit 0
|
||||
exit 0
|
||||
}
|
||||
export -f run_desktop_b_click
|
||||
|
||||
@ -673,6 +685,7 @@ else
|
||||
if gui_question "${port_clear_pfx}" ; then
|
||||
pw_clear_pfx
|
||||
print_info "Restarting PP after clearing prefix..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
fi
|
||||
@ -694,6 +707,7 @@ else
|
||||
gui_pw_update () {
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
|
||||
print_info "Restarting PP for check update..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
}
|
||||
@ -701,6 +715,7 @@ else
|
||||
change_loc () {
|
||||
try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_loc"
|
||||
print_info "Restarting PP for change language..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
}
|
||||
@ -718,13 +733,14 @@ 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/"
|
||||
echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
|
||||
print_info "Restarting PP after backup..."
|
||||
export SKIP_CHECK_UPDATES=1
|
||||
/usr/bin/env bash -c ${pw_full_command_line[*]} &
|
||||
exit 0
|
||||
}
|
||||
@ -782,12 +798,10 @@ else
|
||||
"${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
|
||||
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"${loc_dolphin}":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
|
||||
--field=" MAME"!"$PW_GUI_ICON_PATH/mame.png"!"${loc_mame}":"FBTN" '@bash -c "button_click PW_MAME"' \
|
||||
--field=" ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"${loc_scummvm}":"FBTN" '@bash -c "button_click PW_SCUMMVM"' \
|
||||
--field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"${loc_retroarch}":"FBTN" '@bash -c "button_click PW_RETROARCH"' \
|
||||
--field=" PPSSPP Windows"!"$PW_GUI_ICON_PATH/ppsspp.png"!"${loc_ppsspp_windows}":"FBTN" '@bash -c "button_click PW_PPSSPP"' \
|
||||
--field=" Citra"!"$PW_GUI_ICON_PATH/citra.png"!"${loc_citra}":"FBTN" '@bash -c "button_click PW_CITRA"' \
|
||||
--field=" Cemu"!"$PW_GUI_ICON_PATH/cemu.png"!"${loc_cemu}":"FBTN" '@bash -c "button_click PW_CEMU"' \
|
||||
--field=" DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"${loc_duckstation}":"FBTN" '@bash -c "button_click PW_DUCKSTATION"' \
|
||||
--field=" ePSXe"!"$PW_GUI_ICON_PATH/epsxe.png"!"${loc_epsxe}":"FBTN" '@bash -c "button_click PW_EPSXE"' \
|
||||
--field=" Project64"!"$PW_GUI_ICON_PATH/project64.png"!"${loc_project64}":"FBTN" '@bash -c "button_click PW_PROJECT64"' \
|
||||
--field=" VBA-M"!"$PW_GUI_ICON_PATH/vba-m.png"!"${loc_vba_m}":"FBTN" '@bash -c "button_click PW_VBA-M"' \
|
||||
@ -795,8 +809,7 @@ else
|
||||
--field=" Xenia"!"$PW_GUI_ICON_PATH/xenia.png"!"${loc_xenia}":"FBTN" '@bash -c "button_click PW_XENIA"' \
|
||||
--field=" FCEUX"!"$PW_GUI_ICON_PATH/fceux.png"!"${loc_fceux}":"FBTN" '@bash -c "button_click PW_FCEUX"' \
|
||||
--field=" xemu"!"$PW_GUI_ICON_PATH/xemu.png"!"${loc_xemu}":"FBTN" '@bash -c "button_click PW_XEMU"' \
|
||||
--field=" Demul"!"$PW_GUI_ICON_PATH/demul.png"!"${loc_demul}":"FBTN" '@bash -c "button_click PW_DEMUL"' \
|
||||
--field=" Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"${loc_rpcs3}":"FBTN" '@bash -c "button_click PW_RPCS3"' 2>/dev/null &
|
||||
--field=" Demul"!"$PW_GUI_ICON_PATH/demul.png"!"${loc_demul}":"FBTN" '@bash -c "button_click PW_DEMUL"' 2>/dev/null &
|
||||
|
||||
"${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[0]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
|
||||
--field=" Lesta Game Center"!"$PW_GUI_ICON_PATH/lgc.png"!"":"FBTN" '@bash -c "button_click PW_LGC"' \
|
||||
@ -817,6 +830,7 @@ else
|
||||
--field=" STALCRAFT"!"$PW_GUI_ICON_PATH/stalcraft.png"!"":"FBTN" '@bash -c "button_click PW_STALCRAFT"' \
|
||||
--field=" CONTRACT WARS"!"$PW_GUI_ICON_PATH/cwc.png"!"":"FBTN" '@bash -c "button_click PW_CWC"' \
|
||||
--field=" Stalker Online"!"$PW_GUI_ICON_PATH/so.png"!"":"FBTN" '@bash -c "button_click PW_SO"' \
|
||||
--field=" Modern Warships"!"$PW_GUI_ICON_PATH/mw.png"!"":"FBTN" '@bash -c "button_click PW_MW"' \
|
||||
--field=" Metal War Online"!"$PW_GUI_ICON_PATH/mwo.png"!"":"FBTN" '@bash -c "button_click PW_MWO"' \
|
||||
--field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \
|
||||
--field=" Indiegala Client"!"$PW_GUI_ICON_PATH/igclient.png"!"":"FBTN" '@bash -c "button_click PW_IGCLIENT"' \
|
||||
@ -828,13 +842,17 @@ else
|
||||
--field=" Path of Exile"!"$PW_GUI_ICON_PATH/poe.png"!"":"FBTN" '@bash -c "button_click PW_POE"' \
|
||||
--field=" Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"' \
|
||||
--field=" Genshin Impact"!"$PW_GUI_ICON_PATH/genshinimpact.png"!"":"FBTN" '@bash -c "button_click PW_GENSHIN_IMPACT"' \
|
||||
--field=" EA App (TEST)"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"' \
|
||||
--field=" Battle Of Space Raiders"!"$PW_GUI_ICON_PATH/bsr.png"!"":"FBTN" '@bash -c "button_click PW_BSR"' 2>/dev/null &
|
||||
|
||||
# --field=" Electronic Arts App"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"'
|
||||
# --field=" Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click PW_SWL"'
|
||||
# --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"'
|
||||
# --field=" ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"'
|
||||
|
||||
# --field=" DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"${loc_duckstation}":"FBTN" '@bash -c "button_click PW_DUCKSTATION"'
|
||||
# --field=" ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"${loc_scummvm}":"FBTN" '@bash -c "button_click PW_SCUMMVM"'
|
||||
# --field=" Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"${loc_rpcs3}":"FBTN" '@bash -c "button_click PW_RPCS3"'
|
||||
|
||||
if [[ `command -v wmctrl` ]] &>/dev/null ; then
|
||||
sleep 2
|
||||
while [[ $(pgrep -a yad_v12_3 | head -n 1 | awk '{print $1}' 2>/dev/null) ]] ; do
|
||||
@ -849,8 +867,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"!"" \
|
||||
@ -859,8 +877,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"!"" \
|
||||
|