Compare commits

...

75 Commits

Author SHA1 Message Date
97ced97037 Scripts version 2215.1 2023-08-18 19:18:10 +03:00
4ae8269099 Scripts version 2215 2023-08-18 16:14:20 +03:00
29ad1fe684 Merge pull request #58 from Boria138/switch-icon
Switch PortProton icon and added arch multilib section to README
2023-08-14 17:53:50 +03:00
effaa8caa2 Merge pull request #59 from Boria138/update-fps-limit
Brought fps limitation to the same form as CPU cores limitation
2023-08-14 17:53:40 +03:00
a852f48d99 Brought fps limitation to the same form as CPU cores limitation
Changed yad scale to yad combobox with values 30,60,90 and 120 fps also changed disable from 0 to disabled
2023-08-14 12:23:40 +06:00
9c400384a5 Switch PortProton icon and added arch multilib section to README 2023-08-08 13:51:53 +06:00
95b9627c31 Merge pull request #56 from Boria138/update-readme
Update Readme (fix icon)
2023-08-07 18:19:11 +03:00
2c18fe8829 Update Readme 2023-08-07 19:03:13 +06:00
95b09db43a Scripts version 2214 2023-08-04 11:50:39 +03:00
1c1860dbef Scripts version 2213 2023-08-03 17:54:36 +03:00
c0c48c32df Merge branch 'Boria138-cpu-limit' 2023-08-02 01:04:58 +03:00
c6622177a3 Added ability to restrict CPU cores 2023-08-02 00:58:56 +06:00
d9c9747bc6 Scripts version 2212 2023-08-01 18:16:25 +03:00
61c73ffe21 Scripts version 2211 2023-07-31 10:50:50 +03:00
13a6980cf7 Merge branch 'Boria138-update-readme' 2023-07-30 12:34:50 +03:00
1411a31743 Delete steam from Fedora deps 2023-07-29 17:21:56 +06:00
815689478c Update and beatify readme 2023-07-29 15:21:27 +06:00
cfbcf69d03 Scripts version 2210 2023-07-28 18:20:32 +03:00
0fff71a8bb Scripts version 2209 2023-07-26 15:58:11 +03:00
5d7b276873 Merge branch 'Boria138-update-autoinstall'
- Added Battle Of Space Raiders autoinstall
- Replaced the url for the Caliber download
- Deleted try_download_caliber function
- Replaced wget -O in PW_ANKAMA to try_download function
2023-07-26 14:50:58 +03:00
a6f899b757 disabled EAC and BE for autoinstall 2023-07-26 14:50:41 +03:00
3078ed73ef minor changes 2023-07-26 14:47:57 +03:00
1554e7e7cd Update Autoinstall
Added Battle Of Space Raiders autoinstall
Replaced the url for the Caliber download
Deleted try_download_caliber function
Replaced wget -O in PW_ANKAMA to try_download function
2023-07-26 17:08:17 +06:00
c94136c936 Scripts version 2208 2023-07-24 13:08:24 +03:00
a84b860c25 Merge pull request #49 from Maks1mS/feat/rename-shortcut
feat: Add ability to set shortcut name
2023-07-24 12:22:44 +03:00
7997f88f64 Merge pull request #50 from Boria138/minor-improvements
Minor improvements
2023-07-24 12:17:06 +03:00
8dae4f8307 Scripts version 2207-2 2023-07-23 21:46:15 +03:00
f43f247be5 Scripts version 2207 2023-07-23 21:44:18 +03:00
bb97c240eb Minor improvements
Replaced which with command -v since which is already deprecated
Replaced lsb_release -d with cat /etc/os-release since this method is more universal
Fixed a couple of typos in the PortProton installation script
2023-07-21 09:39:19 +06:00
ffb52f13d9 remove debug echo 2023-07-20 18:22:31 +03:00
aabe7da7a2 fix 2023-07-20 18:21:08 +03:00
ed4ee4dc9f fix 2023-07-20 18:01:26 +03:00
1c05f29e1d fix: Add info about shortcut 2023-07-20 17:41:36 +03:00
b3937994a1 feat: Add ability to set shortcut name 2023-07-20 14:05:46 +03:00
55dedfe548 Merge pull request #48 from Boria138/symlink-fix
added a check for the existence of a symbolic link
2023-07-11 21:44:28 +03:00
f6b5eee05a I added a check for the existence of a symbolic link
If a person runs a PortProton installation when it is already installed e.g. if he installed PortProton manually and decided to switch to the package, the first installation will break because of the existence of a symbolic link and consequently PortPrototon will not run
2023-07-10 11:20:13 +06:00
078efd5966 Scripts version 2206 2023-07-07 16:53:47 +03:00
d247a7be11 Scripts version 2205-1 2023-07-01 15:34:11 +03:00
964931bb77 Scripts version 2205 2023-07-01 15:28:08 +03:00
5c9ab48a18 Scripts version 2204 2023-06-29 14:12:14 +03:00
de073dfd9f Merge pull request #46 from Boria138/en-lang
Update script lang - №2
2023-06-25 18:06:30 +03:00
0848077479 Улучшил перевод
Заменил упоминание PortProton на переменную $portname
Привёл английскую локализацию к тому же виду что и русскую
Дополнил общую локализацию
2023-06-25 20:42:34 +06:00
e1d13a56f4 Вроде полностью дополнил английский перевод 2023-06-24 13:27:17 +06:00
e28496e1c8 Scripts version 2203 2023-06-23 18:56:24 +03:00
ea9a09ad77 Merge pull request #43 from Boria138/update-vkbasalt-desc
Add description for all vkBasalt effects
2023-06-20 17:08:32 +03:00
3e6247a8e9 Add description for all vkBasalt effects 2023-06-20 16:21:35 +06:00
22650b1b2b Scripts version 2202 2023-06-15 18:18:55 +03:00
577c0fb332 Scripts version 2201-1 2023-06-12 16:37:19 +03:00
975c2c3bfb Scripts version 2201 2023-06-12 16:35:06 +03:00
b1fcef36f2 Scripts version 2200 2023-06-06 19:18:58 +03:00
25ce69127c Scripts version 2199 2023-06-05 22:14:35 +03:00
6e6e20a863 Update README.md 2023-06-03 23:58:34 +03:00
de15cf32bd Update README.md 2023-06-03 17:12:38 +03:00
9c88e6c07f Scripts version 2198 2023-06-02 15:25:01 +03:00
1a9631af0f Scripts version 2197 2023-06-02 14:38:52 +03:00
93c055630b Scripts version 2196 2023-06-01 22:53:38 +03:00
3560d72443 Merge pull request #42 from Toxblh/fix-lang-switcher
Исправленно: При попытке поменять язык, не показывает диалог.
2023-05-31 09:27:49 +03:00
7d9804ce04 fix: Changing language will trigger correct select dialog. Also fixed first start of the app with choosing language at first. 2023-05-30 23:32:56 +01:00
6b8e52720c Scripts version 2195 2023-05-30 23:18:01 +03:00
5582ed5862 Scripts version 2194 2023-05-30 20:03:00 +03:00
89f282ef7f Scripts version 2193 2023-05-30 19:42:45 +03:00
e26cc989b4 Scripts version 2192 2023-05-30 11:01:12 +03:00
728edf1624 Scripts version 2191 (fix size GUI) 2023-05-30 03:20:09 +03:00
343dda7fe8 Scripts version 2191 2023-05-30 02:25:25 +03:00
b0f10aea1d Scripts version 2190 2023-05-28 16:22:01 +03:00
d90e596f99 Scripts version 2189 2023-05-28 12:13:10 +03:00
8bbb990c2b Scripts version 2188 2023-05-26 11:01:43 +03:00
1e198ba0c6 Scripts version 2187 2023-05-23 19:07:29 +03:00
e080212bbb Scripts version 2186-2 2023-05-21 17:06:01 +03:00
61ee6482f5 Scripts version 2186 2023-05-21 17:05:30 +03:00
e5a40d8fe3 Scripts version 2185 2023-05-21 12:39:45 +03:00
5875ac84da Merge pull request #41 from zorn-v/patch-3
Fix stop portwine with GUI_DISABLED_CS=1
2023-05-17 10:22:48 +03:00
bc5fe4c12d Fix stop portwine with GUI_DISABLED_CS=1 2023-05-17 17:19:13 +10:00
b48462519a Scripts version 2184 2023-05-15 13:09:38 +03:00
d982c8fab3 Scripts version 2183 2023-05-15 02:19:05 +03:00
101 changed files with 2414 additions and 1573 deletions

161
README.md
View File

