Compare commits

...

84 Commits

Author SHA1 Message Date
d4b976f2b2 fix for disabled fps_limit 2024-01-14 22:17:30 +03:00
44e7a7a78c Scripts version 2244 2024-01-14 21:34:40 +03:00
d1489c0d44 Scripts version 2243 2024-01-12 14:26:42 +03:00
b2690ffec1 Scripts version 2242 2024-01-11 22:52:31 +03:00
5295899293 Merge branch 'Boria138-mangohud-basic-gui' 2024-01-10 20:44:40 +03:00
d6f35c00b1 Added automatic MangoHud font size configuration 2024-01-09 15:32:44 +06:00
0bca933f78 Added GUI for MangoHud basic configuration 2024-01-09 10:39:53 +06:00
00c79a3c3d Scripts version 2241 2023-12-28 23:43:44 +03:00
71ffeff8bf drop disabled_dx12, again 2023-12-28 22:51:52 +03:00
f91d0bc1b9 Scripts version 2240 2023-12-28 18:46:17 +03:00
20150813e5 Merge branch 'Boria138-restore-resolution' 2023-12-28 16:35:35 +03:00
02ebbc747d Merge branch 'restore-resolution' of https://github.com/Boria138/PortWINE into Boria138-restore-resolution 2023-12-28 16:35:19 +03:00
30d13c9d39 Merge branch 'ilyazheprog-master' 2023-12-28 16:34:26 +03:00
a54c0ed1db Merge branch 'master' of https://github.com/ilyazheprog/PortWINE into ilyazheprog-master 2023-12-28 16:33:58 +03:00
fc80455e79 Rebase https://github.com/Castro-Fidel/PortWINE/pull/108 2023-12-27 11:18:32 +06:00
31575b1785 drop dx12_disable 2023-12-23 15:14:47 +03:00
9dd2cf4b6b move chek vulkan to creat log 2023-12-23 14:24:17 +03:00
0f1da48cd7 Scripts version 2239 2023-12-17 18:35:48 +03:00
9e48682aee Merge branch 'update-drive' of https://github.com/Boria138/PortWINE into Boria138-update-drive 2023-12-17 16:42:34 +03:00
387c2c175a fix LOL 2023-12-17 16:36:30 +03:00
82b445c020 Update drive 2023-12-17 19:30:38 +06:00
dcb5620403 Merge branch 'VanoMajukin-VanoMJ' 2023-12-17 16:07:17 +03:00
e09c3ee288 Fix gamescope on multiply nvidia gpu devices 2023-12-16 20:28:56 +03:00
aa01009124 Scripts version 2238 2023-12-12 20:36:18 +03:00
2ab546c0fa Merge branch 'Boria138-check-vulkan-driver' 2023-12-12 20:13:05 +03:00
5fdcf62487 Merge branch 'check-vulkan-driver' of https://github.com/Boria138/PortWINE into Boria138-check-vulkan-driver 2023-12-12 20:12:37 +03:00
4158a43b0b changelog 2023-12-12 20:11:44 +03:00
864fe3a038 Merge branch 'akai2211-master' 2023-12-12 19:45:07 +03:00
e0e9d0ec7a Merge branch 'master' of https://github.com/akai2211/PortWINE into akai2211-master 2023-12-12 19:44:26 +03:00
907923d20f gamescope, vkbasalt, update prefix 2023-12-12 19:42:15 +03:00
996fbfdd45 minor fix 2023-12-12 21:49:41 +06:00
3b7656e2e4 Added vulkan driver check 2023-12-12 15:33:23 +06:00
5cb616a011 Removed the dots in the descriptions 2023-12-11 23:37:07 +07:00
40ec52288f Added tooltips for emulators
Added tooltips for emulators, displaying information about what emulator emulates what, descriptions in Russian and English.
2023-12-11 22:25:47 +07:00
e1f8458947 README.md: added the installation of portproton on Alt Linux using apt-get 2023-12-09 01:25:58 +07:00
3d3816f275 README.md: added portproton installation on Alt Linux 2023-12-09 01:20:02 +07:00
de28df9329 Scripts version 2237 2023-12-08 17:43:06 +03:00
1341bc6a84 Merge branch 'Boria138-fix-intel' 2023-12-08 14:44:24 +03:00
600f959af0 Temporarily disabled video card selection when using gamescope and also cleaned and fixed the code and localization 2023-12-08 16:16:06 +06:00
4f23160081 fixed Intel/Iris: Corrupted rendering of OpenGL and Vulkan apps in gamescope 2023-12-08 15:28:19 +06:00
9e339aca43 Scripts version 2236 2023-12-07 20:27:03 +03:00
137122223f Scripts version 2235 2023-12-06 17:27:13 +03:00
f2269916b9 Merge branch 'patch-1' of https://github.com/akai2211/PortWINE 2023-12-06 15:58:56 +03:00
6e38d19ea2 fix PATH_TO_GAME 2023-12-06 15:51:04 +03:00
55f04548db Update credits
Added myself to the list.
2023-12-04 19:12:40 +07:00
828807d753 Scripts version 2234 2023-12-03 19:56:37 +03:00
a7507ed8da Merge pull request #96 from Boria138/fix-opensuse-links
Fix OpenSuse links
2023-11-26 19:30:59 +03:00
0580944e1c override PW_GUI_DISABLED_CS=1 from ppdb 2023-11-26 19:26:42 +03:00
a580503cdf Fix OpenSuse links
For some reason unknown to me even though you accepted the pr commit didn't show up and the links didn't update hopefully this time it will be ok
2023-11-26 18:30:19 +06:00
b4fec2bcba Scripts version 2233 2023-11-26 14:27:27 +03:00
97f9b10c67 Scripts version 2232 2023-11-26 13:55:19 +03:00
fb0ecbc611 Merge branch 'Boria138-gpu-select' 2023-11-25 15:07:49 +03:00
f0d526f3af Deleted prime render offload 2023-11-25 17:33:23 +06:00
b08e82be14 Improve GPU list 2023-11-25 16:48:11 +06:00
e9a858644f Added vkd3d support 2023-11-25 16:24:26 +06:00
7672053e87 Added GPU Select 2023-11-25 12:39:10 +06:00
b9eccd4f1b Scripts version 2231 2023-11-24 20:25:28 +03:00
f2ef4e19a5 Merge branch 'Boria138-update-lang' 2023-11-24 13:53:49 +03:00
255f129882 update installing wosb 2023-11-24 13:53:15 +03:00
b6c7dc67b9 Merge branch 'Castro-Fidel:master' into update-lang 2023-11-11 13:50:49 +06:00
0f0e177ad0 Scripts version 2230 2023-11-10 18:15:39 +03:00
1d94b81eec Added info for PW_FORCE_LARGE_ADDRESS_AWARE and fixed typo in CMD translate 2023-11-09 22:53:37 +06:00
89ebaeabe4 Scripts version 2229 2023-11-08 20:00:23 +03:00
8a43b768bc Merge pull request #88 from Boria138/update-log
Added Program bit depth to log
2023-11-08 19:03:59 +03:00
3ccc7cd10e Merge pull request #89 from Htylol/zink-opengl
Added OpenGL zink support for vkBasalt
2023-11-08 19:03:42 +03:00
e412fa7963 Update lang 2023-11-08 05:46:58 +05:00
dca84f2625 Fixed gamemode and update prime render offload 2023-11-08 00:07:31 +06:00
4bb0682035 Beautify CPU log 2023-11-07 23:26:14 +06:00
733149752e Made the log more detailed 2023-11-07 23:00:15 +06:00
85cff1ef43 Deleted gamemode dlopen error and wine rlimit error from log 2023-11-07 13:54:56 +06:00
de9df8eacf Fix lang 2023-11-07 10:57:07 +05:00
b9c089412d Added OpenGL zink support for vkBasalt 2023-11-07 06:04:01 +05:00
042627768d Added Program bit depth to log 2023-11-03 21:14:25 +06:00
8af6fbb0ae Scripts version 2228 2023-11-02 19:44:10 +03:00
ee725b56c8 Scripts version 2227 2023-10-22 11:27:22 +03:00
2e4fa2ac32 Merge branch 'Boria138-amd-vulkan-select' 2023-10-18 11:24:44 +03:00
bef62e1b87 Added missing loc_create_pfx_backup_path 2023-10-18 10:18:09 +06:00
bd2bbee60f Combined two pull requests into one to avoid conflicts 2023-10-16 12:16:50 +06:00
61e56a08e3 Fixed typo 2023-10-13 22:20:11 +06:00
9e6d3008db Completely finished the job 2023-10-13 12:57:52 +06:00
8c0415225e Added all officially supported AMD distributions and all distributions based on them 2023-10-12 19:25:05 +06:00
7a44966221 Optimized the code a tiny bit 2023-10-12 18:37:31 +06:00
1b3831f0b4 Added Nobara support 2023-10-12 18:25:21 +06:00
a6b83f4181 Added select needed amd vulkan implementation 2023-10-12 17:45:49 +06:00
90 changed files with 1814 additions and 534 deletions

215
README-RU.md Executable file
View File