@ -1,56 +1,89 @@
# PortProton
<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">Project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users.
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.</p>
</div>
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
## Attention
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
PortProton is a project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users.
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.
## Features
Based on the version of WINE from Valve (Proton) and its modifications (Proton GE). Includes a set of scripts combined with wine-proton itself, a Steam Runtime Sniper container with the addition of ported versions of MANGOHUD (output useful information over the game window: FPS, FrameTime, CPU, GPU, etc) and vkBasalt (improvement of graphics in games, very good in in conjunction with FSR, DLSS) + many already configured optimizations for maximum performance.
- Based on the version of WINE from Valve (Proton) and its modifications (Proton GE).
Includes a set of scripts combined with wine-proton itself, a Steam Runtime Sniper container with the addition of ported versions of MANGOHUD (output useful information over the game window: FPS, FrameTime, CPU, GPU, etc) and vkBasalt (improvement of graphics in games, very good in in conjunction with FSR, DLSS) + many already configured optimizations for maximum performance.
Implemented one-click auto-installation (in the AUTOINSTALL tab ) of popular launchers such as: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends and many others.
For fans of console games, there are many console emulators to choose from (in the EMULATORS tab ): PPSSPP, Citra, Cemu, ePSXe, MAME and many others.
- Implemented one-click auto-installation (in the AUTOINSTALL tab ) of popular launchers such as: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends and many others.
PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!
- For fans of console games, there are many console emulators to choose from (in the EMULATORS tab ): PPSSPP, Citra, Cemu, ePSXe, MAME and many others.
Wine sources used in PortWINE:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
**PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!**
## **Wine sources used in PortWINE:**
* WINE-PROTON: https://github.com/ValveSoftware/Proton
* WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
## 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.) :
[portproton-1.0-8-x86_64.pkg.tar.zst](https://github.com/Castro-Fidel/PortProton_PKGBUILD/releases/download/portproton-1.0-8-x86_64/portproton-1.0-8-x86_64.pkg.tar.zst)
* **ROSA Linux** (package in the official repository) is installed with the command:
`sudo urpmi portproton`
* **Alt Linux (Sisyphus)** (package in the official repository) is installed with the command:
[AUR](https://aur.archlinux.org/packages/portproton)
* **ROSA Linux** (package in the official repository) is installed with the command:
```sh
sudo urpmi portproton
```
* **Fedora 37+** and **Nobara**:
```sh
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 full-upgrade
epm ei
epm full-upgrade
epm play portproton
exit
```
## Universal (manual) installation
**ATTENTION** : with the universal method of installing PortProton, dependencies must be installed manually!
Normal installation:
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0`
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0
```
Silent installation (ENG):
`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
```
Silent installation (RUS):
`wget -c
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus`
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus
```
## Dependencies
@ -60,56 +93,102 @@ If you have a video card from NVIDIA and a proprietary driver is installed, then
* **Ubuntu / Linux Mint / Pop!_OS**
`sudo dpkg --add-architecture i386`
```sh
sudo dpkg --add-architecture i386
`sudo add-apt-repository multiverse`
sudo add-apt-repository multiverse
`sudo apt update && sudo apt upgrade`
sudo apt update
`sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386`
sudo apt 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**
`sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity lsb-release 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`
First check if the **multilib** repository is enabled
```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
```
If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidia-utils** package is installed
`sudo pacman -Syu lib32-nvidia-utils`
```sh
sudo pacman -Syu lib32-nvidia-utils
```
* **Debian/Deepin**
`sudo apt install software-properties-common -y && sudo apt-add-repository non-free && sudo dpkg --add-architecture i386 && sudo apt update && sudo apt upgrade`
```sh
sudo apt install software-properties-common -y
`sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract`
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**
`sudo zypper in curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0`
```sh
sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0
```
* **Fedora**
Enable Non-free repository:
```sh
sudo dnf update
`sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm`
sudo dnf upgrade --refresh
Install the required dependencies:
`sudo dnf update && sudo dnf upgrade --refresh && sudo dnf install curl gamemode icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam`
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**
`sudo apt-get update && sudo apt-get dist-upgrade -y`
```sh
sudo apt-get update
`sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd`
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**
`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`
```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
```
* **Solus 4.x**
`sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba`
```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
```
## Contacts
You can join our [Discord](https://discord.gg/FTaheP99wE) server.
<p>
<a href="https://discord.gg/FTaheP99wE">
<img src="https://img.shields.io/discord/308323056592486420?logo=discord"
alt="chat on Discord"></a>
</p>

View File

@ -1,13 +1,178 @@
You can help us in the development of the project on the website: boosty.to/linux-gaming.ru
You can help us in the development of the project on the website: https://linux-gaming.ru/donate/
-----------------------------------------
Changelog:
###Scripts version 2181###
###Scripts version 2215### Date: 18.08.2023 / Update download size: 8 megabytes.
* added script mirror: https://gitlab.eterfund.ru/Castro-Fidel/
* creation of third-party (non-working) shortcuts by means of wine is disabled (when using wine versions other than proton)
###Scripts version 2214### Date: 04.08.2023 / Update download size: 250 megabytes.
* updated PROTON_LG to version 8-11
###Scripts version 2213### Date: 03.08.2023 / Update download size: 250 megabytes.
* updated PROTON_LG to version 8-10
* an update from Boria138 has been adopted and finalized, adding a setting for limiting the use of CPU cores. (WINE_CPU_TOPOLOGY)
* added a fix that significantly reduces the CPU load and increases FPS in Unity games (assuming more than 8 logical processor cores)
* fixed changing and disabling FPS cutting
###Scripts version 2212### Date: 01.08.2023 / Update download size: 10 megabytes.
* added D8VK (DirectX 8 to Vulkan API)
###Scripts version 2211### Date: 31.07.2023 / Update download size: 9 megabytes.
* fix: League Of Legends (updated WINE_LOL_GE_8.12)
* updated README in GitHub (thanks Boria138)
###Scripts version 2210### Date: 28.07.2023 / Update download size: 9 megabytes.
* fix install and run (need tests):
BattleNET
STEAM_PP
* minor scripts changes
###Scripts version 2209### Date: 26.07.2023 / Update download size: 9 megabytes.
* added "Battle Of Space Raiders" autoinstall (thanks Boria138)
* minor improvements by Boria138
* disabled EAC and BE for autoinstall
* HOTFIX - fixed issues on some systems when using PROTON_LG_8-X
###Scripts version 2208### Date: 24.07.2023 / Update download size: 9 megabytes.
* added rename shortcut (thanks Maks1mS)
* minor improvements by Boria138
* fix installing: Genshin Impact
###Scripts version 2207### Date: 23.07.2023 / Update download size: 250 megabytes.
* updated PROTON_LG_8-6 (with MONO 8.0)
* updated DXVK_GIT_VER="2.2-137"
* updated VKD3D_GIT_VER="1.1-3516"
###Scripts version 2206### Date: 07.07.2023 / Update download size: 250 megabytes.
* updated PROTON_LG_8-6 (with MONO 8.0)
* updated DXVK_GIT_VER="2.2-116"
* updated VKD3D_GIT_VER="1.1-3488"
* added Guild Wars 2 to autoinstall
###Scripts version 2205### Date: 01.07.2023 / Update download size: 240 megabytes.
* updated PROTON_LG_8-4
* with the PROTON_LG_8-4 version, the "World of Ships" game is working again
* with the PROTON_LG_8-4 version, the "Ubisoft Connect" is working again
###Scripts version 2204### Date: 29.06.2023 / Update download size: 9 megabytes.
* update localization
* minor fixes for installing LGC and WGC
###Scripts version 2203### Date: 23.06.2023 / Update download size: 9 megabytes.
* minor fixes for installing Battle.net
###Scripts version 2202### Date: 15.06.2023 / Update download size: 9 megabytes.
* added Genshin Impact (again)
* fix: download PROTON-GE
###Scripts version 2201### Date: 12.06.2023 / Update download size: 9 megabytes.
* improved readability of the output when running portproton from the terminal
* fixed the launch of the game World of Sea Battle
* added the selection of the settings file before launching setup.exe
###Scripts version 2200### Date: 06.06.2023 / Update download size: 9 megabytes.
* updated WINE for League of Legends
###Scripts version 2199### Date: 05.06.2023 / Update download size: 9 megabytes.
* minor fixes
* function removed: check_nvidia_vk_icd_file
###Scripts version 2198### Date: 02.06.2023 / Update download size: 9 megabytes.
* HOTFIX №2 for DLSS
* HOTFIX - language change
###Scripts version 2197### Date: 02.06.2023 / Update download size: 9 megabytes.
* HOTFIX for DLSS
###Scripts version 2196### Date: 01.06.2023 / Update download size: 9 megabytes.
* fixed language switching in PortProton
* successfully tested native versions of DLSS and DXR in Alt Linux on video cards from NVIDIA RTX series
* added settings file for new game: SystemShockRemake
* updated STEAM settings file with online fix (thanks to Boria | Arch | GNOME) To apply the changes, you need to run the STEAM auto-installation again
* minor interface improvements
* added variable for laptops with hybrid graphics to PortProton/data/user.conf: "export optirun_on= #nvidia-prime-run or prime-run"
* added condition: if "optirun_on" variable is not empty, then PRIME_RENDER_OFFLOAD and nvidia_vk_icd_file check are automatically enabled
###Scripts version 2195###
* FIX - install Rockstar Games Launcher
* DELETE - ROBLOX (need use: https://github.com/roblox-linux-wrapper/roblox-linux-wrapper)
* updated DXR и DLSS functions
###Scripts version 2194###
* HOTFIX - removed nvml verification in the plugins directory
###Scripts version 2193###
* a small change in the settings of 3D api, DXR, DXS.
* updated dxvk-nvapi to version 0.6.3
* updated FAKE_DLS 230506 (FidelityFx Super Resolution 2.2-3001-0-9-1683395145)
###Scripts version 2192###
* fixed interface window when changing its size
* HOTFIX - transition on the way to .exe file
###Scripts version 2191###
Date: 29.05.2023 / The size of the downloaded update: 450 megabytes.
* the libs_v43 library package has been updated
pressure-vessel 0.20230418.0
sniper 0.20230424.48416
YAD 12.3
* fixed vkPlay Cloud Cloud gaming (it is necessary to reinstall vkPlay from the AUTOINSTALL tab after updating the scripts)
* the installation and launch of Plarium Play has been restored
* PortProton has been transferred to a new version of the pseudographic interface: YAD 12.3
###Scripts version 2190###
* added auto-detection of the path to the file to be launched after selecting automatic installation ITCH.IO
* the FULCRUM GAMES launcher has been completely removed from PortProton due to the transition of all their PC games to the STEAM launcher
###Scripts version 2189###
* accelerated the launch of Metal War Online when the game is restarted. (ALT bug 46275) To apply the fix, you need to run the MWO auto-installation again
* fixed the display of Panzar game icons (ALT bug 46273)
* fixed the display of World of Sea Battle game icons (ALT bug 46274)
* fixed the installation and launch of Ankama Launcher (ALT bug 46276)
###Scripts version 2188###
* Indiegala Client installation is installed in a separate IGCLIENT prefix
* temporarily removed installers that require improvements:
Genshin Impact (the developers, for their part, again banned the launch under wine)
Plarium Play (requires dotnet 6, which does not work adequately at the moment)
Electronic Arts App (after switching from Origin to EA App launcher works, but the games do not start)
* added the ability to download a new version of wine: PROTON_STEAM_8.0-2D (using DOWNLOAD OTHER WINE)
* fixed incorrect display of the game icon when launching exe files similar in name: Setup, setup, Launcher, launcher (ALT bug 46269)
###Scripts version 2187###
* Added: (Thanks chal55rus Sergey P.)
CONTRACT WARS
Stalker Online
Metal War Online
Xenia
FCEUX
xemu
Demul
Rpcs3
###Scripts version 2186###
* added Genshin Impact
###Scripts version 2185###
* updated versions:
DXVK_GIT_VER="2.2-7"
VKD3D_GIT_VER="1.1-3424"
###Scripts version 2184###
* FIX for EveLauncher
###Scripts version 2183###
* minor fixes
* updated versions:
DXVK_GIT_VER="2.2-1"
VKD3D_GIT_VER="1.1-3414"
###Scripts version 2182###
* updated versions:
PROTON_GE="8-3"
DXVK_GIT_VER="2.1-85"
VKD3D_GIT_VER="1.1-3413"
* удалена устаревшая функция определения видеокарты от NVIDIA
###Scripts version 2181###
* updated versions:
@ -773,7 +938,7 @@ export WINE_FULLSCREEN_FSR="1" (by default)
* updated db files
###Scripts version 2065###
* HOTFIX - correcting the termination of the yad and yad_new processes
* HOTFIX - correcting the termination of the yad and yad_v12_3 processes
###Scripts version 2064###
* added notification to the user about possible problems when starting in a Wayland session (once and only under Wayland)

View File

@ -2,6 +2,178 @@
-----------------------------------------
История изменений:
###Scripts version 2215### Дата: 18.08.2023 / Размер скачиваемого обновления: 8 мегабайт
* добавлено зеркало скриптов: https://gitlab.eterfund.ru/Castro-Fidel/
* отключено создание сторонних (не работающих) ярлыков средствами wine (при использовании версий wine отличных от proton)
###Scripts version 2214### Дата: 04.08.2023 / Размер скачиваемого обновления: 250 мегабайт
* обновлен PROTON_LG до версии 8-11
* обновлен в "Авторы и спасибы" список бустеров которые хоть раз поддержали проект.
(Для тех кто хочет присоедениться к поддержке проекта: https://boosty.to/portwine-linux.ru)
###Scripts version 2213### Дата: 03.08.2023 / Размер скачиваемого обновления: 250 мегабайт
* обновлен PROTON_LG до версии 8-10 (фикс UBISOFT: купленные игры работают, для магазина нужен VPN)
* принято и доработано обновение от Boria138 добавляющее настройку ограничения использования ядер ЦПУ. (WINE_CPU_TOPOLOGY)
* добавлен фикс значительно уменьшающий нагрузку CPU и повышающий FPS в Unity играх (при условии более 8 логических ядер процессора)
* исправлены изменение и отключение огранчения FPS
###Scripts version 2212### Дата: 01.08.2023 / Размер скачиваемого обновления: 10 мегабайт
* добавлено использование D8VK (транслятор DirectX 8 в Vulkan API) для старых игр, при использовании DXVK и VKD3D
###Scripts version 2211### Дата: 31.07.2023 / Размер скачиваемого обновления: 9 мегабайт основные файлы и 90 мегабайт при запуске игры League Of Legends
* исправлена работа League Of Legends (обновлен WINE_LOL_GE_8.12)
* обновлен README на GitHub (спасибо Boria138)
###Scripts version 2210### Дата: 28.07.2023 / Размер скачиваемого обновления: 9 мегабайт.
* исправлены установка и обновление лончеров (требуется тест на разных системах):
BattleNET
STEAM_PP
* множество небольших изменений скриптов
###Scripts version 2209### Дата: 26.07.2023 / Размер скачиваемого обновления: 9 мегабайт.
* добавлена автоустановка игры: "Battle Of Space Raiders" (спасибо Boria138)
* приняты небольшие исправления от Boria138
* HOTFIX - исправлены проблемы работы PROTON_LG_8-X на некоторых системах (отображение черных лончеров и потеря библиотек необходимых для игр)
###Scripts version 2208### Дата: 24.07.2023 / Размер скачиваемого обновления: 9 мегабайт.
* добавлена возможность изменения названия при создании "ярлыка" (спасибо Maks1mS)
* приняты небольшие исправления от Boria138
* исправлена установка Genshin Impact
###Scripts version 2207### Дата: 23.07.2023 / Размер скачиваемого обновления: 250 мегабайт.
* обновлен PROTON_LG до версии 8-9
* обновлены версии:
DXVK_GIT_VER="2.2-137"
VKD3D_GIT_VER="1.1-3516"
###Scripts version 2206### Дата: 07.07.2023 / Размер скачиваемого обновления: 250 мегабайт.
* обновлен PROTON_LG до версии 8-6 (совместно с версией MONO 8.0)
* обновлены версии:
DXVK_GIT_VER="2.2-116"
VKD3D_GIT_VER="1.1-3488"
* добавлена автоустановка игры: Guild Wars 2
###Scripts version 2205### Дата: 01.07.2023 / Размер скачиваемого обновления: 240 мегабайт.
* обновлен PROTON_LG до версии 8-4
* с версией PROTON_LG_8-4 снова работает игра "Мир Кораблей"
* с версией PROTON_LG_8-4 снова работает лончер "Ubisoft Connect"
###Scripts version 2204### Дата: 29.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* улучшение локализации (спасибо Boria138)
* обновлены автоустановки LGC и WGC
###Scripts version 2203### Дата: 23.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* дополнены всплывающие подсказки в меню настроек vkBasalt (спасибо Boria138)
* обновлен установщик Battle.net
###Scripts version 2202### Дата: 15.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* возвращена установка Genshin Impact. (Снова заработал, на долго?)
* исправлена загрузка WINE версий PROTON-GE
###Scripts version 2201### Дата: 12.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* улучшена читаемость вывода при запуске portproton из терминала
* исправлен запуск игры World of Sea Battle
* добавлен выбор файла настроек перед запуском setup.exe
###Scripts version 2200### Дата: 06.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* обновлен WINE для League of Legends (Для применения изменений требуется снова запустить автоустановку League of Legends)
###Scripts version 2199### Дата: 05.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* добавлен фикс для установки некоторых репаков от xatab
* удалена функция: check_nvidia_vk_icd_file (в ней теперь нет необходимости)
###Scripts version 2198### Дата: 02.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* HOTFIX №2 для включения DLSS
* HOTFIX выбора языка интерфейса
###Scripts version 2197### Дата: 02.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* HOTFIX для включения DLSS
###Scripts version 2196### Дата: 01.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* исправлено переключение языка в PortProton
* успешно проверена работа нативных версий DLSS и DXR в Alt Linux на видеокартах от NVIDIA серии RTX
* добавлен файл настроек для новой игры: SystemShockRemake
* обновлен файл настроек STEAM с онлайн фиксом (спасибо Boria | Arch | GNOME) Для применения изменений требуется снова запустить автоустановку STEAM
* небольшие улучшения интерфейса
* в PortProton/data/user.conf добавлена переменная для ноутбуков с гибридной графикой: "export optirun_on= #nvidia-prime-run or prime-run"
* добавлено условие: если переменная "optirun_on" не пустая, то автоматически включается PRIME_RENDER_OFFLOAD и проверка nvidia_vk_icd_file
###Scripts version 2195### Дата: 30.05.2023 / Размер скачиваемого обновления: 16 мегабайт.
* исправлена установка Rockstar Games Launcher (ALT bug 46277)
* временно убран установщик ROBLOX (ALT bug 46283)
* добавлена поддержка DXR и DLSS в Alt Linux (необходимо выбирать новейшие версии DXVK и VKD3D)
###Scripts version 2194### Дата: 30.05.2023 / Размер скачиваемого обновления: 9 мегабайт.
* HOTFIX - убрана проверка nvml в каталоге plugins
###Scripts version 2193### Дата: 30.05.2023 / Размер скачиваемого обновления: 15 мегабайт.
* обновление функций выбора 3D api, DXR, DLSS, FAKE_DLSS
* обновлен dxvk-nvapi до версии 0.6.3
* обновлен FAKE_DLSS 230506 (FidelityFx Super Resolution 2.2-3001-0-9-1683395145)
###Scripts version 2192### Дата: 30.05.2023 / Размер скачиваемого обновления: 9 мегабайт.
* исправлено "убегание" окна интерфейса при изменении его размера
* HOTFIX - переход по пути до .exe файла
###Scripts version 2191###
Дата: 29.05.2023 / Размер скачиваемого обновления: 450 мегабайт.
* обновлен пакет библиотек libs_v43
pressure-vessel 0.20230418.0
sniper 0.20230424.48416
YAD 12.3
* исправлен облачный гейминг vkPlay Cloud (необходимо после обновления скриптов повторно переустановить vkPlay из вкладки АВТОУСТАНОВКА)
* восстановлена установка и запуск Plarium Play
* PortProton переведен на новую версию псевдографического интерфейса: YAD 12.3
###Scripts version 2190###
* добавлено автоопределение пути до запускаемого файла после выбора автоматической установки ITCH.IO (ALT bug 46278)
* полностью удален лончер FULQRUM GAMES из PortProton в связи с переходом всех их ПК игр в лончер STEAM (ALT bug 46279)
###Scripts version 2189###
* ускорен запуск Metal War Online при повторном запуске игры. Добавлен комментарий: На данный момент игра работает, но долго запускаеться из Лаунчера. После установки игры, при повторном запуске, игра будет запускаться быстро. (ALT bug 46275) Для применения исправления требуется снова запустить автоустановку MWO
* исправлено отображение иконок игры Panzar (ALT bug 46273)
* исправлено отображение иконок игры World of Sea Battle (ALT bug 46274)
* исправлена установка и запуск Ankama Launcher (ALT bug 46276)
###Scripts version 2188###
* установка Indiegala Client устанавливается в отдельный префикс IGCLIENT и добавлена информация при запуске лончера: После первого подтверждения логина в вашем браузере необходимо перезапустить игру
* временно убраны установщики которые треуют доработки:
Genshin Impact (разработчики со своей стороны снова запретили запуск под wine)
Plarium Play
Electronic Arts App (после перехода с Origin на EA App лончер работает, но игры не запускаются)
* добавлена возможность скачивания новой версии wine: PROTON_STEAM_8.0-2D (с помощью DOWNLOAD OTHER WINE)
* исправлено неправильное отображение иконки игры при запуске схожих по названию exe файлов: Setup, setup, Launcher, launcher (ALT bug 46269)
###Scripts version 2187###
* добавлена установка эмуляторов: (Спасибо chal55rus Sergey P.)
Xenia
FCEUX
xemu
Demul
Rpcs3
* добавлена установка игры: (Спасибо chal55rus Sergey P.)
CONTRACT WARS
Stalker Online
Metal War Online
###Scripts version 2186###
* добавлена установка Genshin Impact (работает с оригинальным античитом)
###Scripts version 2185###
* обновлены версии:
DXVK_GIT_VER="2.2-7"
VKD3D_GIT_VER="1.1-3424"
###Scripts version 2184###
* фикс установки EveLauncher
###Scripts version 2183###
* небольшие изменения функции скачивания
* добавлен экспериментальный префикс PROGRAMS
* обновлены версии (исправлен запуск BattleNET и vkPlay на новейших версиях DXVK и VKD3D):
DXVK_GIT_VER="2.2-1"
VKD3D_GIT_VER="1.1-3414"
###Scripts version 2182###
* обновлены версии:
PROTON_GE="8-3"
@ -53,241 +225,6 @@
###Scripts version 2175###
* Обновлен список благодарностей платным подписчикам на https://boosty.to/portwine-linux.ru
* Огромное спасибо (список всех активных подписок и которые уже не подписаны на данный момент):
anisan_sg
Максим Хмара-Миронов
svo
Seeropoonya
Alexsei Cherniavskiy
wrager
Zloy Ivan
Bat1stuff
LeGi0neR
ivboss
vlad petrov
Ростислав Кузнецов
Maksami Cordyceps
Александр Аброськин
Константин
Ottakvot
VAtiB
sship
Homyakin
Dima Manshin
gg_harper
DIO
Ivory_drive
Jeta
PLAFON
Coin Hunt
Александр Кладов
Антон Фамилианов
Cruze
Gekko
Melord
Taras Zagibalov
dupster mailbox
funti2f
Артём М.
Владимир Бильдюкевич
Олег Скакунов
A B
onix
BELIJJAaL
Apofis Smab
Aule Mahal
Андрей Гусаков
Влад Кладиев
Дмитрий Маньшин
Vikthor Prieto
Александр Абдулов
Александр Мерзликин
Алексей Чугунов
Дмитрий Круглов
Егор Кречун
Евгений Храмов
Ярослав Москвин
Виктор Щетинин
CanBoo
Алексей Галаш
Алексей Самойлов
Another games
Maktub
MrBatonio
Алексей Ивушкин
Тимофей Ковалев
Юрий С.
Alex Sh
AlxChkln
Ivan Vlasov
Rojok56
vano_364
xpamych
Андрей Нешта
Виталий Росляков
Евгений Долгополов
Евгений Хирвонен
Иван Чевычелов
Марат Рахимов
Сергей Александрович К.
Windchester
Неизвестый Дмитрий
Денис Олефиренко
Soma
Никита Булавин
Сергей Sid
haravara
Энвер
Серёга Сапрыкин
AdamArclight666
Vosarat
fight fox
Дед Мазай
Леонид
tima
Andrei K
Tykva
Григорий Кожуханцев
Стас Толкачёв
Haschwalth
Looter-bit
Optimus
zntzj
Маленькая сосна
Ethan Winters
Семён Клишин
Daniil Go
GaiverX
Happy Husky
Pependos
Zorit
chal55rusSergey P.
d.kostroma
penguin4ek
Алексей Войтенко
Влад Блинов
Данил Павлов
Жан-Люк Пикар
Коляныч Королёв
Марат
Равич Ревес
Роман Паженский
Aleks
Dencher12
Rustam
Евгений Бебин
Константин Абадонна
Никита Иванов
Семён Сорокин
Сергей Шипарев
V1ktr
Алексей Ultralin
Evgen Buiko
Allegra_g
Eliot
amikha1lov
paulscathedral
Удалить Аккаунт
Alexey RasskazovskyQ
Bunny Sword
Евгений Горенков
Geomant17
Oleg55Rus
The End
WK217
devmorro
typedef
Георгий Гурский
Никита Попков
Рамиль
Рома Б.
Семён
Dnevnnoy
Jackie
PlagueEvgeny
Slir3x
Zillah Giovanni
ksandr4370
Владимир Дарвин
Денис Мальцев
Тима Суеубаев
Drakorgaur
EvilDevolver
Nuclearsun
Sergey Zotov
Виндэтарог
Виталий Богаченко
Павел Пашенцев
Виталий Нуров
July April
didi_side
Валерий Толмачёв
Azartiny Mor
Dezert1r
Dmitriy Tokarev
Kitsune_Yagiza
Lonely Lonely
MICROFARAT
Monti Roquefort
Nesterik
Ruslan Vlasov
Sudo Connect
VUMtut
Xpamych
apolon
fusiok
mrquokka
sanelasan
shecspir
sugoyako
Антон Рудковский
Артём К.
Дмитрий Сергеев
Павел Иванов
Igor14936
VanBugel
Кирилл Т
BRXC
D M_y
MLogaut
Nikola P.
Yasiok
Вячеслав Шустров
Дмитрий Мазанка
Тимур Сафонов
1 1
El Mago
dunkanMcLoud
Akai
Dallasss
Linux Vumtut
Nurik
Subscript
Yurec
sendependa_dio
ua3dko
Алексей Зубрийчук
Антоний Дамикан
Виктор Шварц
Вячеслав Шитюков
Денис Матій
Дмитрий Сидоров
Роман Игнатьев
Саша
Юрий Константинов
benya
Женя Рябушкин
Хоттабыч
DSergeev
Dadenard
Lexa XLS
Saireg
sashman
Александр Лобанов
Андрей Карпенцов
Иван Белекеев
Михаил Полозов
николай гинтов
###Scripts version 2174###
* обновлены версии:
@ -797,7 +734,7 @@ export WINE_FULLSCREEN_FSR="1" (используется по умолчанию
* обновлены db файлы
###Scripts version 2065###
* HOTFIX - корректировка завершения процессов yad и yad_new
* HOTFIX - корректировка завершения процессов yad и yad_v12_3
###Scripts version 2064###
* добавлено уведомление пользователю о возможных проблемах при запуске в Wayland сессии (один раз и только под Wayland)
@ -1204,7 +1141,7 @@ PS: не забывает для активации добавить перем
###Scripts version 1104###
* крупное обновлеение контейнера (libs_v16):
- добавлен /bin/yad_new версии 10.1 скомпилированный специально для будущего меню в трее)
- добавлен /bin/yad_v12_3 версии 10.1 скомпилированный специально для будущего меню в трее)
- обновлен MANGOHUD (требуется проверка под OpenGL)
- обновлен 7z необходимый для будущей автоматической установки Rockstar Game Launcher
* для тестовой поддержки wayland добавлена переменная в скрипт var: GDK_BACKEND="x11"

View File

@ -24,8 +24,8 @@
#
# Supported values : Any non-negative integer
# dxgi.maxFrameRate = 0
# d3d9.maxFrameRate = 0
dxgi.maxFrameRate = 240
d3d9.maxFrameRate = 240
# Override PCI vendor and device IDs reported to the application. Can
@ -84,8 +84,8 @@ dxgi.customVendorId = 10de
#
# Supported values: Any non-negative number
# dxgi.syncInterval = -1
# d3d9.presentInterval = -1
# dxgi.syncInterval = 0
# d3d9.presentInterval = 0
# True enables the mailbox present mode in case regular Vsync is disabled.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
data_from_portwine/img/gui/Rockstar.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
data_from_portwine/img/gui/ankama.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
data_from_portwine/img/gui/battle_net.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 987 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
data_from_portwine/img/gui/eve.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
data_from_portwine/img/gui/igclient.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
data_from_portwine/img/gui/itch.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
data_from_portwine/img/gui/lgc.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 680 B

After

Width:  |  Height:  |  Size: 657 B

BIN
data_from_portwine/img/gui/lol.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
data_from_portwine/img/gui/mygames.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
data_from_portwine/img/gui/osu.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
data_from_portwine/img/gui/poe.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
data_from_portwine/img/gui/port_proton.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
data_from_portwine/img/gui/roblox.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
data_from_portwine/img/gui/wgc.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
data_from_portwine/img/gui/wosb.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
data_from_portwine/img/w.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 57 KiB

File diff suppressed because it is too large Load Diff

View File

@ -7,17 +7,27 @@ pw_ping_test () {
}
print_error () {
echo "ERROR: $@"
printf "\E[31m%s Error: $@ %s\e[0m\n"
}
export -f print_error
print_warning () {
printf "\E[33m%s Warning: $@ %s\e[0m\n"
}
export -f print_warning
print_info () {
echo "INFO: $@"
printf "\E[36m%s Info: $@ %s\e[0m\n"
}
export -f print_info
print_debug () {
printf "\E[35m%s Debug: $@ %s\e[0m\n"
}
export -f print_debug
print_var () {
for vp in $@ ; do echo "${vp}=${!vp}" ; done
for vp in $@ ; do print_info "${vp}=${!vp}" ; done
}
export -f print_var
@ -27,7 +37,7 @@ try_copy_file () {
else
cp -f "$1" "$2"
if [ "$?" != 0 ]
then print_error "failed to copy file $1 to $2" || return 1
then print_error "failed to copy file $1 to $2" && return 1
else return 0
fi
fi
@ -46,7 +56,7 @@ try_copy_dir () {
export -f try_copy_dir
try_remove_file () {
if [ -f "$1" ] ; then
if [ -f "$1" ] || [ ! -e "$1" ] ; then
rm -f "$1"
[ "$?" == 0 ] && return 0 || return 1
fi
@ -105,18 +115,18 @@ export -f check_process
try_download () {
PW_DOWNLOAD_FILE_NAME="$(basename $1)"
set -o pipefail
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "${1}" 2>&1 | \
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 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} from GitHub."
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
try_remove_file "$2"
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90
zenity --progress --percentage=0 --title="Try download ${PW_DOWNLOAD_FILE_NAME} from FTP" --text=Starting... --auto-close --width=500 --height=90
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
try_remove_file "$2"
@ -129,7 +139,7 @@ try_download () {
try_download_to_path () {
set -o pipefail
wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90
@ -142,7 +152,7 @@ try_download_to_path () {
}
try_download_silent () {
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download $1. Skipping."
@ -195,7 +205,7 @@ var_vk_istance_layers_config_update () {
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
if [[ `which zstd` ]] &>/dev/null ; then
if [[ `command -v zstd` ]] &>/dev/null ; then
tar -I zstd -xhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
else
@ -264,7 +274,7 @@ pw_reinstall_pp () {
read -p "Do you want to reinstall PortProton? (Y,y - Yes): " -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
echo
echo ""
exit 1
fi
elif ! gui_question "${port_reinstall}"
@ -277,7 +287,7 @@ pw_reinstall_pp () {
try_remove_file "${PORT_WINE_PATH}/data/user.conf"
echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver"
echo
echo "Restarting PP for reinstall files..."
print_info "Restarting PP for reinstall files..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
}
@ -286,7 +296,13 @@ check_user_conf () {
if [ ! -f "${USER_CONF}" ]; then
echo "#!/usr/bin/env bash" > "${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}"
chmod u+x "${USER_CONF}"
else
grep "optirun_on" "${USER_CONF}" >/dev/null
[[ "$?" != 0 ]] && echo "export optirun_on=" >> "${USER_CONF}"
fi
return 0
}
@ -360,21 +376,18 @@ init_wine_ver () {
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
fi
try_remove_file "${WINEDIR}/lib/libsteam_api.so"
try_remove_file "${WINEDIR}/lib64/libsteam_api.so"
for mono_gecko_chk in "mono" "gecko" ; do
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | sszen
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
echo "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
print_info "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
else
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
print_warning "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
fi
done
@ -384,8 +397,14 @@ init_wine_ver () {
echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/winemenubuilder/d' "${WINEDIR}/share/wine/wine.inf"
fi
fi
rm -f "${WINEDIR}"/lib*/*steam* &>/dev/null
rm -f "${WINEDIR}"/lib*/wine/*/*steam* &>/dev/null
rm -f "${WINEDIR}"/lib*/wine/*-windows/winemenubuilder.exe &>/dev/null
return 0
}
@ -414,14 +433,13 @@ pw_init_runtime () {
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
elif [ -d "${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0" ] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0:${PW_WINELIB}/portable/lib/lib32/gstreamer-1.0"
fi
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
create_new_dir "${WINEDIR}"/gstreamer_tmp/
export WINE_GST_REGISTRY_DIR="${WINEDIR}"/gstreamer_tmp/
export MEDIACONV_AUDIO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_video.foz
else
var_winedlloverride_update "winegstreamer="
fi
@ -461,7 +479,7 @@ pw_init_runtime () {
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
print_info "RUNTIME is enabled"
}
pw_mangohud_check () {
@ -507,14 +525,6 @@ pw_vkbasalt_check () {
return 0
}
check_nvidia_vk_icd_file () {
if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/etc/vulkan/icd.d/nvidia_icd.json"
fi
}
regdlloverrides () {
PW_DLL_EXE=`echo $@ | awk -F: '{print $1}'`
PW_DLL_LIB=`echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}'`
@ -605,12 +615,12 @@ stop_portwine () {
kill_portwine &&
try_remove_dir "${PW_WINELIB}/var"
find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null
if [ ! -z "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null
fi
add_in_stop_portwine #&>/dev/null
kill -n 9 `pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}'` > /dev/null 2>&1
killall yad_new &>/dev/null
killall yad_v12_3 &>/dev/null
exit 0
}
export -f stop_portwine
@ -639,11 +649,11 @@ pw_download_libs () {
fi
fi
export pw_yad="${PW_WINELIB}/portable/bin/yad"
export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new"
export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3"
export pw_zstd="${PW_WINELIB}/portable/bin/zstd"
export pw_7z="${PW_WINELIB}/portable/lib/p7zip/7z"
if [ -x "`which xterm 2>/dev/null`" ]; then
export SYS_XTERM=`which xterm`
if [ -x "`command -v xterm 2>/dev/null`" ]; then
export SYS_XTERM=`command -v xterm`
export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
else
export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e"
@ -738,6 +748,24 @@ pw_check_and_download_dxvk_and_vkd3d () {
fi
fi
done
#Download D8VK
if [ ! -d "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" ] ; then
print_info "Download and install D8VK v.${D8VK_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/d8vk-${D8VK_VER}/d8vk-${D8VK_VER}.tar.xz" "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" ; then
if unpack_tar_xz "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz"
else
try_remove_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz"
try_remove_dir "d8vk-${D8VK_VER}"
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
fi
return 0
}
@ -747,9 +775,7 @@ pw_check_and_download_plugins () {
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done
fi
if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/fake_dlss" \
|| ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]]
then
if [[ ! -d "${PW_PLUGINS_PATH}/fake_dlss" ]] || [[ ! -d "${PW_PLUGINS_PATH}/nvapi" ]] ; then
print_info "Download and install plugins${PW_PLUGINS_VER}..."
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then
@ -769,10 +795,10 @@ pw_check_and_download_plugins () {
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}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
# sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
. "${PORTWINE_DB_FILE}"
if [[ -z "`ls -p "${PORT_WINE_PATH}/prefixes/" | grep -e "^${PW_PREFIX_NAME}/"`" ]] ; then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
@ -786,19 +812,17 @@ pw_init_db () {
unset ADD_CB_DBFILE
for PW_CHECK_DB_FILE in $PW_FIND_DB_FILE ; do
if [[ -z "${ADD_CB_DBFILE}" ]] ; then
export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}"
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`"
else
export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}!${ADD_CB_DBFILE}"
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`!${ADD_CB_DBFILE}"
fi
done
PORTWINE_DB_FILE=`"${pw_yad_new}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form --center \
PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v12_3}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form \
--title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \
--field="DB FILE: :CB" "${ADD_CB_DBFILE}"`
--field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null`
if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
# sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then
PORTWINE_DB_FILE="${PW_FIND_DB_FILE}"
# sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}"
fi
IFS="$orig_IFS"
if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z `grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}"` ]] ; then
@ -817,8 +841,19 @@ pw_init_db () {
init_wine_ver &&
print_info "Use ${PORTWINE_DB_FILE} db file."
fi
if [ -z "$PATH_TO_GAME" ] ; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
if [ -z "${PATH_TO_GAME}" ] ; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
fi
if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ -n "${WINE_CPU_TOPOLOGY}" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}"
fi
if ls "${PATH_TO_GAME}"/*_Data/Resources/ 2>/dev/null | grep "unity" &>/dev/null && \
[[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && \
[[ $(grep -c "^processor" /proc/cpuinfo) -gt "8" ]]
then
export PW_WINE_CPU_TOPOLOGY="8:0,1,2,3,4,5,6,7"
print_info "Automatic added fix for unity games: WINE_CPU_TOPOLOGY=8:0,1,2,3,4,5,6,7"
fi
fi
return 0
@ -831,8 +866,22 @@ pw_port_update () {
fi
export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
print_info "Check update..."
curl -s --list-only https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var > "${PORT_WINE_TMP_PATH}/curent_var_ver"
[[ $? == 0 ]] && print_info "OK!" || print_info "ERROR!"
if curl -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
URL_FOR_CHANGELOG="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine"
URL_TO_PW_MASTER="https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
print_info "OK."
else
if curl -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
URL_FOR_CHANGELOG="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine"
URL_TO_PW_MASTER="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz"
print_info "OK."
else
print_error "Unable to determine the version on the server. Skip it..."
return 1
fi
fi
[[ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ]] && echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
if [[ "${scripts_update_not}" == "1" ]] ; then
@ -840,14 +889,14 @@ pw_port_update () {
print_info "Scripts version in github = ${scripts_current_ver}"
print_info "Scripts version local = ${scripts_install_ver}"
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
if [[ -f "${PW_WINELIB}/portable/bin/yad_new" ]] ; then
export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new"
curl -s --list-only "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
if [[ -f "${PW_WINELIB}/portable/bin/yad_v12_3" ]] ; then
export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3"
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' `
xcsd=`"${pw_yad_new}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--borders=5 --form --separator='%%%' --width=1000 --height=350 --center \
xcsd=`"${pw_yad_v12_3}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--borders=3 --form --separator='%%%' --width=1200 --height=600 \
--field=":TXT" "${CHANGLOG_NEWS}" \
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" `
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null`
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'`
@ -862,7 +911,7 @@ pw_port_update () {
echo "######################################################"
print_info "Update scripts..."
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
if try_download "github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
if try_download "${URL_TO_PW_MASTER}" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}"
then
create_new_dir "${PORT_WINE_TMP_PATH}/scripts_backup"
@ -873,7 +922,7 @@ pw_port_update () {
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
if [[ -z "${pw_yad_new}" ]] ; then
if [[ -z "${pw_yad_v12_3}" ]] ; then
zenity --title="Changelog" --text-info --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
fi
@ -881,7 +930,7 @@ pw_port_update () {
exit 0
fi
else
zenity_error_download && pw_scripts_update
zenity_error_download && pw_port_update
fi ;;
"${scripts_upd5}")
echo " " ;;
@ -917,9 +966,9 @@ update_winetricks () {
}
edit_db_from_gui () {
echo "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
for mod_db in $@ ; do
echo "${mod_db}=${!mod_db}"
print_info "${mod_db}=${!mod_db}"
if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then
echo "export ${mod_db}=\"${!mod_db}\"" >> "${PORTWINE_DB_FILE}"
elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then
@ -941,7 +990,10 @@ pw_create_gui_png () {
fi
PW_RESIZE_TO=128
try_remove_file "${PORT_WINE_PATH}/data/img/setup.png"
if [[ -x "`which wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
try_remove_file "${PORT_WINE_PATH}/data/img/Setup.png"
try_remove_file "${PORT_WINE_PATH}/data/img/launcher.png"
try_remove_file "${PORT_WINE_PATH}/data/img/Launcher.png"
if [[ -x "`command -v wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
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}"
@ -956,7 +1008,7 @@ pw_create_gui_png () {
cp -f "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
fi
if [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] && \
[[ -x "`which "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
[[ -x "`command -v "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
fi
if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then
@ -988,15 +1040,15 @@ pw_find_exe () {
done < "${PORT_WINE_TMP_PATH}/tmp_yad_find_exe"
OrigIFS="$IFS" && IFS=%
PW_SET_FIND_EXE="$("${pw_yad_new}" --height="300" --width="1000" --center --list \
PW_SET_FIND_EXE="$("${pw_yad_v12_3}" --height="300" --width="1000" --list \
--text-align=center --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Create shortcut for..." \
--text="\n${loc_gui_create_shortcut_for_exe}" --column="path to .exe file:" ${FIND_TO_GUI})"
--text="\n${loc_gui_create_shortcut_for_exe}" --column="path to .exe file:" ${FIND_TO_GUI} 2>/dev/null)"
YAD_STATUS="$?"
print_var YAD_STATUS
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
if [[ -z "${PW_SET_FIND_EXE}" ]] ; then
/usr/bin/env bash -c ${pw_full_command_line[*]} &
echo "Restarting..."
print_info "Restarting..."
fi
exit 0
fi

View File

@ -1,15 +1,28 @@
#!/usr/bin/env bash
# Author: linux-gaming.ru
# Helped in translation: ConTI1NuEsZZZ and Boria138
unset update_loc
if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
export update_loc=${update_loc}
fi
if [ "${update_loc}" = "RUS" ]
then
export loc_gui_pw_reinstall_pp="Переустановить PORTPROTON"
export loc_gui_rm_pp="Удалить PORTPROTON"
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
echo ""
else
SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
if [[ ! -z "${SET_LANG}" ]]
then export update_loc=${SET_LANG}
else exit 1
fi
fi
if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_pw_reinstall_pp="Переустановить ${portname}"
export loc_gui_rm_pp="Удалить ${portname}"
export loc_gui_upd_pp="Проверить обновления"
export loc_gui_changelog="История изменений"
export loc_gui_change_loc="Сменить язык интерфейса"
@ -32,12 +45,14 @@ then
export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n"
export inst_set="Выбор"
export inst_set_top="Установка PortWINE"
export ss_done="Ярлык создан в каталоге PortProton.\nДобавить его в МЕНЮ и на Рабочий стол?"
export inst_set_top="Установка ${portname}"
export sc_info="Ярлык будет создан в каталоге ${portname}."
export sc_name="Название"
export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры и на Рабочий стол"
export inst_succ="Установка завершена успешно!"
export port_upd1="Обновление PortWINE"
export port_upd1="Обновление ${portname}"
export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n"
export port_upd3="Действие:"
export port_upd4="Перейти на сайт"
@ -51,18 +66,18 @@ then
export scripts_upd5="Напомнить позже"
export scripts_upd6="Больше не напоминать"
export port_clear_pfx="Вы действительно хотите очистить префикс PortProton?"
export port_clear_pfx="Вы действительно хотите очистить префикс ${portname}?"
export port_del1="Удаление $portname"
export port_del2="Вы действительно хотите полностью удалить PortProton?"
export port_del2="Вы действительно хотите полностью удалить ${portname}?"
export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение."
export port_reinstall="Вы действительно хотите переустановить ${portname}?\nДля этого будет необходимо интернет соединение."
export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта"
export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE"
export port_start1="Запуск PortWINE"
export port_start2="В каком режиме вы хотите запустить PortWINE?"
export port_start1="Запуск ${portname}"
export port_start2="В каком режиме вы хотите запустить ${portname}?"
export port_start3="Режим:"
export port_start4="Обычный"
export port_start5="Отдельной X-сессии"
@ -88,8 +103,7 @@ then
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)'
export PW_USE_DXR10_INFO='Включить поддержку Ray Tracing v.1.0'
export PW_USE_DXR11_INFO='Включить поддержку Ray Tracing v.1.1 (бета)'
export PW_USE_RAY_TRACING_INFO='Включить поддержку vkd3d - Ray Tracing'
export PW_FIX_VIDEO_IN_GAME_INFO='Требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено (обычно окрашено в розовый цвет)'
export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK'
export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
@ -118,37 +132,74 @@ then
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_EAC_AND_BE_INFO='Включить Easy Anti-Cheat and BattlEye Anti-Cheat (требуется если игра использует какой-то из этих античитов)'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместно с CAS'
export PW_Bloom_INFO='Добавляет свечения от ярких источников света в игре'
export PW_Border_INFO='Обрезка изображения сверху и снизу (как в кино =)'
export PW_Cartoon_INFO='Сильное увеличение резкости краев тексур'
export PW_Cartoon_INFO='Сильное увеличение резкости краев текстур'
export PW_ChromaticAberration_INFO='Добавляет хроматические аберрации к изображению'
export PW_Clarity_INFO='Увеличение резкости текстур с небольшими модификациями контраста изображения (похож по эффекту на CAS)'
export PW_ColorMatrix_INFO='Добавление холодных цветов'
export PW_Colourfulness_INFO='Увеличение насыщености цветов'
export PW_Colourfulness_INFO='Увеличение насыщенности цветов'
export PW_FakeHDR_INFO='Расширение динамического диапазона цветов'
export PW_FilmGrain2_INFO='Добавление эффекта зерна кинопленки'
export PW_Curves_INFO='Увеличение контраста изображения'
export PW_Curves_INFO='Увеличивает контрастность изображения, при этом не трогая яркие и тёмные участки, чтобы не пропала детализация в тенях и небе'
export PW_Denoise_INFO='Уменьшение шумов за счет смазывания изображения'
export PW_Emphasize_INFO='Уменьшение рязрядности цветопередачи'
export PW_Emphasize_INFO='Уменьшение разрядности цветопередачи'
export PW_FakeMotionBlur_INFO='Сильное размытие объектов в движении'
export PW_FilmicAnamorphSharpen_INFO='Увеличение резкости (рекомендую для мультяшных игр)'
export PW_FilmicPass_INFO='Добавление холодных цветов'
export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)'
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)'
export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких объектов (например пламя)'
export PW_Glitch_INFO='Эффект глючной картинки'
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_Levels_INFO='Увеличивает контрастность, но некоторые детали в тенях или бликах могут быть потеряны'
export PW_LevelsPlus_INFO='Тоже что и Levels, но с меньшей потерей деталей'
export PW_LiftGammaGain_INFO='Коррекция гаммы по отдельным цветовым каналам: красному, зелёному и синему'
export PW_LightDoF_INFO='Увеличивает глубину резкости (сильно влияет на FPS)'
export PW_LumaSharpen_INFO='Повышает резкость изображения для улучшения деталей'
export PW_LUT_INFO='Цветокорекция изображения'
export PW_MagicBloom_INFO='Тоже самое что Bloom, но более естественный'
export PW_Monochrome_INFO='Преобразует изображение в черно-белое'
export PW_MultiLUT_INFO='Расширенная версия LUT (предустановлен лут Hollywood)'
export PW_MXAO_INFO='Алгоритм SSAO (сильно влияет на FPS)'
export PW_NightVision_INFO='Эффект ночного зрения'
export PW_Nostalgia_INFO='Делает картинку похожей на старые фотографии'
export PW_PerfectPerspective_INFO='Эффект рыбьего глаза (подходит для VR)'
export PW_PPFX_Godrays_INFO='Объёмное рассеяние света'
export PW_Prism_INFO='Эффект призматической линзы'
export PW_ReflectiveBumpMapping_INFO='Создаёт иллюзию глубины текстур'
export PW_Sepia_INFO='Добавляет эффект сепии со старых фотографий'
export PW_Splitscreen_INFO='Разделяет изображение на необработанное и обработанный вывод для сравнения'
export PW_SurfaceBlur_INFO='Снижение детализации объектов без размытия контрастных контуров'
export PW_Technicolor_INFO='Делает картинку похожей на фильмы 1930 годов'
export PW_Technicolor2_INFO='Обновлённая версия Technicolor, даёт иную картинку, агрессивнее меняя цвета'
export PW_TiltShift_INFO='Размытие по краям экрана для создания эффекта миниатюры'
export PW_Tonemap_INFO='Изменяет насыщенность картинки'
export PW_TriDither_INFO='Уменьшает количество шумов'
export PW_UIDetect_INFO='Автоматически переключает эффекты в зависимости от видимости UI'
export PW_Vibrance_INFO='Насыщает блеклые цвета, не трогая яркие'
export PW_Vignette_INFO='Добавляет к изображению виньетку'
export PW_AspectRatio_INFO='Эффект для настройки соотношения сторон (для игр которые не поддерживают широкоформатные мониторы)'
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 loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
export loc_gui_create_shortcut_for_exe="Выберите .exe файл для которого необходимо создать ярлык и нажмите ОК.\n"
export loc_gui_error='Ошибка.'
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания"
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите Repeat для повторной попытки скачивания"
export loc_gui_settings="Пожалуйста подождите."
export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..."
export loc_gui_sett_info="Обновление конфигурации <b>${portname}</b>..."
export loc_gui_edit_db="Изменение файла настроек для:"
export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
@ -182,9 +233,12 @@ then
export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла"
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
export loc_gui_mango_fps="Ограничить FPS (0 - выключено)"
export loc_gui_mango_fps="Ограничить FPS"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton."
export loc_gui_cpu_limit="Ограничить использование ядер процессора"
export loc_gui_cpu_limit_help="Ограничения количества ядер процессора полезно для игр на движке Unity (Рекомендуется выставить значение равное 8)"
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 для загрузки:"
@ -215,77 +269,41 @@ then
export loc_gui_installing_the="Устанавливаем"
export loc_gui_please_wait="Пожалуйста подождите..."
elif [ "${update_loc}" = "ENG" ]
then
export loc_gui_installing_the="Installing the"
export loc_gui_please_wait="Please wait..."
elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_vulkan_stable="VULKAN (Stable version of DXVK and VKD3D)"
export loc_gui_vulkan_git="VULKAN (New GIT version of DXVK and VKD3D)"
export loc_gui_gallium_nine="GALLIUM_NINE (Native DX9 on MESA)"
export loc_gui_open_gl="OPENGL (For video cards without VULKAN)"
export loc_gui_error='Error.'
export loc_gui_error_download="You will need to check internet connection,\nand press OK for repeat download"
export loc_gui_settings="Settings."
export loc_gui_sett_info="Updating parameters..."
export loc_gui_edit_db="Change settings in database file for"
export loc_gui_cancel="CANCEL"
export loc_gui_open_db="OPEN DB FILE"
export loc_gui_save_changes="SAVE CHANGES"
export loc_gui_ver_windows="SELECT VERSION OF WINDOWS"
export loc_gui_aut_winetricks="AUTOINSTALL WITH WINETRICKS"
export loc_gui_winedllover="WINEDLLOVERRIDES"
export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE"
export loc_gui_mango_fps="MANGOHUD FPS LIMIT (0-disabled)"
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:"
export loc_gui_del_wine="Select installed WINE for delete:"
export loc_gui_installed_wine="INSTALLED"
export loc_gui_disabled_vkbas="DISABLE VKBASALT"
export loc_gui_no="NO"
export loc_gui_yes="YES"
export loc_gui_create_shortcut="CREATE SHORTCUT"
export loc_gui_delete_shortcut="DELETE SHORTCUT"
export loc_gui_launch="LAUNCH"
export loc_gui_debug="DEBUG"
export loc_gui_edit_db_start="EDIT DB"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_db_comments="PortProton database file was found for"
export loc_create_shortcut_from_gui="Create shortcut..."
export loc_gui_rm_pp="REMOVE PORTPROTON"
export loc_gui_upd_pp="UPDATE PORTPROTON"
export loc_gui_pw_reinstall_pp="REINSTALL ${portname}"
export loc_gui_rm_pp="REMOVE ${portname}"
export loc_gui_upd_pp="UPDATE ${portname}"
export loc_gui_changelog="CHANGELOG"
export loc_gui_change_loc="CHANGE LANGUAGE"
export loc_gui_edit_usc="EDIT USER.CONF"
export loc_gui_scripts_fb="SCRIPTS FROM BACKUP"
export loc_gui_credits="CREDITS"
export loc_gui_pw_reinstall_pp="REINSTALL PORTPROTON"
export loc_tray_winefile="WINEFILE"
export loc_tray_winefile="WINEFILE"
export loc_tray_tascmng="TASKMNR"
export loc_tray_cangelog="CHANGE LOG"
export loc_tray_force_exit="FORCE EXIT"
export loc_mg_autoinstall="AUTOINSTALL"
export loc_mg_autoinstall="AUTOINSTALL"
export loc_mg_emulators="EMULATORS"
export loc_mg_wine_settings="WINE SETTINGS"
export loc_mg_portproton_settings="PORTPROTON SETTINGS"
export loc_mg_portproton_settings="${portname} SETTINGS"
export loc_mg_installed="INSTALLED"
export PW_CHANGELOG_FILE="changelog_eng"
export PW_CHANGELOG_FILE="changelog_eng"
export PW_SELECTION_DB_LOC="More than one DB file found for the application being launched.\nSelect the required one, or delete the extra DB file before the next run.\n"
export inst_set="Sett..."
export inst_set_top="PortWINE setting"
export ss_done="The shortcut was created in the ${portname} directory.\n Add it to MENU -> GAMES and Desktop?"
export inst_set="Choices"
export inst_set_top="Instaling ${portname}"
export sc_info="The shortcut will be created in the ${portname} directory."
export sc_name="Name"
export sc_menu_desktop="Add shortcut to MENU -> GAMES and Desktop"
export inst_succ="The installation was successful."
export port_upd1="New update PortWINE"
export port_upd2="On linux-gaming.ru site published an update to the ${portname}\n"
export port_upd1="New update for ${portname}"
export port_upd2="On linux-gaming.ru site published an update for ${portname}\n"
export port_upd3="Action:"
export port_upd4="Go to the website"
export port_upd5="Remind me later"
@ -293,23 +311,23 @@ then
export scripts_upd1="New update for scripts"
export scripts_upd2="Scripts update avialable for ${portname}"
export scripts_upd3="Action :"
export scripts_upd3="Action:"
export scripts_upd4="Updating now"
export scripts_upd5="Remind me later"
export scripts_upd6="Do not remind me"
export port_clear_pfx="Do you want to clear prefix in PortProton?"
export port_clear_pfx="Do you want to clear prefix in ${portname}?"
export port_del1="Remove $portname"
export port_del2="Are you sure you want to delete the PortProton"
export port_reinstall="Do you really want to reinstall PortProton?\nFor this, an internet connection will be required."
export port_del2="Do you really want to remove $portname?"
export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_reinstall="Do you really want to reinstall ${portname}?\nFor this, an internet connection will be required."
export port_deb1="${portname} was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE"
export port_start1="Starting the PortWINE"
export port_start2="In what mode you want to start the PortWINE?"
export port_start1="Starting the ${portname}"
export port_start2="In what mode you want to start the ${portname}?"
export port_start3="Mode:"
export port_start4="Normal"
export port_start5="Individual X-Session"
@ -317,30 +335,189 @@ then
export port_start7="Run winetricks"
export port_start8="DXVK"
export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n"
export port_debug="Please wait! After finishing the ${portname}, click STOP."
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 loc_download_other_wine="Download other wine-proton from GITHUB"
# Helped in translation: ConTI1NuEsZZZ
export loc_create_shortcut_from_gui="Create shortcut..."
export loc_create_shortcut="Create shortcut for select file..."
export loc_delete_shortcut="Delete shortcut for select file..."
export loc_debug="Launch with the creation of a .log file at the root ${portname}"
export loc_launch="Run file ..."
export loc_winecfg="Run winecfg to edit prefix settings ${portname}"
export loc_winefile="Run the file manager built into wine"
export loc_winecmd="Run wine command line"
export loc_winereg="Run Registry Prefix Editor ${portname}"
export loc_winetricks="Run winetricks to install additional libraries to the prefix ${portname}"
export loc_winecfg="Run winecfg to edit the settings of the selected prefix"
export loc_winefile="Run wine file manager"
export loc_winecmd="Run wine cmd"
export loc_winereg="Run wine regedit"
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_find_d3dadapter9_error="not found in the system.\nInstall it and try again."
else
SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
exit 0
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)'
export PW_USE_RAY_TRACING_INFO='Enable vkd3d support - Ray Tracing'
export PW_FIX_VIDEO_IN_GAME_INFO='Required for video playback in some games so that it is not distorted (usually colored pink)'
export PW_VULKAN_NO_ASYNC_INFO='Disable asynchronous calls for VULKAN and DXVK modes'
export PW_USE_NVAPI_AND_DLSS_INFO='Enable DLSS on supported NVIDIA graphics cards'
export PW_OLD_GL_STRING_INFO='Forced use of older versions of OpenGL'
export PW_HIDE_NVIDIA_GPU_INFO='Disguise all features used for NVIDIA graphics cards'
export PW_FORCE_USE_VSYNC_INFO='Forced activation of vertical sync'
export PW_VIRTUAL_DESKTOP_INFO='Enable the application to run in the WINE virtual desktop'
export PW_WINEDBG_DISABLE_INFO='Disable all WINE debugging functions (It is recommended not to change the value)'
export PW_USE_TERMINAL_INFO='Run the application in the terminal'
export PW_WINE_ALLOW_XIM_INFO='Use alternate mode for controller (Use only if there is a problem with the controller)'
export PW_HEAP_DELAY_FREE_INFO='Include a delay in releasing some memory to bypass errors associated with using the application after the memory is released'
export PW_NO_WRITE_WATCH_INFO='A very dangerous way to hack the memory write timer in ntdll. This improves the performance of some very specific games. (It is recommended not to change the value.)'
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_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_EAC_AND_BE_INFO='Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game used this anti-cheats)'
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'
export PW_Border_INFO='Cropping the image from the top and bottom (like in a movie =)'
export PW_Cartoon_INFO='Strong sharpening of texture edges'
export PW_ChromaticAberration_INFO='Adds chromatic aberration to an image'
export PW_Clarity_INFO='Sharpening textures with slight modifications of image contrast (similar in effect to CAS)'
export PW_ColorMatrix_INFO='Adding cool colors'
export PW_Colourfulness_INFO='Increasing color saturationIncreasing color saturation'
export PW_FakeHDR_INFO='Add fake HDR'
export PW_FilmGrain2_INFO='Adding the film grain effect'
export PW_Curves_INFO='Increases the contrast of the image without affecting the bright and dark areas, so that the detail in shadows and sky is not lost'
export PW_Denoise_INFO='Reducing noise by blurring the image'
export PW_Emphasize_INFO='Reducing the bit depth of color'
export PW_FakeMotionBlur_INFO='Strong blurring of objects in motion'
export PW_FilmicAnamorphSharpen_INFO='Sharpening (recommended for cartoon games)'
export PW_FilmicPass_INFO='Adding cold colors'
export PW_SMAA_INFO='Alternative antialiasing option (less effect, but with less consumption of GPU resources, relative to the standard SMAA)'
export PW_GaussianBlur_INFO='Slight blur effect on bright objects (such as flames)'
export PW_Glitch_INFO='Glitch effect'
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_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'
export PW_LightDoF_INFO='Increases depth of field (greatly affects FPS)'
export PW_LumaSharpen_INFO='Enhances image sharpness for improved detail'
export PW_LUT_INFO='Image color correction'
export PW_MagicBloom_INFO='Same as Bloom, but more natural'
export PW_Monochrome_INFO='Converts the image into monochrome'
export PW_MultiLUT_INFO='Extended version of the LUT (Hollywood loot is pre-installed)'
export PW_MXAO_INFO='SSAO algorithm (Greatly affects FPS)'
export PW_NightVision_INFO='Night vision effect'
export PW_Nostalgia_INFO='Makes the picture look like old photos'
export PW_PerfectPerspective_INFO='Fisheye effect (suitable for VR)'
export PW_PPFX_Godrays_INFO='Add God rays (also called 3D light rays) effect'
export PW_Prism_INFO='The prismatic lens effect'
export PW_ReflectiveBumpMapping_INFO='Creates the illusion of depth in textures'
export PW_Sepia_INFO='Adds a sepia effect like in old photos'
export PW_Splitscreen_INFO='Splits the image into raw and processed output for comparison'
export PW_SurfaceBlur_INFO='Reducing object detail without blurring contrast contours'
export PW_Technicolor_INFO='Makes the picture look like films from the 1930s'
export PW_Technicolor2_INFO='The updated version of Technicolor, gives a different picture by changing colors more aggressively'
export PW_TiltShift_INFO='Blur on the edges of the screen to create a Tilt Shift effect'
export PW_Tonemap_INFO='Changes the saturation of the picture'
export PW_TriDither_INFO='Reduces the amount of noise'
export PW_UIDetect_INFO='Automatically switches effects depending on the visibility of the UI'
export PW_Vibrance_INFO='Saturates faded colors without touching the bright ones'
export PW_Vignette_INFO='Adds a vignette to the image'
export PW_AspectRatio_INFO='An effect for adjusting the aspect ratio (for games that do not support widescreen monitors)'
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 loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>"
export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n"
export loc_gui_error='Error.'
export loc_gui_error_download="You will need to check internet connection,and\npress Repeat for repeat download"
export loc_gui_settings="Please wait."
export loc_gui_sett_info="Updating configuration for <b>${portname}</b>..."
export loc_gui_edit_db="Change settings in database file for"
export loc_gui_edit_db_help="<b>NOTE:</b> To display help for each item, simply hover your mouse over the text"
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_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_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"
export loc_gui_aut_winetricks="AUTOINSTALL WITH <b>WINETRICKS</b>"
export loc_gui_aut_winetricks_help="Automatically install with <b>WINETRICKS</b> additional libraries required to run the game/program. List of libraries separated by spaces"
export loc_gui_winedllover="Forced to use/disable libraries"
export loc_gui_winedllover_help="Forced to use/disable the library only for the given application. (There are examples in the drop-down list)
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=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_mango_fps="MANGOHUD FPS LIMIT"
export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into ${portname}"
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_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:"
export loc_gui_del_wine="Select installed WINE for delete:"
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_help="Disable vkBasalt and go to the previous menu."
export loc_gui_no="NO"
export loc_gui_yes="YES"
export loc_gui_create_shortcut="CREATE SHORTCUT"
export loc_gui_delete_shortcut="DELETE SHORTCUT"
export loc_gui_launch="LAUNCH"
export loc_gui_debug="DEBUG"
export loc_gui_edit_db_start="EDIT DB"
export loc_gui_vkbasalt_start="VKBASALT"
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_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}"
export loc_gui_gallium_nine="GALLIUM_NINE (DX9 for MESA)"
export loc_gui_open_gl="OPENGL (For video cards without VULKAN)"
export loc_gui_installing_the="Installing the"
export loc_gui_please_wait="Please wait..."
fi

View File

@ -0,0 +1,23 @@
#!/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 WINEDLLOVERRIDES="mscoree,mshtml="
add_in_stop_portwine () {
pw_find_exe news
}

View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
#Author: linux-gaming.ru
#setup.exe
#Setup.exe
#SETUP.exe
#.msi
#Rating=5
################################################
export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64"
[[ "${update_loc}" == "RUS" ]] && export PW_COMMENT_DB="Для установки репаков от xatab требуется использовать ${PW_WINE_USE}.\nОн загружен и выбран автоматически.\n"
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 WINEDLLOVERRIDES="mscoree,mshtml="
gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64"
add_in_stop_portwine () {
pw_find_exe news
}

View File

@ -5,18 +5,18 @@
#SETUP.exe
#.msi
#Rating=5
#export PW_COMMENT_DB="blablabla"
################################################
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=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
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=0 # Force disabele gamemod
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

@ -12,6 +12,8 @@ export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="locationapi="
export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43"
export PW_WINDOWS_VER=10
export PW_WINE_FULLSCREEN_FSR="0"
export PW_USE_EAC_AND_BE="0"
add_in_start_portwine () {
rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Agent/data"

View File

@ -39,4 +39,3 @@ export PW_GUI_DISABLED_CS=0
export PW_MANGOHUD=1
export PW_USE_RUNTIME=1
export PW_USE_GAMEMODE=1
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0

View File

@ -4,11 +4,9 @@
#EADesktop.exe
#Rating=5
#####################examples###########################
# export PW_DLL_INSTALL="vcrun2022" # Install DDL in port prefix (used winetricks)
# 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_MUST_HAVE_DLL=""
export PW_USE_TERMINAL="1"
export PW_PREFIX_NAME="EA_APP"
# export PW_WINE_USE="WINE-8.2-STAGING-TKG-AMD64"
# gui_proton_downloader silent "WINE-8.2-STAGING-TKG-AMD64"
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"

View File

@ -7,11 +7,10 @@
# export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2022"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019"
export PW_USE_D3D_EXTRAS=1
export PW_WINE_USE="PROTON_LG"
export WINEDLLOVERRIDES="vulkan-1=n,b"
add_in_start_portwine () {
regdlloverrides "RDR2.exe:vulkan-1=n,b"
}
# add_in_start_portwine () {
# regdlloverrides "RDR2.exe:vulkan-1=n,b"
# }

View File

@ -8,7 +8,6 @@
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export VK_FORMAT_A8_UNORM=1
export PW_VULKAN_USE=1
export PW_DXR_ON=0
@ -37,7 +36,3 @@ export PW_USE_TERMINAL=0
export PW_GUI_DISABLED_CS=0
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_MANGOHUD=1
export PW_USE_RUNTIME=1
export PW_USE_GAMEMODE=1
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=60

View File

@ -1,39 +0,0 @@
#!/usr/bin/env bash
#Author: castro-fidel
#FulqrumGames.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="+com_skipIntroVideo 1 +com_skipSignInManager 1" # Additional launch options
# export PW_WINE_USE="PROTON_LG_7-34"
export PW_VULKAN_USE="1"
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI_AND_DLSS=0
##export PW_OLD_GL_STRING=1
##export PW_HIDE_NVIDIA_GPU=1
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT="1"
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="1"
##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=0 # Do not use eventfd-based in-process synchronization primitives
##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HEAP_DELAY_FREE=1
##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_TERMINAL=1 # Force run in terminal
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DEFAULT"

View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
#Author: fidel
#IGClient.exe
#Rating=1-5
#####################examples###########################
export PW_COMMENT_DB="\nПосле первого подтверждения логина в вашем браузере\nнеобходимо перезапустить игру.\n"
export PW_WINE_USE="PROTON_LG"
export PW_VULKAN_USE="1"
export PW_PREFIX_NAME="IGCLIENT"
export PW_DLL_INSTALL="vcrun2019"

View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
#Author: fidel
#Icarus.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS="-dx12"
export PW_USE_EAC_AND_BE="0"

View File

@ -13,7 +13,7 @@ export TEXT_OPSSL=""
export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time"
export WINEDLLOVERRIDES="mscoree,mshtml="
export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live" # Additional launch options
export PW_WINE_USE=WINE_LOL_GE_7.0-8
export PW_WINE_USE=WINE_LOL_GE_8.12
export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS"
@ -21,12 +21,13 @@ export PW_NO_FSYNC=1
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 PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
try_remove_dir "${PORT_WINE_PATH}/data/dist/WINE_LOL_GE_8.7-1"
gui_proton_downloader silent "${PW_WINE_USE}"
add_in_start_portwine () {
echo ""
}

View File

@ -0,0 +1,45 @@
#!/usr/bin/env bash
#Author: fidel
#MWOLauncher.exe
#MWO.exe
#Rating=1-5
#####################examples###########################
export PW_COMMENT_DB="\nНа данный момент игра работает, но долго запускаеться из Лаунчера.\nПосле установки игры, при повторном запуске, игра будет запускаться быстро.\n"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES="steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe,winemenubuilder="
export LAUNCH_PARAMETERS=""
export PW_WINE_USE="PROTON_LG"
export PW_VULKAN_USE="1"
export PW_USE_NVAPI_AND_DLSS="0"
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_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_PREFIX_NAME="METAL_WAR_ONLINE"
export PW_MANGOHUD="1"
export PW_MANGOHUD_x32="1"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_RAY_TRACING="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_USE_D3D_EXTRAS="1"
export PW_FIX_VIDEO_IN_GAME="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export PW_USE_WINE_DXGI="0"
export PW_USE_EAC_AND_BE="1"
add_in_start_portwine ()
{
if [[ -f "${PATH_TO_GAME}/MWO.exe" ]] ; then
echo "Override $portwine_exe to ${PATH_TO_GAME}/MWO.exe"
export portwine_exe="${PATH_TO_GAME}/MWO.exe"
fi
}

View File

@ -4,48 +4,33 @@
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_WINDOWS_VER="7"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES="libglesv2="
export LAUNCH_PARAMETERS=""
export PW_VULKAN_USE="1"
export PW_USE_DXR10="0"
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
export PW_VIRTUAL_DESKTOP="0"
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT="0"
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
export PW_HEAP_DELAY_FREE="0"
##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DOTNET"
export PW_PREFIX_NAME="PLARIUM_PLAY"
export PW_MANGOHUD="0"
export PW_MANGOHUD_x32="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="0"
export ENABLE_VKBASALT="0"
export PW_NO_ESYNC="1"
export PW_NO_FSYNC="1"
export PW_USE_RAY_TRACING="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="0"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_VIRTUAL_DESKTOP="0"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_USE_GAMEMODE="0"
export PW_DX12_DISABLE="1"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_USE_D3D_EXTRAS="1"
export PW_USE_D3D_EXTRAS="0"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_USE_GSTREAMER="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export PW_USE_SHADER_CACHE="0"
export PW_USE_WINE_DXGI="0"
export PW_USE_EAC_AND_BE="0"
export WINEDLLOVERRIDES=""

View File

@ -4,36 +4,7 @@
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="+com_skipIntroVideo 1 +com_skipSignInManager 1" # Additional launch options
export PW_WINE_USE="WINE-8.2-STAGING-TKG-AMD64"
export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64"
export PW_VULKAN_USE="1"
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI_AND_DLSS=0
##export PW_OLD_GL_STRING=1
##export PW_HIDE_NVIDIA_GPU=1
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
##export ENABLE_VKBASALT=1
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
##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=0 # Do not use eventfd-based in-process synchronization primitives
##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HEAP_DELAY_FREE=1
##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_TERMINAL=1 # Force run in terminal
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="ROBLOX"
# export DISABLE_CP_DEFPFX=1

View File

@ -8,6 +8,7 @@
export PW_VULKAN_USE=1
export PW_DLL_INSTALL="vcrun2019"
export PW_WINDOWS_VER=10
add_in_start_portwine () {
regdlloverrides "RDR2.exe:vulkan-1=n"
}
export WINEDLLOVERRIDES="vulkan-1=n,b"
# add_in_start_portwine () {
# regdlloverrides "RDR2.exe:vulkan-1=n,b"
# }

View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
#Author: licrit
#SystemShock.exe
#SystemReShock-Win64-Shipping.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_VULKAN_USE="2"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_VIRTUAL_DESKTOP="0"
export ENABLE_VKBASALT="1"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_GSTREAMER="1"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_PREFIX_NAME="DEFAULT"
export PW_MANGOHUD="1"
export PW_MANGOHUD_x32="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_RAY_TRACING="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_USE_D3D_EXTRAS="1"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export PW_USE_WINE_DXGI="0"
export PW_USE_EAC_AND_BE="0"
export PW_WINE_USE="WINE_8.5_LG"
gui_proton_downloader silent "WINE_8.5_LG"

View File

@ -4,7 +4,7 @@
#Rating=1-5
################################################
export PW_VULKAN_USE=1
export PW_DLL_INSTALL="d3dcompiler_43 d3dcompiler_47 d3dx9 d3dx11_42 d3dx11_43"
export PW_DLL_INSTALL=""
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL

View File

@ -9,10 +9,11 @@ else
export PW_COMMENT_DB="If you use Wayland, to intercept control in Atomic Heart\n,you need to collapse the VK Play Game Center itself into the tray"
fi
export PW_WINDOWS_VER="10"
export WINEDLLOVERRIDES=""
export WINEDLLOVERRIDES="mscoree,mshtml="
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_8.5_LG"
gui_proton_downloader silent "WINE_8.5_LG"

View File

@ -10,7 +10,6 @@ export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL="faudio dotnet48 dotnet20sp2"
export WINEDLLOVERRIDES="quartz=b"
export LAUNCH_PARAMETERS=""
export PW_WINE_USE="PROTON_GE"
export PW_VULKAN_USE="1"
export PW_VULKAN_NO_ASYNC="0"
export PW_USE_NVAPI_AND_DLSS="0"
@ -40,3 +39,5 @@ export PW_FIX_VIDEO_IN_GAME="0"
export PW_USE_AMDVLK_DRIVER="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export PW_WINE_USE=GE-PROTON7-55
gui_proton_downloader silent "${PW_WINE_USE}"

View File

@ -5,7 +5,7 @@
#Rating=5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINE_USE=PROTON_GE
# export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
#export PW_WINDOWS_VER=7 # Set windows version 10, 7 or XP
export PW_DLL_INSTALL="vcrun2019 d3dcompiler_47" # Install DDL in port prefix (used winetricks)

View File

@ -3,36 +3,5 @@
#itch.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI_AND_DLSS=0
##export PW_OLD_GL_STRING=1
##export PW_HIDE_NVIDIA_GPU=1
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
##export ENABLE_VKBASALT=1
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
##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=0 # Do not use eventfd-based in-process synchronization primitives
##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HEAP_DELAY_FREE=1
##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_TERMINAL=1 # Force run in terminal
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
#add_in_start_portwine () { commands ; }

View File

@ -5,8 +5,8 @@
################################################
export PW_COMMENT_DB="Steam"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL="vcrun2022 d3dcompiler_46"
export WINEDLLOVERRIDES=""
export PW_DLL_INSTALL="vcrun2019 d3dcompiler_46"
export WINEDLLOVERRIDES="OnlineFix64,SteamOverlay64,steam_api,steam_api64,steamclient,steamclient64=n;winmm=n,b"
export LAUNCH_PARAMETERS="-gamepadui -fullscreen -no-dwrite"
export PW_VULKAN_USE="1"

View File

@ -13,11 +13,12 @@ export LAUNCH_PARAMETERS="" # Additional launch options
#export PW_USE_TERMINAL=1
export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
#export PW_USE_NVAPI_AND_DLSS=0
export WINEDLLOVERRIDES="ucrtbase,xaudio2_7,xaudio2_8=n,b"
export PW_DLL_INSTALL="lucida vcrun2022" # Install DDL in port prefix (used winetricks)
export WINEDLLOVERRIDES=""
export PW_DLL_INSTALL="lucida vcrun2019" # Install DDL in port prefix (used winetricks)
##export PW_GUI_DISABLED_CS=1
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
export PW_USE_D3D_EXTRAS=0
export PW_USE_D3D_EXTRAS="1"
export PW_USE_EAC_AND_BE="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

@ -2,13 +2,13 @@
# Author: chal55rus (Sergey P.)
########################################################################
export LAUNCH_PARAMETERS=("/S")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama Launcher-Setup.exe"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Ankama-Setup.exe"
start_portwine
if try_download "launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download "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}"
portwine_exe="$WINEPREFIX/drive_c/Program Files/Ankama/Ankama Launcher/Ankama Launcher.exe"
portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Programs/Ankama Launcher/Ankama Launcher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine

View File

@ -4,12 +4,13 @@
[ "${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 "dist.blizzard.com/downloads/bna-installers/322d5bb9ae0318de3d4cde7641c96425/retail.1/Battle.net-Setup-${BN_LOC}.exe" "${PW_AUTOINSTALL_EXE}"
if try_download "https://www.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"
pw_kill_autostart Battle.net.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"`
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe" | grep "Battle.net/Battle.net.exe"`
pw_stop_progress_bar
portwine_create_shortcut
try_remove_file "${PW_AUTOINSTALL_EXE}"

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Author: Boria138
########################################################################
export LAUNCH_PARAMETERS=("/VERYSILENT /SUPPRESSMSGBOXES")
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bsr_setup.exe"
start_portwine
if try_download "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}"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Battle Of Space Raiders/aops.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Battle Of Space Raiders"
portwine_create_shortcut
fi
stop_portwine

View File

@ -20,16 +20,8 @@ if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
[[ "${UNPACK_STATUS}" != 0 ]] && exit 1
fi
try_download_caliber () {
set -o pipefail
wget -t 5 -T 3 "$1" --no-check-certificate --output-document="$2" 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./' | \
"${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
}
start_portwine
if try_download_caliber "https://cdn.playcaliber.com/p1/a88c3b70f76a0e56b1e08b62c9895cfe/launcher/setup/CaliberSetup.exe" "${PW_AUTOINSTALL_EXE}"
if try_download "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

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Author: chal55rus
########################################################################
export PW_PREFIX_NAME="CONTRACT_WARS"
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}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} CONTRACT WARS Client. ${loc_gui_please_wait} "
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Games/CWClient/CWClientLauncher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="CONTRACT WARS"
portwine_create_shortcut
fi
stop_portwine

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
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}"
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"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Demul/demul.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Demul"
portwine_create_shortcut
fi
stop_portwine

View File

@ -5,12 +5,10 @@ export LAUNCH_PARAMETERS=("/silent" "/repair" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe"
export PW_DLL_INSTALL="" # Install DDL in port prefix (used winetricks)
export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="EA_APP"
export DISABLE_CP_DEFPFX=1
# export WINEDLLOVERRIDES="mscoree,mshtml=b"
# export PW_WINE_USE="WINE-8.2-STAGING-TKG-AMD64"
# gui_proton_downloader silent "WINE-8.2-STAGING-TKG-AMD64"
# 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 "origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}"

View File

@ -4,22 +4,18 @@
export LAUNCH_PARAMETERS=("/q" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
export PW_USE_D3D_EXTRAS=1
# sed -i '/Epic Games/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/*.reg >/dev/null
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
start_portwine
if try_download "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} "
# pw_kill_autostart EpicGamesLauncher.exe &
# try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Epic Online Services/"
# try_remove_dir "${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Launcher/"
# try_remove_dir "${WINEPREFIX}/drive_c/ProgramData/Epic"
pw_run msiexec /i "${PW_AUTOINSTALL_EXE}"
# sleep 10
# if [ ! -z `pgrep msiexec* | head -n 1` ] ; then
# while [ ! -z `pgrep msiexec* | head -n 1` ] || [ ! -z `pgrep rundll32* | head -n 1` ] || [ ! -z `pgrep -a wrap | grep ${portname} | head -n 1` ]
# do
# [ ! -z `pgrep rundll32* | head -n 1` ] && kill -n 9 `pgrep rundll32* | head -n 1` && echo "Kill rundll32.exe"
# sleep 5
# done
# fi
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe"
portwine_exe="${WINEPREFIX}/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine

View File

@ -3,22 +3,16 @@
########################################################################
export PW_WINDOWS_VER=10
export PW_DLL_INSTALL="vcrun2017"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-2198233.exe"
start_portwine
if try_download "binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}"
if try_download "binaries.eveonline.com/EveLauncher-2198233.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} EVE Launcher. ${loc_gui_please_wait} "
if [ ! -f "$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" ] ; then
try_remove_dir "$WINEPREFIX/drive_c/Games/EVE Online"
dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes
"$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb".7z
fi
portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe"
pw_kill_autostart evelauncher.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "evelauncher.exe"`
pw_stop_progress_bar
portwine_create_shortcut
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
fi
stop_portwine

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
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.5/fceux-2.6.5-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"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/FCEUX/fceux64.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="FCEUX"
portwine_create_shortcut
fi
stop_portwine

View File

@ -1,19 +0,0 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
export LAUNCH_PARAMETERS=("/VERYSILENT" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/fulqrumgames_setup.exe"
start_portwine
if try_download "https://royalquest.com/download/fulqrum" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} Fulqrum Games. ${loc_gui_please_wait} "
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/FulqrumGames/FulqrumGames.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Fulqrum Games"
portwine_create_shortcut
fi
stop_portwine

View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
export PW_VULKAN_USE=1
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/gi_installer.exe"
export PW_PREFIX_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}"
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"
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

@ -2,6 +2,9 @@
# Author: Castro Fidel
########################################################################
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_PREFIX_NAME="GW2"
export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_MUST_HAVE_DLL=""
start_portwine
mkdir -p "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/"
@ -10,13 +13,13 @@ export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2S
if try_download "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-64.exe 3 &
cd "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/"
pw_kill_autostart Gw2.exe 3 &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2-64.exe"
portwine_exe="${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/Gw2.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
mv -f "${WINEPREFIX}/drive_c/users/steamuser/Temp/"* "${WINEPREFIX}/drive_c/Program Files/Guild Wars 2/"
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Guild Wars 2"
portwine_create_shortcut

View File

@ -2,7 +2,9 @@
# Author: Castro Fidel
########################################################################
export LAUNCH_PARAMETERS=("/S")
export PW_PREFIX_NAME="IGCLIENT"
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}"

View File

@ -9,7 +9,8 @@ then
pw_start_progress_bar_block "${loc_gui_installing_the} ITCH.IO. ${loc_gui_please_wait} "
pw_kill_autostart itch.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/itch/app-25.5.1/itch.exe"
portwine_exe=`find "$WINEPREFIX/drive_c/users" -type f -name "itch.exe"`
# portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/itch/app-25.5.1/itch.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine

View File

@ -8,31 +8,23 @@ try_download_lgc () {
set -o pipefail
wget -t 5 -T 3 "$1" --output-document="$2" 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./' | \
"${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
"${pw_yad_v12_3}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
}
start_portwine
if [[ -f "$WINEPREFIX/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe" ]] ; then
if [[ ! -f "$WINEPREFIX/drive_c/ProgramData/Wargaming.net/GameCenter/api/wgc_api.exe" ]] ; then
try_remove_file "${HOME}/.local/share/applications/Wargaming Game Center.desktop"
try_remove_file "${PORT_WINE_PATH}/Wargaming Game Center.desktop"
fi
export PORTWINE_CREATE_SHORTCUT_NAME="Lesta Game Center"
if try_download_lgc "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 &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe"
portwine_create_shortcut
else
if try_download_lgc "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 &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Lesta Game Center"
try_remove_file "${PW_AUTOINSTALL_EXE}"
export PORTWINE_CREATE_SHORTCUT_NAME="Lesta Game Center"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
portwine_create_shortcut
fi
kill_portwine
portwine_create_shortcut
fi
stop_portwine

View File

@ -6,7 +6,7 @@ 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_7.0-8
export PW_WINE_USE=WINE_LOL_GE_8.12
export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_USE_D3D_EXTRAS=1

View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Author: chal55rus
########################################################################
export PW_PREFIX_NAME="METAL_WAR_ONLINE"
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}"
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"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Metal War Online"
portwine_create_shortcut
fi
stop_portwine

View File

@ -1,9 +1,38 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
export PW_PREFIX_NAME=DOTNET
export LAUNCH_PARAMETERS=("/s" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/plarium_play_setup.exe"
export PW_WINDOWS_VER="7"
export PW_DLL_INSTALL=""
export LAUNCH_PARAMETERS=""
export PW_PREFIX_NAME="PLARIUM_PLAY"
export PW_MANGOHUD="0"
export PW_MANGOHUD_x32="0"
export PW_MANGOHUD_USER_CONF="0"
export ENABLE_VKBASALT="0"
export PW_NO_ESYNC="1"
export PW_NO_FSYNC="1"
export PW_USE_RAY_TRACING="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_VIRTUAL_DESKTOP="0"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_USE_GAMEMODE="0"
export PW_DX12_DISABLE="1"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_USE_D3D_EXTRAS="0"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_USE_GSTREAMER="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="0"
export PW_USE_WINE_DXGI="0"
export PW_USE_EAC_AND_BE="0"
export WINEDLLOVERRIDES=""
start_portwine
if try_download "https://plarium.com/services/api/downloads/desktop?lid=1&arc=64&os=windows" "${PW_AUTOINSTALL_EXE}"
then
@ -19,3 +48,5 @@ then
portwine_create_shortcut
fi
stop_portwine

View File

@ -5,16 +5,16 @@ export LAUNCH_PARAMETERS=("")
export PW_PREFIX_NAME="ROBLOX"
export PW_AUTOINSTALL_EXE="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/roblox_installer.exe"
export WINEDLLOVERRIDES="mscoree,mshtml="
# export DISABLE_CP_DEFPFX=1
export PW_MUST_HAVE_DLL=""
export PW_WINE_USE="WINE-8.2-STAGING-TKG-AMD64"
gui_proton_downloader silent "WINE-8.2-STAGING-TKG-AMD64"
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 "setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="${WINEPREFIX}/drive_c/users/${USER}/AppData/Local/Roblox/Versions/version-5e9aac577efb4995/RobloxPlayerBeta.exe"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "RobloxPlayerBeta.exe"`
try_remove_file "${portwine_exe}.ppdb"
pw_stop_progress_bar
# export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"

View File

@ -1,13 +1,16 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
export PW_VULKAN_USE="1"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Rockstar-Games-Launcher.exe"
start_portwine
if try_download "web.archive.org/web/20210708074247if_/gamedownloads.rockstargames.com/public/installer/Rockstar-Games-Launcher.exe" "${PW_AUTOINSTALL_EXE}"
if try_download "https://dl-eu.opendataapi.net/lutris/games/GTA/rockstar-games-launcher-1-0-36-344.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "Rockstar-Games-Launcher. ${loc_gui_please_wait} "
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher"
portwine_exe="$WINEPREFIX/drive_c/Program Files/Rockstar Games/Launcher/Launcher.exe"
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"`
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/rpcs3-v0.0.27-14790-2de4c03f_win64.7z"
start_portwine
if try_download "https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-2de4c03faa54f001910c1cc5bafda62cc23fa803/rpcs3-v0.0.27-14790-2de4c03f_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"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/RPCS3/rpcs3.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="RPCS3"
portwine_create_shortcut
fi
stop_portwine

View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Author: chal55rus
########################################################################
export PW_PREFIX_NAME="STALKER_ONLINE"
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}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} Stalker Online. ${loc_gui_please_wait} "
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Game/StalkerOnline/StalkerOnline Launcher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Stalker Online"
portwine_create_shortcut
fi
stop_portwine

View File

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
export LAUNCH_PARAMETERS=("/q" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/sr_installer.exe"
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}"
then
pw_start_progress_bar_block "Installing Honkai Star Rail Launcher. ${loc_gui_please_wait} "
pw_kill_autostart launcher.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Program Files/Star Rail/launcher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Star Rail"
portwine_create_shortcut
fi
stop_portwine

View File

@ -6,6 +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"
pw_clear_pfx
gui_proton_downloader silent "WINE_8.5_LG"
start_portwine
if try_download "static.gc.my.games/VKPlayLoader.exe" "${PW_AUTOINSTALL_EXE}"

View File

@ -9,7 +9,7 @@ try_download_wgc () {
set -o pipefail
wget -t 5 -T 3 "$1" --output-document="$2" 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./' | \
"${pw_yad_new}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
"${pw_yad_v12_3}" --center --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
}

View File

@ -6,20 +6,9 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe"
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_DLL_INSTALL="faudio dotnet48"
export PW_VULKAN_USE=1
export PW_WINE_USE=GE-PROTON7-55
gui_proton_downloader silent "${PW_WINE_USE}"
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
UNPACK_STATUS=0
else
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
fi
fi
[[ "${UNPACK_STATUS}" != 0 ]] && exit 1
fi
start_portwine
if try_download "165311.selcdn.ru/wosb_installer/wos_client.exe" "${PW_AUTOINSTALL_EXE}"
then

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
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}"
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"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/xemu/xemu.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="xemu"
portwine_create_shortcut
fi
stop_portwine

View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Author: chal55rus (Sergey P.)
########################################################################
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}"
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"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/xenia/xenia.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Xenia"
portwine_create_shortcut
fi
stop_portwine

View File

@ -19,16 +19,18 @@ if [[ $(id -u) = 0 ]] ; then
zenity --error --text "Do not run this script as root!"
exit 1
fi
if [[ "${s_install}" != "1" && ! -x "`which "zenity" 2>/dev/null`" ]] ; then
if [[ "${s_install}" != "1" && ! -x "`command -v "zenity" 2>/dev/null`" ]] ; then
echo "You will need to install: zenity, and restart the port."
xdg-open "https://linux-gaming.ru/portproton/" > /dev/null 2>&1 & exit 0
fi
. "$(dirname $(readlink -f "$0"))/functions_helper"
start_portwine () {
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
export WINEPREFIX="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/"
try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/"
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/"
export WINEARCH="win64"
if [[ "${PW_VULKAN_USE}" == 3 ]] ; then
export PW_WINE_USE="${PW_PROTON_LG_VER}"
@ -60,13 +62,14 @@ start_portwine () {
pw_init_runtime
if [[ ! -z "${PW_LOG}" && "${PW_LOG}" != 0 ]] ; then
if [[ "${PW_LOG}" == 1 ]] ; then
export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg"
export DXVK_LOG_LEVEL="warn"
export VKD3D_DEBUG="warn"
export WINE_MONO_TRACE="E:System.NotImplementedException"
export VK_LOADER_DEBUG="warn"
export VKBASALT_LOG_LEVEL="warn"
export DXVK_NVAPI_LOG_LEVEL=warn
else
export WINEDEBUG="-all"
export DXVK_LOG_LEVEL="none"
@ -74,17 +77,15 @@ start_portwine () {
export VKD3D_DEBUG="none"
export DXVK_LOG_PATH="none"
export VKBASALT_LOG_LEVEL="none"
export DXVK_NVAPI_LOG_LEVEL=none
fi
#default wine-mono override for FNA games
export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n"
if [[ ! -z "${PW_NO_ESYNC}" && "${PW_NO_ESYNC}" != 0 ]] ; then
export WINEESYNC="0"
else
export WINEESYNC="1"
if [[ "${PW_NO_ESYNC}" == 1 ]]
then export WINEESYNC="0"
else export WINEESYNC="1"
fi
if [[ ! -z "${PW_NO_FSYNC}" && "${PW_NO_FSYNC}" != 0 ]] ; then
if [[ "${PW_NO_FSYNC}" == 1 ]] ; then
export WINEFSYNC="0"
export WINEFSYNC_FUTEX2="0"
else
@ -92,18 +93,22 @@ start_portwine () {
export WINEFSYNC_FUTEX2="1"
export WINEFSYNC_SPINCOUNT=100
fi
if [[ ! -z "${PW_FORCE_LARGE_ADDRESS_AWARE}" && "${PW_FORCE_LARGE_ADDRESS_AWARE}" != 0 ]]
if [[ "${PW_FORCE_LARGE_ADDRESS_AWARE}" == 1 ]]
then export WINE_LARGE_ADDRESS_AWARE="1"
else export WINE_LARGE_ADDRESS_AWARE="0"
fi
if [[ ! -z "${PW_OLD_GL_STRING}" && "${PW_OLD_GL_STRING}" != 0 ]] ; then
if [[ "${PW_OLD_GL_STRING}" == 1 ]] ; then
export MESA_EXTENSION_MAX_YEAR="2003" #mesa override
export __GL_ExtensionStringVersion="17700" #nvidia override
fi
if [[ ! -z "${PW_NO_WRITE_WATCH}" && "${PW_NO_WRITE_WATCH}" != 0 ]] ; then
if [[ "${PW_NO_WRITE_WATCH}" == 1 ]] ; then
export WINE_DISABLE_WRITE_WATCH="1"
fi
if [[ ! -z "${PW_VULKAN_NO_ASYNC}" && "${PW_VULKAN_NO_ASYNC}" != 0 ]] ; then
if [[ "${PW_VULKAN_NO_ASYNC}" == 1 ]] ; then
export RADV_DEBUG="llvm"
var_vkd3d_config_update single_queue
fi
@ -119,70 +124,86 @@ start_portwine () {
fi
}
if [[ ! -z "${PW_USE_FAKE_DLSS}" && "${PW_USE_FAKE_DLSS}" == 1 && -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]]
then
try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
enabled_fake_nvidia_videocard 1
export DXVK_NVAPIHACK=0
export DXVK_ENABLE_NVAPI=1
export WINE_HIDE_NVIDIA_GPU=0
elif [[ ! -z "${PW_USE_NVAPI_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] && [[ -d "${WINEDIR}/lib/wine/nvapi/" ]]
then
if ! try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/" ; then
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/"
fi
if ! try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/" ; then
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
fi
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/nvngx.ini"
var_winedlloverride_update "nvapi,nvapi64=n;nvml,nvcuda,nvcuvid=b"
if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/nvngx.dll" || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/_nvngx.dll" ]] ; then
try_copy_file `find /usr/* -type f -name "nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
try_copy_file `find /usr/* -type f -name "_nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
fi
# echo "Try link nvml.dll.so to prefix"
try_force_link_file "${PW_PLUGINS_PATH}"/nvml/lib/wine/nvml.dll.so "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/nvml.dll"
try_force_link_file "${PW_PLUGINS_PATH}"/nvml/lib64/wine/nvml.dll.so "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/nvml.dll"
export DXVK_NVAPIHACK=0
export DXVK_ENABLE_NVAPI=1
export WINE_HIDE_NVIDIA_GPU=0
enabled_fake_nvidia_videocard 0
else
enabled_fake_nvidia_videocard 0
export DXVK_NVAPIHACK=1
export DXVK_ENABLE_NVAPI=0
export WINE_HIDE_NVIDIA_GPU=1
if ! try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" ; then
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
fi
if ! try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" ; then
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
fi
if [[ ! -z "${PW_PRIME_RENDER_OFFLOAD}" && "${PW_PRIME_RENDER_OFFLOAD}" != 0 ]] ; then
export __NV_PRIME_RENDER_OFFLOAD=1
check_nvidia_vk_icd_file
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/nvml.dll"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvml.dll"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
if [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then
try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/"
enabled_fake_nvidia_videocard 1
var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx="
export DXVK_ENABLE_NVAPI=1
export WINE_HIDE_NVIDIA_GPU=0
export VKD3D_FEATURE_LEVEL="12_2"
# export DXVK_NVAPI_DRIVER_VERSION=
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
if ! try_copy_file `find /usr/* -type f -name "nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${WINEPREFIX}/drive_c/windows/system32/"
then try_copy_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
fi
if ! try_copy_file `find /usr/* -type f -name "_nvngx.dll" 2>/dev/null | awk '{print $1}' | grep '/lib/'` "${WINEPREFIX}/drive_c/windows/system32/"
then try_copy_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
fi
enabled_fake_nvidia_videocard 0
export DXVK_ENABLE_NVAPI=1
export WINE_HIDE_NVIDIA_GPU=0
export VKD3D_FEATURE_LEVEL="12_2"
# export DXVK_NVAPI_DRIVER_VERSION=
var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n"
else
enabled_fake_nvidia_videocard 0
export DXVK_ENABLE_NVAPI=0
var_winedlloverride_update "nvngx,_nvngx="
fi
if [[ ! -z "${PW_HEAP_DELAY_FREE}" && "${PW_HEAP_DELAY_FREE}" != 0 ]]
grep '"renderer"=' "${WINEPREFIX}/user.reg" &>/dev/null
if [[ "$?" == 0 ]] ; then
sed -i /'"renderer"='/d "${WINEPREFIX}/user.reg" &>/dev/null
sed -i /'renderer='/d "${WINEPREFIX}/winetricks.log" &>/dev/null
fi
if [[ ! -z "${optirun_on}" && "${optirun_on}" != "" ]] ; then
export PW_PRIME_RENDER_OFFLOAD=1
print_info "force PW_PRIME_RENDER_OFFLOAD=1"
fi
if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
fi
if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]]
then export WINE_HEAP_DELAY_FREE="1"
else export WINE_HEAP_DELAY_FREE="0"
fi
if [[ ! -z "${PW_WINE_ALLOW_XIM}" && "${PW_WINE_ALLOW_XIM}" != 0 ]]
if [[ "${PW_WINE_ALLOW_XIM}" == 1 ]]
then export WINE_ALLOW_XIM="1"
else export WINE_ALLOW_XIM="0"
fi
if [[ ! -z "${PW_FIX_VIDEO_IN_GAME}" && "${PW_FIX_VIDEO_IN_GAME}" != 0 ]]
if [[ "${PW_FIX_VIDEO_IN_GAME}" == 1 ]]
then export WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER="1"
else export WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER="0"
fi
[[ ! -z "${PW_MANGOHUD_USER_CONF}" && "${PW_MANGOHUD_USER_CONF}" != 0 ]] && unset MANGOHUD_CONFIG
if [[ ! -z "${PW_USE_DXR11}" && "${PW_USE_DXR11}" != 0 ]] ; then
var_vkd3d_config_update dxr11
var_radv_perftest_config_update rt,gpl
export VKD3D_FEATURE_LEVEL=12_1
elif [[ ! -z "${PW_USE_DXR10}" && "${PW_USE_DXR10}" != 0 ]] ; then
var_vkd3d_config_update dxr
var_radv_perftest_config_update rt,gpl
export VKD3D_FEATURE_LEVEL=12_1
[[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG
if [[ "${PW_USE_DXR11}" == 1 ]] || [[ "${PW_USE_DXR10}" == 1 ]] || [[ "${PW_USE_RAY_TRACING}" == 1 ]]; then
var_vkd3d_config_update dxr,dxr11
var_radv_perftest_config_update rt
export VKD3D_FEATURE_LEVEL="12_2"
export WINE_HIDE_NVIDIA_GPU=0
export DXVK_ENABLE_NVAPI=1
fi
export optirun_on=""
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
"0")
@ -197,17 +218,21 @@ start_portwine () {
killall xneur
export int_xneur=1
fi
if [[ ! -z "${PW_XKBD_RU_HACK}" && "${PW_XKBD_RU_HACK}" == 1 ]] ; then
if [[ "${PW_XKBD_RU_HACK}" == 1 ]] ; then
export PW_XKBD="$(setxkbmap -query | grep -w ru | awk '{print($2)}')"
if [ ! -z ${PW_XKBD} ]; then
setxkbmap us,ru
fi
fi
if [[ -x "`which "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
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
echo "Gamemod will be launched."
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"
@ -215,33 +240,45 @@ start_portwine () {
pw_other_fixes
check_dirs_and_files_in_pfx () {
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/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:"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"
try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"arial.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"arialbd.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"times.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"cour.ttf
try_force_link_file "${WINEDIR}/share/fonts/"LiberationMono-Bold.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"courbd.ttf
try_force_link_file "${WINEDIR}/share/fonts/"msyh.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"msyh.ttf
try_force_link_file "${WINEDIR}/share/fonts/"malgun.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"malgun.ttf
try_force_link_file "${WINEDIR}/share/fonts/"micross.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"micross.ttf
try_force_link_file "${WINEDIR}/share/fonts/"nirmala.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"nirmala.ttf
create_new_dir "${WINEPREFIX}"
create_new_dir "${WINEPREFIX}/drive_c"
create_new_dir "${WINEPREFIX}/dosdevices"
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
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 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"simsun.ttc
try_force_link_file "${WINEDIR}/share/fonts/"msgothic.ttc "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"msgothic.ttc
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
try_force_link_file "${WINEDIR}/share/wine/fonts/"tahoma.ttf "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/"tahoma.ttf
try_force_link_file "${WINEDIR}/share/wine/fonts/"tahoma.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"tahoma.ttf
}
PROGPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/progpfx${PROGPFX_VER}/progpfx${PROGPFX_VER}.tar.xz"
if [[ "${PW_PREFIX_NAME}" == "PROGRAMS" && ! -f "${WINEPREFIX}"/.progpfx ]] ; then
print_info "Download and install PROGRAMS pfx..."
if try_download "${PROGPFX_URL}" "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" ; then
unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/"
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
else
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
zenity_error_download && exit 1
fi
fi
DOTPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/dotpfx${DOTPFX_VER}/dotpfx${DOTPFX_VER}.tar.xz"
if [[ "${update_loc}" == "RUS" && "${PW_PREFIX_NAME}" == "DOTNET" && ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/.dotnet48 ]] ; then
print_info "Download and install DOTNET..."
if [[ "${PW_PREFIX_NAME}" == "DOTNET" && ! -f "${WINEPREFIX}"/.dotnet48 ]] ; then
print_info "Download and install DOTNET pfx..."
if try_download "${DOTPFX_URL}" "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" ; then
unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/"
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
@ -253,9 +290,11 @@ start_portwine () {
pw_update_pfx_cover_gui
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" || ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/windows || \
! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/userdef.reg || ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/system.reg || \
! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/user.reg ]]
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" \
|| ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/windows \
|| ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/userdef.reg \
|| ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/system.reg \
|| ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/user.reg ]]
then
pw_clear_pfx
check_dirs_and_files_in_pfx
@ -265,22 +304,33 @@ start_portwine () {
${pw_runtime} env 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 [[ -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
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 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"
fi
[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:"
[ ! -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:"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser"
if [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}" ]; then
try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}"
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}"
fi
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Documents/Steam"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Documents/Steam"
if [ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/My Documents" ]
then try_force_link_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/Documents" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/My Documents"
create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam"
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ]
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents"
fi
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming"
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Application Data" ]
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming" "${WINEPREFIX}/drive_c/users/steamuser/Application Data"
fi
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local"
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings"
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data" ]
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local" "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data"
fi
#enabled BattleEye_Runtime and EasyAntiCheat_Runtime
if [[ "${PW_USE_EAC_AND_BE}" == 1 ]] ; then
@ -290,52 +340,45 @@ start_portwine () {
else
unset PROTON_BATTLEYE_RUNTIME PROTON_EAC_RUNTIME
fi
#try link d3d extras libs
if [[ -d "${PW_PLUGINS_PATH}/d3d_extras" ]]
then PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras"
else PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras"
fi
for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \
d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \
d3dcompiler_47 d3dx10_33 d3dx10_34 d3dx10_35 d3dx10_36 d3dx10_37 d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 \
d3dx10_42 d3dx10_43 d3dx10 d3dx11_42 d3dx11_43 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30 \
d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43
do
if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then
try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/"
var_winedlloverride_update "${d3d_extras_from_plugins}=n,b"
else
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/${d3d_extras_from_plugins}.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/"
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/${d3d_extras_from_plugins}.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/"
fi
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/${d3d_extras_from_plugins}.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/"
fi
fi
if [[ -z "`grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then
echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
done
if [[ -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
var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe=b;lsteamclient,winemenubuilder=d"
echo "Try link wine DXGI by default..."
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/dxgi.dll"
fi
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
fi
echo "Try link wine d3d filese by default..."
for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do
if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then
if [[ -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 ! try_force_link_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
then try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_build_dll}.dll"
if [[ -d "${PW_PLUGINS_PATH}/d3d_extras" ]]
then PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras"
else PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras"
fi
#try link d3d extras libs
for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \
d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \
d3dcompiler_47 d3dx10_33 d3dx10_34 d3dx10_35 d3dx10_36 d3dx10_37 d3dx10_38 d3dx10_39 d3dx10_40 d3dx10_41 \
d3dx10_42 d3dx10_43 d3dx10 d3dx11_42 d3dx11_43 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 d3dx9_30 \
d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43
do
try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
var_winedlloverride_update "${d3d_extras_from_plugins}=n"
if [[ -z "`grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then
echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
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
done
@ -344,16 +387,16 @@ start_portwine () {
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl"
if [[ "${PW_VULKAN_USE}" == "0" ]] ; then
echo "Use OpenGL"
print_info "Use OpenGL"
export GL_YIELD="NOTHING"
export mesa_glthread=true
var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12,d3d12core="
var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,wined3d9,dxgi=b;d3d12,d3d12core="
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
echo "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
export PW_GALLIUM_NINE_VER="0.8"
export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/d3d9.dll"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/d3d9.dll"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
var_winedlloverride_update "d3d9=n;wined3d=b;dxvk_config,vulkan-1,winevulkan="
unset FIND_D3D_MODULE D3D_MODULE_PATH
FIND_D3D_MODULE=`dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null`
@ -378,62 +421,70 @@ start_portwine () {
export ENABLE_VKBASALT=0
export PW_MANGOHUD=0
export WINE_FULLSCREEN_FSR=0
elif [[ "${PW_VULKAN_USE}" == "4" ]] ; then
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
export WINE_D3D_CONFIG='renderer=vulkan'
else
echo "Use VKD3D-PROTON and DXVK (DX 9-12 to vulkan)"
print_info "Use VKD3D-PROTON, DXVK and D8VK (DirectX to vulkan)"
if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config openvr_api_dxvk"
var_winedlloverride_update dxgi=b
elif [[ "${USE_ALL_DXVK_DLLS}" == 1 ]] ; then
export CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config openvr_api_dxvk"
else
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config openvr_api_dxvk"
fi
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}"
echo "DXVK v.${DXVK_STABLE_VER} in use"
echo "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
print_info "DXVK v.${DXVK_STABLE_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
echo "DXVK v.${DXVK_GIT_VER} in use"
echo "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
print_info "DXVK v.${DXVK_GIT_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
fi
PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
print_info "D8VK v.${D8VK_VER} in use"
echo "Try link native DXVK files..."
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" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${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"
done
echo "Try link native VKD3D files..."
for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-shader-1 libvkd3d-1
do
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
print_info "Try link native VKD3D files..."
for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-shader-1 libvkd3d-proton-utils-3 libvkd3d-1 ; do
if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
else
try_force_link_file "${WINEDIR}/lib/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib64/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi
done
print_info "Try link native D8VK file..."
try_force_link_file "${PATH_TO_D8VK_FILES}/x32/d3d8.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d8.dll"
var_winedlloverride_update d3d8=n
fi
if [[ "${PW_DX12_DISABLE}" == 1 ]]
then var_winedlloverride_update "d3d12,d3d12core,libvkd3d-shader-1,libvkd3d-1="
else var_winedlloverride_update "d3d12,d3d12core,libvkd3d-shader-1,libvkd3d-1=n"
then var_winedlloverride_update "d3d12,d3d12core,libvkd3d-1="
else var_winedlloverride_update "d3d12,d3d12core,libvkd3d-1=n"
fi
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin" ]] ; then
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin"
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/vrclient.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient.dll"
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient.dll"
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin"
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll"
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll"
fi
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/vrclient_x64.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient_x64.dll"
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient_x64.dll"
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient_x64.dll"
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient_x64.dll"
fi
fi
try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache"
try_remove_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache"
try_remove_dir "${PORT_WINE_TMP_PATH}/dxvk_cache"
try_remove_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache"
if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then
create_new_dir "${PATH_TO_DXVK_FILES}/gl_shader_cache"
@ -462,12 +513,22 @@ start_portwine () {
unset WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING
fi
for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" ; do
if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
then try_copy_file "${WINEDIR}"/lib/wine/i386-windows/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
if [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
export WINE_CPU_TOPOLOGY="${PW_WINE_CPU_TOPOLOGY}"
else
unset WINE_CPU_TOPOLOGY
fi
for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" "amd_ags_x64.dll" "ir50_32.dll" ; do
if try_copy_file "${WINEDIR}/lib/wine/i386-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
then print_info "Try copy $try_cp_dll_from_wine to syswow64... OK."
elif ! try_copy_file "${WINEDIR}/lib/wine/fakedlls/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
then try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}"
fi
if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${try_cp_dll_from_wine}"
then try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/${try_cp_dll_from_wine} "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${try_cp_dll_from_wine}"
if try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}"
then print_info "Try copy $try_cp_dll_from_wine to system32... OK."
elif ! try_copy_file "${WINEDIR}/lib64/wine/fakedlls/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}"
then try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}"
fi
done
@ -475,6 +536,7 @@ start_portwine () {
if [[ ! -z "${PW_MUST_HAVE_DLL}" ]]
then export PW_DLL_INSTALL="`echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' `"
fi
if [[ ! -z "${PW_DLL_INSTALL}" ]] ; then
export PW_DLL_NEED_INSTALL=""
export USE_WT_FROM_DB=0
@ -490,7 +552,7 @@ start_portwine () {
sed -i '/vcrun2015/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
sed -i '/vcrun2017/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
grep "${need_install_dll_to_pfx}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
grep "${need_install_dll_to_pfx}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" &>/dev/null
if [[ "$?" == "1" ]] ; then
if [[ -z "${PW_DLL_NEED_INSTALL}" ]]
then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}"
@ -510,7 +572,8 @@ start_portwine () {
kill_portwine
fi
fi
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `grep "Windows $PW_WINDOWS_VER" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg"` ]] ; then
if [[ ! -z "${PW_WINDOWS_VER}" && `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ]] ; then
export PW_WINDOWS_VER="xp64"
fi
@ -520,20 +583,22 @@ start_portwine () {
kill_portwine
echo "Set to win${PW_WINDOWS_VER}"
fi
if [[ "${portwine_exe}" == *-Shipping.exe ]] ; then
echo "Disable EAC"
[[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+=" -eac-nop-loaded "
fi
sleep 1
pw_stop_progress_bar &&
pw_tray_icon &&
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
fi
if [[ "${PW_PREFIX_NAME}" == "DOTNET" ]] && [[ "${PW_VULKAN_USE}" == "1" || "${PW_VULKAN_USE}" == "2" ]] ; then
var_winedlloverride_update "libglesv2="
fi
add_in_start_portwine
if [[ -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then
export DXVK_CONFIG_FILE="${PATH_TO_GAME}/dxvk.conf"
fi
@ -541,7 +606,7 @@ start_portwine () {
pw_run () {
unset GDK_BACKEND
if [[ ! -z "$portwine_exe" ]] ; then
if [[ -n "${PATH_TO_GAME}" ]] ; then
cd "${PATH_TO_GAME}"
else
cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c"
@ -550,12 +615,14 @@ pw_run () {
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"
"PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" "WINEDLLPATH" "WINE_CPU_TOPOLOGY"
if [[ "${PW_LOG}" == 1 ]] ; then
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
echo ""
print_debug "Log from RUNTIME and WINE:"
env ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
@ -568,7 +635,9 @@ pw_run () {
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
fi
${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
echo ""
print_debug "Log from RUNTIME and WINE:"
env ${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
@ -597,7 +666,7 @@ 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 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
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
export portname=PortProton
@ -621,8 +690,9 @@ if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
IFS="$orig_IFS"
fi
create_new_dir "${PORT_WINE_PATH}/data/prefixes"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/DEFAULT"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/DOTNET"
create_new_dir "${PORT_WINE_PATH}/data/prefixes/PROGRAMS"
try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${PORT_WINE_PATH}"
orig_IFS="$IFS"

View File

@ -53,7 +53,11 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then
ln -s "${PW_OLD_PATH}/PortProton" "${XDG_DATA_HOME}/PortWINE"
fi
fi
ln -s "${XDG_DATA_HOME}/PortWINE" "${HOME}/"
if [ ! -L "${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" $@ &
exit 0
@ -62,6 +66,6 @@ if [ "${PW_SILENT_INSTALL}" = "1" ] ; then
fi
else
`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1
xdg-open "https://linux-gaming.ru/portproton/" > /dev/null 2>&1 & exit 0
xdg-open "https://linux-gaming.ru/portproton/" > /dev/null 2>&1 & exit 0
fi
unset INSTALLING_PORT
unset INSTALLING_PORT

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Author: linux-gaming.ru
# clear
export NO_AT_BRIDGE=1
export pw_full_command_line=("$0" $*)
if [ -f "$1" ]; then
@ -8,7 +8,7 @@ if [ -f "$1" ]; then
fi
. "$(dirname $(readlink -f "$0"))/runlib"
kill_portwine
killall -15 yad_new 2>/dev/null
killall -15 yad_v12_3 2>/dev/null
kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null
if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then
@ -25,8 +25,8 @@ if [[ -f "${PORT_WINE_TMP_PATH}/tmp_main_gui_size" ]] && [[ -n "$(cat ${PORT_WIN
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}')"
else
export PW_MAIN_SIZE_W="1000"
export PW_MAIN_SIZE_H="260"
export PW_MAIN_SIZE_W="1100"
export PW_MAIN_SIZE_H="300"
fi
if [[ -n $(basename "${portwine_exe}" | grep .ppack) ]] ; then
@ -123,7 +123,7 @@ portwine_start_debug () {
echo "$PORT_WINE_PATH" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Operating system" >> "${PORT_WINE_PATH}/${portname}.log"
lsb_release -d | sed s/Description/ОС/g >> "${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"
@ -142,20 +142,20 @@ portwine_start_debug () {
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'lspci -k | grep -EA3 VGA|3D|Display:' >> "${PORT_WINE_PATH}/${portname}.log"
echo $(lspci -k | grep -EA3 'VGA|3D|Display') >> "${PORT_WINE_PATH}/${portname}.log"
[[ `which glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
[[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
echo " " >> "${PORT_WINE_PATH}/${portname}.log"
echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log"
"${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log"
[[ `which vulkaninfo` ]] && vulkaninfo | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log"
[[ `command -v vulkaninfo` ]] && vulkaninfo | grep deviceName >> "${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"
fi
if [ ! -x "$(which gamemoderun 2>/dev/null)" ]
if [ ! -x "$(command -v gamemoderun 2>/dev/null)" ]
then
echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "!!!gamemod not found!!!" >> "${PORT_WINE_PATH}/${portname}.log"
@ -188,7 +188,7 @@ portwine_start_debug () {
sleep 3
pw_stop_progress_bar_cover
unset PW_TIMER
while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}') ]] ; do
while read -r line || [[ -n $(pgrep -a yad | grep "yad_v12_3 --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}') ]] ; do
sleep 0.005
if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
@ -199,8 +199,8 @@ portwine_start_debug () {
sleep 3
PW_TIMER=1
fi
done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_new}" --text-info --tail --button="STOP":0 --title="DEBUG" \
--skip-taskbar --center --width=800 --height=400 --text "${port_debug}" &&
done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_v12_3}" --text-info --tail --button="STOP":0 --title="DEBUG" \
--skip-taskbar --width=800 --height=400 --text "${port_debug}" 2>/dev/null &&
kill_portwine
# sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine
sed -i '/.fx$/d' "${PORT_WINE_PATH}/${portname}.log"
@ -210,8 +210,8 @@ portwine_start_debug () {
sed -i '/Uploading is disabled/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=7 --no-buttons --text-align=center \
--text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \
"$pw_yad" --title="${portname}.log" --borders=3 --no-buttons --text-align=center \
--text-info --show-uri --wrap --width=1200 --height=550 --uri-color=red \
--filename="${PORT_WINE_PATH}/${portname}.log"
stop_portwine
}
@ -290,20 +290,20 @@ pw_prefix_manager () {
pw_stop_progress_bar
KEY_EDIT_MANAGER_GUI=$RANDOM
"${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \
"${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=1 --list --checklist \
--text="Select components to install in prefix: <b>\"${PW_PREFIX_NAME}\"</b>, using wine: <b>\"${PW_WINE_USE}\"</b>" \
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" &
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/dll_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
"${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \
"${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=2 --list --checklist \
--text="Select fonts to install in prefix: <b>\"${PW_PREFIX_NAME}\"</b>, using wine: <b>\"${PW_WINE_USE}\"</b>" \
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" &
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/fonts_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
"${pw_yad_new}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \
"${pw_yad_v12_3}" --plug=$KEY_EDIT_MANAGER_GUI --tabnum=3 --list --checklist \
--text="Change config for prefix: <b>\"${PW_PREFIX_NAME}\"</b>" \
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" &
--column=set --column=dll --column=info < "${PORT_WINE_TMP_PATH}/settings_list_tmp" 1>> "${PORT_WINE_TMP_PATH}/to_winetricks" 2>/dev/null &
"${pw_yad_new}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=5 --width=700 --height=600 --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONTS" --tab="SETTINGS"
"${pw_yad_v12_3}" --key=$KEY_EDIT_MANAGER_GUI --notebook --borders=3 --width=900 --height=800 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "PREFIX MANAGER..." --tab-pos=bottom --tab="DLL" --tab="FONTS" --tab="SETTINGS" 2>/dev/null
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
stop_portwine
@ -343,7 +343,7 @@ pw_winetricks () {
pw_stop_progress_bar
echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
unset PW_TIMER
while read -r line || [[ -n $(pgrep -a yad | grep "yad_new --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do
while read -r line || [[ -n $(pgrep -a yad | grep "yad_v12_3 --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}') ]] ; do
sleep 0.005
if [[ -n "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
@ -355,11 +355,11 @@ pw_winetricks () {
sleep 3
PW_TIMER=1
fi
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --text-info --tail --no-buttons --title="WINETRICKS" \
--auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y &
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --text-info --tail --no-buttons --title="WINETRICKS" \
--auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y 2>/dev/null &
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log"
kill -s SIGTERM "$(pgrep -a yad_new | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1
kill -s SIGTERM "$(pgrep -a yad_v12_3 | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1
stop_portwine
}
@ -368,13 +368,20 @@ pw_start_cont_xterm () {
unset PW_SANDBOX_HOME_PATH
# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
${pw_runtime} xterm
${optirun_on} ${PW_GAMEMODERUN_SLR} ${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}" \
xterm
}
pw_create_prefix_backup () {
cd "$HOME"
PW_PREFIX_TO_BACKUP=$("${pw_yad_new}" --file --directory --borders=5 --width=650 --height=500 --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO...")
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 )
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
@ -411,12 +418,12 @@ pw_create_prefix_backup () {
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_DXR10 PW_USE_DXR11 \
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_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE
if [ "$?" == 0 ] ; then
echo "Restarting PP after update ppdb file..."
print_info "Restarting PP after update ppdb file..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
@ -432,6 +439,7 @@ pw_autoinstall_from_db () {
export PW_WINEDBG_DISABLE=1
export PW_NO_WRITE_WATCH=0
export PW_VULKAN_USE=0
export PW_USE_EAC_AND_BE=0
export PW_NO_FSYNC=1
export PW_NO_ESYNC=1
unset PORTWINE_CREATE_SHORTCUT_NAME
@ -449,13 +457,6 @@ export -f gui_credits
###MAIN###
# HOTFIX WGC TO LGC
if [[ ! -z "$(echo ${1} | grep 'wgc_api.exe')" ]] && [[ ! -f "${1}" ]] ; then
export PW_YAD_SET=PW_LGC
pw_autoinstall_from_db
exit 0
fi
# HOTFIX CALIBRE
if [[ ! -z "$(echo ${1} | grep '/Caliber/')" ]] ; then
export PW_WINE_USE=PROTON_STEAM_6.3-8
@ -562,7 +563,7 @@ if [ -n "${portwine_exe}" ]; then
else
PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/separator.png!${loc_delete_shortcut}:98"
fi
OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=7 --form --center \
OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --borders=3 --form \
--title "${portname}-${install_ver} (${scripts_install_ver})" --image "${PW_ICON_FOR_YAD}" --separator=";" --keep-icon-size \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
@ -573,7 +574,7 @@ if [ -n "${portwine_exe}" ]; then
--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 \
--button="${loc_gui_launch}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_launch}":106 )
--button="${loc_gui_launch}"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_launch}":106 2>/dev/null)
export PW_YAD_SET="$?"
if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi
export VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}')
@ -590,7 +591,7 @@ if [ -n "${portwine_exe}" ]; then
else
button_click () {
[[ -n "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_new) ]] ; then
if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_v12_3) ]] ; then
kill -s SIGUSR1 $(pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}') > /dev/null 2>&1
fi
}
@ -598,12 +599,12 @@ else
run_desktop_b_click () {
[[ -n "$1" ]] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_new) ]] ; then
if [[ -n $(pidof -s yad) ]] || [[ -n $(pidof -s yad_v12_3) ]] ; then
kill -s SIGUSR1 $(pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}') > /dev/null 2>&1
fi
PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
echo "Restarting PP after choose desktop file..."
print_info "Restarting PP after choose desktop file..."
# stop_portwine
/usr/bin/env bash -c "${PW_EXEC_FROM_DESKTOP}" &
exit 0
@ -613,7 +614,7 @@ else
gui_clear_pfx () {
if gui_question "${port_clear_pfx}" ; then
pw_clear_pfx
echo "Restarting PP after clearing prefix..."
print_info "Restarting PP after clearing prefix..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
@ -634,14 +635,14 @@ else
gui_pw_update () {
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
echo "Restarting PP for check update..."
print_info "Restarting PP for check update..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
}
change_loc () {
try_remove_file "${PORT_WINE_TMP_PATH}/PortProton_loc"
echo "Restarting PP for change language..."
try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_loc"
print_info "Restarting PP for change language..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
}
@ -659,13 +660,13 @@ else
gui_open_scripts_from_backup () {
cd "${PORT_WINE_TMP_PATH}/scripts_backup/"
PW_SCRIPT_FROM_BACKUP=$("${pw_yad_new}" --file --borders=5 --width=650 --height=500 --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz")
PW_SCRIPT_FROM_BACKUP=$("${pw_yad_v12_3}" --file --borders=3 --width=650 --height=500 --auto-close \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "SCRIPTS FROM BACKUP" --file-filter="backup_scripts|scripts_v*.tar.gz" 2>/dev/null )
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
unpack_tar_gz "$PW_SCRIPT_FROM_BACKUP" "${PORT_WINE_PATH}/data/"
echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
echo "Restarting PP after backup..."
print_info "Restarting PP after backup..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
}
@ -684,17 +685,17 @@ else
for PW_DESKTOP_FILES in ${PW_ALL_DF} ; do
PW_NAME_D_ICON="$(cat "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | grep Icon | awk -F= '{print $2}')"
PW_NAME_D_ICON_48="${PW_NAME_D_ICON//".png"/"_48.png"}"
if [[ ! -f "${PW_NAME_D_ICON_48}" ]] && [[ -f "${PW_NAME_D_ICON}" ]] && [[ -x "`which "convert" 2>/dev/null`" ]] ; then
if [[ ! -f "${PW_NAME_D_ICON_48}" ]] && [[ -f "${PW_NAME_D_ICON}" ]] && [[ -x "`command -v "convert" 2>/dev/null`" ]] ; then
convert "${PW_NAME_D_ICON}" -resize 48x48 "${PW_NAME_D_ICON_48}"
fi
PW_GENERATE_BUTTONS+="--field= ${PW_DESKTOP_FILES//".desktop"/""}!${PW_NAME_D_ICON_48}!:FBTN%@bash -c \"run_desktop_b_click "${PW_DESKTOP_FILES//" "}"\"%"
done
IFS="$orig_IFS"
old_IFS=$IFS && IFS="%"
"${pw_yad_new}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[4]} --form --columns=3 --align-buttons --keep-icon-size --scroll --separator=" " ${PW_GENERATE_BUTTONS} &
"${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[4]} --form --columns=3 --align-buttons --keep-icon-size --scroll --separator=" " ${PW_GENERATE_BUTTONS} 2>/dev/null &
IFS="$orig_IFS"
"${pw_yad_new}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[3]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \
"${pw_yad_v12_3}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[3]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \
--field=" $loc_gui_pw_reinstall_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_pw_reinstall_pp"' \
--field=" $loc_gui_rm_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_rm_portproton"' \
--field=" $loc_gui_upd_pp"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_pw_update"' \
@ -703,9 +704,9 @@ else
--field=" $loc_gui_edit_usc"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \
--field=" $loc_gui_scripts_fb"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_open_scripts_from_backup"' \
--field=" Xterm"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_start_cont_xterm"' \
--field=" $loc_gui_credits"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_credits"' &
--field=" $loc_gui_credits"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_credits"' 2>/dev/null &
"${pw_yad_new}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[2]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \
"${pw_yad_v12_3}" --plug=${KEY} --tabnum=${PW_GUI_SORT_TABS[2]} --form --columns=3 --align-buttons --keep-icon-size --separator=";" \
--field=" 3D API : :CB" "${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_open_gl}!${loc_gui_gallium_nine}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
@ -717,9 +718,9 @@ else
--field=' WINETRICKS'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
--field=" WINE UNINSTALLER"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
--field=" CLEAR PREFIX"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
--field=" CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
--field=" CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
"${pw_yad_new}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
"${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"' \
@ -731,44 +732,54 @@ else
--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=" 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 &
"${pw_yad_new}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[0]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
"${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"' \
--field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png"!"":"FBTN" '@bash -c "button_click PW_WGC"' \
--field=" vkPlay Games Center"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_VKPLAY"' \
--field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png"!"":"FBTN" '@bash -c "button_click PW_BATTLE_NET"' \
--field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png"!"":"FBTN" '@bash -c "button_click PW_EPIC"' \
--field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png"!"":"FBTN" '@bash -c "button_click PW_GOG"' \
--field=" Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png"!"":"FBTN" '@bash -c "button_click PW_UBC"' \
--field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click PW_EVE"' \
--field=" EA App"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"' \
--field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click PW_ROCKSTAR"' \
--field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \
--field=" OSU"!"$PW_GUI_ICON_PATH/osu.png"!"":"FBTN" '@bash -c "button_click PW_OSU"' \
--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=" CALIBER"!"$PW_GUI_ICON_PATH/caliber.png"!"":"FBTN" '@bash -c "button_click PW_CALIBER"' \
--field=" FULQRUM GAMES"!"$PW_GUI_ICON_PATH/fulqrumgames.png"!"":"FBTN" '@bash -c "button_click PW_FULQRUM_GAMES"' \
--field=" Plarium Play"!"$PW_GUI_ICON_PATH/plariumplay.png"!"":"FBTN" '@bash -c "button_click PW_PLARIUM_PLAY"' \
--field=" ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' \
--field=" Steam (unstable)"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' \
--field=" Crossout"!"$PW_GUI_ICON_PATH/crossout.png"!"":"FBTN" '@bash -c "button_click PW_CROSSOUT"' \
--field=" Indiegala Client"!"$PW_GUI_ICON_PATH/igclient.png"!"":"FBTN" '@bash -c "button_click PW_IGCLIENT"' \
--field=" Warframe"!"$PW_GUI_ICON_PATH/warframe.png"!"":"FBTN" '@bash -c "button_click PW_WARFRAME"' \
--field=" Panzar"!"$PW_GUI_ICON_PATH/panzar.png"!"":"FBTN" '@bash -c "button_click PW_PANZAR"' \
--field=" STALCRAFT"!"$PW_GUI_ICON_PATH/stalcraft.png"!"":"FBTN" '@bash -c "button_click PW_STALCRAFT"' \
--field=" ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"' \
--field=" Path of Exile"!"$PW_GUI_ICON_PATH/poe.png"!"":"FBTN" '@bash -c "button_click PW_POE"' &
--field=" CONTRACT WARS"!"$PW_GUI_ICON_PATH/cwc.png"!"":"FBTN" '@bash -c "button_click PW_CWC"' \
--field=" Stalker Online"!"$PW_GUI_ICON_PATH/so.png"!"":"FBTN" '@bash -c "button_click PW_SO"' \
--field=" Metal War Online"!"$PW_GUI_ICON_PATH/mwo.png"!"":"FBTN" '@bash -c "button_click PW_MWO"' \
--field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \
--field=" Indiegala Client"!"$PW_GUI_ICON_PATH/igclient.png"!"":"FBTN" '@bash -c "button_click PW_IGCLIENT"' \
--field=" Plarium Play"!"$PW_GUI_ICON_PATH/plariumplay.png"!"":"FBTN" '@bash -c "button_click PW_PLARIUM_PLAY"' \
--field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png"!"":"FBTN" '@bash -c "button_click PW_WGC"' \
--field=" OSU"!"$PW_GUI_ICON_PATH/osu.png"!"":"FBTN" '@bash -c "button_click PW_OSU"' \
--field=" ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' \
--field=" Steam (unstable)"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' \
--field=" Path of Exile"!"$PW_GUI_ICON_PATH/poe.png"!"":"FBTN" '@bash -c "button_click PW_POE"' \
--field=" Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"' \
--field=" Genshin Impact"!"$PW_GUI_ICON_PATH/genshinimpact.png"!"":"FBTN" '@bash -c "button_click PW_GENSHIN_IMPACT"' \
--field=" Battle Of Space Raiders"!"$PW_GUI_ICON_PATH/bsr.png"!"":"FBTN" '@bash -c "button_click PW_BSR"' 2>/dev/null &
# --field=" Electronic Arts App"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"'
# --field=" Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click PW_SWL"'
# --field=" Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"'
#
# --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"'
# --field=" ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"'
if [[ `which wmctrl` ]] &>/dev/null ; then
if [[ `command -v wmctrl` ]] &>/dev/null ; then
sleep 2
while [[ $(pgrep -a yad_new | head -n 1 | awk '{print $1}' 2>/dev/null) ]] ; do
while [[ $(pgrep -a yad_v12_3 | head -n 1 | awk '{print $1}' 2>/dev/null) ]] ; do
sleep 2
PW_MAIN_GUI_SIZE_TMP="$(wmctrl -lG | grep PortProton-1.0 | awk '{print $5" "$6}' 2>/dev/null)"
if [[ -n "${PW_MAIN_GUI_SIZE_TMP}" ]] ; then
@ -778,24 +789,24 @@ else
fi &
if [[ -z "${PW_ALL_DF}" ]] ; then
"${pw_yad_new}" --key=$KEY --notebook --borders=5 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close --center \
"${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})" \
--tab-pos=bottom --keep-icon-size \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_wine_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!""
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" 2>/dev/null
YAD_STATUS="$?"
else
"${pw_yad_new}" --key=$KEY --notebook --borders=5 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close --center \
"${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})" \
--tab-pos=bottom --keep-icon-size \
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_wine_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" \
--tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!""
--tab="$loc_mg_portproton_settings"!"$PW_GUI_ICON_PATH/separator.png"!"" 2>/dev/null
YAD_STATUS="$?"
fi
@ -842,7 +853,7 @@ if [[ -z "${PW_DISABLED_CREATE_DB}" ]] ; then
edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME
fi
case "$PW_YAD_SET" in
[ -n "$PW_YAD_SET" ] && case "$PW_YAD_SET" in
98) portwine_delete_shortcut ;;
100) portwine_create_shortcut ;;
DEBUG|102) portwine_start_debug ;;

View File

@ -1,13 +1,9 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2182
#SCRIPTS_NEXT_VERSION=2215
########################################################################
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 DXVK_HUD=compiler
#export GALLIUM_HUD=fps
#export ENABLE_VKBASALT=1
#export PW_VIRTUAL_DESKTOP=1
#export PW_XKBD_RU_HACK=1
export PW_RT_MOUNT_RO=("")
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
@ -20,44 +16,56 @@ export PW_USE_TERMINAL="0"
export PW_WINEDBG_DISABLE="1"
export PW_WINDOWS_VER="10"
export WINEARCH="win64"
export PW_LIBS_VER="_v42"
export PW_LIBS_VER="_v43"
export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1"
export PW_USE_D3D_EXTRAS="1"
export PW_PREFIX_NAME="DEFAULT"
export WINE_WIN_START="start /i /b /wait /high /unix"
export WINE_WIN_START="start /wait /high /unix"
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"
###GTK_CONFIG###
# export GTK_DATA_PREFIX=
# export GTK_THEME="Adwaita:dark"
###DEFAULT_WINE###
export PW_WINE_USE="PROTON_LG"
export PW_PLUGINS_VER="_v10"
export PW_FAKE_DLSS_VER="091122"
export PW_PLUGINS_VER="_v12"
export PW_FAKE_DLSS_VER="230506"
###WINE_PROTON_LG###
export PW_LG_VER="7-54"
export PW_LG_VER="8-11"
export PW_PROTON_LG_VER="PROTON_LG_${PW_LG_VER}"
###WINE_PROTON_GE###
export PW_GE_VER="8-3"
export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
export PW_WINE_FULLSCREEN_FSR="1"
###DXVK_AND_VKD3D###
export VKD3D_FEATURE_LEVEL="12_0"
# export VKD3D_LIMIT_TESS_FACTORS="16"
export D8VK_VER="1.0"
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.1-85"
export DXVK_GIT_VER="2.2-137"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-3413"
export VKD3D_GIT_VER="1.1-3516"
###PREFIX_VERSION###
export DOTPFX_VER="48v1"
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 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="physx mfc42 vcrun2022" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2022 faudio dotnet48" ;;
DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;;
*) export PW_MUST_HAVE_DLL="" ;;
esac
}
@ -71,10 +79,9 @@ add_in_stop_portwine ()
{
echo " "
}
export -f add_in_stop_portwine
########################################################################
pw_other_fixes ()
{
echo ""
}
# export VKD3D_FEATURE_LEVEL=12_0

View File

@ -14,9 +14,10 @@ zenity_error () {
export -f zenity_error
zenity_error_download () {
`zenity --error --title "$loc_gui_error" --text "$loc_gui_error_download" --no-wrap `
`zenity --question --title "$loc_gui_error" --text "$loc_gui_error_download\n" --no-wrap --ok-label="Repeat" --cancel-label="Exit" `
if [[ "$?" != 0 ]] ; then
stop_portwine
exit 1
else
return 0
fi
@ -49,7 +50,7 @@ pw_update_pfx_cover_gui () {
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
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do
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"`" ]] \
&& [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \
@ -61,11 +62,11 @@ pw_update_pfx_cover_gui () {
sleep 3
PW_TIMER=1
fi
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail &
"${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top &
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail 2>/dev/null &
"${pw_yad_v12_3}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top 2>/dev/null &
"${pw_yad_new}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \
--center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom &
"${pw_yad_v12_3}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \
--center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom 2>/dev/null &
export PW_YAD_PID_PFX_COVER_UI="$!"
return 0
}
@ -101,15 +102,15 @@ pw_stop_progress_bar_cover () {
export -f pw_stop_progress_bar_cover
open_changelog () {
"${pw_yad}" --title="$loc_gui_changelog" --borders=10 --no-buttons --text-align=center \
--text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \
"${pw_yad}" --title="$loc_gui_changelog" --borders=3 --no-buttons --text-align=center \
--text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
}
export -f open_changelog
pw_tray_icon () {
if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`"
if [ ! -z "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_v12_3 | grep "\-\-notification" | awk '{print $1}'`"
fi
tray_icon_click () {
@ -133,7 +134,7 @@ pw_tray_icon () {
}
export -f tray_icon_click_exit
"${pw_yad_new}" --notification --no-middle \
"${pw_yad_v12_3}" --notification --no-middle \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--image="$PW_GUI_ICON_PATH/port_proton.png" \
--command="bash -c tray_icon_click" \
@ -142,19 +143,34 @@ 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"||" &
${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 [[ -n "`echo "${MANGOHUD_CONFIG}" | grep "fps_limit"`" ]] ; then
FPS_LIMIT_VAR="`echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//g' | awk -F, '{print $1}'`"
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=0
FPS_LIMIT_VAR="disabled"
fi
echo "FPS_LIMIT_VAR=$FPS_LIMIT_VAR"
if [[ -n "${PW_WINE_CPU_TOPOLOGY}" ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
CPU_LIMIT_VAR="`echo ${PW_WINE_CPU_TOPOLOGY%%:*}`"
else
CPU_LIMIT_VAR="disabled"
fi
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
logical_cores=$(grep -c "^processor" /proc/cpuinfo)
if [[ "${logical_cores}" -le "4" ]] ; then
GET_LOGICAL_CORE="1!$(seq -s! 1 $((${logical_cores} - 1)))"
else
GET_LOGICAL_CORE="1!2!$(seq -s! 4 4 $((${logical_cores} - 1)))"
fi
unset ADD_CHK_BOX_EDIT_DB
edit_db_field_add () {
for int_to_boole in $@ ; do
@ -170,8 +186,8 @@ pw_gui_for_edit_db () {
edit_db_field_add $@
old_IFS=$IFS
IFS="%"
"${pw_yad_new}" --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" &
"${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 &
IFS=$old_IFS
case ${PW_WINDOWS_VER} in
@ -179,21 +195,21 @@ pw_gui_for_edit_db () {
"XP") ADD_WINVER_EDIT_DB="XP!7!10" ;;
*) ADD_WINVER_EDIT_DB="10!7!XP" ;;
esac
"${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \
"${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" \
--field="${loc_gui_winedllover}!${loc_gui_winedllover_help} :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \
--field=":LBL" "" \
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :SCL" ${FPS_LIMIT_VAR} 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" &
"${pw_yad_new}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="550" \
--text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=10 --center \
--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" \
--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_open_db}"!!"${loc_gui_open_db_help}":150 \
--button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0
--button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null
YAD_STATUS="$?"
case "$YAD_STATUS" in
1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
@ -217,14 +233,25 @@ pw_gui_for_edit_db () {
PW_DLL_INSTALL=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}'`
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}'`
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
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}'`"
if [ "${FPS_LIMIT}" != 0 ] ; then
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
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY
return 0
}
@ -294,22 +321,24 @@ gui_proton_downloader () {
#GUI
export KEY_WINE=$RANDOM
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_set"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"
`"${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --separator="" --listen \
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"` &
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" 2>/dev/null` &
`"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --separator="" --listen \
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set"` &
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" 2>/dev/null` &
`"${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --separator="" --listen \
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set"` &
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set" 2>/dev/null` &
`"${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --separator="" --listen \
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"` &
--column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" 2>/dev/null` &
`"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --separator="" --listen \
--column "$loc_gui_del_wine" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"` &
`"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center --center \
--column "$loc_gui_del_wine" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" 2>/dev/null` &
`"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "WINE MANAGER" --separator="" \
--tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine"`
--tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine" 2>/dev/null`
YAD_WINE_STATUS="$?"
if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then
/usr/bin/env bash -c ${pw_full_command_line[*]} &
@ -326,13 +355,16 @@ gui_proton_downloader () {
export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"`"
elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" | awk '{print $1}'` ] ; then
export VERSION_INSTALLED_WINE="`cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"`"
else
print_info "Nothing to do."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_set"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git"
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine"
elif [[ "$1" == "silent" ]] && [[ -n "$2" ]] ; then
@ -340,8 +372,9 @@ gui_proton_downloader () {
fi
for GIVE_WINE_URL in ${PROTON_GE_GIT[@]} ${PROTON_PW_GIT[@]} ${WINE_KRON4EK[@]} ${WINE_GE_CUSTOM[@]} ; do
if [ ! -z `echo ${GIVE_WINE_URL} | grep -i "$VERSION_WINE_GIT"` ] ; then
if [ ! -z `echo ${GIVE_WINE_URL} | grep -i "${VERSION_WINE_GIT}"` ] ; then
export URL_VERSION_PROTON_GIT="${GIVE_WINE_URL}"
break
fi
done
@ -404,20 +437,20 @@ gui_vkBasalt () {
fi
export old_IFS=$IFS
export IFS="%"
"${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \
"${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" &
${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" 2>/dev/null &
export IFS="${old_IFS}"
"${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \
"${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}" \
1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" &
1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" 2>/dev/null &
"${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="500" --title="vkBasalt" --center --borders=10 \
"${pw_yad_v12_3}" --paned --key="$KEY_FX_GUI" --height="650" --title="vkBasalt" --center --borders=3 \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \
--button="$loc_gui_disabled_vkbas"!!"$loc_gui_disabled_vkbas_help":180 \
--button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":182
--button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":182 2>/dev/null
YAD_VKBASALT_STATUS="$?"
case "${YAD_VKBASALT_STATUS}" in
1|252)
@ -456,38 +489,49 @@ gui_vkBasalt () {
portwine_create_shortcut () {
pw_create_gui_png
name_desktop="${PORTPROTON_NAME}"
try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${PORTPROTON_NAME}" >> "${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 "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"
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
"${pw_yad}" --title="${inst_set}." --form --center --borders=5 \
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="\n <b>${name_desktop}.desktop</b>:LBL" "" \
--field="\n ${ss_done}:LBL" "" \
--button="$loc_gui_no":1 \
--button="$loc_gui_yes":0
--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
try_remove_file "${HOME}/.local/share/applications/${name_desktop}.desktop"
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/.local/share/applications/"
if [[ -d "${HOME}/Desktop" ]] ; then
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Desktop/"
elif [[ -d "${HOME}/Рабочий стол" ]] ; then
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Рабочий стол/"
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{ print $2 }')
create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{ print $3 }')
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"
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 "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"
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/${name_desktop}.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
if [[ "${create_menu_desktop_shortcut}" == "TRUE" ]]; then
try_remove_file "${HOME}/.local/share/applications/${name_desktop}.desktop"
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/.local/share/applications/"
if [[ -d "${HOME}/Desktop" ]] ; then
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Desktop/"
elif [[ -d "${HOME}/Рабочий стол" ]] ; then
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/Рабочий стол/"
fi
fi
[[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
fi
[[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
}
portwine_delete_shortcut () {

View File

@ -1,5 +1,6 @@
reshadeTexturePath = /run/pressure-vessel/pv-from-host/reshade/textures
reshadeIncludePath = /run/pressure-vessel/pv-from-host/reshade
FilmGrain2 = /run/pressure-vessel/pv-from-host/reshade/shaders/FilmGrain2.fx
Curves = /run/pressure-vessel/pv-from-host/reshade/shaders/Curves.fx
FakeHDR = /run/pressure-vessel/pv-from-host/reshade/shaders/FakeHDR.fx

Some files were not shown because too many files have changed in this diff Show More