@ -0,0 +1,215 @@
<div align="center">
<img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64">
<h1 align="center">PortProton</h1>
<p align="center">Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей.
Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.</p>
</div>
# **Язык README**
**Русский** - [English](README.md)
## Внимание
**Официальный сайт проекта** с сентября 2022 года: https://linux-gaming.ru. **Любой другой сайт - фальшивка!**
## Особенности
- Основан на версии WINE от Valve (Proton) и ее модификациях (Proton GE).
Включает набор скриптов, объединенных с самим wine-proton, контейнер Steam Runtime Sniper с добавлением портированных версий MANGOHUD (вывод полезной информации в окно игры: FPS, FrameTime, CPU, GPU и т.д.) и vkBasalt (улучшение графики в играх, очень хорош в связке с FSR, DLSS) + множество уже настроенных оптимизаций для максимальной производительности.
- Реализована автоматическая установка одним щелчком мыши (на вкладке АВТОУСТАНОВКА) популярных лаунчеров, таких как: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends и многие другие.
- Для любителей консольных игр предлагается множество эмуляторов консолей (на вкладке ЭМУЛЯТОРЫ ): PPSSPP, Citra, Cemu, ePSXe, MAME и многие другие..
**ПОЖАЛУЙСТА, НЕ СООБЩАЙТЕ О НАЙДЕННЫХ ОШИБКАХ В WINEHQ ИЛИ ПРОГРАММНОМ ОБЕСПЕЧЕНИИ VALVE!**
## **Ссылка на исходный код версий wine используемых в PortProton:**
* WINE-PROTON: https://github.com/ValveSoftware/Proton
* WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
## Установка с помощью пакетов
* **Alt Linux**
`apt-get` :
```sh
su -
apt-get update && apt-get dist-upgrade -y
apt-get install portproton i586-{libvulkan1,libd3d,libGL,libgio,libnm,libnsl1,libnss,glibc-nss,glibc-pthread,libunwind,xorg-dri-swrast}
exit
```
`Вариант установки с помощью eepm`:
```sh
su -
epm full-upgrade
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)
* **Arch Linux** и производные (Manjaro, Garuda, и т.д.) :
[AUR](https://aur.archlinux.org/packages/portproton)
* **OpenSuse**:
[OBS](https://software.opensuse.org/download/package?package=portproton&project=home%3ABoria138%3APortProton)
* **ROSA Linux** устанавливается с помощью этой команды:
```sh
sudo urpmi portproton
```
* **Fedora 37+** and **Nobara**:
```sh
sudo dnf copr enable boria138/portproton
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
```
## Зависимости
* **Пользователи карт NVIDIA**
Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать)
* **Ubuntu / Linux Mint / Pop!_OS**
```sh
sudo dpkg --add-architecture i386
sudo add-apt-repository multiverse
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
```
* **Arch Linux / Manjaro**
Сперва проверьте включён ли **multilib** репозиторий
```sh
/etc/pacman.conf
===================================
[multilib]
Include = /etc/pacman.d/mirrorlist
====================================
```
```sh
sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl
```
Если у вас видеокарта от **NVIDIA**, обязательно проверьте, установлен ли пакет **lib32-nvidia-utils**.
```sh
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
```
* **Fedora**
```sh
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
```
* **Alt Linux**
```sh
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
```
* **ROSA DESKTOP FRESH R12**
```sh
sudo dnf update
sudo dnf upgrade --refresh
sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686
```
* **RED OS**
```sh
sudo -E dnf install curl icoutils libcurl wget zenity 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
```
## Контакты
<p>
<a href="https://discord.gg/FTaheP99wE">
<img src="https://img.shields.io/discord/378683352946835456?logo=discord"
alt="chat on Discord"></a>
</p>

View File

@ -5,6 +5,9 @@
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.</p>
</div>
# **Readme Language**
**English** - [Русский](README-RU.md)
## Attention
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
@ -27,16 +30,45 @@ Includes a set of scripts combined with wine-proton itself, a Steam Runtime Snip
## Installation using packages
* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, etc.), **Linux Mint 20.x** :
[portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb)
* **Arch Linux** and derivatives (Manjaro, Garuda, etc.) :
[AUR](https://aur.archlinux.org/packages/portproton)
* **Alt Linux** (package in the official repository) is installed with the command:
`apt-get`:
```sh
su -
apt-get update && apt-get dist-upgrade -y
apt-get install portproton i586-{libvulkan1,libd3d,libGL,libgio,libnm,libnsl1,libnss,glibc-nss,glibc-pthread,libunwind,xorg-dri-swrast}
exit
```
`epm`:
```sh
su -
epm full-upgrade
epm play portproton
exit
```
* **ROSA Linux** (package in the official repository) is installed with the command:
```sh
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)
* **Arch Linux** and derivatives (Manjaro, Garuda, etc.) :
[AUR](https://aur.archlinux.org/packages/portproton)
* **OpenSuse**:
[OBS](https://software.opensuse.org/download/package?package=portproton&project=home%3ABoria138%3APortProton)
* **Fedora 37+** and **Nobara**:
```sh
@ -45,23 +77,6 @@ sudo dnf copr enable boria138/portproton
sudo dnf install portproton
```
* [**openSUSE Leap 15.4**](https://software.opensuse.org/ymp/home:Boria138/15.4/portproton.ymp?base=openSUSE%3ALeap%3A15.4&query=portproton)
* [**openSUSE Leap 15.5**](https://software.opensuse.org/ymp/home:Boria138/15.5/portproton.ymp?base=openSUSE%3ALeap%3A15.5&query=portproton)
* [**openSUSE Tumbleweed**](https://software.opensuse.org/ymp/home:Boria138/openSUSE_Tumbleweed/portproton.ymp?base=openSUSE%3AFactory&query=portproton)
* **Alt Linux** (package in the official repository) is installed with the command:
```sh
su -
epm ei
epm full-upgrade
epm play portproton
exit
```
## Universal (manual) installation
@ -162,11 +177,13 @@ sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zst
* **Alt Linux**
```sh
sudo apt-get update
su -
sudo apt-get dist-upgrade -y
apt-get update && apt-get dist-upgrade -y
sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd
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}
exit
```
* **ROSA DESKTOP FRESH R12**
@ -195,6 +212,6 @@ sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cab
<p>
<a href="https://discord.gg/FTaheP99wE">
<img src="https://img.shields.io/discord/308323056592486420?logo=discord"
<img src="https://img.shields.io/discord/378683352946835456?logo=discord"
alt="chat on Discord"></a>
</p>

View File

@ -2,6 +2,113 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###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
###Scripts version 2243### Date: 12.01.2024 / Download update size: 8 megabytes
* HOTFIX: Fixed spontaneous prefix switching when using the MANGOHUD configuration interface
###Scripts version 2242### Date: 11.01.2024 / Download update size: 8 megabytes
* added a graphical interface for configuring MANGOHUD (thanks to Boria138)
* updated versions:
DXVK_GIT_VER 2.3-26
VKD3D_GIT_VER 1.1-3821
###Scripts version 2241### Date: 28.12.2023 / Download update size: 8 megabytes
* HOTFIX - VKD3D
###Scripts version 2240### Date: 28.12.2023 / Download update size: 8 megabytes
* the variable "DX12_DISABLE" has been removed from EDIT_DB (deprecated function)
* Vulkan driver verification has been transferred to the log creation mode
* updated the version check of the World Of Sea Battle game before installation
* The Wayland warning has been removed
* added the variable "PW_RESTORE_RESOLUTION" to EDIT_BD (thanks to Boria138)
###Scripts version 2239### Date: 17.12.2023 / Download update size: 8 megabytes
* fixed the launch of League of Legends (to fix it, run the auto-installation)
* added correct verification of the vulkan driver, without installing vulkan-tools into the system
* implemented automatic addition of mounted disks to the prefix (thanks to Boria138)
* fixed the launch of GAMESCOPE when there are several NVIDIA graphics cards in the system (thanks to Vano)
###Scripts version 2238### Date: 12.12.2023 / Download update size: 8 megabytes
* fixed GAMESCOPE and vkBasalt collaboration
* optimized prefix creation and updating
* fixed disabling MANGHUD in settings
* added a reset button in the settings when launching the exe (to restore the default settings)
* added a forced display of the exe file launch settings when launching a shortcut from the PortProton interface
* added tooltips in the emulator installation tab (thanks Akai)
* added a warning if there is no working Vulkan driver (thanks to Boria138)
###Scripts version 2237### Date: 08.12.2023 / Download update size: 8 megabytes
* combined the inclusion of MANGOHUD in the settings (32-bit and 64-bit)
* fixed vkBasalt working with gamescope
* fixed the launch of some games that worked only in the DEBUG mode
* fixed the choice of video card when launching from gamescope (thanks to Boria138)
* new versions of wine are downloaded only if it is selected after launch, and not before launching PortProton
###Scripts version 2236### Date: 07.12.2023 / Download update size: 8 megabytes
* the ability to enable GAMESCOPE has been added to the settings before starting the game (provided that it is installed on the system)
* the installation of the Citra emulator has been fixed
###Scripts version 2235### Date: 06.12.2023 / Download update size: 8 megabytes
* Fixed the missing osu icon! in the list of installed applications
* updated Panzar auto-installation and fixed icon creation
* updated GOG Galaxy
- auto-installation - added automatic detection of the current version for installation
- installation is performed in a separate GOG prefix
- auto-installation is performed again in silent mode (no questions asked)
###Scripts version 2234### Date: 03.12.2023 / Download update size: 200 megabytes
* updated PROTON_LG to version 8-25-1 (fixed BattleNET)
* fixed the creation of shortcuts to STEAM in the absence of shortcuts.vdf file
* fixed the creation of icons for standard shortcuts (thanks Arta48)
* added the ability to create ppdb files for symbolic links (fix for the same exe file names)
* created individual settings files for games:
- Genshin Impact
- Warframe
- Rockstar
(the application requires restarting the auto-installation of the required game)
###Scripts version 2233### Date: 26.11.2023 / Download update size: 8 megabytes
* HOTFIX - create shortcut to STEAM
###Scripts version 2232### Date: 26.11.2023 / Download update size: 8 megabytes
* added choose video card in settings (thanks Boria138)
* added create shortcut to STEAM (Thanks: Akai, Boria138, Cefeiko, Vano, redroot, project steamtinkerlaunch and set -x)
* minor updated
###Scripts version 2231### Date: 24.11.2023 / Download update size: 200 megabytes
* updated PROTON_LG to version 8-24
* updated autoinstall: World of Sea Battle x64 (thanks Iglu47 and Cefeiko)
###Scripts version 2230### Date: 10.11.2023 / Download update size: 8 megabytes
* minor update
###Scripts version 2229### Date: 08.11.2023 / Download update size: 200 megabytes
* updated PROTON_LG to version 8-22
* updated versions:
DXVK_GIT_VER 2.3-13
VKD3D_GIT_VER 1.1-3727
* added the inclusion of USE_GALLIUM_ZINC providing the ability to translate OpenGL to Vulkan (thanks Htylol)
* improved information content and readability of logs (thanks Boria138)
###Scripts version 2228### Date: 02.11.2023 / Download update size: 8 megabytes
* improved definition of RTX series graphics cards
* fixed hybrid graphics on some laptop configurations (but not yet on all)
###Scripts version 2227### Date: 22.10.2023 / Download update size: 520 megabytes
* updated PROTON_LG to version 8-20 (LGC and WGC no longer require a separate version of WINE)
* updated WINE_LG to version 8-18 (improved operation of vkPlay games: fixed videos in Atomic Heart TVs, the game Kuzhlevka works)
* the libs_v44 library package has been updated:
pressure-vessel 0.20230928.1
sniper 0.20231005.62324
reduced the size of the archive with libraries
* accelerated prefix creation and updating
* test: added driver selection for AMD (thanks to Boria138)
* minor additional script improvements
###Scripts version 2226### Date: 09.10.2023 / Download update size: 8 megabytes
* updated autoinstall scripts (thanks Boria138)
* minor improvements

View File

@ -2,6 +2,120 @@
-----------------------------------------
История изменений:
###Scripts version 2244### Дата: 14.01.2024 / Размер скачиваемого обновления: 8 мегабайт
* обновлен PROTON_LG до версии 8-25-2 (добавлены шрифты из proton steam)
* исправлено отображение версии скриптов после переустановки PortProton из настроек самого PortProton
###Scripts version 2243### Дата: 12.01.2024 / Размер скачиваемого обновления: 8 мегабайт
* HOTFIX: Исправлено самопроизводное переключение префикса при использовании интерфейса настройки MANGOHUD
###Scripts version 2242### Дата: 11.01.2024 / Размер скачиваемого обновления: 8 мегабайт
* добавлен графический интерфейс для настройки MANGOHUD (спасибо Boria138)
* обновлены версии:
DXVK_GIT_VER 2.3-26
VKD3D_GIT_VER 1.1-3821
###Scripts version 2241### Дата: 28.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* HOTFIX - VKD3D (определение DX12 в некоторых играх)
###Scripts version 2240### Дата: 28.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* удалена переменная "DX12_DISABLE" из EDIT_DB (устаревшая функция)
* произведен перенос проверки драйвера Vulkan в режим создания лога
* обновлена проверка версии игры World Of Sea Battle перед установкой
* удалено предупреждение о Wayland
* добавлена переменная "PW_RESTORE_RESOLUTION" в EDIT_BD (спасибо Boria138)
###Scripts version 2239### Дата: 17.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* исправлен запуск League of Legends (для исправления запустите автоустановку)
* добавлена корректная проверка драйвера vulkan, без установки в систему vulkan-tools
* реализовано автоматическое добавление примонтированных дисков в префикс (спасибо Boria138)
* исправлен запуск GAMESCOPE при наличии нескольких видеокарт NVIDIA в системе (спасибо Vano)
###Scripts version 2238### Дата: 12.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* исправлена совмеcтная работа GAMESCOPE и vkBasalt
* оптимизировано создание и обновление префикса
* исправлено отключение MANGOHUD в настройках
* добавлена кнопка сброса в настройках при запуске exe (для востановления настроек по умолчанию)
* добавлено принудительное отображение настроек запуска exe файла при запуске ярлыка из интерфейса PortProton
* добавлены всплывающие подсказки во вкладке установки эмуляторов (спасибо Akai)
* добавлено предупреждение если нет работающего драйвера Vulkan (спасибо Boria138)
###Scripts version 2237### Дата: 08.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* объединено включение MANGOHUD в настройках (32-х и 64-х битные)
* исправлена работа vkBasalt совместно с gamescope
* исправлен запуск некоторых игр, которые работали только в режиме создания лога
* исправлен выбор видеокарты при запуска с gamescope (спасибо Boria138)
* новые версии wine скачиваются только при условии его выбора после запуска, а не перед запуском PortProton
###Scripts version 2236### Дата: 07.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* в настройках перед запуском игры добавлена возможность включения GAMESCOPE (при условии что он установлен в системе)
* исправлена установка эмулятора Citra
###Scripts version 2235### Дата: 06.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* исправлено отсутствие иконки osu! в списке установленных приложений
* обновлена автоустановка Panzar и исправлено создание иконки
* обновлена автоустановка GOG Galaxy
- добавлено автоматическое определение актуальной версии для установки
- уановка производится в отдельный префикс GOG
- автоустановка снова производится в тихом режиме (без вопросов)
###Scripts version 2234### Дата: 03.12.2023 / Размер скачиваемого обновления: 200 мегабайт
* обновлен PROTON_LG до версии 8-25-1 (исправлена работа BattleNET)
* исправлено создание ярлыков в STEAM при отсутствии shortcuts.vdf файла
* исправлено создание иконок для стандартных ярлыков (спасибо Arta48)
* добавлена возможность создавать ppdb файлы на символьные ссылки (исправление для одинаковых имён exe файлов)
* созданы индивидуальные файлы настроек для игр:
- Genshin Impact
- Warframe
- Rockstar
(для применения требуется повторный запуск автоустановки необходимой игры)
* для лончера World of Sea Battle создаются 2 ярлыка:
- World of Sea Battle (EN) - для первого входа (логина) в игру
- World of Sea Battle (RU) - для возможности писать в чате на русском языке
###Scripts version 2233### Дата: 26.11.2023 / Размер скачиваемого обновления: 8 мегабайт
* HOTFIX - создание ярлыков в STEAM
###Scripts version 2232### Дата: 26.11.2023 / Размер скачиваемого обновления: 8 мегабайт
* добавлен глобальный выбор видеокарты в настройках PortProton при запуске игры/программы (спасибо Boria138)
* добавлено создание ярлыков в STEAM (Спасибо: Akai, Boria138, Cefeiko, Vano, redroot, проект steamtinkerlaunch и всевидящий set -x)
* дополнительные улучшения скриптов
* исправлена проблема скачивания установщиков игр (сайты которых не работают с докачкой файлов с помощью wget)
* начата миграция установки PortProton v1.3 с нового репозитория https://github.com/Castro-Fidel/PortProton_ALT
###Scripts version 2231### Дата: 24.11.2023 / Размер скачиваемого обновления: 200 мегабайт
* обновлен PROTON_LG до версии 8-24
* обновлён установщик World of Sea Battle x64 (спасибо @Iglu47 и Cefeiko)
* небольшие улучшения локализации (спасибо Boria138)
###Scripts version 2230### Дата: 10.11.2023 / Размер скачиваемого обновления: 8 мегабайт
* подготовка к обновлению установoщика PortProton
###Scripts version 2229### Дата: 08.11.2023 / Размер скачиваемого обновления: 200 мегабайт
* обновлен PROTON_LG до версии 8-22
* обновлены версии:
DXVK_GIT_VER 2.3-13
VKD3D_GIT_VER 1.1-3727
* добавлено включение USE_GALLIUM_ZINK предоставляющая возможность трансляции OpenGL в Vulkan (спасибо Htylol)
* улучшены информативность и читаемость логов (спасибо Boria138)
###Scripts version 2228### Дата: 02.11.2023 / Размер скачиваемого обновления: 8 мегабайт
* улучшено определение видеокарт серии RTX
* исправлена работа гибридной графики на некоторых конфигурациях ноутбуков (но еще не на всех)
###Scripts version 2227### Дата: 22.10.2023 / Размер скачиваемого обновления: 520 мегабайт
* обновлен PROTON_LG до версии 8-20 (LGC и WGC более не требуют отдельной версии WINE)
* обновлен WINE_LG до версии 8-18 (улучшена работа игр vkPlay: исправлены видео в телевизорах Atomic Heart, работает игра Кужлёвка)
* обновлен пакет библиотек libs_v44:
pressure-vessel 0.20230928.1
sniper 0.20231005.62324
уменьшен размер архива с библиотеками
* ускорено создание и обновление префикса
* улучшена локализация (спасибо Boria138)
* тест: добавлен выбор драйвера для AMD (спасибо Boria138)
* небольшие дополнительные улучшения скриптов
###Scripts version 2226### Дата: 09.10.2023 / Размер скачиваемого обновления: 8 мегабайт
* обновлены автоустановки лончеров (спасибо Boria138)
* небольшие исправления скриптов

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,114 @@
#!/bin/bash
# GPL-3.0 license
# based on https://github.com/sonic2kk/steamtinkerlaunch/blob/master/steamtinkerlaunch
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
echo '0073686f727463757473000808' | xxd -r -p > "$SCPATH"
fi
NOSTAPPNAME="$name_desktop"
NOSTEXEPATH="\"${STEAM_SCRIPTS}/${name_desktop}.sh\""
NOSTSTDIR="\"${STEAM_SCRIPTS}\""
# icon
NOSTICONPATH="${PORT_WINE_PATH}/data/img/${name_desktop}.png"
# IsHidden
NOSTHIDE=0
# AllowDesktopConfig
NOSTADC=0
# AllowOverlay
NOSTAO=0
# openvr
NOSTVR=0
NOSTSTLLO=0
# LaunchOptions
NOSTLAOP=
if [ -n "${NOSTEXEPATH}" ]; then
if [ -z "${NOSTAPPNAME}" ]; then
NOSTAPPNAME="${QEP##*/}"
fi
NOSTAIDRHX="$(printf "%03x%03x%02x\n" $((RANDOM%4096)) $((RANDOM%4096)) $((RANDOM%256)))"
#NOSTAID="$(hex2dec "$NOSTAIDRHX")"
NOSTAIDHX="\x$(awk '{$1=$1}1' FPAT='.{2}' OFS="\\\x" <<< "$NOSTAIDRHX")"
if [ -f "$SCPATH" ]; then
#writelog "INFO" "${FUNCNAME[0]} - The file '$SCPATH' already exists, creating a backup, then removing the 2 closing backslashes at the end"
cp "$SCPATH" "${SCPATH//.vdf}_${PROGNAME}_backup.vdf" 2>/dev/null
truncate -s-2 "$SCPATH"
OLDSET="$(grep -aPo '\x00[0-9]\x00\x02appid' "$SCPATH" | tail -n1 | tr -dc '0-9')"
NEWSET=$((OLDSET + 1))
#writelog "INFO" "${FUNCNAME[0]} - Last set in file has ID '$OLDSET', so continuing with '$OLDSET'"
else
#writelog "INFO" "${FUNCNAME[0]} - Creating new $SCPATH"
printf '\x00%s\x00' "shortcuts" > "$SCPATH"
NEWSET=0
fi
#writelog "INFO" "${FUNCNAME[0]} - Adding new set '$NEWSET'"
{
printf '\x00%s\x00' "$NEWSET"
printf '\x02%s\x00%b' "appid" "$NOSTAIDHX"
printf '\x01%s\x00%s\x00' "appname" "$NOSTAPPNAME"
printf '\x01%s\x00%s\x00' "Exe" "$NOSTEXEPATH"
printf '\x01%s\x00%s\x00' "StartDir" "$NOSTSTDIR"
if [ -n "$NOSTICONPATH" ]; then
printf '\x01%s\x00%s\x00' "icon" "$NOSTICONPATH"
else
printf '\x01%s\x00\x00' "icon"
fi
printf '\x01%s\x00\x00' "ShortcutPath"
if [ -n "$NOSTLAOP" ]; then
printf '\x01%s\x00%s\x00' "LaunchOptions" "$NOSTLAOP"
else
printf '\x01%s\x00\x00' "LaunchOptions"
fi
if [ "$NOSTHIDE" -eq 1 ]; then
printf '\x02%s\x00\x01\x00\x00\x00' "IsHidden"
else
printf '\x02%s\x00\x00\x00\x00\x00' "IsHidden"
fi
if [ "$NOSTADC" -eq 1 ]; then
printf '\x02%s\x00\x01\x00\x00\x00' "AllowDesktopConfig"
else
printf '\x02%s\x00\x00\x00\x00\x00' "AllowDesktopConfig"
fi
if [ "$NOSTAO" -eq 1 ]; then
printf '\x02%s\x00\x01\x00\x00\x00' "AllowOverlay"
else
printf '\x02%s\x00\x00\x00\x00\x00' "AllowOverlay"
fi
if [ "$NOSTVR" -eq 1 ]; then
printf '\x02%s\x00\x01\x00\x00\x00' "openvr"
else
printf '\x02%s\x00\x00\x00\x00\x00' "openvr"
fi
printf '\x02%s\x00\x00\x00\x00\x00' "Devkit"
printf '\x01%s\x00\x00' "DevkitGameID"
printf '\x02%s\x00\x00\x00\x00\x00' "LastPlayTime"
printf '\x00%s\x00' "tags"
printf '\x08'
printf '\x08'
#file end:
printf '\x08'
printf '\x08'
} >> "$SCPATH"
# echo '00013000504f727450726f746f6e0008080808' | xxd -r -p >> "$SCPATH"
fi

View File

@ -12,7 +12,7 @@ scripts v. ${scripts_install_ver}
https://linux-gaming.ru
Авторские права © 2022 Castro-Fidel (linux-gaming.ru)
Авторские права © $(date +'%Y') Castro-Fidel (linux-gaming.ru)
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия." 2>/dev/null &
@ -41,11 +41,12 @@ Vano Majukin
WelchDragon
Vuursteen
Boria138
Akai
" 2>/dev/null &
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< " Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (linux-gaming.ru)
Авторские права © $(date +'%Y') Castro-Fidel (linux-gaming.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
@ -408,6 +409,7 @@ Sergey 33(46)RUS
WelchDragon
Vuursteen
Boria138
Akai
" 2>/dev/null &
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License

View File

@ -114,6 +114,22 @@ check_process () {
}
export -f check_process
try_download_game () {
[[ -f "${PW_AUTOINSTALL_EXE}" ]] && try_remove_file "${PW_AUTOINSTALL_EXE}"
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
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
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME}."
return 1
else
return 0
fi
}
try_download () {
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
set -o pipefail
@ -171,33 +187,41 @@ create_new_dir () {
}
var_winedlloverride_update () {
if [ ! -z "${WINEDLLOVERRIDES}" ]
then export WINEDLLOVERRIDES="${1};${WINEDLLOVERRIDES}"
else export WINEDLLOVERRIDES="${1}"
if [ ! -z "$WINEDLLOVERRIDES" ]
then export WINEDLLOVERRIDES="$1;$WINEDLLOVERRIDES"
else export WINEDLLOVERRIDES="$1"
fi
return 0
}
var_vkd3d_config_update () {
if [ ! -z "${VKD3D_CONFIG}" ]
then export VKD3D_CONFIG="${1};${VKD3D_CONFIG}"
else export VKD3D_CONFIG="${1}"
if [ ! -z "$VKD3D_CONFIG" ]
then export VKD3D_CONFIG="$1;$VKD3D_CONFIG"
else export VKD3D_CONFIG="$1"
fi
return 0
}
var_radv_perftest_config_update () {
if [ ! -z "${RADV_PERFTEST}" ]
then export RADV_PERFTEST="${1};${RADV_PERFTEST}"
else export RADV_PERFTEST="${1}"
if [ ! -z "$RADV_PERFTEST" ]
then export RADV_PERFTEST="$1;$RADV_PERFTEST"
else export RADV_PERFTEST="$1"
fi
return 0
}
var_vk_istance_layers_config_update () {
if [ ! -z "${PW_VK_INSTANCE_LAYERS}" ]
then export PW_VK_INSTANCE_LAYERS="${1}:${PW_VK_INSTANCE_LAYERS}"
else export PW_VK_INSTANCE_LAYERS="${1}"
if [ ! -z "$PW_VK_INSTANCE_LAYERS" ]
then export PW_VK_INSTANCE_LAYERS="$1:$PW_VK_INSTANCE_LAYERS"
else export PW_VK_INSTANCE_LAYERS="$1"
fi
return 0
}
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"
fi
return 0
}
@ -215,9 +239,13 @@ unpack_tar_zst () {
}
unpack_tar_xz () {
set -o pipefail
tar -Jxhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
if [[ "$3" == "silent" ]] ; then
tar -Jxhvf "$1" -C "$2" && return 0 || return 1
else
set -o pipefail
tar -Jxhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
}
unpack_tar_gz () {
@ -284,10 +312,11 @@ pw_reinstall_pp () {
fi
pw_clear_pfx
try_remove_dir "${PORT_WINE_PATH}/data/dist"
create_new_dir "${PORT_WINE_PATH}/data/dist"
try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
try_remove_file "${PORT_WINE_PATH}/data/user.conf"
echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver"
echo
print_info "Restarting PP for reinstall files..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
@ -300,10 +329,8 @@ check_user_conf () {
echo "# User overides db and var settings..." >> "${USER_CONF}"
echo "# export DXVK_HUD=full" >> "${USER_CONF}"
echo "# export GALLIUM_HUD=fps" >> "${USER_CONF}"
echo "export optirun_on= #nvidia-prime-run or prime-run" >> "${USER_CONF}"
else
grep "optirun_on" "${USER_CONF}" >/dev/null
[[ "$?" != 0 ]] && echo "export optirun_on=" >> "${USER_CONF}"
elif grep "optirun_on" "${USER_CONF}" &>/dev/null ; then
sed -i '/optirun_on/d' "${USER_CONF}"
fi
}
@ -320,15 +347,14 @@ init_wine_ver () {
IFS="$orig_IFS"
fi
if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then
if [[ ! -z `echo "${PW_WINE_USE}" | grep "PROTON_LG"` ]] ; then
export PW_WINE_USE=PROTON_LG
else
export PW_WINE_USE=PROTON_GE
if [[ "$PW_WINE_USE" =~ PROTON_LG* ]]
then export PW_WINE_USE=PROTON_LG
else export PW_WINE_USE=WINE_LG
fi
fi
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]]
if [[ "$PW_WINE_USE" == PROTON_LG ]]
then export PW_WINE_USE="${PW_PROTON_LG_VER}"
elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]]
elif [[ "$PW_WINE_USE" == WINE_LG ]]
then export PW_WINE_USE="${PW_WINE_LG_VER}"
fi
[ ! -z "${PW_WINE_VER}" ] && export PW_WINE_USE=`echo "${PW_WINE_VER}" | tr [[:lower:]] [[:upper:]]`
@ -340,7 +366,7 @@ init_wine_ver () {
export WINESERVER="${WINEDIR}/bin/wineserver"
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
if [[ ! -z "${PATH_TO_GAME}" ]] ; then
if [[ -d "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH+=":${PATH_TO_GAME}"
fi
@ -365,11 +391,6 @@ init_wine_ver () {
if [[ -d "${WINEDIR}" ]] ; then
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
# if [[ -d "${WINEDIR}/lib32/" ]] ; then
# mv -f "${WINEDIR}/lib" "${WINEDIR}/lib64"
# mv -f "${WINEDIR}/lib32" "${WINEDIR}/lib"
# fi
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/"
@ -446,10 +467,12 @@ pw_init_runtime () {
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
--remove-game-overlay \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--share-home \
--remove-game-overlay \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi
@ -488,7 +511,7 @@ pw_init_runtime () {
}
pw_mangohud_check () {
if [[ "${PW_MANGOHUD}" == "1" ]] || [[ "${PW_MANGOHUD_x32}" = "1" ]]; then
if [[ "${PW_MANGOHUD}" == "1" ]] ; then
export PW_MANGOHUD_SLR='MANGOHUD=1'
MANGOHUD_LIB_NAME="libMangoHud.so"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
@ -498,10 +521,7 @@ pw_mangohud_check () {
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
fi
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64"
if [[ "${PW_MANGOHUD_x32}" = "1" ]] ; then
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay32"
fi
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32"
print_info "MANGOHUD is enabled"
else
export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1'
@ -512,15 +532,16 @@ pw_mangohud_check () {
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"
fi
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
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" "${PORT_WINE_PATH}/data/vkBasalt.conf"
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
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
@ -611,9 +632,14 @@ stop_portwine () {
if [[ "$int_xneur" == "1" ]] ; then
xneur &
fi
if [[ "$PW_USE_US_LAYOUT" == "1" ]] ; then
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"
fi
pw_stop_progress_bar
try_remove_file "${PORT_SCRIPTS_PATH}/0"
try_remove_file "${PORT_SCRIPTS_PATH}/1"
@ -681,9 +707,9 @@ pw_check_and_download_wine () {
if [[ "${PW_WINE_USE}" == "GET-OTHER-WINE" ]] ; then
gui_proton_downloader
fi
if [[ $PW_WINE_USE == PROTON_LG ]]
if [[ "$PW_WINE_USE" == PROTON_LG ]]
then export PW_WINE_USE="${PW_PROTON_LG_VER}"
elif [[ PW_WINE_USE == WINE_*_LG ]]
elif [[ "$PW_WINE_USE" == WINE_*_LG ]] || [[ "$PW_WINE_USE" == WINE_LG ]]
then export PW_WINE_USE="${PW_WINE_LG_VER}"
fi
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
@ -818,7 +844,7 @@ pw_check_and_download_plugins () {
}
check_nvidia_rtx () {
if echo "$LSPCI_VGA" | grep -i "nvidia" ; then
if [[ ! -z $(echo "$LSPCI_VGA" | grep -i "nvidia") ]]; then
# Turing (without nvidia 16XX)
[[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0
# Ampere
@ -829,17 +855,9 @@ check_nvidia_rtx () {
return 1
}
check_hybrid_graphicks () {
if echo "$LSPCI_VGA" | grep -i nvidia | grep -iE '(intel|amd)'
then return 0
else return 1
fi
}
pw_init_db () {
if [[ ! -z "${portwine_exe}" ]] ; then
try_remove_file "${PORT_SCRIPTS_PATH}/portwine_db/setup"
export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
if [[ -f "${portwine_exe}" ]] ; then
export PORTWINE_DB="$(basename "${portwine_exe}" .exe)"
if [[ -f "${portwine_exe}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
. "${PORTWINE_DB_FILE}"
@ -876,19 +894,15 @@ pw_init_db () {
[[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]]
then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
edit_db_from_gui PW_PREFIX_NAME
fi
fi
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
. "${PORTWINE_DB_FILE}"
# HOTFIX: update prefix
[[ "$PW_WINE_USE" == "PROTON_LG_8-15" ]] && export PW_WINE_USE="$PW_PROTON_LG_VER"
init_wine_ver &&
init_wine_ver &&
print_info "Use ${PORTWINE_DB_FILE} db file."
fi
if [ -z "${PATH_TO_GAME}" ] ; then
if [[ -z "${PATH_TO_GAME}" ]] || [[ ! -d "${PATH_TO_GAME}" ]]; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
fi
@ -908,8 +922,11 @@ pw_init_db () {
check_variables PW_USE_FAKE_DLSS "0"
check_variables PW_USE_RAY_TRACING "1"
fi
check_hybrid_graphicks && check_variables PW_PRIME_RENDER_OFFLOAD "1"
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
}
@ -1038,6 +1055,22 @@ edit_db_from_gui () {
return 0
}
edit_user_conf_from_gui () {
for mod_db in $@ ; do
print_info "${mod_db}=${!mod_db}"
if [ -z "`cat "${USER_CONF}" | grep "export ${mod_db}="`" ] ; then
echo "export ${mod_db}=\"${!mod_db}\"" >> "${USER_CONF}"
elif [ "`cat "${USER_CONF}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then
if [ "`cat "${USER_CONF}" | grep "export ${mod_db}=" | grep -v "#"`" != "export ${mod_db}=\"${!mod_db}\"" ] ; then
sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/" "${USER_CONF}"
fi
elif [ "`cat "${USER_CONF}" | grep "export ${mod_db}="`" != "export ${mod_db}=${!mod_db}" ] ; then
sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/g" "${USER_CONF}"
fi
done
return 0
}
pw_create_gui_png () {
if [ ! -z "${PORTWINE_CREATE_SHORTCUT_NAME}" ] ; then
export PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}"
@ -1052,7 +1085,7 @@ pw_create_gui_png () {
if [[ -x "`command -v wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img"
create_new_dir "${PORT_WINE_TMP_PATH}/tmp_img"
wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "${portwine_exe}"
wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "$(readlink -f "${portwine_exe}")"
cp "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".ico" | head -n 1)" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
icotool -x --width=${PW_RESIZE_TO} --height=${PW_RESIZE_TO} --output="${PORT_WINE_TMP_PATH}/tmp_img/" "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.ico"
if [[ ! -f "$(ls -S -1 "${PORT_WINE_TMP_PATH}/tmp_img/"*".png" | grep "${PW_RESIZE_TO}x${PW_RESIZE_TO}")" ]] ; then
@ -1117,3 +1150,22 @@ pw_find_exe () {
exit 0
fi
}
pw_create_unique_exe () {
BASEDIR_GAME="$(dirname "$portwine_exe")"
if [[ -d "$BASEDIR_GAME" ]] ; then
pushd "$BASEDIR_GAME"
BASENAME_GAME_EXE="$(basename "$portwine_exe")"
if [[ ! -z "$1" ]] ; then
BASENAME_GAME="$(echo "$(basename "$1" .exe).exe")"
ln -sf "$BASENAME_GAME_EXE" "$BASENAME_GAME"
export portwine_exe="$BASEDIR_GAME/$BASENAME_GAME"
elif [[ ! -z "$PORTWINE_CREATE_SHORTCUT_NAME" ]] ; then
ln -sf "$BASENAME_GAME_EXE" "$PORTWINE_CREATE_SHORTCUT_NAME.exe"
export portwine_exe="$BASEDIR_GAME/$PORTWINE_CREATE_SHORTCUT_NAME.exe"
else
print_warning "There are no arguments for creating a symbolic link! Skip it..."
fi
popd
fi
}

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Author: linux-gaming.ru
# Helped in translation: ConTI1NuEsZZZ and Boria138
# Helped in translation: ConTI1NuEsZZZ and Boria138
unset update_loc
if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
@ -30,10 +30,22 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_scripts_fb="Откатить версию скриптов"
export loc_gui_credits="Авторы и спасибы =)"
export loc_gui_clear_pfx="Очистить префикс"
export loc_gui_download_other_wine="Скачать другую версию wine"
export loc_gui_create_pfx_backup="Создать резервную копию префикса"
export loc_create_pfx_backup_path="РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРЕФИКСА В..."
export loc_gui_wine_uninstaller="Удаление программм"
export loc_gui_wine_cfg="Настройка префикса"
export loc_gui_wine_file="Файловый менеджер"
export loc_gui_wine_cmd="Командная строка"
export loc_gui_wine_reg="Редактор реестра"
export loc_tray_winefile="Файловый менеджер WINE"
export loc_tray_tascmng="Диспетчер задач WINE"
export loc_tray_cangelog="История изменений"
export loc_tray_force_exit="Завершить работу PortProton"
export loc_tray_force_exit="Завершить работу ${portname}"
export loc_mg_autoinstall="АВТОУСТАНОВКА"
export loc_mg_emulators="ЭМУЛЯТОРЫ"
@ -49,6 +61,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export sc_info="Ярлык будет создан в каталоге ${portname}."
export sc_name="Название"
export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры и на Рабочий стол"
export sc_add_in_steam="Добавить ярлык в библиотеку STEAM"
export sc_restert_steam="Для добавления ярлыка в STEAM, необходим перезапуск.\n\nПерезапустить STEAM?"
export inst_succ="Установка завершена успешно!"
@ -96,10 +110,13 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_winefile="Запустить файловый менеждер встроенный в wine"
export loc_winecmd="Запустить командную строку wine"
export loc_winereg="Запустить редактор реестра выбранного префикса"
export loc_wineuninstaller="Запустить средство удаление программ встроенное в wine"
export loc_winetricks="Запустить префикс менеджер для установки доп. библиотек в выбранный префикс"
export loc_edit_db="Изменить файл настроек для"
export loc_download_other_wine="Открыть меню для скачивания других версий WINE-PROTON"
export loc_clear_pfx="Очистить префикс для исправления проблем"
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)'
@ -117,25 +134,24 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)'
export PW_GUI_DISABLED_CS_INFO='Отключить окно выбора режимов запуска и версии WINE'
export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)'
export PW_FORCE_LARGE_ADDRESS_AWARE_INFO='Увеличивает ограничения на использование оперативной памяти для 32 битных приложений с двух до четырёх гигабайт'
export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)'
export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)'
export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)'
export PW_DX12_DISABLE_INFO='Принудительное отключение DirectX 12'
export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)'
export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)'
export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX'
export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)'
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12'
export PW_MANGOHUD_x32_INFO='Включить MANGOHUD для 32 битных приложений и игр'
export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12 (проект CyberFSR2)'
export PW_USE_EAC_AND_BE_INFO='Включить Easy Anti-Cheat and BattlEye Anti-Cheat (требуется если игра использует какой-то из этих античитов)'
export PW_REDUCE_PULSE_LATENCY_INFO='Уменьшить задержку pulseaudio для исправления прерывистого звука'
export PW_USE_US_LAYOUT_INFO='Работает только под x11. Принудительное использование английской раскладки (полезно для игр в которых управление верно работает исключительно на английской раскладке)'
export PW_USE_US_LAYOUT_INFO='Принудительное использование английской раскладки (полезно для игр в которых управление верно работает исключительно на английской раскладке)'
export PW_RESTORE_RESOLUTION_INFO='Запомнить разрешение экрана при запуске игры и вернуть при закрытие (полезно для игр которые при закрытие меняют разрешение экрана)'
export PW_USE_SYSTEM_VK_LAYERS_INFO='Использовать системные mangohud, vkBasalt, obs-vkcapture и прочие приложения использующие vulkan layers'
export PW_USE_OBS_VKCAPTURE_INFO='Включить возможность записи в OBS Studio с помощью obs-vkcapture (ВНИМАНИЕ: будет включено принудительное использование системных mangohud, vkBasalt, obs-vkcapture и прочих приложений использующих vulkan layers)'
export PW_USE_GALLIUM_ZINK_INFO='Использовать драйвер zink (OpenGL поверх Vulkan), позволяет использовать vkBasalt в играх на OpenGL (ВНИМАНИЕ: необходима поддержка vulkan, используется wined3d (opengl) вместо dxvk, подходит для игр на OpenGL и старых версий DirectX, на более новых версиях DirectX возможны артефакты)'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместно с CAS'
@ -160,7 +176,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_HighPassSharpen_INFO='Повышения резкости с использованием высокочастотных частот'
export PW_HQ4X_INFO='Сглаживание близлежащих пикселей с дорисовкой недостающих частей (в обычных играх картинка размывается)'
export PW_HSLShift_INFO='Усовершенствованный сдвиг HSL (для каждого оттенка)'
export PW_Layer_INFO='Наложение изображения на игру (изображение лежит в папке ~/PortWINE/PortProton/data/tmp/libs_v43/pressure-vessel/reshade/textures)'
export PW_Layer_INFO="Наложение изображения на игру (изображение лежит в папке $PORT_WINE_TMP_PATH/libs_v$PW_LIBS_VER/pressure-vessel/reshade/textures)"
export PW_Levels_INFO='Увеличивает контрастность, но некоторые детали в тенях или бликах могут быть потеряны'
export PW_LevelsPlus_INFO='Тоже что и Levels, но с меньшей потерей деталей'
export PW_LiftGammaGain_INFO='Коррекция гаммы по отдельным цветовым каналам: красному, зелёному и синему'
@ -192,8 +208,66 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_UIMask_INFO='Часть общего шейдера ReShade . Он использует маску с градиентами от черного к белому, чтобы определить, где будут применены эффекты'
export PW_StageDepth_INFO='Позволяет добавлять новые элементы в 3d-пространство внутри игры и применять пользовательские текстуры'
export PW_PPFX_Bloom_INFO='Добавляет Bloom эффект'
export PW_WAYLAND_INFO="Внимание! Вы запускаете ${portname} в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export ENABLE_MANGOHUD_INFO='Включите MangoHud по умолчанию (горячие клавиши R_SHIFT + F12 отключают MangoHud).'
export PW_MH_arch_INFO='Показывает, является ли приложение 32-разрядным или 64-разрядным'
export PW_MH_battery_INFO='Display current battery percent and energy consumption'
export PW_MH_battery_icon_INFO='Отображение текущего процента заряда батареи и энергопотребления'
export PW_MH_battery_time_INFO='Отображение оставшегося времени работы от аккумулятора'
export PW_MH_battery_watt_INFO='Отображать мощность для опции батареи'
export PW_MH_core_bars_INFO='Измените отображение core_load с цифр на вертикальные полосы'
export PW_MH_core_load_INFO='Отображать нагрузку и частоту на ядро'
export PW_MH_cpu_mhz_INFO='Показывает текущую частоту процессора в МГц'
export PW_MH_cpu_power_INFO='Отображать потребляемую процессором мощность в ваттах'
export PW_MH_cpu_temp_INFO='Отображение текущей температуры процессора'
export PW_MH_device_battery_icon_INFO='Отобразите значок батареи беспроводного устройства.'
export PW_MH_engine_short_names_INFO='Отобразите краткую версию используемого движка (например, OGL вместо OpenGL).'
export PW_MH_engine_version_INFO='Отображать версию OpenGL или vulkan и движков рендеринга на основе vulkan'
export PW_MH_exec_name_INFO='Отображать текущее имя исполняемого файла'
export PW_MH_fcat_INFO='Позволяет анализировать захват кадра'
export PW_MH_fps_metrics_INFO='Принимает список десятичных значений или значение avg, например avg,0,001'
export PW_MH_fps_only_INFO='Показывать только FPS. <b>Не предназначен для использования с другими параметрами</b>'
export PW_MH_frame_count_INFO='Показывать FPS'
export PW_MH_full_INFO='Включите большинство переключаемых параметров (в настоящее время исключается гистограмма)'
export PW_MH_gamemode_INFO='Отображает активность gamemode'
export PW_MH_gpu_core_clock_INFO='Отображение частоты ядра графического процессора'
export PW_MH_gpu_fan_INFO='Скорость врашение кулеров графического процессора'
export PW_MH_gpu_junction_temp_INFO='Отображение текущей температуры графического процессора'
export PW_MH_gpu_mem_clock_INFO='Отображение частоты памяти графического процессора'
export PW_MH_gpu_mem_temp_INFO='Отображение текущей температуры графического процессора'
export PW_MH_gpu_name_INFO='Отобразить имя графического процессора из pci.ids'
export PW_MH_gpu_power_INFO='Отображение потребляемой мощности графического процессора в ваттах'
export PW_MH_gpu_temp_INFO='Отображение текущей температуры графического процессора'
export PW_MH_gpu_voltage_INFO='Отображение напряжения на графическом процессоре (работает только на графических процессорах AMD'
export PW_MH_histogram_INFO='Измените график FPS на гистограмму'
export PW_MH_horizontal_INFO='Отображение Mangohud в горизонтальном положении'
export PW_MH_horizontal_stretch_INFO='Растягивает фон до ширины экрана в горизонтальном режиме'
export PW_MH_hud_compact_INFO='Отображать компактную версию MangoHud'
export PW_MH_hud_no_margin_INFO='Удалите отступы вокруг MangoHud'
export PW_MH_io_read_INFO='Показать некэшированное чтение IO, в МБ/с'
export PW_MH_io_write_INFO='Показать некэшированные записи, в МБ/с'
export PW_MH_no_display_INFO='Скрыть MangoHud по умолчанию'
export PW_MH_no_small_font_INFO='Используйте основной размер шрифта для мелкого текста, например, единиц измерения'
export PW_MH_procmem_INFO='Отображает использование памяти процесса: resident, а также включает другие, если они отключены'
export PW_MH_procmem_shared_INFO='Отображает использование памяти процесса: shared'
export PW_MH_procmem_virt_INFO='Отображает использование памяти процесса: virtual'
export PW_MH_ram_INFO='Отображение использования оперативной памяти системы'
export PW_MH_resolution_INFO='Отображение текущего разрешения экрана'
export PW_MH_show_fps_limit_INFO='Отображение текущего ограничения FPS'
export PW_MH_swap_INFO='Отображение использования пространства для свопа рядом с использованием системной оперативной памяти'
export PW_MH_temp_fahrenheit_INFO='Показывать температуру в градусах Фаренгейта'
export PW_MH_throttling_status_INFO='Показывает, сбрасывает ли GPU мощность, ток, температуру или "другое" (показывает только, если сбрасывание происходит в данный момент). В настоящее время отключено по умолчанию для Nvidia, так как вызывает задержки на 3000-й серии.'
export PW_MH_throttling_status_graph_INFO='То же, что и throttling_status, но отображает throttling на графике времени кадра и только throttling мощности и температуры.'
export PW_MH_time_INFO='Отоброжение времени'
export PW_MH_version_INFO='Показать текущую версию MangoHud'
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_wine_INFO='Показать используемую версию Wine или Proton'
export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов"
export PW_PFX_BACKUP_SUCCESS="Резервная копия префикса: \"${PW_PREFIX_NAME}\" успешно создана"
export PW_PFX_BACKUP_ERROR="Во время создания резервной копии префикса: \"${PW_PREFIX_NAME}\" произошла ошибка"
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
@ -210,6 +284,11 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
export loc_gui_reset_db="СБРОСИТЬ НАСТРОЙКИ"
export loc_gui_reset_db_help="Востановить все настройки по умолчанию."
export loc_disabled="Отключено"
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную."
@ -228,21 +307,53 @@ if [[ "${update_loc}" == "RUS" ]] ; then
Краткая инструкция:
* библиотеки пишутся <b>БЕЗ</b> расширения файлов .dll
* библиотеки разделяются точкой с запятой - <b>;</b>
* библиотека=n - использовать библиотеку <b>WINDOWS</b> (сторонюю)
* библиотека=b - использовать библиотеку <b>WINE</b> (встроенную)
* библиотека=n - использовать библиотеку <b>WINDOWS</b> (сторонюю)
* библиотека=b - использовать библиотеку <b>WINE</b> (встроенную)
* библиотека=n,b - использовать <b>WINDOWS</b> библиотеку, а затем <b>WINE</b>
* библиотека=b,n - использовать библиотеку <b>WINE</b>, а затем <b>WINDOWS</b>
* библиотека= - отключить использование данной библиотеки"
export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла"
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
export loc_gui_mango_fps="Ограничить FPS"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton."
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в ${portname}"
export loc_gui_arg_gamescope="Добавить аргументы для GAMESCOPE:"
export loc_gui_arg_gamescope_help="Аргументы:
<b>-W, -H:</b> установите разрешение, используемое game scope. Изменение размера окна gamescope обновит эти настройки. Если указано -H, а -W нет, предполагается соотношение сторон 16:9. По умолчанию установлено значение 1280×720.
<b>-w, -h:</b> установите разрешение, используемое в игре. Если указано -h, а -w нет, предполагается соотношение сторон 16:9. По умолчанию используются значения, указанные в -W и -H.
<b>-r:</b> установите ограничение частоты кадров для игры. По умолчанию значение неограниченно.
<b>-F fsr:</b> используйте Fidelity FX Super Resolution 1.0 для увеличения масштаба.
<b>-F nis:</b> используйте NVIDIA Image Scaling версии 1.0.3 для увеличения масштаба.
<b>-S integer:</b> используйте целочисленное масштабирование.
<b>-S stretch:</b> используйте масштабирование по ширине, игра заполнит окно. (например, с 4:3 до 16:9).
<b>-b:</b> создайте окно без полей.
<b>-f:</b> создайте полноэкранное окно."
export PW_USE_GAMESCOPE_INFO="Включение использования gamescope для запуска приложения.
Горячие клавиши:
<b>Super + F:</b> Переключение полноэкранного режима
<b>Super + N:</b> Переключение фильтрации
<b>Super + U:</b> Переключение масштабирования на FSR
<b>Super + Y:</b> Переключение масштабирования на NIS
<b>Super + I:</b> Увеличение резкости FSR на 1
<b>Super + O:</b> Уменьшение резкости FSR на 1
<b>Super + S:</b> Сделайте снимок экрана (находится в /tmp/gamescope_DATE.png)
<b>Super + G:</b> Переключите захват клавиатуры
<b>Super + C:</b> Обновить буфер обмена"
export loc_gui_cpu_limit="Ограничить использование ядер процессора"
export loc_gui_cpu_limit_help="Ограничения количества ядер процессора полезно для игр на движке Unity (Рекомендуется выставить значение равное 8)"
export loc_gui_amd_vulkan_select="Изменить используемый драйвер vulkan для AMD"
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_check_new_wine="Проверяем новые версии WINE на GitHub"
export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
@ -250,10 +361,14 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ"
export loc_gui_ffx_cas="AMD FidelityFX - CAS предназначе для значительного улучшения резкости текстур без дополнительных установок модификаций для игр, с минимальной потерей производительности. (Для старых игр рекомендуется значение = 100)"
export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ VKBASALT"
export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ VKBASALT"
export loc_gui_disabled_vkbas_help="Выключить vkBasalt и перейти в предыдущее меню."
export loc_gui_vkbasalt_top="Настройки vkBasalt для добавления эффектов в играх работающих под Vulkan. (Клавиша <b>HOME</b> отключает vkbasalt)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n"
export loc_gui_disabled_mh="ВЫКЛЮЧИТЬ MANGOHUD"
export loc_gui_disabled_mh_help="Выключить MangoHud и перейти в предыдущее меню."
export loc_gui_mh_top="Настройки MangoHud (Клавишы <b>R_SHIFT + F12</b> отключают MangoHud)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n"
export loc_gui_no="НЕТ"
export loc_gui_yes="ДА"
@ -264,7 +379,9 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_debug="СОЗДАТЬ ЛОГ"
export loc_gui_edit_db_start="НАСТРОИТЬ"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_db_comments="Найден файл настроек PortProton для"
export loc_gui_mh_start="MANGOHUD"
export loc_gui_db_comments="Найден файл настроек ${portname} для"
export loc_gui_vulkan_stable="Стабильные DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Новейшие DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
@ -274,6 +391,24 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_installing_the="Устанавливаем"
export loc_gui_please_wait="Пожалуйста подождите..."
export loc_dolphin="Эмулятор для игровых консолей Nintendo с высокой совместимостью"
export loc_mame="Мультиаркадный эмулятор, позволяющий играть в старые аркадные игры"
export loc_scummvm="Эмулятор для классических квестовых игр от LucasArts и других студий"
export loc_retroarch="Многоплатформенный фронтенд для эмуляторов с обширными настройками"
export loc_ppsspp_windows="Windows - Эмулятор для игровой консоли PlayStation Portable (PSP)"
export loc_citra="Эмулятор для игровой консоли Nintendo 3DS"
export loc_cemu="Эмулятор для игровой консоли Wii U"
export loc_duckstation="Эмулятор для игровой консоли PlayStation 1"
export loc_epsxe="Эмулятор для игровой консоли PlayStation 1 с высокой совместимостью"
export loc_project64="Эмулятор для игровой консоли Nintendo 64"
export loc_vba_m="Эмулятор для игровой консоли Game Boy Advance"
export loc_yabause="Эмулятор для игровой консоли Sega Saturn"
export loc_xenia="Эмулятор для игровой консоли Xbox 360"
export loc_fceux=" Эмулятор для игровой консоли Nintendo Entertainment System (NES или Dendy)"
export loc_xemu="Эмулятор для игровой консоли Xbox"
export loc_demul="Эмулятор для игровой консоли Sega Dreamcast"
export loc_rpcs3="Эмулятор для игровой консоли PlayStation 3"
elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_pw_reinstall_pp="REINSTALL ${portname}"
@ -285,6 +420,18 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_scripts_fb="SCRIPTS FROM BACKUP"
export loc_gui_credits="CREDITS"
export loc_gui_clear_pfx="Clear prefix"
export loc_gui_download_other_wine="Get other Wine"
export loc_gui_create_pfx_backup="Create prefix backup"
export loc_create_pfx_backup_path="BACKUP PREFIX TO..."
export loc_gui_wine_uninstaller="Uninstaller"
export loc_gui_wine_cfg="Prefix configuration"
export loc_gui_wine_file="File manager"
export loc_gui_wine_cmd="CMD"
export loc_gui_wine_reg="Reg edit"
export loc_tray_winefile="WINEFILE"
export loc_tray_tascmng="TASKMNR"
export loc_tray_cangelog="CHANGE LOG"
@ -293,7 +440,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_mg_autoinstall="AUTOINSTALL"
export loc_mg_emulators="EMULATORS"
export loc_mg_wine_settings="WINE SETTINGS"
export loc_mg_portproton_settings="${portname} SETTINGS"
export loc_mg_portproton_settings="PORTPROTON SETTINGS"
export loc_mg_installed="INSTALLED"
export PW_CHANGELOG_FILE="changelog_eng"
@ -304,6 +451,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
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_add_in_steam="Add shortcut to STEAM library"
export sc_restert_steam="For adding shortcut to STEAM, needed restart.\n\nRestart STEAM now?"
export inst_succ="The installation was successful."
@ -351,10 +500,13 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_winefile="Run wine file manager"
export loc_winecmd="Run wine cmd"
export loc_winereg="Run wine regedit"
export loc_wineuninstaller="Run the program uninstaller built into wine"
export loc_winetricks="Run winetricks to install additional libraries to the selected prefix"
export loc_edit_db="Edit database file for"
export loc_download_other_wine="Open the menu to download other versions of WINE-PROTON "
export loc_clear_pfx="Clear the prefix to fix problems"
export ENABLE_VKBASALT_INFO='Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)'
export PW_NO_ESYNC_INFO='Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)'
export PW_NO_FSYNC_INFO='Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)'
@ -372,26 +524,24 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_NO_WRITE_WATCH_INFO='A very dangerous way to hack the memory write timer in ntdll. This improves the performance of some very specific games. (It is recommended not to change the value.)'
export PW_GUI_DISABLED_CS_INFO='Disable the window for selecting startup modes and WINE versions'
export PW_USE_GSTREAMER_INFO='Use Gstreamer to output clips in games (WMF support)'
export PW_FORCE_LARGE_ADDRESS_AWARE_INFO='Increases RAM usage limits for 32-bit applications from two to four gigabytes'
export PW_USE_RUNTIME_INFO='Use container launch mode (It is recommended not to change the value)'
export PW_MANGOHUD_INFO='Using FPS and system load monitoring (Turns on and off by the key combination - right Shift + F12)'
export PW_USE_GAMEMODE_INFO='Using automatic system optimization to improve performance in games (provided the gamemode package is installed on the system)'
export PW_DX12_DISABLE_INFO='Forced disabling DirectX 12'
export PW_USE_WINE_DXGI_INFO='Forced use of built-in DXGI library (in rare cases it solves problems with DX12 games)'
export PW_MANGOHUD_USER_CONF_INFO='Forced use of MANGOHUD system settings (GOverlay, etc.)'
export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries'
export PW_PRIME_RENDER_OFFLOAD_INFO='Enable NVIDIA discrete graphics card for notebooks with hybrid graphics (if supported by the installed driver in the OS)'
export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix'
export PW_USE_AMDVLK_DRIVER_INFO='Use AMDVLK driver instead of RADV on AMD graphics cards'
export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)'
export PW_WINE_FULLSCREEN_FSR_INFO='Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen'
export PW_USE_FAKE_DLSS_INFO='Enable DLSS translator in FSR 2 in DirectX 12 games'
export PW_MANGOHUD_x32_INFO='Enable MANGOHUD for 32 bit applications and games'
export PW_USE_FAKE_DLSS_INFO='Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)'
export PW_USE_EAC_AND_BE_INFO='Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game used this anti-cheats)'
export PW_REDUCE_PULSE_LATENCY_INFO='Reduce pulseaudio latency to fix intermittent sound'
export PW_USE_US_LAYOUT_INFO='Works only x11. Forced use of the us layout (useful for games in which the control works correctly only on the us layout)'
export PW_USE_US_LAYOUT_INFO='Forced use of the us layout (useful for games in which the control works correctly only on the us layout)'
export PW_RESTORE_RESOLUTION_INFO='Remember the screen resolution when starting the game and return it when closing (useful for games that change the screen resolution when closing)'
export PW_USE_SYSTEM_VK_LAYERS_INFO='Use system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers'
export PW_USE_OBS_VKCAPTURE_INFO='Enable the ability to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)'
export PW_USE_GALLIUM_ZINK_INFO='Use the zink driver (OpenGL on top of Vulkan), allows you to use vkBasalt in OpenGL games (ATTENTION: vulkan support is required, wined3d (opengl) is used instead of dxvk, suitable for games on OpenGL and older versions of DirectX, artifacts are possible on newer versions of DirectX)'
export PW_3DFX_INFO='Simulation of an old 3dfx graphics accelerator (adds horizontal stripes)'
export PW_AdaptiveSharpen_INFO='Sharpness increase, can be used with CAS'
export PW_Bloom_INFO='Adds glow from bright light sources in the game'
@ -415,7 +565,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_HighPassSharpen_INFO='Another method of sharpening using highpass frequencies'
export PW_HQ4X_INFO='Smoothing of nearby pixels with the drawing of missing parts (in normal games the picture is blurred)'
export PW_HSLShift_INFO='Advanced HSL shift (for each shade)'
export PW_Layer_INFO='Image overlay on the game (the image is in the ~/PortWINE/PortProton/data/tmp/libs_v43/pressure-vessel/reshade/textures folder)'
export PW_Layer_INFO="Image overlay on the game (the image is in the $PORT_WINE_TMP_PATH/libs_v$PW_LIBS_VER/pressure-vessel/reshade/textures folder)"
export PW_Levels_INFO='Increases contrast, but some detail in shadows or highlights may be lost'
export PW_LevelsPlus_INFO='Same as Levels, but with less loss of detail'
export PW_LiftGammaGain_INFO='Gamma correction by individual color channels: red, green and blue'
@ -447,8 +597,66 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_UIMask_INFO='Part of the overall ReShade shader . It uses a mask with gradients from black to white to determine where the effects will be applied'
export PW_StageDepth_INFO='Allows you to add new elements to the 3d space inside the game and apply custom textures'
export PW_PPFX_Bloom_INFO='Adds a Bloom effect'
export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!"
export ENABLE_MANGOHUD_INFO='Включите MangoHud по умолчанию (горячие клавиши R_SHIFT + F12 отключают MangoHud)'
export PW_MH_arch_INFO='Show if the application is 32- or 64-bit'
export PW_MH_battery_INFO='Display current battery percent and energy consumption'
export PW_MH_battery_icon_INFO='Display battery icon instead of percent'
export PW_MH_battery_time_INFO='Display remaining time for battery option'
export PW_MH_battery_watt_INFO='Display wattage for the battery option'
export PW_MH_core_bars_INFO='Change the display of core_load from numbers to vertical bars'
export PW_MH_core_load_INFO='Display load & frequency per core'
export PW_MH_cpu_mhz_INFO='Show the CPUs current MHz'
export PW_MH_cpu_power_INFO='Display CPU draw in watts'
export PW_MH_cpu_temp_INFO='Display current CPU temperature'
export PW_MH_device_battery_icon_INFO='Display wirless device battery icon.'
export PW_MH_engine_short_names_INFO='Display a short version of the used engine (e.g. OGL instead of OpenGL)'
export PW_MH_engine_version_INFO='Display OpenGL or vulkan and vulkan-based render engines version'
export PW_MH_exec_name_INFO='Display current exec name'
export PW_MH_fcat_INFO='Enables frame capture analysis'
export PW_MH_fps_metrics_INFO='Takes a list of decimal values or the value avg, e.g avg,0.001'
export PW_MH_fps_only_INFO='Show FPS only. <b>Not meant to be used with other display params</b>'
export PW_MH_frame_count_INFO='Display frame count'
export PW_MH_full_INFO='Enable most of the toggleable parameters (currently excludes histogram)'
export PW_MH_gamemode_INFO='Show if GameMode is on'
export PW_MH_gpu_core_clock_INFO='Display GPU core frequency'
export PW_MH_gpu_fan_INFO='GPU fan in rpm on AMD, FAN in percent on NVIDIA'
export PW_MH_gpu_junction_temp_INFO='Display current GPU temperature'
export PW_MH_gpu_mem_clock_INFO='Display GPU memory frequency'
export PW_MH_gpu_mem_temp_INFO='Display current GPU temperature'
export PW_MH_gpu_name_INFO='Display GPU name from pci.ids'
export PW_MH_gpu_power_INFO='Display GPU draw in watts'
export PW_MH_gpu_temp_INFO='Display current GPU temperature'
export PW_MH_gpu_voltage_INFO='Display GPU voltage (only works on AMD GPUs)'
export PW_MH_histogram_INFO='Change FPS graph to histogram'
export PW_MH_horizontal_INFO='Display Mangohud in a horizontal position'
export PW_MH_horizontal_stretch_INFO='Stretches the background to the screens width in horizontal mode'
export PW_MH_hud_compact_INFO='Display compact version of MangoHud'
export PW_MH_hud_no_margin_INFO='Remove margins around MangoHud'
export PW_MH_io_read_INFO='Show non-cached IO read, in MiB/s'
export PW_MH_io_write_INFO='Show non-cached IO write, in MiB/s'
export PW_MH_no_display_INFO='Hide the HUD by default'
export PW_MH_no_small_font_INFO='Use primary font size for smaller text like units'
export PW_MH_procmem_INFO='Displays process memory usage: resident procmem (resident) also toggles others off if disabled'
export PW_MH_procmem_shared_INFO='Displays process memory usage: shared'
export PW_MH_procmem_virt_INFO='Displays process memory usage: virtual'
export PW_MH_ram_INFO='Display system RAM usage'
export PW_MH_resolution_INFO='Display the current resolution'
export PW_MH_show_fps_limit_INFO='Display the current FPS limit'
export PW_MH_swap_INFO='Display swap space usage next to system RAM usage'
export PW_MH_temp_fahrenheit_INFO='Show temperature in Fahrenheit'
export PW_MH_throttling_status_INFO='Show if GPU is throttling based on Power, current, temp or "other" (Only shows if throttling is currently happening). Currently disabled by default for Nvidia as it causes lag on 3000 series'
export PW_MH_throttling_status_graph_INFO='Same as throttling_status but displays throttling in the frametime graph and only power and temp throttling'
export PW_MH_time_INFO='Display local time'
export PW_MH_version_INFO='Show current MangoHud version'
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_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"
export PW_PFX_BACKUP_SUCCESS="Prefix backup: \"${PW_PREFIX_NAME}\" has been successfully created"
export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix: \"${PW_PREFIX_NAME}\" error occurred"
export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>"
@ -465,11 +673,17 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_cancel="CANCEL THE CHANGES"
export loc_gui_cancel_help="Cancel the current changes and return to the previous menu."
export loc_gui_reset_db="RESET SETTINGS"
export loc_gui_reset_db_help="Restore default settings."
export loc_disabled="Disabled"
export loc_gui_open_db="OPEN THE SETTINGS FILE"
export loc_gui_open_db_help="Open the <b>.ppdb</b> settings file in a system text editor to view and change variables manually."
export loc_gui_save_changes="SAVE CHANGES"
export loc_gui_save_changes_help="Save the current changes, and go to the previous menu."
export loc_gui_save_changes_help="Save the current changes, and go to the previous menu."
export loc_gui_ver_windows="Change the version of <b>WINDOWS</b> emulation"
export loc_gui_ver_windows_help="Changing the <b>WINDOWS</b> emulation version may be required to run older games. <b>WINDOWS</b> versions below 10 do not support new games with DirectX 12"
@ -485,20 +699,50 @@ A brief instruction:
* libraries are written <b>WITHOUT</b> the .dll file extension
* libraries are separated by semicolons - <b>;</b>
* library=n - use the <b>WINDOWS</b> (third-party) library
* library=b - use <b>WINE</b> (built-in) library
* library=b - use <b>WINE</b> (built-in) library
* library=n,b - use <b>WINDOWS</b> library and then <b>WINE</b>
* library=b,n - use <b>WINE</b> library and then <b>WINDOWS</b>
* library= - disable the use of this library"
export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE"
export loc_gui_arg_exe_help="Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system"
export loc_gui_arg_exe_help="Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system"
export loc_gui_mango_fps="MANGOHUD FPS LIMIT"
export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into ${portname}"
export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into ${portname}"
export loc_gui_arg_gamescope="Add arguments for GAMESCOPE:"
export loc_gui_arg_gamescope_help="
<b>-W, -H:</b> set the resolution used by gamescope. Resizing the gamescope window will update these settings. Ignored in embedded mode. If -H is specified but -W isn't, a 16:9 aspect ratio is assumed. Defaults to 1280×720.
<b>-w, -h:</b> set the resolution used by the game. If -h is specified but -w isn't, a 16:9 aspect ratio is assumed. Defaults to the values specified in -W and -H.
<b>-r:</b> set a frame-rate limit for the game. Specified in frames per second. Defaults to unlimited.
<b>-o:</b> set a frame-rate limit for the game when unfocused. Specified in frames per second. Defaults to unlimited.
<b>-F fsr:</b> use AMD FidelityFX™ Super Resolution 1.0 for upscaling.
<b>-F nis:</b> use NVIDIA Image Scaling v1.0.3 for upscaling.
<b>-S integer:</b> use integer scaling.
<b>-S stretch:</b> use stretch scaling, the game will fill the window. (e.g. 4:3 to 16:9).
<b>-b:</b> create a border-less window.
<b>-f:</b> create a full-screen window."
export PW_USE_GAMESCOPE_INFO="
<b>Super + F :</b> Toggle fullscreen
<b>Super + N :</b> Toggle nearest neighbour filtering
<b>Super + U :</b> Toggle FSR upscaling
<b>Super + Y :</b> Toggle NIS upscaling
<b>Super + I :</b> Increase FSR sharpness by 1
<b>Super + O :</b> Decrease FSR sharpness by 1
<b>Super + S :</b> Take screenshot (currently goes to /tmp/gamescope_DATE.png)
<b>Super + G :</b> Toggle keyboard grab
<b>Super + C :</b> Update clipboard"
export loc_gui_cpu_limit="Limit the use of processor cores"
export loc_gui_cpu_limit_help="Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)"
export loc_gui_amd_vulkan_select="Select needed AMD vulkan implementation"
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_check_new_wine="Check new version WINE from GitHub"
export loc_gui_check_new_wine_error="Error: check wine from github."
export loc_gui_set_new_wine="Select WINE for download:"
@ -506,9 +750,13 @@ A brief instruction:
export loc_gui_installed_wine="INSTALLED"
export loc_gui_ffx_cas="AMD FidelityFX - CAS is designed to dramatically improve texture sharpness without additional modification settings for games, with minimal loss of performance. (For older games it is recommended to set value = 100)"
export loc_gui_disabled_vkbas="DISABLE VKBASALT"
export loc_gui_disabled_vkbas="DISABLE VKBASALT"
export loc_gui_disabled_vkbas_help="Disable vkBasalt and go to the previous menu."
export loc_gui_disabled_mh="DISABLE MANGOHUD"
export loc_gui_disabled_mh_help="Disable MangoHud and go to the previous menu."
export loc_gui_mh_top="MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\n<b>note:</b> To display help for each item, just hover the mouse cursor over the text.\n"
export loc_gui_no="NO"
export loc_gui_yes="YES"
@ -519,9 +767,11 @@ A brief instruction:
export loc_gui_debug="DEBUG"
export loc_gui_edit_db_start="EDIT DB"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_mh_start="MangoHud"
export loc_gui_vkbasalt_top="vkBasalt settings for adding effects to games running under Vulkan. (The <b>HOME</b> key disables vkbasalt)\n<b>NOTE:</b> To display help for each item, simply hover over the text\n"
export loc_gui_db_comments="${portname} database file was found for"
export loc_gui_db_comments="${portname} database file was found for"
export loc_gui_vulkan_stable="Stable DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Newest DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
@ -530,4 +780,23 @@ A brief instruction:
export loc_gui_installing_the="Installing the"
export loc_gui_please_wait="Please wait..."
export loc_dolphin="Emulator for Nintendo game consoles with high compatibility"
export loc_mame="Multi-arcade emulator that allows you to play old arcade games"
export loc_scummvm="Emulator for classic adventure games from LucasArts and other studios"
export loc_retroarch="Multi-platform frontend for emulators with extensive settings"
export loc_ppsspp_windows="Windows - Emulator for the PlayStation Portable (PSP) game console"
export loc_citra="Emulator for the Nintendo 3DS game console"
export loc_cemu="Emulator for the Wii U game console"
export loc_duckstation="Emulator for the PlayStation 1 game console"
export loc_epsxe="Emulator for the PlayStation 1 game console with high compatibility"
export loc_project64="Emulator for the Nintendo 64 game console"
export loc_vba_m="Emulator for the Game Boy Advance game console"
export loc_yabause="Emulator for the Sega Saturn game console"
export loc_xenia="Emulator for the Xbox 360 game console"
export loc_fceux="Emulator for the Nintendo Entertainment System (NES or Dendy) game console"
export loc_xemu="Emulator for the Xbox game console"
export loc_demul="Emulator for the Sega Dreamcast game console"
export loc_rpcs3="Emulator for the PlayStation 3 game console"
fi

View File

@ -1,23 +0,0 @@
#!/usr/bin/env bash
#Author: linux-gaming.ru
#setup.exe
#Setup.exe
#SETUP.exe
#.msi
#Rating=5
################################################
export PW_DISABLED_CREATE_DB=1
export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png"
export PW_VULKAN_USE=1
export PW_MANGOHUD=0
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
export PW_WINEDBG_DISABLE=1
export PW_USE_GAMEMODE=1 # Force disabele gamemod
export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
export PW_DLL_INSTALL=""
export PW_PREFIX_NAME="DOTNET"
add_in_stop_portwine () {
pw_find_exe news
}

View File

@ -4,9 +4,4 @@
#EADesktop.exe
#Rating=5
#####################examples###########################
# export PW_DLL_INSTALL="vcrun2019" # Install DDL in port prefix (used winetricks)
export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL
export PW_USE_TERMINAL="1"
export PW_PREFIX_NAME="EA_APP"
# export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64"
# gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64"

View File

@ -7,10 +7,12 @@
export PW_VULKAN_USE=2
export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2="
export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated"
export PW_DLL_INSTALL="vcrun2019"
export PW_PREFIX_NAME="GOG"
export DISABLE_CP_DEFPFX=1
add_in_start_portwine ()
{
if [ -e "${WINEPREFIX}/drive_c/users/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json" ] ; then
sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/steamuser/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json"
sed -i 's/"featureOverlay" : true,/"featureOverlay" : false,/' "${WINEPREFIX}/drive_c/${USER}/Local Settings/Application Data/GOG.com/Galaxy/Configuration/config.json"
fi
}

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
#Author: fidel
#Genshin Impact.exe
#Rating=1-5
#####################examples###########################
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_VULKAN_USE="2"
export PW_HIDE_NVIDIA_GPU="0"
export PW_VIRTUAL_DESKTOP="0"
export ENABLE_VKBASALT="0"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_GSTREAMER="1"
export PW_REDUCE_PULSE_LATENCY="0"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_PREFIX_NAME="GENSHIN_IMPACT"
export PW_MANGOHUD="0"
export PW_MANGOHUD_USER_CONF="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_USE_GAMEMODE="1"
export PW_USE_D3D_EXTRAS="1"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_USE_US_LAYOUT="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="0"
export PW_USE_SHADER_CACHE="1"
export PW_USE_WINE_DXGI="0"
export PW_USE_EAC_AND_BE="0"
export PW_USE_SYSTEM_VK_LAYERS="0"
export PW_USE_OBS_VKCAPTURE="0"
export PW_USE_GALLIUM_ZINK="0"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Author: fidel
#HB_GV_Rus.exe
#Rating=1-5
#####################examples###########################
export PW_PREFIX_NAME="DOTNET"

View File

@ -5,3 +5,4 @@
################################################
export PW_DLL_INSTALL="vcrun2019"
export LAUNCH_PARAMETERS="-EpicPortal"
export PW_USE_SHADER_CACHE="0"

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Author: fidel
#LOTF2.exe
#Rating=5
#####################examples###########################
export PW_WINE_USE="WINE_LG_8-18-1"

View File

@ -11,9 +11,9 @@
export TEXT_OPSSL=""
[[ -z `which openssl` ]] && export TEXT_OPSSL="Install openssl in your system!!!\n"
export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time"
export WINEDLLOVERRIDES="mscoree,mshtml="
# export WINEDLLOVERRIDES="mscoree,mshtml="
export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live"
export PW_WINE_USE=WINE_LOL_GE_8.12
export PW_WINE_USE=WINE_LOL_GE_8.27
export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS"
@ -22,10 +22,9 @@ export PW_NO_ESYNC=1
export PW_DISABLED_CREATE_DB=1
export PW_USE_D3D_EXTRAS=1
export PW_USE_EAC_AND_BE="0"
# export DXVK_STABLE_VER="1.10.3-28"
export DISABLE_CP_DEFPFX=1
try_remove_dir "${PORT_WINE_PATH}/data/dist/WINE_LOL_GE_8.7-1"
try_remove_dir "${PORT_WINE_PATH}/data/dist/WINE_LOL_GE_8.12"
gui_proton_downloader silent "${PW_WINE_USE}"
add_in_start_portwine () {

View File

@ -6,10 +6,10 @@
#####################examples###########################
if [ "${update_loc}" = "RUS" ] ; then
export PW_COMMENT_DB="На данный момент игра работает, но долго запускаеться из Лаунчера. После установки игры, при повторном запуске, игра будет запускаться быстро."
export PW_COMMENT_DB="На данный момент игра работает, но долго запускаеться из Лаунчера.\nПосле установки игры, при повторном запуске, игра будет запускаться быстро."
fi
if [ "${update_loc}" = "ENG" ] ; then
export PW_COMMENT_DB="At the moment the game works, but it takes a long time to start from the Launcher. After installing the game, when restarting, the game will start quickly."
export PW_COMMENT_DB="At the moment the game works, but it takes a long time to start from the Launcher.\nAfter installing the game, when restarting, the game will start quickly."
fi
add_in_start_portwine ()

View File

@ -1,7 +1,8 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PnzSteamLauncher.exe
#Panzar.exe
#Rating=1-5
#####################examples###########################
export PW_WINDOWS_VER="7"
export PW_PREFIX_NAME="PANZAR"

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
#Author: Garrett
#RockstarService.exe
#Launcher.exe
#rockstar_launcher_pp.exe
#LauncherPatcher.exe
#Rating=?
################################################

View File

@ -14,9 +14,9 @@ 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_8.5_LG"
gui_proton_downloader silent "WINE_8.5_LG"
gui_proton_downloader silent "$PW_WINE_USE"
add_in_start_portwine () {
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" ]] ; then

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
#Author: Cefeiko
#wosb_launcher_ru.exe
#Rating=?
################################################
export PW_COMMENT_DB="С этим ДБ файлом писать на АНГЛИЙСКОМ не получится.
Для входа в игру используйте ярлык World of Sea Battle EN"
export PW_PREFIX_NAME="DOTNET"
export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2"
export WINEDLLOVERRIDES="vulkan-1=n,b"
export PW_NO_ESYNC="1"
export PW_USE_D3D_EXTRAS="1"
export PW_USE_GSTREAMER="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export LAUNCH_PARAMETERS=""

View File

@ -0,0 +1,17 @@
#!/usr/bin/env bash
#Author: Cefeiko
#wosb_launcher_en.exe
#Rating=?
################################################
export PW_COMMENT_DB=""
export PW_PREFIX_NAME="DOTNET"
export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2"
export WINEDLLOVERRIDES="vulkan-1=n,b"
export PW_NO_ESYNC="1"
export PW_USE_D3D_EXTRAS="1"
export PW_USE_GSTREAMER="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export LAUNCH_PARAMETERS=""
export LANG=en_US.UTF-8

View File

@ -1,9 +0,0 @@
#!/usr/bin/env bash
#Author: Cefeiko
#wos_client.exe
#WorldOfSeaBattleClient.exe
#Rating=1-5
#####################examples###########################
export PW_PREFIX_NAME="DOTNET"
export PW_DLL_INSTALL="faudio dotnet48 dotnet20sp2 dotnetdesktop7"
export WINEDLLOVERRIDES="quartz=b"

View File

@ -16,8 +16,6 @@
##export LAUNCH_PARAMETERS="+com_skipIntroVideo 1 +com_skipSignInManager 1" # Additional launch options
##export PW_VULKAN_USE=1 # 1 ,dxvk or 0 for OpenGL
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_OLD_GL_STRING=1
##export PW_HIDE_NVIDIA_GPU=1

View File

@ -5,7 +5,6 @@
#Rating=5
export PW_COMMENT_DB="Lesta Game Centers"
################################################
export PW_WINE_USE="PROTON_LG_8-4"
export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL
export LAUNCH_PARAMETERS="" # Additional launch options
export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
@ -14,8 +13,7 @@ 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="LGC"
gui_proton_downloader silent "${PW_WINE_USE}"
export PW_USE_SHADER_CACHE="0"
add_in_start_portwine () {
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/AppData/Roaming/Wargaming.net/WorldOfTanks/preferences.xml" ]] ; then

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash
#Author: xuser
#osu!.exe
#OSU.exe
#osu!install.exe
#Rating=1-5
#####################examples###########################

View File

@ -10,10 +10,10 @@ export PW_DISABLED_CREATE_DB=1
export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png"
export PW_VULKAN_USE=1
export PW_MANGOHUD=0
export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_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=1 # Force disabele gamemod
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=""
export WINEDLLOVERRIDES="mscoree,mshtml="

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
#Author: fidel
#warframe_launcher_pp.exe
#Rating=1-5
#####################examples###########################
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_VULKAN_USE="2"
export PW_HIDE_NVIDIA_GPU="0"
export PW_VIRTUAL_DESKTOP="0"
export ENABLE_VKBASALT="0"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_GSTREAMER="1"
export PW_REDUCE_PULSE_LATENCY="0"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_PREFIX_NAME="DEFAULT"
export PW_MANGOHUD="0"
export PW_MANGOHUD_USER_CONF="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_USE_GAMEMODE="1"
export PW_USE_D3D_EXTRAS="1"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_USE_US_LAYOUT="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="0"
export PW_USE_SHADER_CACHE="1"
export PW_USE_WINE_DXGI="0"
export PW_USE_EAC_AND_BE="0"
export PW_USE_SYSTEM_VK_LAYERS="0"
export PW_USE_OBS_VKCAPTURE="0"
export PW_USE_GALLIUM_ZINK="0"

View File

@ -5,7 +5,6 @@
#Rating=5
export PW_COMMENT_DB="Wargaming Game Centers"
################################################
export PW_WINE_USE="PROTON_LG_8-4"
export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL
export LAUNCH_PARAMETERS="" # Additional launch options
export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
@ -14,8 +13,7 @@ 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="WGC"
gui_proton_downloader silent "${PW_WINE_USE}"
export PW_USE_SHADER_CACHE="0"
add_in_start_portwine () {
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/AppData/Roaming/Wargaming.net/WorldOfTanks/preferences.xml" ]] ; then

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/S")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama-Setup.exe"
start_portwine
if try_download "https://download.ankama.com/launcher/full/win/" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -3,8 +3,9 @@
########################################################################
[ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe"
start_portwine
if try_download "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/VERYSILENT" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/BethesdaNetLauncher_Setup.exe"
start_portwine
if try_download "https://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bsr_setup.exe"
start_portwine
if try_download "https://battleofspaceraiders.com/install/bsr_setup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -9,7 +9,7 @@ export PW_WINE_USE=PROTON_STEAM_6.3-8
gui_proton_downloader silent "${PW_WINE_USE}"
start_portwine
if try_download "https://caliber-files.gcdn.co/caliber-s3/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -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 "${PW_URL_CEMU}" "${PW_AUTOINSTALL_EXE}"
if try_download_game "${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)"

View File

@ -3,17 +3,26 @@
########################################################################
#export LAUNCH_PARAMETERS=("")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/citra-setup-windows.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Citra"
start_portwine
if try_download "github.com/citra-emu/citra-web/releases/download/1.0/citra-setup-windows.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"
portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Citra/nightly-mingw/citra-qt.exe"
if [[ -f "$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Citra/nightly/citra-qt.exe" ]] ; then
export portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Citra/nightly/citra-qt.exe"
elif [[ -f "$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Citra/canary/citra-qt.exe" ]] ; then
export portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Citra/canary/citra-qt.exe"
else
export portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "citra-qt.exe"`
fi
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Citra"
portwine_create_shortcut
fi
stop_portwine

View File

@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/crossout.exe"
# export PW_PREFIX_NAME=DOTNET
start_portwine
if try_download "https://yupmaster.gaijinent.com/launcher/current.php?id=CrossoutLauncher" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/CWClient_Install.exe"
start_portwine
if try_download "https://cdn-01.contractwarsgame.com/standalone/CWClient_Install.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/demul07_280418.7z"
start_portwine
if try_download "http://demul.emulation64.com/files/demul07_280418.7z" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -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 "https://dl-mirror.dolphin-emu.org/5.0/dolphin-x64-5.0.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/duckstation-windows-x64-release.zip"
start_portwine
if try_download "https://github.com/stenzek/duckstation/releases/download/preview/duckstation-windows-x64-release.zip" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -4,16 +4,12 @@
export LAUNCH_PARAMETERS=("/silent" "/repair" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe"
export PW_VULKAN_USE=1
export PW_PREFIX_NAME="EA_APP"
# export DISABLE_CP_DEFPFX=1
# export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64"
# gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64"
start_portwine
if try_download "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 EABackgroundService.exe &
# pw_kill_autostart EALocalHostSvc.exe &
mkdir -p "$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop"
pw_run "${PW_AUTOINSTALL_EXE}"

View File

@ -8,7 +8,7 @@ export PW_USE_D3D_EXTRAS=1
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
start_portwine
if try_download "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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/"

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/ePSXe205.zip"
start_portwine
if try_download "https://www.epsxe.com/files/ePSXe205.zip" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -5,7 +5,7 @@ export PW_WINDOWS_VER=10
export PW_DLL_INSTALL="vcrun2017"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-2198233.exe"
start_portwine
if try_download "https://binaries.eveonline.com/EveLauncher-2198233.exe" "${PW_AUTOINSTALL_EXE}"
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}"

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/fceux-2.6.5-win64.zip"
start_portwine
if try_download "https://github.com/TASEmulators/fceux/releases/download/v2.6.6/fceux-2.6.6-win64.zip" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -22,7 +22,7 @@ pw_shutdown_please () {
export LAUNCH_PARAMETERS=("")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GameforgeInstaller.exe"
start_portwine
if try_download "https://raw.githubusercontent.com/WarfaceZ/lutris-clients/master/GameforgeInstaller.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -4,22 +4,24 @@
export PW_VULKAN_USE=2
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe"
export PW_PREFIX_NAME="GENSHIN_IMPACT"
export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact"
start_portwine
if try_download "https://ys-api-os.mihoyo.com/event/download_porter/link/ys_global/genshinimpactpc/default" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &
export PATH_TO_GAME="${PW_USER_TEMP}"
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Program Files/Genshin Impact/launcher.exe"
export portwine_exe="$WINEPREFIX/drive_c/Program Files/Genshin Impact/launcher.exe"
pw_create_unique_exe
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Genshin Impact"
portwine_create_shortcut
fi
stop_portwine

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/S" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GlyphInstall.exe"
start_portwine
if try_download "https://glyph.dyn.triongames.com/glyph/live/GlyphInstall.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -2,9 +2,17 @@
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
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
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_${GOG_VER}.exe"
export PW_PREFIX_NAME="GOG"
export DISABLE_CP_DEFPFX=1
start_portwine
if try_download "https://webinstallers.gog-statics.com/download/GOG_Galaxy_2.0.exe" "${PW_AUTOINSTALL_EXE}"
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}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} GOG Galaxy. ${loc_gui_please_wait} "
pw_run "${PW_AUTOINSTALL_EXE}"
@ -15,4 +23,5 @@ then
pw_stop_progress_bar
portwine_create_shortcut
fi
stop_portwine

View File

@ -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 "https://s3.amazonaws.com/gw2cdn/client/branches/Gw2Setup-64.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -6,7 +6,7 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/igclient_setup.exe"
export PW_DLL_INSTALL="vcrun2019"
start_portwine
if try_download "https://content.indiegalacdn.com/common/IGClientSetup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("--silent")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/itch-setup.exe"
start_portwine
if try_download "https://itch.io/app/download?platform=windows" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -4,13 +4,10 @@
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Lesta_Game_Center_Install_RU.exe"
export PW_PREFIX_NAME="LGC"
export PW_WINE_USE="PROTON_LG_8-4"
gui_proton_downloader silent "${PW_WINE_USE}"
start_portwine
if try_download "https://redirect.lesta.ru/LGC/Lesta_Game_Center_Install_RU.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -6,15 +6,17 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/live.na.exe"
export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live"
export PW_MUST_HAVE_DLL=""
export PW_VULKAN_USE=1
export PW_WINE_USE=WINE_LOL_GE_8.12
export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_WINE_USE=WINE_LOL_GE_8.27
# export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_USE_D3D_EXTRAS=1
export DISABLE_CP_DEFPFX=1
gui_proton_downloader silent "${PW_WINE_USE}"
pw_clear_pfx
start_portwine
if try_download "https://lol.secure.dyn.riotcdn.net/channels/public/x/installer/current/live.na.exe" "${PW_AUTOINSTALL_EXE}"
wait_wineserver
if try_download_game "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

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/mame0259b_64bit.exe"
start_portwine
if try_download "https://github.com/mamedev/mame/releases/download/mame0259/mame0259b_64bit.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -4,11 +4,15 @@
export LAUNCH_PARAMETERS=("/s" "/nr" "/l=Russian")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/MWO_Launcher_Setup.exe"
start_portwine
if try_download "http://mwogame.com/download.php" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"
portwine_exe="$WINEPREFIX/drive_c/Games/MetalWarOnline/MWOLauncher.exe"
if [[ -d "$WINEPREFIX/drive_c/games/" ]] ; then
portwine_exe="$WINEPREFIX/drive_c/games/MetalWarOnline/MWOLauncher.exe"
else
portwine_exe="$WINEPREFIX/drive_c/Games/MetalWarOnline/MWOLauncher.exe"
fi
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/silent" "/NoLaunch" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe"
start_portwine
if try_download "https://origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginThinSetup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -2,21 +2,26 @@
# Author: cefeiko
########################################################################
export PW_PREFIX_NAME=DOTNET
export PORTWINE_CREATE_SHORTCUT_NAME="OSU"
start_portwine
#export PW_DLL_INSTALL="dotnet48"
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 "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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
mv -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe"
fi
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe"
export portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe"
pw_create_unique_exe
try_remove_file "${portwine_exe}.ppdb"
# pw_run "${PW_AUTOINSTALL_EXE}"
pw_stop_progress_bar
portwine_create_shortcut
kill_portwine
fi
stop_portwine

View File

@ -5,19 +5,20 @@ export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_WINDOWS_VER="7"
export PW_PREFIX_NAME="PANZAR"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Panzar.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Panzar"
start_portwine
if try_download "https://www.panzar.ru/ru/download/installer/" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="${WINEPREFIX}/drive_c/Games/Panzar/PnzSteamLauncher.exe"
export portwine_exe="${WINEPREFIX}/drive_c/Games/Panzar/start.exe"
pw_create_unique_exe
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Panzar"
portwine_create_shortcut
fi
stop_portwine

View File

@ -9,7 +9,7 @@ export PW_PREFIX_NAME="DOTNET"
start_portwine
if try_download "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -5,7 +5,7 @@ export LAUNCH_PARAMETERS=("/S")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PathOfExileInstaller.exe"
start_portwine
if try_download "https://web.poecdn.com/protected/downloads/PathOfExileInstaller.exe?key=lpKVe-ZJOqVrur8612s8gg" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PPSSPPSetup.exe"
start_portwine
if try_download "https://ppsspp.org/files/1_16_5/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Setup Project64 3.0.1-5664-2df3434.exe"
start_portwine
if try_download "https://pj64-emu.com/file/setup-project64-3-0-0-5632-f83bee9/" "${PW_AUTOINSTALL_EXE}"
if try_download_game "https://pj64-emu.com/file/setup-project64-3-0-0-5632-f83bee9/" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} Project64. ${loc_gui_please_wait} "
pw_run "${PW_AUTOINSTALL_EXE}"

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/RetroArch.7z"
start_portwine
if try_download "https://buildbot.libretro.com/stable/1.16.0/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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)"

View File

@ -10,13 +10,13 @@ export PW_MUST_HAVE_DLL=""
start_portwine
if try_download "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$(find "$WINEPREFIX/drive_c/" -type f -name "RobloxPlayerBeta.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"
export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"
portwine_create_shortcut
fi
stop_portwine

View File

@ -3,19 +3,21 @@
########################################################################
export PW_VULKAN_USE="1"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Rockstar"
start_portwine
if try_download "https://gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"
pw_kill_autostart RockstarService.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Launcher.exe" | grep "Rockstar Games/Launcher/Launcher.exe"`
pw_create_unique_exe "rockstar_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="Rockstar"
portwine_create_shortcut
fi
stop_portwine

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/rpcs3-v0.0.29-15676-9fce7080_win64.7z"
start_portwine
if try_download "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_game "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"

View File

@ -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 "https://downloads.scummvm.org/frs/scummvm/2.7.1/scummvm-2.7.1-win32.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -4,7 +4,7 @@
export LAUNCH_PARAMETERS=("/S")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SO_installer.exe"
start_portwine
if try_download "https://update-nl-release.stalker.so/launcher/SO_installer.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -7,7 +7,7 @@ export PW_PREFIX_NAME=DOTNET
start_portwine
if try_download "https://exbo2.b-cdn.net/EXBO_Setup_ru.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -7,7 +7,7 @@ export PW_USE_D3D_EXTRAS=1
start_portwine
if try_download "https://sg-public-api.hoyoverse.com/event/download_porter/link/hkrpg_global/oswebpc/default" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -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 "https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -6,7 +6,7 @@ export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SecretWorldLegendsMin.exe"
start_portwine
if try_download "https://web-cdn.funcom.com/downloads/swl/SecretWorldLegendsMin.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -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 "https://ubistatic3-a.akamaihd.net/orbit/launcher_installer/UbisoftConnectInstaller.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/visualboyadvance-m-Win-x86_64.zip"
start_portwine
if try_download "https://github.com/visualboyadvance-m/visualboyadvance-m/releases/latest/download/visualboyadvance-m-Win-x86_64.zip" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -6,12 +6,9 @@ export PW_PREFIX_NAME="VK_PLAY"
export PW_AUTOINSTALL_EXE="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/AppData/Local/VKPlayLoader.exe"
export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_MUST_HAVE_DLL=""
export PW_WINE_USE="WINE_8.5_LG"
gui_proton_downloader silent "${PW_WINE_USE}"
start_portwine
if try_download "https://static.gc.my.games/VKPlayLoader.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -3,19 +3,20 @@
########################################################################
export LAUNCH_PARAMETERS=("/q")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Warframe.msi"
export PORTWINE_CREATE_SHORTCUT_NAME="Warframe"
start_portwine
if try_download "http://content.warframe.com/dl/Warframe.msi" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &
pw_run msiexec /i "${PW_AUTOINSTALL_EXE}"
portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/Launcher.exe"
export portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Warframe/Downloaded/Public/Tools/Launcher.exe"
pw_create_unique_exe "warframe_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="Warframe"
portwine_create_shortcut
fi
stop_portwine

View File

@ -5,12 +5,10 @@ export LAUNCH_PARAMETERS=("/VERYSILENT")
[ "${update_loc}" = "RUS" ] && export WGC_LOC=RU || export WGC_LOC=EU
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe"
export PW_PREFIX_NAME="WGC"
export PW_WINE_USE="PROTON_LG_8-4"
gui_proton_downloader silent "${PW_WINE_USE}"
start_portwine
if try_download "https://redirect.wargaming.net/WGC/Wargaming_Game_Center_Install_WoT_${WGC_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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 &

View File

@ -3,23 +3,36 @@
########################################################################
export PW_PREFIX_NAME="DOTNET"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe"
export LAUNCH_PARAMETERS=("/VERYSILENT")
export LAUNCH_PARAMETERS=("/S")
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."
start_portwine
if try_download "https://165311.selcdn.ru/wosb_installer/wos_client.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "https://installer.launcher.xsolla.com/xlauncher-builds/xsolla-launcher-update/${WOSB_VERSION}/bin/installer.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "Installing World of Sea Battle. ${loc_gui_please_wait} "
pw_kill_autostart WorldOfSeaBattleClient.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Games/World Of Sea Battle/WorldOfSeaBattleClient.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle"
portwine_create_shortcut
kill_portwine
if [[ "${update_loc}" == "RUS" ]] ; then
export portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/Wosb Launcher/launcher.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle RU"
pw_create_unique_exe "wosb_launcher_ru"
try_remove_file "${portwine_exe}.ppdb"
export PW_SKIP_RESTART_STEAM=1
portwine_create_shortcut block_name
fi
export portwine_exe="$WINEPREFIX/drive_c/users/$USER/AppData/Local/Wosb Launcher/launcher.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle EN"
pw_create_unique_exe "wosb_launcher_en"
try_remove_file "${portwine_exe}.ppdb"
portwine_create_shortcut block_name
fi
stop_portwine

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/xemu-win-release.zip"
start_portwine
if try_download "https://github.com/xemu-project/xemu/releases/latest/download/xemu-win-release.zip" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -3,7 +3,7 @@
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/xenia_master.zip"
start_portwine
if try_download "https://github.com/xenia-project/release-builds-windows/releases/latest/download/xenia_master.zip" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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"

View File

@ -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 "https://download.tuxfamily.org/yabause/releases/0.9.15/yabause-0.9.15-win64.exe" "${PW_AUTOINSTALL_EXE}"
if try_download_game "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}"

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord; Boria138; Vano; Akai
########################################################################
echo '
█░░ █ █▄░█ █░█ ▀▄▀ ▄▄ █▀▀ ▄▀█ █▀▄▀█ █ █▄░█ █▀▀ ░ █▀█ █░█
@ -27,7 +27,11 @@ fi
start_portwine () {
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
export WINEPREFIX="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"
export WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
if [[ "$WINEPREFIX" != "${PORT_WINE_PATH}/data/prefixes/"* ]] && [[ ! -d "$WINEPREFIX" ]] ; then
zenity_error "Path to PREFIX not found:\n$WINEPREFIX"
exit 1
fi
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${WINEPREFIX}/drive_c/"
@ -76,6 +80,7 @@ start_portwine () {
if [[ "${PW_LOG}" == 1 ]] ; then
export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg"
export WINE_MONO_TRACE="E:System.NotImplementedException"
export VKBASALT_LOG_LEVEL="error"
else
export WINEDEBUG="-all"
unset WINE_MONO_TRACE
@ -114,6 +119,26 @@ start_portwine () {
var_vkd3d_config_update single_queue
fi
if [[ "${PW_USE_GAMESCOPE}" == 1 ]] && command -v gamescope &>/dev/null ; then
# Workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/6029
if [[ -d "/sys/module/i915" ]] ; then
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}')"
PW_deviceID="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -B3 "${PW_GPU_USE}" | grep deviceID | sort -u | awk -F'0x' '{print $2}')"
PW_ID_VIDEO="--prefer-vk-device ${PW_vendorID}:${PW_deviceID}"
else
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
else
export PW_USE_GAMESCOPE=0
unset PW_RUN_GAMESCOPE INTEL_DEBUG vk_xwayland_wait_ready
fi
enabled_fake_nvidia_videocard ()
{
if [[ "${1}" == 1 ]] ; then
@ -157,11 +182,9 @@ start_portwine () {
export DXVK_ENABLE_NVAPI=0
var_winedlloverride_update "nvngx,_nvngx="
fi
if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
if [[ "${PW_USE_GALLIUM_ZINK}" == 1 ]] ; then
export PW_VULKAN_USE=5
fi
if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]]
@ -188,6 +211,41 @@ start_portwine () {
export DXVK_ENABLE_NVAPI=1
fi
if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
export DXVK_FILTER_DEVICE_NAME="${PW_GPU_USE}"
export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
fi
# if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
# if grep -i -q -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release" ; then
# export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"
# elif grep -i -q "altlinux" '/etc/os-release' ; then
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd.json"
# else
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
# fi
# elif [[ "${PW_AMD_VULKAN_USE}" == "amdgpupro" ]] ; then
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
# if grep -i -q -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release" ; then
# export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json"
# var_ld_library_path_update "/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32"
# else
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
# fi
# elif [[ "${PW_AMD_VULKAN_USE}" == "radv" ]] ; then
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
# elif [[ "${PW_AMD_VULKAN_USE}" == "radv_aco" ]] ; then
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
# var_radv_perftest_config_update aco
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
# elif [[ "${PW_AMD_VULKAN_USE}" == "radv_gpl" ]] ; then
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
# var_radv_perftest_config_update gpl
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
# fi
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
"0")
unset vblank_mode
@ -204,15 +262,11 @@ start_portwine () {
if [[ -x "`command -v "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
export GAMEMODERUN=1
PW_GAMEMODERUN_SLR="gamemoderun"
# if [[ ! -z "${PW_LD_PRELOAD}" ]]
# then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
# else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
# fi
systemctl enable --now --user gamemoded &>/dev/null
print_info "Gamemod will be launched."
else
export GAMEMODERUN=0
echo "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
print_info "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
fi
pw_other_fixes
@ -224,21 +278,35 @@ start_portwine () {
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
[ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
[ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/"
try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"courbd.ttf
try_force_link_file "${WINEDIR}/share/fonts/"msyh.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf
try_force_link_file "${WINEDIR}/share/fonts/"malgun.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"malgun.ttf
try_force_link_file "${WINEDIR}/share/fonts/"micross.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"micross.ttf
try_force_link_file "${WINEDIR}/share/fonts/"nirmala.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"nirmala.ttf
try_force_link_file "${WINEDIR}/share/fonts/"simsun.ttc "${WINEPREFIX}/drive_c/windows/Fonts/"simsun.ttc
try_force_link_file "${WINEDIR}/share/fonts/"msgothic.ttc "${WINEPREFIX}/drive_c/windows/Fonts/"msgothic.ttc
[ ! -d "${WINEPREFIX}/dosdevices/h:" ] && try_force_link_dir "$HOME" "${WINEPREFIX}/dosdevices/h:"
try_force_link_file "${WINEDIR}/share/wine/fonts/"tahoma.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"tahoma.ttf
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}"
done
find "${WINEPREFIX}/dosdevices" -xtype l -maxdepth 1 2>/dev/null -exec rm {} \;
rm -f "${WINEPREFIX}/dosdevices/"*::
DRIVES=(d e f g i j k l m n o p q r s t u v w x y)
DEF_MOUNT_DIRS=('/media' "/media/$USER" '/mnt' '/run/media' "/run/media/$USER")
MOUNT_DIRS=($(find "${DEF_MOUNT_DIRS[@]}" -maxdepth 1 -type d 2>/dev/null | sort -u))
for drive_dir in "${MOUNT_DIRS[@]}" ; do
if [[ ! "${DEF_MOUNT_DIRS[@]}" =~ "$drive_dir" ]] \
&& ! realpath "${WINEPREFIX}/dosdevices"/*: | grep "$drive_dir" &>/dev/null ; then
drive_num=0
while [[ "$drive_num" -lt "${#DRIVES[@]}" ]] ; do
drive_path="${WINEPREFIX}/dosdevices/${DRIVES[$drive_num]}:"
if [ ! -d "$drive_path" ] ; then
ln -sf "$drive_dir" "$drive_path"
break
else
((drive_num++))
fi
done
fi
done
}
PROGPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/progpfx${PROGPFX_VER}/progpfx${PROGPFX_VER}.tar.xz"
@ -276,23 +344,12 @@ start_portwine () {
pw_clear_pfx
check_dirs_and_files_in_pfx
if [[ -f "${PW_WINELIB}/default_pfx.tar.xz" ]] && [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" 2>/dev/null
fi
${pw_runtime} env WINEDLLOVERRIDES="winegstreamer=" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
"${WINELOADER}" wineboot -u &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
elif [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" ]] \
|| [[ -z "`cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | grep ${PW_WINE_USE}`" ]] \
|| [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices" ]] ; then
check_dirs_and_files_in_pfx
${pw_runtime} env WINEDLLOVERRIDES="winegstreamer=" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
"${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent
fi
fi
[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:"
[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:" ] && try_force_link_dir "/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:"
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
check_dirs_and_files_in_pfx
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser"
if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then
try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}"
@ -322,18 +379,26 @@ start_portwine () {
if [[ "${PW_REDUCE_PULSE_LATENCY}" == 1 ]] ; then
export PULSE_LATENCY_MSEC=60
# export PIPEWIRE_LATENCY=128/48000
else
unset PULSE_LATENCY_MSEC
fi
if [[ "${PW_USE_US_LAYOUT}" == "1" ]] && ! grep 1 "${PORT_WINE_TMP_PATH}/check_wayland" &>/dev/null ; then
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
if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then
if [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; 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" ]]
@ -355,21 +420,14 @@ start_portwine () {
fi
done
fi
print_info "Try link wine DXGI by default..."
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/dxgi.dll"
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/dxgi.dll"
fi
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll"
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/dxgi.dll"
fi
print_info "Try link wine d3d filese by default..."
for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi ; do
if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll"
then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_build_dll}.dll"
fi
if ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_build_dll}.dll"
then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_build_dll}.dll"
fi
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
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${rm_vulkan_dll}.dll"
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"
done
create_new_dir "${PW_VULKAN_DIR}/opengl"
@ -380,7 +438,15 @@ start_portwine () {
print_info "Use OpenGL"
export GL_YIELD="NOTHING"
export mesa_glthread=true
var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core="
export WINE_D3D_CONFIG='renderer=gl'
elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then
print_info "Use OpenGL Zink"
export GL_YIELD="NOTHING"
export mesa_glthread=true
export WINE_D3D_CONFIG='renderer=gl'
export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink
export GALLIUM_DRIVER=zink
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
export PW_GALLIUM_NINE_VER="0.8"
@ -407,7 +473,6 @@ start_portwine () {
stop_portwine
fi
export mesa_glthread=true
export PW_DX12_DISABLE=1
export ENABLE_VKBASALT=0
export PW_MANGOHUD=0
export WINE_FULLSCREEN_FSR=0
@ -424,7 +489,7 @@ start_portwine () {
else
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk
fi
check_variables VKD3D_FEATURE_LEVEL "12_0"
check_variables VKD3D_FEATURE_LEVEL "12_1"
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}"
@ -441,9 +506,11 @@ start_portwine () {
print_info "Try link native DXVK files..."
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll"
[[ "$?" == 0 ]] && var_winedlloverride_update "${wine_dxvk_dll}=n"
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"
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/" || \
@ -459,6 +526,7 @@ start_portwine () {
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"
var_winedlloverride_update "${wine_vkd3d_dll}=n"
fi
done
@ -466,11 +534,6 @@ start_portwine () {
try_force_link_file "${PATH_TO_D8VK_FILES}/x32/d3d8.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d8.dll"
var_winedlloverride_update d3d8=n
fi
if [[ "${PW_DX12_DISABLE}" == 1 ]]
then var_winedlloverride_update "d3d12,d3d12core="
else var_winedlloverride_update "d3d12,d3d12core=n"
fi
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin"
@ -583,15 +646,12 @@ start_portwine () {
echo "Disable EAC"
[[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+=" -eac-nop-loaded "
fi
sleep 1
pw_stop_progress_bar &&
pw_tray_icon &&
[[ "${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"
fi
add_in_start_portwine
if [[ -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then
@ -601,7 +661,10 @@ start_portwine () {
pw_run () {
unset GDK_BACKEND
if [[ ! -z "${PATH_TO_GAME}" ]] ; then
if [[ ! -z "${PATH_TO_GAME}" ]] && [[ -d "${PATH_TO_GAME}" ]] ; then
cd "${PATH_TO_GAME}"
elif [[ -f "$portwine_exe" ]] ; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
cd "${PATH_TO_GAME}"
else
cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c"
@ -609,16 +672,18 @@ 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" "VKD3D_CONFIG" \
"PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" "WINEDLLPATH" "WINE_CPU_TOPOLOGY"
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"
kill -s SIGUSR1 "$PW_YAD_PID_PFX_COVER_UI" &>/dev/null
if [[ "${PW_LOG}" == 1 ]] ; then
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:"
env ${optirun_on} ${PW_GAMEMODERUN_SLR} \
NO_AT_BRIDGE=0 ${pw_runtime} \
${PW_GAMEMODERUN_SLR} \
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
@ -632,16 +697,19 @@ pw_run () {
pw_init_runtime
fi
echo ""
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
print_debug "Log from RUNTIME and WINE:"
env ${optirun_on} ${PW_GAMEMODERUN_SLR} \
NO_AT_BRIDGE=0 ${pw_runtime} \
${PW_GAMEMODERUN_SLR} \
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]}
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
cat "${PW_LOG_TO_FILE}"
fi
}
export -f pw_run
@ -654,14 +722,14 @@ fi
[[ -z "${LANG}" ]] && export LANG=C
create_new_dir "${HOME}/.local/share/applications"
if [[ ! -z "${PW_SILENT_RESTART}" ]] && [[ "${PW_SILENT_RESTART}" = 1 ]] ; then
if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then
export PW_GUI_DISABLED_CS=1
unset PW_SILENT_RESTART
else
unset PW_GUI_DISABLED_CS
fi
unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD
unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB
unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB RADV_PERFTEST
unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY
unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
@ -671,11 +739,11 @@ export portname=PortProton
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}"/*.tar.*
echo "" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
try_remove_file "${PORT_WINE_PATH}/data/dist/VERSION"
orig_IFS="$IFS"
IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do
@ -708,12 +776,13 @@ create_new_dir "${PORT_WINE_TMP_PATH}"/mono
export PW_VULKAN_DIR="${PORT_WINE_TMP_PATH}/VULKAN"
create_new_dir "${PW_VULKAN_DIR}"
export VULKAN_API_DRIVER_VERSION="$(vulkaninfo 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')"
export LSPCI_VGA="$(lspci -k | grep VGA | tr -d '\n')"
export LSPCI_VGA="$(lspci -k | grep -E 'VGA|3D' | tr -d '\n')"
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}"
. "${PORT_SCRIPTS_PATH}"/lang
@ -726,17 +795,15 @@ 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
# sed -i 's/ PP_/ PW_/g' "${USER_CONF}"
if [[ ! -d "${HOME}/PortWINE" ]] && [[ -d "${HOME}/.local/share/PortWINE/PortProton/" ]] ; then
ln -s "${HOME}/.local/share/PortWINE/" "${HOME}"
fi
check_user_conf
if [[ -z "${INSTALLING_PORT}" ]] ; then
. "${USER_CONF}"
pw_port_update
pw_download_libs
pw_check_and_download_wine ${PW_PROTON_LG_VER}
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

View File

@ -23,8 +23,8 @@ 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"
name_desktop="readme"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Version=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"
@ -53,13 +53,13 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then
ln -s "${PW_OLD_PATH}/PortProton" "${XDG_DATA_HOME}/PortWINE"
fi
fi
if [ ! -L "${HOME}/PortWINE" ]; then
if [ ! -L "${HOME}/PortWINE" ] && [ -d "${XDG_DATA_HOME}/PortWINE" ] ; then
ln -s "${XDG_DATA_HOME}/PortWINE" "${HOME}/"
else
echo "Symbolic link already exists."
fi
echo "Restarting PP after installing..."
/usr/bin/env bash -c "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" $@ &
/usr/bin/env bash -c "${PORT_WINE_PATH}/data/scripts/start.sh" $@ &
exit 0
else
echo "Installation completed successfully."

View File

@ -6,7 +6,7 @@ export pw_full_command_line=("$0" $*)
MISSING_DESKTOP_FILE=0
if [[ -f "$1" ]] ; then
export portwine_exe="$(readlink -f "$1")"
export portwine_exe="$1"
elif [[ "$1" == *.exe ]] ; then
export portwine_exe="$1"
MISSING_DESKTOP_FILE=1
@ -23,11 +23,6 @@ fi
[[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut
if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/check_wayland" ]]; then
zenity_info "$PW_WAYLAND_INFO"
echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland"
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}')"
@ -87,6 +82,9 @@ 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)!"
fi
echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
@ -113,36 +111,52 @@ portwine_start_debug () {
echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to ${loc_gui_open_gl}" >> "${PORT_WINE_PATH}/${portname}.log"
elif [[ "${PW_VULKAN_USE}" = "1" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER} and VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/${portname}.log"
elif [[ "${PW_VULKAN_USE}" = "2" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER} and VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/${portname}.log"
elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/${portname}.log"
elif [[ "${PW_VULKAN_USE}" = "4" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/${portname}.log"
else
echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Version WINE in the Port:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Version WINE in use:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "$PW_WINE_USE" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Program bit depth:" >> "${PORT_WINE_PATH}/${portname}.log"
if [[ $(file "$portwine_exe") =~ x86-64 ]]; then
echo "64 bit" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
else
echo "32 bit" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "--------------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Date and time of start debug for ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
date >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "$PORT_WINE_PATH" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Operating system" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Operating system:" >> "${PORT_WINE_PATH}/${portname}.log"
cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+' >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Desktop environment:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Desktop session: ${DESKTOP_SESSION}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Current desktop: ${XDG_CURRENT_DESKTOP}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Session type: ${XDG_SESSION_TYPE}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Kernel" >> "${PORT_WINE_PATH}/${portname}.log"
echo "---------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Kernel:" >> "${PORT_WINE_PATH}/${portname}.log"
uname -r >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU" >> "${PORT_WINE_PATH}/${portname}.log"
cat /proc/cpuinfo | grep "model name" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU physical cores:$(cat /proc/cpuinfo | grep 'cpu cores' | sort -u | cut -d':' -f2)" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU logical cores: $(cat /proc/cpuinfo | grep 'processor' | wc -l)" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU model name:$(cat /proc/cpuinfo | grep 'model name' | sort -u | cut -d':' -f2)" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "RAM" >> "${PORT_WINE_PATH}/${portname}.log"
echo "RAM:" >> "${PORT_WINE_PATH}/${portname}.log"
free -m >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log"
@ -153,22 +167,35 @@ portwine_start_debug () {
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"
if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then
if command -v ldconfig &>/dev/null ; then
echo "------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "ldconfig -p | grep libGLX_nvidia" >> "${PORT_WINE_PATH}/${portname}.log"
ldconfig -p | grep libGLX_nvidia >> "${PORT_WINE_PATH}/${portname}.log"
fi
fi
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log"
[[ `command -v vulkaninfo` ]] && vulkaninfo --summary 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/${portname}.log"
"$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/${portname}.log"
"${PW_WINELIB}/portable/bin/vkcube" --c 50
if [ $? -eq 0 ]; then
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log"
else
echo "Vkcube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log"
fi
if [ ! -x "$(command -v gamemoderun 2>/dev/null)" ]
echo "----------------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "GameMode status:" >> "${PORT_WINE_PATH}/${portname}.log"
if gamemoded -s | grep "is active";
then
echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "!!!gamemod not found!!!" >> "${PORT_WINE_PATH}/${portname}.log"
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"
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'locale:' >> "${PORT_WINE_PATH}/${portname}.log"
locale >> "${PORT_WINE_PATH}/${portname}.log"
echo "---" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'locale -a | grep -i "$(locale | grep -e '^LANG=' | sed 's/LANG=//' | sed 's/\-8//')" :' >> "${PORT_WINE_PATH}/${portname}.log"
@ -218,6 +245,8 @@ portwine_start_debug () {
sed -i '/.fx$/d' "${PORT_WINE_PATH}/${portname}.log"
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 '/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 \
@ -378,7 +407,7 @@ pw_start_cont_xterm () {
unset PW_SANDBOX_HOME_PATH
# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
${PW_GAMEMODERUN_SLR} ${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
@ -391,7 +420,7 @@ pw_start_cont_xterm () {
pw_create_prefix_backup () {
cd "$HOME"
PW_PREFIX_TO_BACKUP=$("${pw_yad_v12_3}" --file --directory --borders=3 --width=650 --height=500 --auto-close \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO..." 2>/dev/null )
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --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
@ -419,26 +448,40 @@ 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 "Backup for prefix \"${PW_PREFIX_NAME}\" successfully created."
zenity_info "$PW_PFX_BACKUP_SUCCESS"
if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]] ; then
zenity_info "$PW_PFX_BACKUP_INFO"
echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info"
fi
else
zenity_error "An error occurred while creating a backup for prefix: \"${PW_PREFIX_NAME}\" !"
zenity_error "$PW_PFX_BACKUP_ERROR"
fi
return 0
}
pw_edit_db () {
pw_gui_for_edit_db \
PW_MANGOHUD PW_MANGOHUD_x32 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_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \
PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
if [ "$?" == 0 ] ; then
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_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_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_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..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
# PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE PW_USE_AMDVLK_DRIVER HEAP_DELAY_FREE
# PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE HEAP_DELAY_FREE
}
pw_autoinstall_from_db () {
@ -522,10 +565,10 @@ do
export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}"
done
if [[ $VULKAN_API_DRIVER_VERSION == 1.[1-2].* ]]
then check_variables PW_VULKAN_USE "1"
else check_variables PW_VULKAN_USE "2"
fi
# if [[ $VULKAN_API_DRIVER_VERSION == 1.[1-2].* ]]
# then check_variables PW_VULKAN_USE "1"
# else check_variables PW_VULKAN_USE "2"
# fi
check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
case "${PW_VULKAN_USE}" in
@ -568,8 +611,8 @@ else
fi
unset PW_GUI_DISABLED_CS
fi
if [ ! -z "${portwine_exe}" ]; then
if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then
if [[ -f "${portwine_exe}" ]] ; then
if [[ "${PW_GUI_DISABLED_CS}" != 1 ]] ; then
pw_create_gui_png
grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop
if [[ "$?" != "0" ]] ; then
@ -585,6 +628,7 @@ if [ ! -z "${portwine_exe}" ]; then
--field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=":LBL" "" \
--button="${loc_gui_vkbasalt_start}"!"$PW_GUI_ICON_PATH/separator.png"!"${ENABLE_VKBASALT_INFO}":120 \
--button="${loc_gui_mh_start}"!"$PW_GUI_ICON_PATH/separator.png"!"${ENABLE_MANGOHUD_INFO}":122 \
--button="${loc_gui_edit_db_start}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_edit_db} ${PORTWINE_DB}":118 \
--button="${PW_SHORTCUT}" \
--button="${loc_gui_debug}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_debug}":102 \
@ -599,7 +643,7 @@ if [ ! -z "${portwine_exe}" ]; then
else
export PW_PREFIX_NAME="${PW_PREFIX_NAME^^}"
fi
elif [ ! -z "${PORTWINE_DB_FILE}" ]; then
elif [[ -f "${PORTWINE_DB_FILE}" ]] ; then
portwine_launch
fi
else
@ -725,34 +769,34 @@ else
--field=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
--field=" CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' \
--field=' WINETRICKS'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
--field=" CLEAR PREFIX"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
--field=" DOWNLOAD OTHER WINE"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
--field=" WINE UNINSTALLER"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
--field=' WINECFG'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
--field=' WINEFILE'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
--field=' WINECMD'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
--field=' WINEREG'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
--field=" $loc_gui_create_pfx_backup"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' \
--field=" WINETRICKS"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
--field=" $loc_gui_clear_pfx"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_clear_pfx}":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
--field=" $loc_gui_download_other_wine"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
--field=" $loc_gui_wine_uninstaller"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_wineuninstaller}":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
--field=" $loc_gui_wine_cfg "!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
--field=" $loc_gui_wine_file"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
--field=" $loc_gui_wine_cmd"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
--field=" $loc_gui_wine_reg"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
"${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
--field=" MAME"!"$PW_GUI_ICON_PATH/mame.png"!"":"FBTN" '@bash -c "button_click PW_MAME"' \
--field=" ScummVM"!"$PW_GUI_ICON_PATH/scummvm.png"!"":"FBTN" '@bash -c "button_click PW_SCUMMVM"' \
--field=" RetroArch"!"$PW_GUI_ICON_PATH/retroarch.png"!"":"FBTN" '@bash -c "button_click PW_RETROARCH"' \
--field=" PPSSPP Windows"!"$PW_GUI_ICON_PATH/ppsspp.png"!"":"FBTN" '@bash -c "button_click PW_PPSSPP"' \
--field=" Citra"!"$PW_GUI_ICON_PATH/citra.png"!"":"FBTN" '@bash -c "button_click PW_CITRA"' \
--field=" Cemu"!"$PW_GUI_ICON_PATH/cemu.png"!"":"FBTN" '@bash -c "button_click PW_CEMU"' \
--field=" DuckStation"!"$PW_GUI_ICON_PATH/duckstation.png"!"":"FBTN" '@bash -c "button_click PW_DUCKSTATION"' \
--field=" ePSXe"!"$PW_GUI_ICON_PATH/epsxe.png"!"":"FBTN" '@bash -c "button_click PW_EPSXE"' \
--field=" Project64"!"$PW_GUI_ICON_PATH/project64.png"!"":"FBTN" '@bash -c "button_click PW_PROJECT64"' \
--field=" VBA-M"!"$PW_GUI_ICON_PATH/vba-m.png"!"":"FBTN" '@bash -c "button_click PW_VBA-M"' \
--field=" Yabause"!"$PW_GUI_ICON_PATH/yabause.png"!"":"FBTN" '@bash -c "button_click PW_YABAUSE"' \
--field=" Xenia"!"$PW_GUI_ICON_PATH/xenia.png"!"":"FBTN" '@bash -c "button_click PW_XENIA"' \
--field=" FCEUX"!"$PW_GUI_ICON_PATH/fceux.png"!"":"FBTN" '@bash -c "button_click PW_FCEUX"' \
--field=" xemu"!"$PW_GUI_ICON_PATH/xemu.png"!"":"FBTN" '@bash -c "button_click PW_XEMU"' \
--field=" Demul"!"$PW_GUI_ICON_PATH/demul.png"!"":"FBTN" '@bash -c "button_click PW_DEMUL"' \
--field=" Rpcs3"!"$PW_GUI_ICON_PATH/rpcs3.png"!"":"FBTN" '@bash -c "button_click PW_RPCS3"' 2>/dev/null &
--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"' \
--field=" Yabause"!"$PW_GUI_ICON_PATH/yabause.png"!"${loc_yabause}":"FBTN" '@bash -c "button_click PW_YABAUSE"' \
--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 &
"${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"' \
@ -765,7 +809,7 @@ else
--field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click PW_ROCKSTAR"' \
--field=" League of Legends"!"$PW_GUI_ICON_PATH/lol.png"!"":"FBTN" '@bash -c "button_click PW_LOL"' \
--field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png"!"":"FBTN" '@bash -c "button_click PW_GAMEFORGE"' \
--field=" World of Sea Battle (BETA)"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click PW_WOSB"' \
--field=" World of Sea Battle (x64)"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click PW_WOSB"' \
--field=" CALIBER"!"$PW_GUI_ICON_PATH/caliber.png"!"":"FBTN" '@bash -c "button_click PW_CALIBER"' \
--field=" Crossout"!"$PW_GUI_ICON_PATH/crossout.png"!"":"FBTN" '@bash -c "button_click PW_CROSSOUT"' \
--field=" Warframe"!"$PW_GUI_ICON_PATH/warframe.png"!"":"FBTN" '@bash -c "button_click PW_WARFRAME"' \
@ -802,6 +846,8 @@ else
done
fi &
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})" \
@ -852,7 +898,7 @@ esac
init_wine_ver
if [[ -z "${PW_DISABLED_CREATE_DB}" ]] ; then
if [[ "${PW_DISABLED_CREATE_DB}" != 1 ]] ; then
if [[ ! -z "${PORTWINE_DB}" ]] && [[ -z "${PORTWINE_DB_FILE}" ]] ; then
PORTWINE_DB_FILE=$(grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*)
if [[ -z "${PORTWINE_DB_FILE}" ]] ; then
@ -889,6 +935,7 @@ fi
open_changelog) open_changelog ;;
change_loc) change_loc ;;
120) gui_vkBasalt ;;
122) gui_MangoHud ;;
pw_create_prefix_backup) pw_create_prefix_backup ;;
gui_credits) gui_credits ;;
pw_start_cont_xterm) pw_start_cont_xterm ;;

View File

@ -1,10 +1,9 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2226
#SCRIPTS_NEXT_VERSION=2244
########################################################################
export PW_MANGOHUD=0
export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt
#export PW_XKBD_RU_HACK=1
export DEFAULT_MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode
export PW_RT_MOUNT_RO=("")
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
@ -16,7 +15,7 @@ export PW_USE_TERMINAL="0"
export PW_WINEDBG_DISABLE="1"
export PW_WINDOWS_VER="10"
export WINEARCH="win64"
export PW_LIBS_VER="_v44"
export PW_LIBS_VER="_v45"
export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1"
export PW_USE_D3D_EXTRAS="1"
@ -26,11 +25,11 @@ export WINE_ALLOW_XIM="0"
export PW_USE_SHADER_CACHE="1"
export PW_WINE_CPU_TOPOLOGY="disabled"
export STAGING_SHARED_MEMORY="1"
export PROTON_DISABLE_LSTEAMCLIENT="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_MANGOHUD_x32="0"
export PW_USE_EAC_AND_BE="1"
export PW_USE_US_LAYOUT="0"
export PW_GPU_USE="disabled"
export PW_USE_GAMESCOPE="0"
###GTK_CONFIG###
# export GTK_DATA_PREFIX=
# export GTK_THEME="Adwaita:dark"
@ -38,50 +37,37 @@ export PW_USE_US_LAYOUT="0"
export PW_WINE_USE="PROTON_LG"
export PW_PLUGINS_VER="_v12"
export PW_FAKE_DLSS_VER="230506"
###WINE_PROTON_LG###
export PW_LG_VER="8-17"
export PW_PROTON_LG_VER="PROTON_LG_${PW_LG_VER}"
###WINE_PROTON_GE###
export PW_WINE_LG_VER="8.5"
export PW_WINE_LG_VER="WINE_${PW_WINE_LG_VER}_LG"
###WINE_AND_PROTON_LG###
export PW_PROTON_LG_VER="PROTON_LG_8-25-2"
export PW_WINE_LG_VER="WINE_LG_8-18-1"
export PW_WINE_FULLSCREEN_FSR="1"
###DXVK_AND_VKD3D###
export VKD3D_LIMIT_TESS_FACTORS="32"
export VKD3D_LIMIT_TESS_FACTORS="64"
export D8VK_VER="1.0"
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.3-5"
export DXVK_GIT_VER="2.3-26"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-3622"
export VKD3D_GIT_VER="1.1-3821"
###PREFIX_VERSION###
export DOTPFX_VER="48v2"
export DEFPFX_VER="v1"
export PROGPFX_VER="v1"
export PW_MUST_WINEDLLOVERRIDES="steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe=b,winemenubuilder.exe="
export PW_MUST_WINEDLLOVERRIDES="steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe=b;winemenubuilder.exe="
#################################################################
export optirun_on=""
export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf"
#################################################################
pw_install_dll_in_prefix ()
{
case $PW_PREFIX_NAME in
DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022 sandbox" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;;
*) export PW_MUST_HAVE_DLL="" ;;
DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022 sandbox" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;;
PROGRAMS) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2019 riched20 corefonts msxml3 msxml4 msxml6" ;;
*) export PW_MUST_HAVE_DLL="" ;;
esac
}
########################################################################
add_in_start_portwine ()
{
echo " "
}
add_in_start_portwine () { echo "" ;}
add_in_stop_portwine () { echo "" ;}
pw_other_fixes () { echo "" ;}
export -f add_in_stop_portwine add_in_stop_portwine pw_other_fixes
########################################################################
add_in_stop_portwine ()
{
echo " "
}
export -f add_in_stop_portwine
########################################################################
pw_other_fixes ()
{
echo ""
}

View File

@ -2,13 +2,13 @@
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
zenity_info () {
echo "INFO: $@"
print_info "$@"
zenity --info --no-wrap --text "$@" 2> /dev/null
}
export -f zenity_info
zenity_error () {
echo "ERROR: $@"
print_error "$@"
zenity --error --no-wrap --text "$@" 2> /dev/null
}
export -f zenity_error
@ -31,7 +31,6 @@ gui_question () {
[ $? -eq "0" ] && return 0 || return 1
}
pw_start_progress_bar_cover () {
PW_GIF_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
@ -48,7 +47,7 @@ pw_update_pfx_cover_gui () {
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 40}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'`
echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
unset PW_TIMER
export PW_TIMER=0
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_v12_3 --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do
sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \
@ -142,26 +141,32 @@ pw_tray_icon () {
${loc_tray_winefile}!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/port_winefile.png"|| \
${loc_tray_tascmng}!bash -c pw_tray_taskmgr!"$PW_GUI_ICON_PATH/port_winefile.png"|| \
${loc_tray_cangelog}!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"|| \
${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"||" 2>/dev/null &
${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"||" 2>/dev/null &
return 0
}
pw_gui_for_edit_db () {
KEY_EDIT_DB_GUI=$RANDOM
if echo "${MANGOHUD_CONFIG}" | grep "fps_limit" ; then
FPS_LIMIT_VAR="$(echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//' | awk -F, '{print $1}')"
else
FPS_LIMIT_VAR="disabled"
fi
if [[ ! -z "${PW_WINE_CPU_TOPOLOGY}" ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
if [[ "${PW_WINE_CPU_TOPOLOGY}" == *[0-9]:* ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
CPU_LIMIT_VAR="`echo ${PW_WINE_CPU_TOPOLOGY%%:*}`"
else
CPU_LIMIT_VAR="disabled"
fi
# if [[ ! -z "${PW_AMD_VULKAN_USE}" ]] && [[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
# AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
# else
# AMD_VULKAN_VAR="disabled"
# fi
if [[ ! -z "${PW_GPU_USE}" ]] && [[ "${PW_GPU_USE}" != "disabled" ]] ; then
GPU_VAR="${PW_GPU_USE}"
else
GPU_VAR="disabled"
fi
GET_GPU_NAMES=$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | awk -F '=' '/deviceName/{print $2}' | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
logical_cores=$(grep -c "^processor" /proc/cpuinfo)
if [[ "${logical_cores}" -le "4" ]] ; then
@ -184,9 +189,9 @@ pw_gui_for_edit_db () {
}
edit_db_field_add $@
old_IFS=$IFS
IFS="%"
IFS="%"
"${pw_yad_v12_3}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \
1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &
1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &
IFS=$old_IFS
case ${PW_WINDOWS_VER} in
@ -194,6 +199,9 @@ pw_gui_for_edit_db () {
"XP") ADD_WINVER_EDIT_DB="XP!7!10" ;;
*) ADD_WINVER_EDIT_DB="10!7!XP" ;;
esac
# --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!disabled!amdvlk!amdgpupro!radv!radv_gpl!radv_aco"
"${pw_yad_v12_3}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \
--field="${loc_gui_ver_windows}!${loc_gui_ver_windows_help} :CB" "${ADD_WINVER_EDIT_DB}" \
--field="${loc_gui_aut_winetricks}!${loc_gui_aut_winetricks_help} :CBE" "${PW_DLL_INSTALL}!vcrun2019 corefonts lucida" \
@ -202,16 +210,21 @@ pw_gui_for_edit_db () {
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
--field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \
--field="${loc_gui_gpu_select}!${loc_gui_gpu_select_help} :CB" "${GPU_VAR}!disabled!${GET_GPU_NAMES}" \
--field="${loc_gui_arg_gamescope}!${loc_gui_arg_gamescope_help} :CBE" "\\${GAMESCOPE_ARGS}!-r 60 -F fsr!" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="800" \
--text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \
--button="${loc_gui_reset_db}"!!"${loc_gui_reset_db_help}":2 \
--button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \
--button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null
YAD_STATUS="$?"
case "$YAD_STATUS" in
case "$YAD_STATUS" in
1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
2) try_remove_file "$portwine_exe".ppdb
/usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
150) xdg-open "${PORTWINE_DB_FILE}" & exit 0 ;;
252) exit 0 ;;
esac
@ -233,24 +246,19 @@ pw_gui_for_edit_db () {
WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`
LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
PW_GPU_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
GAMESCOPE_ARGS="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
# PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $10}'`"
if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/fps_limit=${FPS_LIMIT_VAR}/fps_limit=${FPS_LIMIT}/")"
export PW_MANGOHUD=1
elif [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" == "disabled" ]] ; then
export MANGOHUD_CONFIG=${MANGOHUD_CONFIG},fps_limit=${FPS_LIMIT}
export PW_MANGOHUD=1
elif [[ "${FPS_LIMIT}" == "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//")"
fi
if [[ "${CPU_LIMIT}" != "disabled" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $((${CPU_LIMIT} - 1)))"
else
export PW_WINE_CPU_TOPOLOGY="disabled"
fi
echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY
edit_db_from_gui $@ LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY GAMESCOPE_ARGS
edit_user_conf_from_gui PW_GPU_USE
# PW_AMD_VULKAN_USE
return 0
}
@ -343,7 +351,7 @@ gui_proton_downloader () {
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
if [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_set" | awk '{print $1}'` ] ; then
export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_proton_set"`"
elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" | awk '{print $1}'` ] ; then
@ -376,14 +384,14 @@ gui_proton_downloader () {
break
fi
done
if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
unset VERSION_INSTALLED_WINE
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
print_info "Download and install ${VERSION_WINE_GIT}..."
PW_WINE_ARCHIVE="$(echo ${URL_VERSION_PROTON_GIT} | awk -F'/' '{print $NF}' | awk -F'.tar' '{print $1}')"
if try_download_to_path "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/" ; then
@ -435,11 +443,11 @@ gui_vkBasalt () {
VKBASALT_FFX_CAS_GUI=75
fi
export old_IFS=$IFS
export IFS="%"
export IFS="%"
"${pw_yad_v12_3}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \
--text-align=center --text="$loc_gui_vkbasalt_top" \
${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" 2>/dev/null &
export IFS="${old_IFS}"
export IFS="${old_IFS}"
"${pw_yad_v12_3}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \
--field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$loc_gui_ffx_cas":SCL "${VKBASALT_FFX_CAS_GUI}" \
@ -471,7 +479,7 @@ gui_vkBasalt () {
export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 ))
done
GUI_FX_RESULT="${GUI_FX_RESULT}cas"
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
if [[ "$YAD_CAS_SET" == "0" ]] ; then
export PW_VKBASALT_FFX_CAS="0"
@ -485,32 +493,170 @@ gui_vkBasalt () {
exit 0
}
gui_MangoHud () {
KEY_MH_GUI=$RANDOM
LIST_MH=(
arch battery battery_icon battery_time battery_watt core_bars core_load
cpu_mhz cpu_power cpu_temp device_battery_icon engine_short_names
engine_version exec_name fcat fps_metrics fps_only frame_count full
gamemode gpu_core_clock gpu_fan gpu_junction_temp gpu_mem_clock
gpu_mem_temp gpu_name gpu_power gpu_temp gpu_voltage histogram horizontal
horizontal_stretch hud_compact hud_no_margin io_read io_write no_display
no_small_font procmem procmem_shared procmem_virt ram resolution
show_fps_limit swap temp_fahrenheit throttling_status throttling_status_graph
time version vkbasalt vram vulkan_driver wine
)
unset ADD_GUI_MH GUI_MH_RESULT
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
if [[ -z "$FPS_LIMIT" ]]; then
FPS_LIMIT_VAR="disabled"
else
FPS_LIMIT_VAR="${FPS_LIMIT}"
fi
if [ -n "$MANGOHUD_CONFIG" ]; then
PW_MANGOHUD_CONFIG=($(echo "$MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '='))
else
PW_MANGOHUD_CONFIG=($(echo "$DEFAULT_MANGOHUD_CONFIG" | tr ',' '\n' | grep -v '='))
fi
for add_list_mh in "${LIST_MH[@]}"; do
PW_MH_GUI_HELP="PW_MH_${add_list_mh}_INFO"
if [[ -n "$(grep -wo "$add_list_mh" <<<"${PW_MANGOHUD_CONFIG[@]}")" ]]; then
ADD_GUI_MH+="--field=$add_list_mh!${!PW_MH_GUI_HELP}:CHK%TRUE%"
else
ADD_GUI_MH+="--field=$add_list_mh!${!PW_MH_GUI_HELP}:CHK%FALSE%"
fi
done
export old_IFS=$IFS
export IFS="%"
"${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="1" --form --columns=5 --separator=" " \
--text-align=center --text="$loc_gui_mh_top" \
${ADD_GUI_MH} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_set" 2>/dev/null &
export IFS="${old_IFS}"
"${pw_yad_v12_3}" --plug=$KEY_MH_GUI --tabnum="2" --separator=" " --form \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_MH_GUI" --height="650" --title="MangoHud" --center --borders=3 \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \
--button="$loc_gui_disabled_mh"!!"$loc_gui_disabled_mh_help":182 \
--button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":184 2>/dev/null
YAD_MANGOHUD_STATUS="$?"
case "${YAD_MANGOHUD_STATUS}" in
1 | 252)
/usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0
;;
182)
export PW_MANGOHUD=0
export FPS_LIMIT="disabled"
edit_db_from_gui PW_MANGOHUD FPS_LIMIT
/usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0
;;
184)
export PW_MANGOHUD=1
;;
esac
YAD_MH_SET=$(<"${PORT_WINE_TMP_PATH}/tmp_yad_mh_set")
FPS_LIMIT=$(cat "${PORT_WINE_TMP_PATH}/tmp_yad_mh_fps_limit" | awk '{print $1}')
if command -v xrandr 2>/dev/null ; then
MONITOR_HEIGHT=$(xrandr | grep -oP 'current\s+\K[0-9]+ x [0-9]+' | awk '{print $3}')
MH_FONT_SIZE="font_size=$(expr $MONITOR_HEIGHT / 45)"
fi
export INT_COUNT_FX=0
for read_list_mh in ${YAD_MH_SET} ; do
if [[ "$read_list_mh" == "TRUE" ]]
then export GUI_MH_RESULT+="${LIST_MH[$INT_COUNT_FX]},"
fi
((INT_COUNT_FX++))
done
if [[ -n "$MH_FONT_SIZE" ]]
then GUI_MH_RESULT="${GUI_MH_RESULT}${MH_FONT_SIZE}"
else GUI_MH_RESULT="${GUI_MH_RESULT%,}"
fi
if [[ "${FPS_LIMIT}" != "disabled" ]] ; then
export GUI_MH_RESULT=${GUI_MH_RESULT},fps_limit=${FPS_LIMIT}
export PW_MANGOHUD=1
elif [[ "${FPS_LIMIT}" == "disabled" ]]
then export GUI_MH_RESULT="$(echo ${GUI_MH_RESULT} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//" | sed "s/,fps_limit=disabled//")"
fi
export MANGOHUD_CONFIG="${GUI_MH_RESULT}"
edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT
/usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0
}
portwine_create_shortcut () {
pw_create_gui_png
name_desktop="${PORTPROTON_NAME}"
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="${sc_info}":LBL "" \
--field="${sc_name}:" "${name_desktop}" \
--field="${sc_menu_desktop}":CHK "TRUE" \
--button="$loc_gui_create_shortcut":0)
if [ $? -eq "0" ]; then
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{ print $2 }')
create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{ print $3 }')
pw_stop_progress_bar
if [[ ! -z "$PW_STEAM_ID" ]]
then STUIDPATH="$HOME/.local/share/Steam/userdata/$PW_STEAM_ID"
else STUIDPATH="$(find "$HOME/.local/share/Steam/userdata/" -maxdepth 1 -type d -name "[1-9]*" | head -n1)"
fi
if [[ -d "$STUIDPATH" ]] ; then
export STUIDPATH
PW_FOUND_VDF=TRUE
else
PW_FOUND_VDF=FALSE
fi
if [[ "$1" == "block_name" ]] ; then
export name_desktop="${PORTPROTON_NAME}"
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="${sc_info}":LBL "" \
--field=" ${name_desktop}":LBL "" \
--field=" ${sc_menu_desktop}":CHK "TRUE" \
--field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \
--button="$loc_gui_create_shortcut":0)
PW_YAD_OUT=$?
else
export name_desktop="${PORTPROTON_NAME}"
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
--field="${sc_info}":LBL "" \
--field="${sc_name}:" "${name_desktop}" \
--field=" ${sc_menu_desktop}":CHK "TRUE" \
--field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \
--button="$loc_gui_create_shortcut":0)
PW_YAD_OUT=$?
fi
if [[ "$PW_YAD_OUT" == "0" ]] ; then
if [[ "$1" == "block_name" ]]
then name_desktop="$PORTWINE_CREATE_SHORTCUT_NAME"
else name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $2}')
fi
create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $3}')
create_menu_steam_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $4}')
try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop"
mv -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${name_desktop}.png"
if [[ "${PORTPROTON_NAME}" != "${name_desktop}" ]]
then mv -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${name_desktop}.png"
fi
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
if [ -z "${PW_CHECK_AUTOINSTAL}" ]
then echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \
>> "${PORT_WINE_PATH}/${name_desktop}.desktop"
else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" \
>> "${PORT_WINE_PATH}/${name_desktop}.desktop"
fi
echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
@ -528,14 +674,39 @@ portwine_create_shortcut () {
fi
fi
[[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
if [[ "${PW_FOUND_VDF}" == "TRUE" ]] && [[ "${create_menu_steam_shortcut}" == "TRUE" ]] ; then
export STEAM_SCRIPTS="${PORT_WINE_PATH}/steam_scripts"
create_new_dir "${STEAM_SCRIPTS}"
echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
echo "export START_FROM_STEAM=1" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
echo "export LD_PRELOAD=" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"
"${PORT_SCRIPTS_PATH}/add_in_steam.sh"
if [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && pgrep -i steam &>/dev/null ; then
if gui_question "$sc_restert_steam" ; then
pw_start_progress_bar_block "Restarting STEAM... Please wait."
kill -s SIGTERM $(pgrep -a steam) &>/dev/null
while pgrep -i steam &>/dev/null ; do
sleep 0.5
done
steam &
sleep 5
pw_stop_progress_bar
exit 0
fi
fi
unset PW_SKIP_RESTART_STEAM
fi
[[ "$1" != silent ]] && [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && "${PORT_WINE_PATH}" 2>1 >/dev/null &
fi
}
portwine_delete_shortcut () {
rm -f "$(grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop)" $>/dev/null
rm -f "$(grep -il "${portwine_exe}" "${PORT_WINE_PATH}"/*.desktop)" $>/dev/null
# rm -f "$(grep -il "${portwine_exe}" "${STEAM_SCRIPTS}"/*.sh)" $>/dev/null
if [[ -d "${HOME}/Desktop" ]] ; then
rm -f "$(grep -il "${portwine_exe}" "${HOME}/Desktop"/*.desktop)" $>/dev/null
elif [[ -d "${HOME}/Рабочий стол" ]] ; then