Compare commits

...

105 Commits

Author SHA1 Message Date
c17af61662 Scripts version 2176 2023-03-26 21:01:16 +03:00
8b61e35c26 Merge pull request #33 from zorn-v/patch-2
Do not overwrite symlinks on extract tars
2023-03-20 18:55:43 +03:00
2ae0296180 Merge pull request #36 from vitlav/master
WorldOfTanksEnCoreLauncher: fix if else
2023-03-20 18:54:58 +03:00
2606ae7ef0 Scripts version 2175 2023-03-19 14:58:40 +03:00
c946de6169 Scripts version 2174 2023-03-18 15:46:42 +03:00
ead6102216 WorldOfTanksEnCoreLauncher: fix if else 2023-03-18 04:36:53 +03:00
16fac7c19b Do not overwrite symlinks on extract tars 2023-03-04 00:37:23 +10:00
60d8ac4b7b Scripts version 2173.1 2023-03-01 20:31:23 +03:00
1ae72d5d6d Scripts version 2173 2023-03-01 20:20:57 +03:00
bf888095f5 Scripts version 2172 2023-03-01 00:51:42 +03:00
9448097837 Scripts version 2171 2023-03-01 00:11:04 +03:00
d2af0505f8 Scripts version 2170 2023-02-26 17:23:55 +03:00
5d2223d18c Scripts version 2169 2023-02-25 21:54:43 +03:00
c6ef00a833 Scripts version 2168 2023-02-25 21:09:23 +03:00
e9ad9676f0 Scripts version 2167 2023-02-25 20:06:56 +03:00
e36eae069f Scripts version 2166 2023-02-23 14:28:58 +03:00
c26941cd2c Scripts version 2165 2023-02-21 17:48:15 +03:00
e448ed2751 Scripts version 2164 2023-02-19 19:19:30 +03:00
49ada77104 Scripts version 2163 2023-02-09 22:01:22 +03:00
de3e066d35 Scripts version 2162 2023-02-08 22:16:00 +03:00
ee201c9b48 Scripts version 2161-1 2023-02-07 23:11:45 +03:00
05de094de4 Scripts version 2161 2023-02-07 23:11:14 +03:00
a1f6fc5cc3 Scripts version 2160 2023-02-05 15:43:38 +03:00
a2763052c8 Scripts version 2159 2023-01-29 19:00:36 +03:00
81738d5584 Scripts version 2158 2023-01-29 17:58:52 +03:00
81947443a7 Scripts version 2157 2023-01-22 19:24:34 +03:00
d6ed28c382 Scripts version 2156 2023-01-22 00:53:31 +03:00
3584b832a3 Scripts version 2155 2023-01-21 15:54:13 +03:00
8a83ff1745 Scripts version 2154 2022-12-24 21:49:54 +03:00
8ef052acd4 Scripts version 2153-2 2022-12-19 21:15:58 +03:00
db70aaebfa Scripts version 2153 2022-12-19 21:15:17 +03:00
62005d5bde Scripts version 2152 2022-12-18 23:19:08 +03:00
d7aac3dee6 pre-update for PoE 2022-12-16 11:41:21 +03:00
8d03563dbc Scripts version 2151 2022-12-11 23:04:42 +03:00
bd440ce8e7 Scripts version 2150 2022-12-11 19:07:17 +03:00
cc8529c551 Scripts version 2149-4 2022-12-10 21:13:47 +03:00
45c5e052d6 Scripts version 2149-3 2022-12-10 21:12:37 +03:00
4bf9cb677f Scripts version 2149-2 2022-12-10 21:10:00 +03:00
d2cb6fefee Scripts version 2149 2022-12-10 21:09:25 +03:00
13142f8ed6 Merge pull request #27 from zorn-v/patch-1
Use ENG locale if missing lang
2022-12-08 22:09:17 +03:00
e10facc9ba Use ENG as default lang 2022-12-08 03:56:24 +10:00
c584c3697d Use ENG locale if missing lang 2022-12-08 03:48:36 +10:00
4a083a9300 Update img for gui 2022-12-06 20:30:36 +03:00
5f4bdc536c Scripts version 2148 2022-12-06 20:22:13 +03:00
d2ab7a6c18 Scripts version 2147 2022-12-02 19:20:57 +03:00
5f02f61550 Scripts version 2146 2022-12-01 20:37:35 +03:00
15b84b931b Scripts version 2145 2022-11-22 18:28:21 +03:00
9cc48c4761 Scripts version 2144 2022-11-21 21:10:42 +03:00
b9754bfab2 Scripts version 2144 2022-11-21 21:10:15 +03:00
88baf8b0d2 test git pull from ftp 2022-11-20 15:11:08 +03:00
7dc2676de8 Scripts version 2143 - fix version 2022-11-17 21:52:42 +03:00
0c8b21648c Scripts version 2143 2022-11-17 21:32:28 +03:00
406de39ba5 Scripts version 2142 2022-11-16 20:51:16 +03:00
1db0baad5b Scripts version 2141 2022-11-11 01:02:47 +03:00
41bc48fb1f Scripts version 2140 2022-11-11 00:49:39 +03:00
d8f96debe9 Scripts version 2139 2022-11-06 17:16:02 +03:00
21c21f8769 Scripts version 2138 2022-10-31 21:46:00 +03:00
9d4934ca35 Scripts version 2137 2022-10-26 18:56:14 +03:00
cbf9648193 Scripts version 2136 2022-10-12 20:11:24 +03:00
c826f58567 Scripts version 2135 2022-10-09 21:18:44 +03:00
dbdc0d5a77 Scripts version 2134 2022-10-09 18:52:00 +03:00
6620fa6582 Scripts version 2133 2022-10-05 03:37:35 +03:00
787182f9c3 Scripts version 2132 2022-09-27 22:32:09 +03:00
3100a30ba6 Fix installing from AUR 2022-09-25 21:44:21 +03:00
1de526ba37 Scripts version 2131-2 2022-09-24 20:46:18 +03:00
39549a1832 Scripts version 2131 2022-09-24 20:43:43 +03:00
ae12e2c7a6 Scripts version 2130 (PROTON_LG) 2022-09-22 22:19:50 +03:00
ec2fe82d68 Scripts version 2129 2022-09-12 23:43:31 +03:00
ca019feeba Scripts version 2128 2022-09-12 21:56:20 +03:00
5d5b24df32 Scripts version 2127 2022-08-29 22:20:36 +03:00
ecc931fae3 Scripts version 2126 2022-08-28 12:40:08 +03:00
5406e3b792 hotfix start.sh 2022-08-21 20:39:42 +03:00
cc7f5c328c Scripts version 2124 2022-08-21 19:36:10 +03:00
a2b5385071 Scripts version 2123 2022-07-30 15:20:35 +03:00
8b442cf9ef Scripts version 2122 2022-07-28 22:55:31 +03:00
9e07d5bc97 Scripts version 2121 2022-07-23 11:59:50 +03:00
2029bb8275 Scripts version 2120 2022-06-26 17:49:07 +03:00
bab528078e Scripts version 2119 2022-06-21 21:12:10 +03:00
d2410479d8 Scripts version 2118 2022-06-15 23:02:23 +03:00
366cd15995 Scripts version 2117 2022-06-06 21:35:16 +03:00
3f0f52669f Merge pull request #16 from an9949an/master
Add info to README.md
2022-06-06 12:54:12 +03:00
f74a051301 Add info to README.md 2022-06-06 11:54:17 +03:00
29fea96413 Scripts version 2116 2022-06-04 12:17:25 +03:00
6103a61657 Scripts version 2115 2022-05-31 20:37:54 +03:00
caa498a99d Scripts version 2114 2022-05-31 15:55:02 +03:00
da38a958ac Scripts version 2113 2022-05-31 15:25:48 +03:00
bcc3387749 Scripts version 2112.1 2022-05-31 15:16:28 +03:00
564ed9aaf6 Scripts version 2112 2022-05-31 15:11:57 +03:00
3ba7742e7f Scripts version 2111 2022-05-31 15:07:17 +03:00
efaeef7749 Scripts version 2110 2022-05-30 22:40:28 +03:00
5fa3dd120c Scripts version 2109 2022-05-28 14:39:08 +03:00
72e773cfa0 Scripts version 2108 2022-05-27 00:41:45 +03:00
29eb9ba79f Scripts version 2107 2022-05-24 22:08:54 +03:00
f411b5a27c Scripts version 2106 2022-05-14 01:17:04 +03:00
6b7621b251 Scripts version 2105 2022-05-06 15:08:59 +03:00
e99a88355a Scripts version 2104 2022-04-18 23:29:17 +03:00
9d35697588 Scripts version 2103 2022-04-18 21:08:20 +03:00
d992080a2e Scripts version 2102 2022-04-17 22:31:04 +03:00
cd9b43f1f5 Scripts version 2101 2022-04-16 21:51:58 +03:00
42fa075e3f Scripts version 2100.1 2022-04-16 18:35:49 +03:00
a09063c284 Scripts version 2100 2022-04-16 17:45:16 +03:00
cd5f85371f Scripts version 2098 2022-04-13 02:20:56 +03:00
1c252a12a8 Scripts version 2097 2022-04-13 01:50:53 +03:00
0fa5790b42 Scripts version 2096 2022-04-03 21:07:07 +03:00
76e52f5a78 Scripts version 2095 2022-03-20 17:57:47 +03:00
195 changed files with 5828 additions and 1445 deletions

2
LICENSE Normal file → Executable file
View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2022 Castro-Fidel (PortWINE-Linux.ru)
Copyright (c) 2022 Castro-Fidel (linux-gaming.ru)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

108
README.md
View File

@ -1,11 +1,101 @@
# PortWINE
data_from_portwine - contains scripts and additional files for configuring and running applications.
portwine_install_script - contains a self-extracting port setup script
PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!
# PortProton
Generated Wine sources for use in PortWINE:
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.
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.
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/
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`
## 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`
Silent installation (ENG):
`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 "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus`
## Dependencies
* **NVIDIA graphics card users**
If you have a video card from NVIDIA and a proprietary driver is installed, then you need to check if lib32-nvidia-utils is installed (no 32-bit game will work without it)
* **Ubuntu / Linux Mint / Pop!_OS**
`sudo dpkg --add-architecture i386`
`sudo add-apt-repository multiverse`
`sudo apt update && sudo apt upgrade`
`sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386`
* **Arch Linux / Manjaro**
`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`
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`
* **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`
`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`
* **Fedora**
Enable Non-free repository:
`sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm`
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`
* **Alt Linux**
`sudo apt-get update && sudo apt-get dist-upgrade -y`
`sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd`
* **ROSA DESKTOP FRESH R12**
`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`
## Contacts
You can join our [Discord](https://discord.gg/FTaheP99wE) server.

614
data_from_portwine/changelog_eng Normal file → Executable file
View File

@ -1,7 +1,619 @@
You can help us in the development of the project on the website: https://boosty.to/portwine-linux.ru
You can help us in the development of the project on the website: boosty.to/linux-gaming.ru
-----------------------------------------
Changelog:
###Scripts version 2176###
* The libc_v41 library package has been updated
PROTON_LG="7-53"
PROTON_GE="7-53"
DXVK_GIT_VER="2.1-48"
VKD3D_GIT_VER="1.1-3325"
* updated the vkBasalt version to work with the latest versions of DXVK and VKD3D (thanks to Vuursteen for compiling)
###Scripts version 2175###
* Updated the list of thanks to paid subscribers on https://boosty.to/portwine-linux.ru
* Thank you so much:
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###
* updated versions:
PROTON_LG="7-51"
PROTON_GE="7-51"
* minor improvements and optimization of scripts
###Scripts version 2173###
* added saving the size of the PortProton main menu window
###Scripts version 2172###
* minor improvements searching the .exe files
###Scripts version 2171###
* all shortcuts created in the PortProton directory are automatically added to the "INSTALLED" tab item with which you can launch installed games and applications from PortProton itself
* the menu tab "INSTALLED" is automatically transferred as the main (first) tab in PortProton, if you already have shortcuts to installed games or programs
* minor improvements and optimization of scripts
###Scripts version 2170###
* added .ppdb file for Hogwarts Legacy
###Scripts version 2169###
* HOTFIX for ROBLOX (updated)
###Scripts version 2168###
* added installation of the ROBLOX
###Scripts version 2166###
* added a shortcut creation assistant after installing the game/program using setup.exe
* the "INSTALLED" tab has been added to the main interface of PortProton, in which you can search for all exe files in all PortProton prefixes
###Scripts version 2165###
* HOTFIX - runing Atomic Heart from VK Play
###Scripts version 2164###
* added support for the --autoinstall argument [script_id_pw_autoinstall] - to be able to install the game\program without running the main PortProton interface
* updated the output of the --help argument from the terminal
* added a forced shutdown of the virtual desktop for vkPlay (to apply, just re-install vkPlay)
* added a fix for displaying text on some systems when using steam (to apply, just re-install steam)
* Updated the libs_v40 library package
* Updated plugins_v10 library package
- updated Proton EAC to the current state
* increased buttons in the PortProton interface
###Scripts version 2163###
* Steam is working again and starts in Steam Deck mode by default
* added automatic reset of the .ppdb file settings when reinstalling the launchers from the PortProton menu
* added creation of a shortcut to the desktop
###Scripts version 2162###
* The libc_v39 library package has been updated
- Uplay is working again
- many minor fixes
* added automatic prefix update after library update
* added installation of the STALCRAFT game
###Scripts version 2161###
* updated versions:
PROTON_GE="7-49"
###Scripts version 2160###
* updated versions:
PROTON_GE="7-48" (by default)
DXVK_GIT_VER="2.1"
VKD3D_GIT_VER="1.1-3132"
export WINE_FULLSCREEN_FSR="1" (by default)
###Scripts version 2159###
* Updated libs_v38 (HOTFIX)
###Scripts version 2158###
* Updated libs_v37:
fix: kernel32.dll
###Scripts version 2157###
* Updated libs_v36:
depot 0.20230111.68
pressure-vessel 0.20221215.0 scout
scripts 0.20221215.0
sniper 0.20230109.1
###Scripts version 2156###
* the variable "PW_MANGOHUD_x32" has been added to EDIT_BD, which enables MANGOHUD for 32-bit games (temporary need to bypass the error of MANGOHUD in 64-bit games in some systems)
###Scripts version 2155###
* updated versions:
PROTON_LG="7-47"
PROTON_GE="7-47"
DXVK_GIT_VER="2.0-116"
VKD3D_GIT_VER="1.1-3115"
###Scripts version 2154###
* updated PROTON_LG 7-43
###Scripts version 2153###
* updated versions:
PROTON_GE="7-43"
DXVK_GIT_VER="2.0-36"
VKD3D_GIT_VER="1.1-3094"
* fixed crashes of the Witcher 3 game (next gen. DX12) It is necessary to use the PROTON_GE_7-43 version
###Scripts version 2152###
* added installation of the game Path of Exile
* updated versions of GIT DXVK and VKD3D:
DXVK_GIT_VER="2.0-34"
VKD3D_GIT_VER="1.1-3088"
* added vkbasalt unexpected shutdown when building GIT versions of DXVK and VKD3D (temporarily)
* libs_v34 (updated container and created a prefix template transfer plugin from a directory in the libs directory)
pressure vessel 0.20221130.0
sniper 0.20221130.0
* updated FAKE_DLSS version to 091122
###Scripts version 2151###
* added Panzar
###Scripts version 2150###
* added Warframe
###Scripts version 2149###
* added STEAM (version for Windows)
* added Indiegala Client
###Scripts version 2148###
* added Crossout
###Scripts version 2147###
* created a repository https://github.com/Castro-Fidel/vulkan/releases with DXVK and VKD3D versions compiled specifically to work under the container, which reduces problems and increases the number of games launched
* default versions:
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.0-26"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-2967"
* you can still set the standard versions of DXVK and VKD3D for individual games and they will be downloaded from off. GitHub repositories
* solved problem with League of Legends game on some systems (eg Rosa Linux)
###Scripts version 2146###
* added interface language switching in the "PORTPROTON SETTINGS" section
* added the ability to download the new version of PROTON STEAM 7.0-5
* minor fixes and script improvements
###Scripts version 2145###
* added the ability to change SVN and VKD3D versions in the game settings file .pdb and globally in user.conf using variables (values are given for example):
export DXVK_STABLE_VER="1.10.3"
export SVN_GIT_VER="2.0"
export VKD3D_STABLE_VER="2.6"
export VKD3D_GIT_VER="2.7"
* for League of Legends, the default version is DXVK 1.10.2 - as more stable for this game
###Scripts version 2144###
* updated WINE for League of Legends
###Scripts version 2143###
* due to EA Launcher issues, the Origin installer has been temporarily reverted
###Scripts version 2142###
* added alternative FTP server for PP component updates if download failed from main GITHUB server
* added display of current versions of DXVK and VKD3D when they are selected in the PortProton interface
* Changed the WINE_WIN_START="start /i /b /wait /high /unix" variable to increase the priority of the application being started (test) and more detailed output of information when creating a Log.
* for lovers of MMORPGs and weak hardware, an automatic installer Fulqrum Games has been added to launch Royal Quest - a massively multiplayer online game developed by 1C and Katauri Interactive. Thanks chal55rus (Sergey P.)
* Added PlariumPlay automatic installer to launch Raid: Shadow Legends
###Scripts version 2141###
* HOTFIX - added EA icon
###Scripts version 2140###
* added the USE_WINE_DXGI variable to EDIT_DB
* added the function of modular updating of DXVK and VKD3D-PROTON from GitHub servers
* added selection of DXVK and VKD3D-PROTON versions when launching games/launchers
* changed the automatic installation of ORIGIN on EA Launcher (beta test)
###Scripts version 2139###
* added the function of reinstalling PortProton from the menu of PortProton itself and using the "--reinstall" argument in the terminal
* updated version of PROTON_LG 7.34 based on PROTON GE 7.39 (Updated support for running game: "Overwatch 2")
###Scripts version 2138###
* added "Calibre" in AUTOINSTALL (thanks chal55rus)
###Scripts version 2137###
* updated version of PROTON_LG 7.32 based on PROTON GE 7.38 (Added support for running game: "Uncharted: Legacy of Thieves")
* minor script optimizations for running PortProton
###Scripts version 2136###
* added "Lesta Game Center" in AUTOINSTALL
###Scripts version 2135###
* updated PROTON_GE_7-37 (updated dxvk and vkd3d)
###Scripts version 2134###
* added the WINE-GE-CUSTOM tab in GET_OTHER_WINE to download versions of wine LUTRIS
* updated the PROTON_LG 7.31 version (together with dxvk and vkd3d)
* changed the MY.GAMES auto-installer to vkPlay (with the creation of a separate VK_PLAY prefix)
###Scripts version 2133###
* update libs_v33 (steam runtime sniper container 09/29/2022, version MANGOHUD 0.6.8)
* update plugins_v8 (updated version of FAKE DLSS - FSR 2.1.1)
* removed variables from the EDIT_DB menu that are no longer necessary
* made a small optimization of scripts to speed up the launch of games
* ORIGIN is working again (if you already have ORIGIN installed, enable USE_TERMINAL in EDIT_DB)
###Scripts version 2132###
* ATTENTION! The site portwine-linux.ru which is working again - FAKE! What kind of person did this and with what motives is unknown. So be vigilant! The site of our project: LINUX-GAMING.RU - and once again I will ask all the authors of their sites and Youtube channels to change their links. Thank you.
###Scripts version 2131###
* HOTFIX and change url
###Scripts version 2130###
* by default, the WINE version of PROTON_LG is used (based on wine-ge-custom with the addition of patches required for PortProton) You can still use the PROTON_GE version by selecting it in the startup menu.exe file.
* due to the rebranding and the transition to the new WINE-PROTON branch, the scripts have been significantly updated
* ATTENTION: The prefix of variables in "EDIT_DB" and "user.conf" has changed from "PW_" to "PW_". At the first launch after the update, your settings files will also be updated.
###Scripts version 2129###
* scipts optimization for dxvk and vkd3d
###Scripts version 2128###
* updated "plugins_v7" (updated libraries for FAKE DLSS - FSR 2.1 operation)
* updated PROTON_GE_7-33 (updated dxvk and vkd3d)
###Scripts version 2127###
* updated "plugins_v6" (added libraries for FAKE DLS)
* added the ability to enable support for USE_FAKE_DLSS in the EDIT_DB menu (Works on ANY video card with Vulkan support)
###Scripts version 2126###
* updated PROTON_GE_7-30 (dxvk and vkd3d from PROTON_STEAM_7.0-4)
###Scripts version 2125###
* HOTFIX - start.sh
###Scripts version 2124###
* updated "PROTON_GE" to version 7-29
* updated "PROTON_STEAM" to version 7.0-4
* updated pp-games-lib plugin
###Scripts version 2123###
* HOTFIX - GALLIUM NINE mode
###Scripts version 2122###
* added the pp-games-lib plugin to the new PortProton/data/plugins/ details directory on github (plugin author: comrade zorn) https://github.com/zorn-v/PortProton-games-library
* updated scripts for installing and launching League of Legends (updated WINE_LOL_GE_7.0-4 - from now on there is no need to enter the root password to launch League of Legends)
* for GALLIUM_NINE to work, PROTON_GE is used by default
* in GALLIUM_NINE mode, the operation of launchers (such as Epic Games) has been fixed
* for Wargaming Game Center, the startup argument "--disable-gpu" is disabled automatically when using VULKAN mode.
* when using the DOTNET prefix, the black screen display in some applications has been fixed
* added a choice of downloading and automatic installation of WINE versions from Kron4ek
###Scripts version 2121###
* updated "PROTON_GE" to version 7-26
* fixed creation of shortcuts for WGC (to automatically fix existing shortcuts, just run the WGC installer from PortProton)
* Added automatic activation of MANGOHUD when using FPS limit
###Scripts version 2120###
* updated "PROTON_GE" to version 7-21
* updated "libs_v32" (Steam Runtime Snipers)
* updated installation of ORIGIN
###Scripts version 2119###
* HOTFIX - for PW_USE_D3D_EXTRAS
* updated information about the project, developers and paid subscribers on boosty
* added optimization of games and applications when using a Wayland session (using direct launch, not using XWayland)
###Scripts version 2118###
* PW_USE_D3D_EXTRAS is back on by default (except WGC)
* updated "PROTON_STEAM" to version 7.0-3
* added information about the project and developers (test mode)
###Scripts version 2117###
* HOTFIX - World of Sea Battles
* HOTFIX - AUTOINSTALL
###Scripts version 2116###
* HOTFIX - Epic Games Store
* HOTFIX - League of Legends
###Scripts version 2115###
* optimized launch PortProton in Rosa Linux
###Scripts version 2111 - 2114###
* debug
###Scripts version 2110###
* updated "PROTON_GE" to version 7-20
* fixed the work of the game World of Warplanes
* variable PW_D3D_EXTRAS_DISABLE renamed to PW_USE_D3D_EXTRAS and disabled by default
###Scripts version 2109###
* update "libs_v31"
* updated "PROTON_GE" to version 7-19
###Scripts version 2108###
* HOTFIX for Rosa Linux
###Scripts version 2107###
* accelerated container launch
* optimization of start.sh script
* updated "libs_v30" (restored work of vkBasalt on previous versions of OS Linux)
* updated "PROTON_GE" to version 7-18
###Scripts version 2106###
* updated libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5)
* added "WINE_FULLSCREEN_FSR" variable to "EDIT_DB" to enable "AMD FidelityFX Super Resolution"
* improved image quality when using FSR (Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen)
* vkBasalt performance improved
* performance improvements in games when using the VULKAN API (DXVK and VKD3D)
###Scripts version 2105###
* updated "PROTON_STEAM" to version 7.0-2
* updated "PROTON_GE" to version 7-16
* updated "WINE_LOL_GE" to version 7.0-2 + installation and startup scripts (game client launch is accelerated)
* removed "Bethesda.net Launcher" from AUTOINSTALL (because it moved to STEAM)
* improved prefix image creation and unpacking functions
###Scripts version 2104###
* HOTFIX - download and update winetricks
* when creating a log, all d3dx* and d3dcomp* were removed for readability
###Scripts version 2103###
* updated container launch mode
* temporary variable PW_USE_AMDVLK_DRIVER does not work
###Scripts version 2102###
* fixed work of GALLIUM_NINE on integrated video cards from Intel
* fixed switching AMDVLK - RADV
* FPS increase in games up to 20% (for all launch modes)
###Scripts version 2101###
* fix work WINETRICKS (new prefix manager) in the absence of winetricks.log
* updated "libs_v28" (MANGOHUD update to version 0.6.6-1)
###Scripts version 2100###
* updated "libs_v27" (unification of library directories for different Linux OS)
* MANGOHUD works again in OPENGL mode
* added launcher World of Sea Battle (TEST)
###Scripts version 2099###
* updated "PROTON_GE" to version 7-14
* updated "libs_v26" (Steam Runtime Sniper container update)
* updated "plugins_v5"
* added check for the presence of the d3dadapter9 library in the system (required for GALLIUM_NINE to work on a larger number of Linux OS)
* faster creation of a new prefix
* default theme for wine is light (after creating a new one, or clearing the current prefix)
* added variable PW_USE_SHADER_CACHE to EDIT_DB to control shader caching (disable only if there are microfreezes in the game)
* removed STEAM_PP from AUTOINSTALL (because there is a native STEAM for Linux with its own wine-proton)
###Scripts version 2098###
* due to possible problems with some games, MANGOHUD is disabled by default (enabled in EDIT_DB -> MANGOHUD, or globally by adding export PW_MANGOHUD=1 to user.conf)
###Scripts version 2097###
* accelerated launch of all applications in PortProton up to 200% depending on the system
* updated additional libraries "plugins_v4" (added support for GALLIUM_NINE)
* added "GALLIUM_NINE" mode selection (support for native DirectX9 on video card with MESA driver)
* new interface for WINETRICKS added settings tab
* added variable PW_USE_AMDVLK_DRIVER to EDIT_DB (use AMDVLK driver instead of RADV on AMD video cards)
* added label archiving when creating a prefix image
* added restoration of shortcuts after unpacking the prefix image (the path to the .exe file is corrected automatically)
* improved virtual desktop performance
* explorer changed to winefile (free disk space detection fixed)
* disabled loading of mono and gecko for League of Legends (speeds up the first launch)
* to force the use of AMD graphics cards instead of NVIDIA, you can add "export DRI_PRIME=1" to user.conf
###Scripts version 2096###
* added check for LANG variable for PortProton to work on STEAM-DECK
* added new interface for WINETRICKS
* updated "libs_v25" (updated steam runtime sniper, added support for "MANGOHUD" and "vkBasalt" for systems: "RED OS" and "OpenSUSE")
* added variable PW_FIX_VIDEO_IN_GAME to EDIT_DB (required for video playback in some games so that it is not distorted, colored pink)
###Scripts version 2095###
* updated "libs_v24" (hotfix)
###Scripts version 2094###
* rollback "PROTON_GE" to version 7-9

View File

@ -1,7 +1,644 @@
Вы можете помочь развитию проекта: https://portwine-linux.ru/donate/
Вы можете помочь развитию проекта: https://linux-gaming.ru/donate/
-----------------------------------------
История изменений:
###Scripts version 2176###
* Обновлен пакет библиотек libs_v41
pressure-vessel 0.20230314.0
sniper 0.20230314.45253
* обновлены версии:
PROTON_LG="7-53"
PROTON_GE="7-53"
DXVK_GIT_VER="2.1-48"
VKD3D_GIT_VER="1.1-3325"
* обновлен шаблон default префикса (предустановлен VulkanRT для работы игры RDR2 - требуется тест)
* обновлена версия vkBasalt для совместной работы с новейшими версиями DXVK и VKD3D (спасибо Vuursteen за компиляцию)
###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###
* обновлены версии:
PROTON_LG="7-51"
PROTON_GE="7-51"
* добавлена переменная PW_USE_GSTREAMER в настройки запуска для включения/выключения gstreamer (воспроизведение видео в играх)
* небольшие улучшения PortProton
###Scripts version 2173###
* добавлено сохранение размера окна главного меню PortProton (необходим пакет wmctrl установленный в системе)
###Scripts version 2172###
* небольшие улучшения поиска .exe файлов
###Scripts version 2171###
* в пункт меню "УСТАНОВЛЕННЫЕ" автоматически добавляются все ярлыки созданные в каталоге PortProton с помощью которых вы можете запускать установленные игры и приложения из самого PortProton
* пункт меню "УСТАНОВЛЕННЫЕ" автоматически переноситься как главная (первая) вкладка в PortProton, если у вас уже есть ярлыки установленных игр или программ
* небольшие улучшения и оптимизация скриптов
###Scripts version 2170###
* добавлен файл настроек для игры Hogwarts Legacy с рекомендациями по запуску и автоматическим переключением языка на русский
###Scripts version 2169###
* HOTFIX установки ROBLOX (обнолено)
###Scripts version 2168###
* добавлена установка ROBLOX
###Scripts version 2166###
* добавлен помощник создания ярлыка после установки игры/программы с помощью setup.exe
* в основном интерфейсе PortProton добавлена вкладка "УСТАНОВЛЕННЫЕ" в которой можно произвести поиск всех exe файлов во всех префиксах PortProton
###Scripts version 2165###
* HOTFIX для запуска Atomic Heart из VK Play (после обновления ОБЯЗАТЕЛЬНО кликаем заново автоустановку VK Play из PortProton)
###Scripts version 2164###
* добавлена поддержка аргумента --autoinstall [имя_скрипта_из_pw_autoinstall] - для возможности установки игры\программы без запуска основного интерфейса PortProton
* обновлен вывод аргумента --help из терминала
* добавлено принудительное отключение виртуального рабочего столя для vkPlay (для применения просто запустите повторно установку vkPlay)
* добавлен фикс отображения текста на некоторых системах при использовании steam (для применения просто запустите повторно установку steam)
* Обновлен пакет библиотек libs_v40
- предустановлены все версии vcrun от 2005 до 2022
* Обновлен пакет библиотек plugins_v10
- обновлен Proton EAC до актуального состояния
* увеличены кнопки в интерфейсе PortProton
###Scripts version 2163###
* Steam снова работает и по умолчанию запускается в Steam Deck режиме
* добавлен автоматический сброс настроек файла .ppdb при переустановке лончеров из меню PortProton
* добавлено создание ярлыка на рабочий стол
###Scripts version 2162###
* Обновлен пакет библиотек libs_v39
- Uplay снова работает
- предустановлены все версии vcrun от 2005 до 2019
- множество мелких исправлений
* добавлено автоматическое обновление префикса после обновления библиотек
* добавлена установка игры STALCRAFT
###Scripts version 2161###
* обновлены версии:
PROTON_GE="7-49"
###Scripts version 2160###
* обновлены версии:
PROTON_GE="7-48" (используется по умолчанию)
DXVK_GIT_VER="2.1"
VKD3D_GIT_VER="1.1-3132"
export WINE_FULLSCREEN_FSR="1" (используется по умолчанию)
###Scripts version 2159###
* Обновлен пакет библиотек libs_v38 (HOTFIX)
###Scripts version 2158###
* Обновлен пакет библиотек libs_v37
исправлена ошибка kernel32.dll при создании нового префикса
###Scripts version 2157###
* Обновлен пакет библиотек libs_v36
depot 0.20230111.68
pressure-vessel 0.20221215.0 scout
scripts 0.20221215.0
sniper 0.20230109.1
* обновлен шаблон default префикса
###Scripts version 2156###
* в EDIT_BD (НАСТРОЙКИ) добавлена переменная "PW_MANGOHUD_x32" которая включает MANGOHUD для 32-битных игр (временная необходимость для обхода ошибки работы MANGOHUD в 64-битных играх на некоторых системах)
###Scripts version 2155###
* обновлены версии:
PROTON_LG="7-47"
PROTON_GE="7-47"
DXVK_GIT_VER="2.0-116"
VKD3D_GIT_VER="1.1-3115"
###Scripts version 2154###
* обновлена версия PROTON_LG до 7-43
###Scripts version 2153###
* обновлены версии:
PROTON_GE="7-43"
DXVK_GIT_VER="2.0-36"
VKD3D_GIT_VER="1.1-3094"
* исправлены вылеты игры Ведьмак 3 (next gen. DX12) Необходимо использование версии PROTON_GE_7-43
###Scripts version 2152###
* обновлен шаблон дял создания префикса (улучшено отобраение кирилицы в некоторых приложениях, например Path of Exile)
* добавлена установка игры Path of Exile
* обновлены GIT версии DXVK и VKD3D:
DXVK_GIT_VER="2.0-34"
VKD3D_GIT_VER="1.1-3088"
* добавлено автоматическое отключение vkbasalt при использовании GIT версий DXVK и VKD3D (временно)
* libs_v34 (обновлен контейнер и произведен перенос шаблона префикса из каталога plugin в каталог libs)
pressure-vessel 0.20221130.0
sniper 0.20221130.0
для экономии места, шаблон default_pfx запакован в архив
* обновлена версия FAKE_DLSS до 091122
* обновлена поддержка DLSS для видеокарт NVIDIA серии RTX (требуется проверка)
###Scripts version 2151###
* добавлена установка игры Panzar - Российская клиентская сессионная многопользовательская онлайн-игра 3D MMO, сочетающий в себе несколько жанров,из RPG, MOBA и шутеров от отечественных разработчиков Panzar Studio (спасибо chal55rus) + бонус: улучшенная из коробки графика в игре с помощью vkbasalt
###Scripts version 2150###
* добавлена установка игры Warframe
###Scripts version 2149###
* возвращена установка Windows версии STEAM (проблема с миганием окон внутри клиента еще актуальна, но на работу игр не влияет)
* добавлена установка Indiegala Client
###Scripts version 2148###
* добавлена автоматическая установка игры Crossout (античит EAC проверен) Внимание: Если после запуска лончера будет ошибка - она на работу не влияет, просто нажмите close для её закрытия.
###Scripts version 2147###
* создан репозиторий https://github.com/Castro-Fidel/vulkan/releases с версиями DXVK и VKD3D скомпилированные специально для работы под контейнером, что уменьшает проблемы у увеличевает количество запускаемых игр
* версии по умолчанию:
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.0-26"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-2967"
* вы всё еще можете выставить для отдельных игр стандартные версии DXVK и VKD3D и они скачаются с офф. репозиториев GitHub
* решена проблема с игрой League of Legends на некоторых системах (например Rosa Linux)
###Scripts version 2146###
* добавлено переключение языка интерфейса в разделе "НАСТРОЙКИ PORTPROTON"
* добавлена возможность скачивания новой версии PROTON STEAM 7.0-5
* небольшие исправления и улучшения скриптов
###Scripts version 2145###
* добавлена возможность смены версий DXVK и VKD3D в файле настроек игры .ppdb и глобально в user.conf с помощью переменных (значения приведены для примера):
export DXVK_STABLE_VER="1.10.3"
export DXVK_GIT_VER="2.0"
export VKD3D_STABLE_VER="2.6"
export VKD3D_GIT_VER="2.7"
* для League of Legends по умолчанию выбана версия DXVK 1.10.2 - как более стабильная для данной игры
###Scripts version 2144###
* обновлена версия WINE для League of Legends
###Scripts version 2143###
* из за проблем связанных с EA Launcher, временно возвращен установщик Origin
###Scripts version 2142###
* добавлен альтернативный FTP сервер для обновлений компонентов PP если не удалось скачать с основного сервера GITHUB
* добавлен вывод текущих версий DXVK и VKD3D при их выборе в интерфейсе PortProton
* изменена перемееная WINE_WIN_START="start /i /b /wait /high /unix" для увеличения приоритета запускаемого приложения (тест) и более подробного вывода информации при создании Лога.
* для любителей MMORPG и слабого железа добавлен автоматический установщик Fulqrum Games для запуска Royal Quest — массовая многопользовательская онлайн-игра, разработанная Фирмой «1С» и Katauri Interactive. Спасибо chal55rus (Sergey P.)
* добавлен автоматический установщик PlariumPlay для запуска игры Raid: Shadow Legends
* небольшие улучшения локализации
###Scripts version 2141###
* HOTFIX - добавлена иконка EA
###Scripts version 2140###
* значительно улучшена локализация интерфейса PortProton.
* добавлено множество всплывющих подсказок при наведении курсора мыши
* добавлена переменная USE_WINE_DXGI в EDIT_DB (настройки)
* добавлена функция модульного обновления DXVK и VKD3D-PROTON из серверов GitHub
* добавлен выбор версий DXVK и VKD3D-PROTON при запуске игр/лончеров
* изменена автоматическая установка ORIGIN на EA Launcher (бета тест)
###Scripts version 2139###
* добавлена функция переустановки PortProton из меню самого PortProton и с помощью аргумента "--reinstall" в терминале
* обновлена версия PROTON_LG 7.34 на основе PROTON GE 7.39 (Обновлена поддержка запуска игры: "Overwatch 2")
###Scripts version 2138###
* добавлена установка игры Калибр (спасибо chal55rus за помощь)
###Scripts version 2137###
* обновлена версия PROTON_LG 7.32 на основе PROTON GE 7.38 (Добавлена поддержка запуска игры: "Uncharted: Legacy of Thieves")
* небольшие оптимизации скриптов для запуска PortProton
###Scripts version 2136###
* добавлен автоустановщик "Lesta Game Center" и автоматическое обновление ярлыков, при условии что LGC уже установлен, но запущен ярлык для WGC.
###Scripts version 2135###
* обновлен "PROTON_GE" до версии 7-37 (версии dxvk и vkd3d обновлены)
###Scripts version 2134###
* добавлена вкладка WINE-GE-CUSTOM в GET_OTHER_WINE для скачивания версий вайн LUTRIS
* обновлена версия PROTON_LG 7.31 (совместно с dxvk и vkd3d)
* изменён автоустановщик MY.GAMES на vkPlay (с созданием отдельного префикса VK_PLAY)
###Scripts version 2133###
* обновление libs_v33 (контейнер steam runtime sniper 29.09.2022, версия MANGOHUD 0.6.8)
* обновление plugins_v8 (обновлена версия FAKE DLSS - FSR 2.1.1)
* из меню EDIT_DB удалены переменные в которых более нет необходимости
* произведена небольшая оптимизация скриптов для ускорения запуска игр
* ORIGIN снова работает (если у вас уже установлен ORIGIN, включите USE_TERMINAL в EDIT_DB)
###Scripts version 2132###
* добавлен фикс для работы PortProton на системах Alt и Simply Linux (подготовка к возможному добавлению в репозитории)
* ВНИМАНИЕ! Сайт portwine-linux.ru который снова заработал - ФЕЙК! Что за человек это сделал и с какими мотивами - неизвестно. Так что будте бдительны! Сайт нашего проекта: LINUX-GAMING.RU - и еще раз попрошу всех авторов своих сайтов и каналов на Youtube сменить ссылки у себя. Спасибо.
###Scripts version 2131###
* исправлены ссылки со старого сайта на новый
* префикс переменных временно возвращен на "PW_".
###Scripts version 2130###
* по умолчанию используется WINE версии PROTON_LG (основан на wine-ge-custom с добавлением патчей необходимых для PortProton) Вы всё так же можете использовать версию PROTON_GE выбрав его в меню при запуске .exe файла.
* в связи с ребрендингом и переходом на новую PROTON_LG ветку WINE-PROTON, значительно обновлены скрипты
* ВНИМАНИЕ: префикс переменных в "EDIT_DB" и "user.conf" изменился с "PW_" на "PW_". При первом запуске после обновления, обновяться и ваши файлы настроек.
###Scripts version 2129###
* произведена оптимизация части скрипта отвечающая за dxvk и vkd3d
###Scripts version 2128###
* обновлен "plugins_v7"
* обновлены библиотеки для работы FAKE DLSS (обновлена версия FSR до 2.1)
* добавлена функция подмены видеокарты для значительного увеличения списка поддержки игр с FAKE_DLSS (активируется автоматически при включении USE_FAKE_DLSS в EDIT_DB)
* ускорено создание нового префикса
* обновлен "PROTON_GE" до версии 7-33 (версии dxvk и vkd3d обновлены)
###Scripts version 2127###
* обновлен "plugins_v6" (добавлены библиотеки для работы FAKE DLSS)
* добавлена возможность включения поддержки USE_FAKE_DLSS в меню EDIT_DB (Работает на ЛЮБОЙ видеокарте с поддержкой Vulkan)
###Scripts version 2126###
* обновлен "PROTON_GE" до версии 7-30 (версии dxvk и vkd3d используются из PROTON_STEAM_7.0-4)
* обновлен список платных подписчиков в разделе "Авторы и спасибы" которые поддерживают развитие проекта на https://boosty.to/linux-gaming.ru
###Scripts version 2125###
* HOTFIX - start.sh
###Scripts version 2124###
* обновлен "PROTON_GE" до версии 7-29
* обновлен "PROTON_STEAM" до версии 7.0-4
* обновлен плагин pp-games-lib
###Scripts version 2123###
* HOTFIX - скачивание PROTON GE при использовании режжима GALLIUM NINE
* добавлена русификация CREDITS (Авторы и спасибы) - спасибо chal55rus
* добавлена русификация плагина pp-games-lib - спасибо zorn
###Scripts version 2122###
* добавлен плагин pp-games-lib в новый каталог PortProton/data/plugins/ подробности на github (автор плагина: товарищ zorn) https://github.com/zorn-v/PortProton-games-library
* обновлены срипты установки и запуска League of Legends (обновлен WINE_LOL_GE_7.0-4 - отныне нет необходимости вводить пароль рут для запуска League of Legends)
* для работы GALLIUM_NINE по умолчанию используется PROTON_GE
* в режиме GALLIUM_NINE исправлена работа лаунчеров (таких как Epic Games)
* для Wargaming Game Center аргумент запуска "--disable-gpu" отключаестя автоматически при исползовании режима VULKAN.
* при использовании префикса DOTNET исправлено отображение черного экрана в некоторых приложениях
* добавлен выбор скачивания и автоматической установки версий WINE от Kron4ek
###Scripts version 2121###
* обновлен "PROTON_GE" до версии 7-26
* исправлено создание ярлыков для WGC (для атоматического исправления уже существующих ярлыков, просто запустите установщик WGC из PortProton)
* добавлено автоматическое включение MANGOHUD при использовании ограничения FPS
###Scripts version 2120###
* обновлен "PROTON_GE" до версии 7-21
* обновлен "libs_v32" (Steam Runtime Snipers)
* обновлена установка ORIGIN
###Scripts version 2119###
* исправлено и ускорено создание DOTNET префикса
* HOTFIX - для PW_USE_D3D_EXTRAS
* обновлена информация о проекте, разработчиках и платных подписчиков на boosty
* добавлена оптимизация игр и приложений при использовании сесcии Wayland (используется прямой запуск, не используя XWayland)
###Scripts version 2118###
* переменная PW_USE_D3D_EXTRAS снова включена по умолчанию (кроме WGC)
* обновлен "PROTON_STEAM" до версии 7.0-3
* добавлена информация о проекте, разработчиках и платных подписчиков на boosty (тестовый режим)
###Scripts version 2117###
* исправлена установка и запуск World of Sea Battle
* для AUTOINSTALL по умолчанию включена переменная PW_USE_D3D_EXTRAS (необходима для стабильной установки лончеров в тихом режиме)
###Scripts version 2116###
* HOTFIX - Epic Games Store
* HOTFIX - League of Legends
###Scripts version 2115###
* ускорен запуск PortProton в Rosa Linux
###Scripts version 2111 - 2114###
* исправление ошибок
###Scripts version 2110###
* обновлен "PROTON_GE" до версии 7-20
* исправлена работа игры World of Warplanes
* переменная PW_D3D_EXTRAS_DISABLE переименована в PW_USE_D3D_EXTRAS и выключена по умолчанию (в связи с развитием WINE сторонние библиотеки DirectX нужны в меньшем количестве игр)
###Scripts version 2109###
* обновлен "libs_v31" (HOTFIX для Rosa Linux)
* обновлен "PROTON_GE" до версии 7-19
* исправлена работа Overwatch
###Scripts version 2108###
* HOTFIX - для правильной работы в Rosa Linux
###Scripts version 2107###
* ускорен запуск контейнера
* оптимизация скрипта start.sh
* обновлен "libs_v30" (восстановлена работа vkBasalt на предыдущих версиях OS Linux)
* обновлен "PROTON_GE" до версии 7-18
###Scripts version 2106###
* обновлен libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5)
* для включения "AMD FidelityFX Super Resolution" в "EDIT_DB" добавлен переменная "WINE_FULLSCREEN_FSR"
* улучшено качество изображения при использовании FSR (Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана)
* улучшена производительность vkBasalt
* улучшение производительности в играх при использовании API VULKAN (DXVK и VKD3D)
###Scripts version 2105###
* обновлен "PROTON_STEAM" до версии 7.0-2
* обновлен "PROTON_GE" до версии 7-16
* обновлен "WINE_LOL_GE" до версии 7.0-2 + скрипы установки и запуска (ускорен запуск клиента игры)
* удален "Bethesda.net Launcher" из AUTOINSTALL (из за его переезда в STEAM)
* улучшены функции создания образа префикса и его распаковки
* улучшение локализации
###Scripts version 2104###
* HOTFIX - скачивание и обновление winetricks
* при создании лога убраны все d3dx* и d3dcomp* для удобства чтения
###Scripts version 2103###
* обновлен режим запуска контейнера
* временно переменная PW_USE_AMDVLK_DRIVER не работает
###Scripts version 2102###
* исправлена работа GALLIUM_NINE на интегрированных видеокатрах от Intel
* исправлено переключение AMDVLK - RADV
* увеличениние FPS в играх до 20% (для всех режимов запуска)
###Scripts version 2101###
* фикс работы WINETRICKS (новый prefix manager) при отсутствии winetricks.log
* обновлен "libs_v28" (обновление MANGOHUD до версии 0.6.6-1)
###Scripts version 2100###
* обновлен "libs_v27" (унификация каталогов библиотек под разные ОС Linux)
* MANGOHUD снова работает в режиме OPENGL
* добавлен лаунчер World of Sea Battle (ТЕСТ)
###Scripts version 2099###
* обновлен "PROTON_GE" до версии 7-14
* обновлен "libs_v26" (обновление контейнера Steam Runtime Sniper)
* обновлен "plugins_v5"
* добавлена проверка наличия библиотеки d3dadapter9 в системе (неоходимо для работы GALLIUM_NINE на большем кол-ве ОС Linux)
* ускорено создание нового префикса
* по умолчанию для wine используется тема light (после создания нового, или чистки текущего префикса)
* в EDIT_DB добавлена переменная PW_USE_SHADER_CACHE для управление кешированием шейдеров (отключать только при наличии микрофризов в игре)
* удален STEAM_PP из AUTOINSTALL (так как есть нативная версия STEAM для Linux со своим wine-proton)
###Scripts version 2098###
* из за возможных проблем с некоторыми играми по умолчанию MANGOHUD выключен (включается в EDIT_DB -> MANGOHUD, или глобально добавлением export PW_MANGOHUD=1 в user.conf)
###Scripts version 2097###
* ускорен запуск всех приложений в PortProton до 200% в зависимости от системы
* обновлены дополнительные библиотеки "plugins_v4" (добавлена поддержка GALLIUM_NINE)
* добавлен выбор режима "GALLIUM_NINE" (поддержка нитивного DirectX9 на видеокарте с MESA драйвером)
* в новый интерфейс для WINETRICKS добавлена вкладка settings
* в EDIT_DB добавлена переменная PW_USE_AMDVLK_DRIVER (использовать драйвер AMDVLK вместо RADV на видеокартах от AMD)
* добавлена архивация ярлыков при создании образа префикса
* добавлено востановление ярлыков после распаковки образа префикса (путь до .exe файла корректируется автоматически)
* улучшена работа виртуального рабочего стола
* explorer изменен на winefile (исправлено определение свободного дискового пространства)
* отключена загрузка mono и gecko для League of Legends (ускоряет первый запуск)
* для принудительного использования AMD видеокарты, вместо NVIDIA, можно добавить "export DRI_PRIME=1" в user.conf
###Scripts version 2096###
* добавлена проверка на переменную LANG для работы PortProton на STEAM-DECK
* добавлен новый интерфейс для WINETRICKS
* обновлен "libs_v25" (обновлен steam runtime sniper, добавлена поддержка "MANGOHUD" и "vkBasalt" для систем: "RED OS" и "OpenSUSE")
* в EDIT_DB добавлена переменная PW_FIX_VIDEO_IN_GAME (требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено, окрашено в розовый цвет)
###Scripts version 2095###
* обновлен "libs_v24" (hotfix)
###Scripts version 2094###
* откат "PROTON_GE" до версии 7-9
@ -308,7 +945,7 @@
###Scripts version 2022###
* добавлен фикc для работы EVE Online
* добавлен в GUI вывод версий WINE используемых по умолчанию
* в функцию "GET OTHER WINE" добавлена вкладка с версиями WINE от PortWINE-Linux.ru (тест)
* в функцию "GET OTHER WINE" добавлена вкладка с версиями WINE от linux-gaming.ru (тест)
* исправлено завершение тихого режима установки
###Scripts version 2021###
@ -349,7 +986,7 @@ PS: Cefeiko - отдельный респект за помощь в отлов
###Scripts version 2014###
* обновлен WINE PROTON_STEAM до версии 6.3-7 совместно с DXVK и VKD3D
* реализован запуск League Of Legends (необходимо запускать с версией wine: https://github.com/Castro-Fidel/wine_builds/releases/download/WINE_LOL_GE_6.16-2/WINE_LOL_GE_6.16-2.tar.xz )
* реализован запуск League Of Legends (необходимо запускать с версией wine: github.com/Castro-Fidel/wine_builds/releases/download/WINE_LOL_GE_6.16-2/WINE_LOL_GE_6.16-2.tar.xz )
###Scripts version 2013###
* добавлен автоматический перенос содержимого каталога ~/.PortWINE в ../PortProton/data/tmp
@ -361,7 +998,7 @@ PS: Cefeiko - отдельный респект за помощь в отлов
###PortProton-96### 16.09.2021 ###Scripts version 2012### --- TEST ---
* PortProton переведен в режим обновлений "rolling release":
- проверка и обновление скриптов в приоритете перед другими обновлениями
- создана ветка https://github.com/Castro-Fidel/wine_builds/releases
- создана ветка github.com/Castro-Fidel/wine_builds/releases
- реализован функционал позволяющий добавлять любую версию WINE/PROTON/GE/LUTRIS в каталог dist и эта версия автоматически появиться при выборе в графическом интерфейсе
- обновлен скрипт установки порта
* проверка версии PortProton перенесена с ftp на github
@ -478,7 +1115,7 @@ PS: не забывает для активации добавить перем
* добавлен пользовательский файл конфигурации (путь_до_PortProton/data/user.conf) который при наполнениии замещает настройки скрипта var и db файлов, но при обновлении скриптов остается неизменным, для сохранения ваших настроек.
* автоматическое изменение раскладки клавиатуры работает только при установке значении переменной export PW_XKBD_RU_HACK=1 (можно прописывать как в скрипт var, так и в user.conf)
* HOTFIX - определение месторасполажения установленных шейдеров для vkBasalt (для работы под Arch и Manjaro)
* проверка и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz
* проверка и обновления скриптов из github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz
###Scripts version 1113###
* обновлен dxvk до v1.9-51
@ -753,7 +1390,7 @@ PS: не забывает для активации добавить перем
* в AUTOINSTALL добавлены установки "Origin" и "Battle.net Launcher"
* увеличено время ожидания ответа при проверки связи с интернетом (ping -w5 -c1 github.com)
* увеличено количество попыток скачивания для неустойчивого интернет соединения (wget -c -t 10 -T 1)
* в GUI PortProton добавлена кнопка F.A.Q. для открытия справочной страницы portwine-linux.ru
* в GUI PortProton добавлена кнопка F.A.Q. для открытия справочной страницы linux-gaming.ru
###Scripts version 1046###
* обновлена верси VKD3D используемая по умолчанию до версии 2.3.1 (скрипт var, переменная export PW_DEF_VKD3D_VER=2.3.1)
@ -784,7 +1421,7 @@ PS: не забывает для активации добавить перем
###PortProton-75### 24.04.2021 ###Scripts version 1040###
* обновлен wine Proton experimental 6.3 от 23.04.2021
* добавлена функция pw_clear_pfx для отчистки префикса порта во время обновления без затрагивания игр и программ
* добавлена функция pw_clear_pfx для очистки префикса порта во время обновления без затрагивания игр и программ
* проверка и настройка переменных для MANGOHUD добавлены функцию pw_mangohud_check
* версия VKD3D по умолчанию = 2.3
* добавлена поддержка DXR (RTX) в режиме VKD3D, при условии использования переменной PW_USE_DXR10=1
@ -800,7 +1437,7 @@ PS: не забывает для активации добавить перем
* ускорена работа reset скрипта останавливающая все процессы порта
* исправлены ошибки связанные с остановкой отсутствующих pid-оф yad и процессов wine.
* удалено использование wineserver -k в функции kill_portwine (влияло на инициализацию префикса)
* добавлена отчистка ~/.PortWINE, при условии установки новой версии порта
* добавлена очистка ~/.PortWINE, при условии установки новой версии порта
* добавлена вся информация из db файла и winetricks.log в debug
* удален каталог vars (из за db файлоа больше в нем нет необходимости)
* скрипт PortProton_vars перенесен в каталог scripts и переименован в var
@ -836,7 +1473,7 @@ PS: не забывает для активации добавить перем
* убран xterm из debug (иначе ломает шрифты)
* добавлена кнопка редактирования найденного db файла
* ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force
* изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")"
* изменение сравнения версий скриптов и портов "$(curl -s --list-only "linux-gaming.ru/ftp/current_version/blabla_ver")"
* автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 mfc42"
* исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла
* исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs
@ -848,7 +1485,7 @@ PS: не забывает для активации добавить перем
* добавлен прогресс загрузки библиотек с интернета
* добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла
* исправлено дублирование db файлов при создании ярлыков
* перенос libs с сервера PortWINE-Linux.ru на https://github.com/Castro-Fidel/PortWINE/releases/
* перенос libs с сервера linux-gaming.ru на github.com/Castro-Fidel/PortWINE/releases/
* скачивание mono оф. github mono
* скачивание gecko оф. ftp winehq
* в /data/scripts/vars/PortProton_vars добавлена переменная PW_MANGOHUD=1 что включает HUD для монитроринга FPS, нагрузку на CPU, GPU и т.п (при условии что в системе предустановлен пакет mangohud)
@ -892,6 +1529,3 @@ PS: не забывает для активации добавить перем
* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению) 
* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась)
###ЗАМЕТКИ###
* проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
* проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'

View File

@ -1,4 +1,4 @@
# Create the VkSurface on the first call to IDXGISwapChain::Present,
# Create the VkSurface on the first call to IDXGISwapChain::Present,
# rather than when creating the swap chain. Some games that start
# rendering with a different graphics API may require this option,
# or otherwise the window may stay black.
@ -15,8 +15,17 @@
#
# Supported values : 0 - 16
# dxgi.maxFrameLatency = 0
# d3d9.maxFrameLatency = 0
# dxgi.maxFrameLatency = 1
# d3d9.maxFrameLatency = 1
# Enables frame rate limiter. The main purpose of this is to work around
# bugs in games that have physics or other simulation tied to their frame
# rate, but do not provide their own limiter.
#
# Supported values : Any non-negative integer
# dxgi.maxFrameRate = 0
# d3d9.maxFrameRate = 0
# Override PCI vendor and device IDs reported to the application. Can
@ -24,19 +33,21 @@
#
# Supported values: Any four-digit hex number.
# dxgi.customDeviceId = 0000
# dxgi.customVendorId = 0000
dxgi.customDeviceId = 222F
dxgi.customVendorId = 10de
# d3d9.customDeviceId = 0000
# d3d9.customVendorId = 0000
# d3d9.customDeviceId = 222F
# d3d9.customVendorId = 10de
# Report Nvidia GPUs as AMD GPUs by default. This is enabled by default
# to work around issues with NVAPI, but may cause issues in some games.
# Override the reported device description
#
# Supported values: True, False
# Supported values: Any string.
# dxgi.customDeviceDesc = ""
# d3d9.customDeviceDesc = ""
# dxgi.nvapiHack = False
# Override maximum amount of device memory and shared system memory
# reported to the application. This may fix texture streaming issues
@ -48,6 +59,15 @@
# dxgi.maxSharedMemory = 0
# Some games think we are on Intel given a lack of NVAPI or
# AGS/atiadlxx support. Report our device memory as shared memory,
# and some small amount for a "carveout".
# Supported values: True, False
# dxgi.emulateUMA = False
# Override back buffer count for the Vulkan swap chain.
# Setting this to 0 or less will have no effect.
#
@ -85,15 +105,6 @@
# d3d9.tearFree = Auto
# Performs range check on dynamically indexed constant buffers in shaders.
# This may be needed to work around a certain type of game bug, but may
# also introduce incorrect behaviour.
#
# Supported values: True, False
# d3d11.constantBufferRangeCheck = False
# Assume single-use mode for command lists created on deferred contexts.
# This may need to be disabled for some applications to avoid rendering
# issues, which may come at a significant performance cost.
@ -107,9 +118,9 @@
# with. Setting this to a higher value may allow some applications to run
# that would otherwise fail to create a D3D11 device.
#
# Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1
# Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1, 12_0, 12_1
# d3d11.maxFeatureLevel = 11_1
# d3d11.maxFeatureLevel = 12_1
# Overrides the maximum allowed tessellation factor. This can be used to
@ -117,7 +128,7 @@
#
# Supported values: Any number between 8 and 64
# d3d11.maxTessFactor = 0
# d3d11.maxTessFactor = 16
# Enables relaxed pipeline barriers around UAV writes.
@ -130,6 +141,16 @@
# d3d11.relaxedBarriers = False
# Ignores barriers around UAV writes from fragment shaders.
#
# This may improve performance in some games, but may also introduce
# rendering issues. Please don't report bugs with the option enabled.
#
# Supported values: True, False
# d3d11.ignoreGraphicsBarriers = False
# Overrides anisotropic filtering for all samplers. Set this to a positive
# value to enable AF for all samplers in the game, or to 0 in order to
# disable AF entirely. Negative values will have no effect.
@ -140,21 +161,31 @@
# d3d9.samplerAnisotropy = -1
# Changes the mipmap LOD bias for all samplers. The given number will be
# added to the LOD bias provided by the application, rather than replacing
# it entirely. Positive values will reduce texture detail, while negative
# values may increase sharpness at the cost of shimmer.
#
# Supported values: Any number between -2.0 and 1.0
# d3d11.samplerLodBias = -0.3
# Declares vertex positions as invariant in order to solve
# potential Z-fighting issues at a small performance cost.
#
# Supported values: True, False
# d3d11.invariantPosition = True
# d3d9.invariantPosition = False
# d3d9.invariantPosition = True
# Replaces NaN outputs from fragment shaders with zeroes for floating
# point render target. Used in some games to prevent artifacting.
# Forces the sample count of all textures to 1, and performs
# the needed fixups in resolve operations and shaders.
#
# Supported values: True, False
# d3d11.enableRtOutputNanFixup = False
# d3d11.disableMsaa = False
# Clears workgroup memory in compute shaders to zero. Some games don't do
@ -165,10 +196,53 @@
# d3d11.zeroWorkgroupMemory = False
# Resource size limit for implicit discards, in kilobytes. For small staging
# resources mapped with MAP_WRITE, DXVK will sometimes allocate new backing
# storage in order to avoid GPU synchronization, so setting this too high
# may cause memory issues, setting it to -1 disables the feature.
# d3d11.maxImplicitDiscardSize = 256
# Resource size limit for buffer-mapped dynamic images, in kilobytes.
# A higher threshold may reduce memory usage and PCI-E bandwidth in
# some games, but may also increase GPU synchronizations. Setting it
# to -1 disables the feature.
# d3d11.maxDynamicImageBufferSize = -1
# Allocates dynamic resources with the given set of bind flags in
# cached system memory rather than uncached memory or host-visible
# VRAM, in order to allow fast readback from the CPU. This is only
# useful for buggy applications, and may reduce GPU-bound performance.
#
# Supported values: Any combination of the following:
# - v: Vertex buffers
# - i: Index buffers
# - c: Constant buffers
# - r: Shader resources
# - a: All dynamic resources
# d3d11.cachedDynamicResources = ""
# Force-enables the D3D11 context lock via the ID3D10Multithread
# interface. This may be useful to debug race conditions.
#
# Supported values: True, False
# d3d11.enableContextLock = False
# Sets number of pipeline compiler threads.
#
# If the graphics pipeline library feature is enabled, the given
# number of threads will be used for shader compilation. Some of
# these threads will be reserved for high-priority work.
#
# Supported values:
# - 0 to automatically determine the number of threads to use
# - 0 to use all available CPU cores
# - any positive number to enforce the thread count
# dxvk.numCompilerThreads = 0
@ -189,33 +263,32 @@
# dxvk.useRawSsbo = Auto
# Toggles early discard.
# Controls graphics pipeline library behaviour
#
# Uses subgroup operations to determine whether it is safe to
# discard fragments before the end of a fragment shader. This
# is enabled by default on all drivers except RADV and Nvidia.
# Enabling this may improve or degrade performance depending
# on the game and hardware, or cause other issues.
# Can be used to change VK_EXT_graphics_pipeline_library usage for
# debugging purpose. Doing so will likely result in increased stutter
# or degraded performance.
#
# Supported values:
# - Auto: Don't change the default
# - True, False: Always enable / disable
# - Auto: Enable if supported, and compile optimized pipelines in the background
# - True: Enable if supported, but do not compile optimized pipelines
# - False: Always disable the feature
# dxvk.useEarlyDiscard = Auto
# dxvk.enableGraphicsPipelineLibrary = Auto
# Controls workaround for NVIDIA HVV Heap bug.
# Controls pipeline lifetime tracking
#
# Limits the budget of NVIDIA's HVV (host-visible,
# device-local) heap to be half of the reported size. This is
# needed to avoid NVIDIA driver bug 3114283, and defaults to
# being enabled on all affected drivers.
# If enabled, pipeline libraries will be freed aggressively in order
# save memory and address space. Has no effect if graphics pipeline
# libraries are not supported or disabled.
#
# Supported values:
# - Auto: Don't change the default
# - True, False: Always enable / disable
# - Auto: Enable tracking for 32-bit applications only
# - True: Always enable tracking
# - False: Always disable tracking
# dxvk.halveNvidiaHVVHeap = Auto
# dxvk.trackPipelineLifetime = Auto
# Sets enabled HUD elements
@ -240,17 +313,6 @@
# d3d9.shaderModel = 3
# Evict Managed on Unlock
#
# Decides whether we should evict managed resources from
# system memory when they are unlocked entirely.
#
# Supported values:
# - True, False: Always enable / disable
# d3d9.evictManagedOnUnlock = False
# DPI Awareness
#
# Decides whether we should call SetProcessDPIAware on device
@ -306,18 +368,21 @@
# - Max Available Memory: Any int32_t
# - Memory Tracking Testing: True, False
# d3d9.maxAvailableMemory = 1024
# d3d9.maxAvailableMemory = 4096
# d3d9.memoryTrackTest = False
# Force enable/disable floating point quirk emulation
#
#
# Force toggle anything * 0 emulation
# Tristate
# Setting it to True will use a faster but less accurate approach that works for most games.
# Supported values:
# - True/False
# - True: Use a faster but less accurate approach. Good enough for most games
# - False: Disable float emulation completely
# - Strict: Use a slower but more correct approach. Necessary for some games
# - Auto: DXVK will pick automatically
# d3d9.floatEmulation =
# d3d9.floatEmulation = Auto
# Enable dialog box mode
@ -331,7 +396,7 @@
# d3d9.enableDialogMode = False
# Overrides the application's MSAA level on the swapchain
#
#
# Supported values: -1 (application) and 0 to 16 (user override)
# d3d9.forceSwapchainMSAA = -1
@ -348,16 +413,6 @@
# d3d9.longMad = False
# Alpha Test Wiggle Room
#
# Workaround for games using alpha test == 1.0, etc due to wonky interpolation or
# misc. imprecision on some vendors
#
# Supported values:
# - True/False
# d3d9.alphaTestWiggleRoom = False
# Device Local Constant Buffers
#
# Enables using device local, host accessible memory for constant buffers in D3D9.
@ -369,16 +424,6 @@
# d3d9.deviceLocalConstantBuffers = False
# Allow Read Only
#
# Enables using the D3DLOCK_READONLY flag. Some apps use this
# incorrectly, and write when they should be reading.
#
# Supported values:
# - True/False
# d3d9.allowLockFlagReadonly = True
# No Explicit Front Buffer
#
# Disables the front buffer
@ -397,6 +442,15 @@
# d3d9.supportDFFormats = True
# Use D32f for D24
#
# Useful for reproducing AMD issues on other hw.
#
# Supported values:
# - True/False
# d3d9.useD32forD24 = False
# Support X4R4G4B4
#
# Support the X4R4G4B4 format.
@ -416,17 +470,6 @@
# d3d9.supportD32 = True
# SWVP Constant Counts
#
# The number of constants available when using Software Vertex Processing.
#
# Supported values:
# - Integers
# d3d9.swvpFloatCount = 8192
# d3d9.swvpIntCount = 2048
# d3d9.swvpBoolCount = 2048
# Disable A8 as a Render Target
#
# Disable support for A8 format render targets
@ -437,17 +480,6 @@
# d3d9.disableA8RT = False
# Support for VCache Query
#
# Support for the vcache query
# Not very important as a user config.
# Used internally.
#
# Supported values:
# - True/False
# Defaults to True if vendorId == 0x10de
# d3d9.supportVCache = True
# Force Sampler Type Spec Constants
#
@ -470,16 +502,6 @@
# d3d9.forceAspectRatio = ""
# Allow Do Not Wait
#
# Allow the do not wait lock flag to be used
# Useful if some apps use this incorrectly.
#
# Supported values:
# - True/False
# d3d9.allowDoNotWait = True
# Allow Discard
#
# Allow the discard lock flag to be used
@ -511,4 +533,13 @@
# - True/False
# d3d9.apitraceMode = False
# d3d11.apitraceMode = False
# Seamless Cubes
#
# Don't use non seamless cube maps even if they are supported.
# Non seamless cubes are correct d3d9 behavior, but can produce worse looking edges.
#
# Supported values:
# - True/False
# d3d9.seamlessCubes = False

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

0
data_from_portwine/img/gui/cemu.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

0
data_from_portwine/img/gui/citra.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

0
data_from_portwine/img/gui/covers/lol_cover.jpg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

0
data_from_portwine/img/gui/covers/pw_loading_cover.gif Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 3.5 MiB

View File

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

0
data_from_portwine/img/gui/dolphin.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 729 B

After

Width:  |  Height:  |  Size: 729 B

0
data_from_portwine/img/gui/duckstation.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

0
data_from_portwine/img/gui/epsxe.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

0
data_from_portwine/img/gui/mame.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 953 B

After

Width:  |  Height:  |  Size: 953 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

0
data_from_portwine/img/gui/port_proton.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

0
data_from_portwine/img/gui/port_winefile.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

0
data_from_portwine/img/gui/ppsspp.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

0
data_from_portwine/img/gui/project64.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

0
data_from_portwine/img/gui/retroarch.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 787 B

After

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

0
data_from_portwine/img/gui/scummvm.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

0
data_from_portwine/img/gui/vba-m.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

0
data_from_portwine/img/gui/yabause.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

0
data_from_portwine/img/setup.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
data_from_portwine/img/w.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 409 KiB

View File

@ -0,0 +1,484 @@
#!/usr/bin/env python3
import os
import re
import shlex
import shutil
import logging
from configparser import RawConfigParser
from pathlib import Path
from subprocess import run
from types import SimpleNamespace
try:
from PyQt6.QtCore import * # type: ignore
from PyQt6.QtGui import * # type: ignore
from PyQt6.QtWidgets import * # type: ignore
except ModuleNotFoundError:
from PyQt5.QtCore import * # type: ignore
from PyQt5.QtGui import * # type: ignore
from PyQt5.QtWidgets import * # type: ignore
settings = QSettings('PPGL', 'PortProtonGamesLib')
g = SimpleNamespace(locale = '')
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.resize(QSize(800, 600))
geometry = settings.value('geometry_main')
if geometry:
self.restoreGeometry(geometry)
shortcut = RawConfigParser()
shortcut.read(os.getenv('HOME') + '/.local/share/applications/PortProton.desktop')
scripts_dir = shortcut.get('Desktop Entry', 'Path', fallback=os.getenv('HOME') + '/.local/share/PortWINE/PortProton/data/scripts')
if not scripts_dir or not Path(scripts_dir).is_dir():
QMessageBox.critical(self, 'Error', 'Can not find installed PortProton')
exit(1)
g.scripts_dir = scripts_dir.rstrip('/')
g.pp_icon = shortcut.get('Desktop Entry', 'Icon', fallback='/usr/share/pixmaps/portproton.png')
pp_icon = QIcon(g.pp_icon)
self.setWindowIcon(pp_icon)
self.setWindowTitle('PortProton games library')
g.base_dir = str(Path(scripts_dir + '/../..').resolve())
g.install_pfx = g.base_dir + '/data/prefixes/INSTALL'
g.shortcuts_dir = g.base_dir + '/shortcuts'
g.games_dir = g.base_dir + '/games'
loc_path = Path(g.base_dir + '/data/tmp/PortProton_loc')
if loc_path.exists():
g.locale = loc_path.read_text().strip()
Path(g.shortcuts_dir).mkdir(parents=True, exist_ok=True)
Path(g.games_dir).mkdir(parents=True, exist_ok=True)
sep = QFrame(self)
sep.setFrameShape(QFrame.Shape.VLine)
sep.setFrameShadow(QFrame.Shadow.Sunken)
self._status_size = QLabel(self)
self._status_dir = QLabel(self)
self._status_wine = QLabel(self)
self.statusBar().setVisible(False)
self.statusBar().addWidget(self._status_dir, 1)
self.statusBar().addWidget(self._status_wine)
self.statusBar().addWidget(sep)
self.statusBar().addWidget(self._status_size)
self.game_list = GameList(self)
self.setCentralWidget(self.game_list)
self.toolbar = self.addToolBar('Main')
self.toolbar.setIconSize(QSize(32, 32))
self.toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon)
self.toolbar.setMovable(False)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogNewFolder), _tr('Install new game'), self)
action.triggered.connect(self.install_game)
self.toolbar.addAction(action)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileLinkIcon), _tr('Add game entry'), self)
action.triggered.connect(self.add_game)
self.toolbar.addAction(action)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload), _tr('Reload list'), self)
action.triggered.connect(self.reload_list)
self.toolbar.addAction(action)
action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Drop install prefix'), self)
action.triggered.connect(self.drop_prefix)
self.toolbar.addAction(action)
spacer = QWidget(self)
spacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred)
self.toolbar.addWidget(spacer)
action = QAction(pp_icon, 'PortProton', self)
action.triggered.connect(self.run_pp)
self.toolbar.addAction(action)
def install_game(self):
InstallGame(self)
def add_game(self):
InstallGame(self, False)
def reload_list(self):
self.game_list.reload()
def drop_prefix(self):
res = QMessageBox.question(self, _tr('Are you sure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx))
if res == QMessageBox.StandardButton.Yes:
shutil.rmtree(g.install_pfx, True)
def run_pp(self):
self.setDisabled(True)
app.processEvents()
run([g.scripts_dir + '/start.sh'])
self.setDisabled(False)
def set_status(self, item):
self.statusBar().setVisible(bool(item))
if item:
self._status_size.setText('Size: ' + item.dir_size_human)
self._status_dir.setText(' ' + item.game_dir)
self._status_wine.setText(item.wine_use)
def closeEvent(self, event):
geometry = self.saveGeometry()
settings.setValue('geometry_main', geometry)
super().closeEvent(event)
class LoadListThread(QThread):
completed = pyqtSignal(list)
def __init__(self, parent, install_dir):
super().__init__(parent)
self.install_dir = install_dir
def run(self):
exe_list = list(Path(self.install_dir).glob('**/*.exe'))
self.completed.emit(exe_list)
class InstallGame(QDialog):
def __init__(self, parent, installing=True):
super().__init__(parent)
self._installing = installing
self.install_dir = g.install_pfx + '/drive_c/Games' if installing else g.games_dir
self._exe_list_widget = QListWidget(self)
self._exe_list_widget.setIconSize(QSize(16, 16))
self._exe_list_widget.itemDoubleClicked.connect(self._handleDoubleClick)
layout = QVBoxLayout()
layout.addWidget(self._exe_list_widget)
self._pbar = QProgressBar(self)
self._pbar.setMaximum(0)
layout.addWidget(self._pbar)
thread = LoadListThread(self, self.install_dir)
thread.completed.connect(self.load)
thread.start()
if self._installing:
setup_btn = QPushButton(self)
setup_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogStart))
setup_btn.setText(_tr('Run another setup'))
setup_btn.clicked.connect(self._runSetup)
layout.addWidget(setup_btn)
self.setLayout(layout)
self.resize(400, 300)
self.setModal(True)
self.setWindowTitle(_tr('Select game exe file'))
geometry = settings.value('geometry_install')
if geometry:
self.restoreGeometry(geometry)
self.show()
def load(self, exe_list):
if self._installing and len(exe_list) == 0:
self._runSetup()
exe_list = list(Path(self.install_dir).glob('**/*.exe'))
if len(exe_list) == 0:
return self.close()
def render_list():
pixmap = QPixmap(16, 16)
pixmap.fill(Qt.GlobalColor.transparent)
empty_icon = QIcon(pixmap)
for exe in sorted(exe_list):
ico_file = str(exe) + '.ico'
item = QListWidgetItem(self._exe_list_widget)
item.setText(str(exe)[len(self.install_dir)+1:])
try:
if not Path(ico_file).exists():
run(['wrestool', '-x', '-t14', '-o', ico_file, exe], capture_output=True)
item.setIcon(QIcon(ico_file))
except Exception:
pass
if item.icon().pixmap(16, 16).isNull():
item.setIcon(empty_icon)
self._exe_list_widget.addItem(item)
self._pbar.setVisible(False)
thread = QThread(self)
thread.run = render_list
thread.start()
def _runSetup(self):
downloads_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation)
exe_file, _ = QFileDialog.getOpenFileName(self, caption=_tr('Choose setup file'), filter='Exe files (*.exe)', directory=downloads_dir)
if not exe_file:
return
ppdb = shlex.quote(exe_file + '.ppdb')
script = f"""
mkdir -p {shlex.quote(g.install_pfx + '/drive_c/Games')}
echo '
export PW_VULKAN_USE=1
export PW_GUI_DISABLED_CS=1
export PW_PREFIX_NAME=INSTALL
export PW_DLL_INSTALL=mfc42
' > {ppdb}
{shlex.quote(g.scripts_dir + '/start.sh')} {shlex.quote(exe_file)}
rm -f {ppdb}
"""
self.setDisabled(True)
app.processEvents()
run(['bash', '-c', script])
self.setDisabled(False)
def _handleDoubleClick(self, item):
game_dir = item.text().split('/')[0]
dlg = QInputDialog(self)
dlg.setWindowTitle(_tr('Please enter game entry name'))
dlg.setLabelText(_tr('New game entry'))
dlg.setTextValue(game_dir)
dlg.resize(300, 0)
ok = dlg.exec()
shortcut_name = dlg.textValue()
if not ok or not shortcut_name:
return
file_name = re.sub(r'[<>:/\\|?*]', '_', shortcut_name)
shortcut = f"{g.shortcuts_dir}/{file_name}.desktop"
if Path(shortcut).exists():
res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', file_name))
if res != QMessageBox.StandardButton.Yes:
return
src_dir = self.install_dir + '/' + game_dir
dst_dir = g.games_dir + '/' + game_dir
exe_file = shlex.quote(g.games_dir + '/' + item.text())
ppdb = shlex.quote(g.games_dir + '/' + item.text() + '.ppdb')
self.setDisabled(True)
if self._installing and Path(dst_dir).exists():
res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir))
if res != QMessageBox.StandardButton.Yes:
return
if self._installing:
os.rename(src_dir, dst_dir)
script = f"""
export INSTALLING_PORT=1
export portwine_exe={exe_file}
cd {shlex.quote(g.scripts_dir)}
. {shlex.quote(g.scripts_dir + '/runlib')}
pw_init_db
[ -f {ppdb} ] && . {ppdb}
echo -e "export PW_VULKAN_USE=${{PW_VULKAN_USE:-1}}\nexport PW_GUI_DISABLED_CS=1" >> {ppdb}
"""
run(['bash', '-c', script])
icon_path = g.games_dir + '/' + item.text() + '.ico'
if not Path(icon_path).exists():
icon_path = g.pp_icon
Path(shortcut).write_text(f"""[Desktop Entry]
Name={shortcut_name}
Exec=env {shlex.quote(g.scripts_dir + '/start.sh')} {exe_file}
Type=Application
Categories=Game
StartupNotify=true
Path={shlex.quote(g.scripts_dir)}
Icon={icon_path}
""", encoding='utf-8')
os.chmod(shortcut, 0o755)
win.reload_list()
self.close()
def closeEvent(self, event):
geometry = self.saveGeometry()
settings.setValue('geometry_install', geometry)
super().closeEvent(event)
class GameList(QListWidget):
def __init__(self, parent):
super().__init__(parent)
self.itemActivated.connect(self.runGame)
self.currentItemChanged.connect(self.selectItem)
self.setViewMode(QListWidget.ViewMode.IconMode)
self.setResizeMode(QListWidget.ResizeMode.Adjust)
self.setIconSize(QSize(64, 64))
self.setWordWrap(True)
self.setSpacing(3)
self.reload()
def reload(self):
self.clear()
shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop'))
shortcuts += list(Path(g.base_dir).glob('*.desktop'))
for shortcut in shortcuts:
try:
item = GameItem(self, shortcut)
self.addItem(item)
except ValueError:
pass
except:
logging.exception('Error while parse "%s"', shortcut)
self.sortItems()
self.setCurrentIndex(QModelIndex())
def runGame(self, item):
win.setDisabled(True)
app.processEvents()
run(['bash', '-c', item.get('Exec')])
win.setDisabled(False)
def selectItem(self, item):
win.set_status(item)
def contextMenuEvent(self, event):
selected = self.selectedItems()
if len(selected) == 0:
return
selected = selected[0]
menu = QMenu(self)
desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop'))
restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI'))
default_wine = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogOkButton), _tr('Set default wine'))
remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry'))
uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game'))
if not selected.pp_gui_disabled:
restore_gui.setVisible(False)
if not selected.wine_use:
default_wine.setVisible(False)
if not selected.game_dir.startswith(g.games_dir):
uninstall.setVisible(False)
action = menu.exec(self.mapToGlobal(event.pos()))
desktop_shortcut = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DesktopLocation) + '/' + Path(selected.desktop_file).name
if action == desktop:
if Path(desktop_shortcut).exists():
res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', desktop_shortcut))
if res != QMessageBox.StandardButton.Yes:
return
shutil.copy(selected.desktop_file, desktop_shortcut)
if action == restore_gui or action == default_wine:
ignore_line = 'PW_GUI_DISABLED_CS' if action == restore_gui else 'PW_WINE_USE'
ppdb = shlex.split(selected.get('Exec'))[-1] + '.ppdb'
if not Path(ppdb).exists():
return
with open(ppdb, 'r') as read:
with open(ppdb + '.new', 'w') as write:
while (line := read.readline()):
if ignore_line not in line:
write.write(line)
os.rename(ppdb + '.new', ppdb)
if action == restore_gui:
selected.pp_gui_disabled = False
if action == default_wine:
selected.wine_use = None
self.selectItem(selected)
def remove_shortcut():
Path(desktop_shortcut).unlink(True)
Path(selected.desktop_file).unlink(True)
def_icon_path = g.base_dir + '/data/img/' + Path(shlex.split(selected.get('Exec'))[-1]).stem + '.png'
Path(def_icon_path).unlink(True)
if action == remove:
remove_shortcut()
self.reload()
if action == uninstall:
res = QMessageBox.question(self,
_tr('Are you sure ?'),
_tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir)
)
if res != QMessageBox.StandardButton.Yes:
return
remove_shortcut()
if selected.game_dir.startswith(g.games_dir):
shutil.rmtree(selected.game_dir, True)
self.reload()
def human_size(num):
if not num:
return "-"
for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]:
if abs(num) < 1024.0:
return f"{num:.2f} {unit}B"
num /= 1024.0
return f"{num:.2f} YiB"
class GameItem(QListWidgetItem):
def __init__(self, parent, desktop_file):
self.desktop_file = desktop_file
self.config = RawConfigParser()
self.config.read(desktop_file)
text = self.get('Name', Path(desktop_file).stem)
if not self.get('Exec') or text == 'PortProton':
raise ValueError('Validation fail')
exe_file = shlex.split(self.get('Exec'))[-1]
if exe_file.startswith(g.games_dir):
self.game_dir = g.games_dir + '/' + exe_file[len(g.games_dir)+1:].split('/')[0]
else:
self.game_dir = str(Path(exe_file).parent)
if self.game_dir == '.':
raise ValueError('Can not determine game dir')
self.pp_gui_disabled = False
self.wine_use = None
ppdb = exe_file + '.ppdb'
if Path(ppdb).exists():
ppdb_conf = RawConfigParser(strict=False)
with open(ppdb) as f:
ppdb_conf.read_string('[dummy]\n' + f.read())
pp_gui_disabled = ppdb_conf.get('dummy', 'export PW_GUI_DISABLED_CS', fallback='').strip('"')
try: self.pp_gui_disabled = bool(int(pp_gui_disabled))
except: self.pp_gui_disabled = bool(pp_gui_disabled)
self.wine_use = ppdb_conf.get('dummy', 'export PW_WINE_USE', fallback='').strip('"')
super().__init__(parent)
self.setToolTip(text)
self.setText(text)
icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pp_icon
qicon = QIcon(icon_path)
self.setIcon(qicon)
self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop)
self.setSizeHint(QSize(100, 105))
self._set_dir_size(None)
dir_size_cache = self.game_dir + '/.size'
if Path(dir_size_cache).exists():
self._set_dir_size(int(Path(dir_size_cache).read_text()))
else:
def calc_dir_size():
if not Path(self.game_dir).exists():
return
dir_size = sum(p.stat(follow_symlinks=False).st_size for p in Path(self.game_dir).rglob('*'))
self._set_dir_size(dir_size)
Path(dir_size_cache).write_text(str(dir_size))
thread = QThread(parent)
thread.run = calc_dir_size
thread.start()
def get(self, name, fallback=None):
return self.config.get('Desktop Entry', name, fallback=fallback)
def _set_dir_size(self, size):
self.dir_size = size
self.dir_size_human = human_size(size)
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
lang = {
'RUS': {
'Install new game': 'Установить игру',
'Add game entry': 'Добавить в список',
'Reload list': 'Обновить список',
'Drop install prefix': 'Удалить установочный префикс',
'Are you sure ?': 'Вы уверены ?',
'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?',
'Run another setup': 'Запустить установку',
'Select game exe file': 'Выберите exe файл игры',
'Choose setup file': 'Выберите установочный файл',
'Please enter game entry name': 'Введите название игры',
'New game entry': 'Название игры',
'Shortcut already exists': 'Ярлык уже существует',
'Shortcut <b>{0}</b> already exists. Overwrite ?': 'Ярлык <b>{0}</b> уже существует. Перезаписать ?',
'Dir already exists': 'Директория уже существует',
'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?',
'Add to desktop': 'Добавить на рабочий стол',
'Restore PortProton GUI': 'Восстановить PortProton GUI',
'Set default wine': 'Выбрать дефолтный wine',
'Remove game entry': 'Убрать из списка',
'Uninstall game': 'Удалить игру',
'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?'
}
}
def _tr(text, *fmt):
res = lang.get(g.locale, {}).get(text, text)
if fmt:
res = res.format(*fmt)
return res
app = QApplication([])
app.setDesktopFileName('PortProton')
win = MainWindow()
win.show()
app.exec()

View File

@ -0,0 +1,684 @@
#!/usr/bin/env bash
# Author: chal55rus, Castro-Fidel (linux-gaming.ru)
########################################################################
if [ "${update_loc}" = "RUS" ]
then
KEY_CREDITS=$RANDOM
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \
--text-align=center --scroll --text="PortProton v. ${install_ver}
scripts v. ${scripts_install_ver}
https://linux-gaming.ru
Авторские права © 2022 Castro-Fidel (linux-gaming.ru)
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
--text-align=center --scroll --text="Автор: Casro-Fidel (Михаил Тергоев)
Помощники разработчика и тестировщики:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
Survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
Vano Majukin
Сергей 33(46)RUS
WelchDragon
Vuursteen
" &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< " Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (linux-gaming.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
права использовать, копировать, изменять, объединять, публиковать, распространять,
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
следующих условий:
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \
<<< ' Проект поддержали:
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
Александр Лобанов
Андрей Карпенцов
Иван Белекеев
Михаил Полозов
николай гинтов
Список будет дополняться...' &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \
--title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \
--text-info --scroll <<< \
"Website: https://linux-gaming.ru/
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/linuxgamingru
-------------------------------------------
Стать платным подписчиком:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошелек: 410012267513818
-------------------------------------------
Задонатить на стрим:
https://www.donationalerts.com/r/portwine_linux" &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
--fontname="Serif bold italic 10" --text-info <<< " Сторонние библиотеки, которые используются в PortProton
PortProton собран на основе бесплатных библиотек программного обеспечения:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity" &
"${pw_yad_new}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--center --notebook --no-buttons --tab-pos=bottom \
--tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \
--tab="БИБЛИОТЕКИ"
echo "Exit from credits"
/usr/bin/env bash -c ${pw_full_command_line[*]}
else
KEY_CREDITS=$RANDOM
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
--image-path="$PW_GUI_ICON_PATH" --image="port_proton" \
--text-align=center --scroll --text="PortProton v. ${install_ver}
scripts v. ${scripts_install_ver}
https://linux-gaming.ru
Copyright © 2022 Castro-Fidel (linux-gaming.ru)
This program comes with absolutely no warranty.
See the License for details." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
--text-align=center --scroll --text="Author: Casro-Fidel (Mikhail Tergoev)
Developer assistants and testers:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
" &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License
Copyright (©) 2022 Castro-Fidel (linux-gaming.ru)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE." &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \
<<< ' The project was supported:
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
Александр Лобанов
Андрей Карпенцов
Иван Белекеев
Михаил Полозов
николай гинтов
The list will be updated...' &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Do you want to join and help in the development of the project:" \
--title=JOIN --window-icon=group --image=system-config-users --uri-color=red --show-uri \
--text-info --scroll <<< \
"Website: http://linux-gaming.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
-------------------------------------------
Become a paid subscriber:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
WebMoney wallets: WMZ-Z135951244401 WME-E325631629973
Yandex wallet: 410012267513818
-------------------------------------------
Donat on stream:
https://www.donationalerts.com/r/portwine_linux" &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
--fontname="Serif bold italic 10" --text-info <<< " Third-party libraries that are used in PortProton
PortProton is built on the basis of the following free software libraries:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity" &
"${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--center --notebook --no-buttons --tab-pos=bottom \
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \
--tab="THIRD PARTY LIBRARIES"
echo "Exit from credits"
/usr/bin/env bash -c ${pw_full_command_line[*]}
fi

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Author: Castro-Fidel (PortWINE-Linux.ru)
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
pw_ping_test () {
ping -w3 -c1 github.com &> /dev/null
@ -16,7 +16,6 @@ print_info () {
}
export -f print_info
print_var () {
for vp in $@ ; do echo "${vp}=${!vp}" ; done
}
@ -63,7 +62,7 @@ try_remove_dir () {
export -f try_remove_dir
try_force_link_file () {
if [ ! -f "$1" ] ; then print_info "file $1 not found for link"
if [ ! -f "$1" ] ; then :
elif [ -z "$2" ] ; then print_error "no way to link file $1"
else
ln -sf "$1" "$2"
@ -104,19 +103,28 @@ check_process () {
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 3 \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
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 | \
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
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 $1. Skipping."
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"
return 1
else
return 0
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \
--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
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
try_remove_file "$2"
return 1
fi
fi
try_remove_file "${PORT_WINE_TMP_PATH}/download_log"
return 0
}
try_download_to_path () {
@ -126,7 +134,7 @@ try_download_to_path () {
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
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "failed to download $1. Skipping."
print_error "Failed to download $1."
return 1
else
return 0
@ -137,7 +145,7 @@ try_download_silent () {
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "failed to download $1. Skipping."
print_error "Failed to download $1. Skipping."
try_remove_file "$2"
return 1
else
@ -168,63 +176,52 @@ var_vkd3d_config_update () {
return 0
}
var_radv_perftest_config_update () {
if [ ! -z "${RADV_PERFTEST}" ]
then export RADV_PERFTEST="${1};${RADV_PERFTEST}"
else export RADV_PERFTEST="${1}"
fi
return 0
}
var_vk_istance_layers_config_update () {
if [ ! -z "${PW_VK_INSTANCE_LAYERS}" ]
then export PW_VK_INSTANCE_LAYERS="${1}:${PW_VK_INSTANCE_LAYERS}"
else export PW_VK_INSTANCE_LAYERS="${1}"
fi
return 0
}
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
if [[ `which 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
env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
}
unpack_tar_xz () {
set -o pipefail
tar -Jxvf "$1" -C "$2" | sszen
tar -Jxhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
unpack_tar_gz () {
set -o pipefail
tar -xzvf "$1" -C "$2" | sszen
tar -xhzvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
unpack_tar () {
set -o pipefail
tar -xvf "$1" -C "$2" | sszen
tar -xhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
pw_mangohud_check () {
export RUN_MANGOHUD_IN_SLR=""
if [[ "${PW_MANGOHUD}" == "1" ]] ; then
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
export RUN_MANGOHUD_IN_SLR="mangohud --dlsym"
else
export RUN_MANGOHUD_IN_SLR="mangohud"
fi
else
export DISABLE_MANGOHUD=1
fi
return 0
}
export -f pw_mangohud_check
pw_vkbasalt_check () {
if [[ ! -z "${ENABLE_VKBASALT}" && "${ENABLE_VKBASALT}" == 1 ]] ; then
if [ -z "${PW_VKBASALT_EFFECTS}" ] ; then
export PW_VKBASALT_EFFECTS="cas:FilmGrain2"
fi
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
if [ -z "${PW_VKBASALT_FFX_CAS}" ] ; then
export PW_VKBASALT_FFX_CAS="0.7"
fi
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx"
sed -i s/'> = 0.65;'/'> = 0.4;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Curves.fx"
sed -i s/'> = 0.8;'/'> = 0.9;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Bloom.fx"
if [ ! -z "${VK_INSTANCE_LAYERS}" ]
then export VK_INSTANCE_LAYERS="VK_LAYER_VKBASALT_post_processing:${VK_INSTANCE_LAYERS}"
else export VK_INSTANCE_LAYERS="VK_LAYER_VKBASALT_post_processing"
fi
else
export DISABLE_VKBASALT=1
fi
return 0
}
pw_clear_pfx () {
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg"
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg"
@ -257,12 +254,34 @@ pw_clear_pfx () {
try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Common Files"
try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows Media Player"
try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows NT"
try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache"
rm -f "${PORT_WINE_TMP_PATH}"/*.bin
rm -f "${PORT_WINE_TMP_PATH}"/*.foz
return 0
}
pw_reinstall_pp () {
if [[ "${PW_REINSTALL_FROM_TERMINAL}" == 1 ]] ; then
read -p "Do you want to reinstall PortProton? (Y,y - Yes): " -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
echo
exit 1
fi
elif ! gui_question "${port_reinstall}"
then exit 1
fi
pw_clear_pfx
try_remove_dir "${PORT_WINE_PATH}/data/dist"
try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
try_remove_file "${PORT_WINE_PATH}/data/user.conf"
echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver"
echo
echo "Restarting PP for reinstall files..."
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
}
check_user_conf () {
if [ ! -f "${USER_CONF}" ]; then
echo "#!/usr/bin/env bash" > "${USER_CONF}"
@ -273,15 +292,26 @@ check_user_conf () {
}
init_wine_ver () {
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
orig_IFS="$IFS"
IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do
dist_dir_new=`echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g`
if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then
mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}"
fi
done
IFS="$orig_IFS"
fi
if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then
if [[ ! -z `echo "${PW_WINE_USE}" | grep "PROTON_STEAM"` ]] ; then
export PW_WINE_USE=PROTON_STEAM
if [[ ! -z `echo "${PW_WINE_USE}" | grep "PROTON_LG"` ]] ; then
export PW_WINE_USE=PROTON_LG
else
export PW_WINE_USE=PROTON_GE
fi
fi
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$"` ]]
then export PW_WINE_USE="${PW_PROTON_STEAM_VER}"
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]]
then export PW_WINE_USE="${PW_PROTON_LG_VER}"
elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]]
then export PW_WINE_USE="${PW_PROTON_GE_VER}"
fi
@ -292,21 +322,19 @@ init_wine_ver () {
export WINE="${WINEDIR}/bin/wine"
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
if [[ -z "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
else
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}"
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
if [[ ! -z "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH+=":${PATH_TO_GAME}"
fi
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
chmod -R 755 "${WINEDIR}"
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
chmod -R 755 "${WINEDIR}"
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
@ -321,24 +349,25 @@ init_wine_ver () {
if [[ -d "${WINEDIR}" ]] ; then
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
# if [[ -d "${WINEDIR}/lib32/" ]] ; then
# mv -f "${WINEDIR}/lib" "${WINEDIR}/lib64"
# mv -f "${WINEDIR}/lib32" "${WINEDIR}/lib"
# fi
if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
create_new_dir "${WINEDIR}/lib64/wine"
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
fi
for copy_proton_dll in "dxvk" "vkd3d-proton" ; do
if [[ ! -d "${WINEDIR}/lib/wine/${copy_proton_dll}/" || ! -d "${WINEDIR}/lib64/wine/${copy_proton_dll}/" ]] ; then
try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_GE_VER}/lib/wine/${copy_proton_dll}" "${WINEDIR}/lib/wine/"
try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_GE_VER}/lib64/wine/${copy_proton_dll}" "${WINEDIR}/lib64/wine/"
fi
done
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."
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
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."
@ -348,40 +377,31 @@ init_wine_ver () {
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
fi
done
grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null
if [[ "$?" != "0" ]] ; then
echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
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"
fi
fi
return 0
}
pw_init_runtime () {
if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i rosa`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then
if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then
rm -fr "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib"
fi
if [[ -n "$(grep "ROSA Fresh" "/etc/os-release")" ]] ; then
export LOCPATH="/run/host/usr/share/locale/"
elif [[ -n "$(grep "altlinux" "/etc/os-release")" ]] ; then
export LIBGL_DRIVERS_PATH="/usr/lib/X11/modules/dri:/usr/lib64/X11/modules/dri"
fi
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
if [[ -z "`echo ${PW_LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}"
fi
else
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
fi
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d"
if [[ ! -z "${VK_LAYER_PATH}" ]]
then export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/:${VK_LAYER_PATH}"
else export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/"
fi
if [ ! -z ${PATH_TMP} ]
then export PATH="${PATH_TMP}"
else export PATH_TMP="${PATH}"
@ -390,9 +410,12 @@ pw_init_runtime () {
then export PATH="${WINEDIR}/bin:${PATH}:${PW_WINELIB}/portable/bin"
else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin"
fi
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
@ -402,49 +425,90 @@ pw_init_runtime () {
else
var_winedlloverride_update "winegstreamer="
fi
# export STAGING_SHARED_MEMORY=1
# export PW_FORCE_LARGE_ADDRESS_AWARE=1
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
export pw_runtime=""
if [ "${PW_MANGOHUD}" = 1 ] ; then
[ -z `which mangohud` ] && export PW_MANGOHUD=0
fi
echo "RUNTIME is disabled"
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
export pw_runtime="${PW_WINELIB}/run \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
export pw_runtime="${PW_WINELIB}/run \
--share-home \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi
# export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime"
export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
export PRESSURE_VESSEL_GC_RUNTIMES=0
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi
done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--share-home \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
# export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/"
unset PRESSURE_VESSEL_RUNTIME_ARCHIVE
export PRESSURE_VESSEL_COPY_RUNTIME=1
export PRESSURE_VESSEL_GC_LEGACY_RUNTIMES=1
export PRESSURE_VESSEL_RUNTIME=runtime
export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}"
export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var"
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi
done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
}
check_vk_icd_file () {
pw_mangohud_check () {
if [[ "${PW_MANGOHUD}" == "1" ]] || [[ "${PW_MANGOHUD_x32}" = "1" ]]; then
export PW_MANGOHUD_SLR='MANGOHUD=1'
MANGOHUD_LIB_NAME="libMangoHud.so"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
fi
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
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64"
if [[ "${PW_MANGOHUD_x32}" = "1" ]] ; then
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay32"
fi
print_info "MANGOHUD is enabled"
else
export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1'
print_info "MANGOHUD is disabled"
fi
return 0
}
pw_vkbasalt_check () {
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then
export PW_VKBASALT_EFFECTS="Curves:cas"
fi
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
export PW_VKBASALT_FFX_CAS="0.7"
fi
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
# sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx"
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
print_info "vkBasalt is enabled"
else
export DISABLE_VKBASALT=1
print_info "vkBasalt is disabled"
fi
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
@ -465,7 +529,12 @@ regdlloverrides () {
esac
grep 'HKCU,Software\\Wine\\AppDefaults\\'"${PW_DLL_EXE}"'\\DllOverrides,'\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\" "${WINEDIR}/share/wine/wine.inf"
if [[ "$?" != "0" ]] ; then
sed -i "/\[SteamClient.ntamd64\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf"
grep "ProtonOverrides" "${WINEDIR}/share/wine/wine.inf"
if [[ "$?" == "0" ]] ; then
sed -i "/\[ProtonOverrides\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf"
else
sed -i "/\[SteamClient.ntamd64\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf"
fi
fi
}
@ -499,24 +568,27 @@ kill_portwine () {
export -f kill_portwine
pw_kill_autostart () {
if [ "$PW_USE_RUNTIME" != 1 ]
then print_info "PW_USE_RUNTIME=$PW_USE_RUNTIME"
else
sleep 5
while true ; do
if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then
echo -e "PID "$1" not found"
sleep 5
else
sleep 5
kill_portwine
break
fi
done
if [[ -z "${2}" ]]
then SWAIT=5
else SWAIT="${2}"
fi
sleep 5
while true ; do
if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then
echo -e "PID "$1" not found"
sleep "${SWAIT}"
else
sleep "${SWAIT}"
kill_portwine
break
fi
done
if [[ ! -z "`ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp"`" ]] ; then
rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp
fi
return 0
}
export -f pw_kill_autostart
@ -535,10 +607,11 @@ stop_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}'`"
kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null
fi
add_in_stop_portwine > /dev/null 2>&1
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
exit 0
}
export -f stop_portwine
@ -548,12 +621,13 @@ pw_download_libs () {
for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
done
pw_clear_pfx
fi
if [[ ! -e "${PW_WINELIB}/portable/bin/yad" || ! -e "${PW_WINELIB}/portable/lib/p7zip/7z" \
|| ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" || -e "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ]] ;
then
print_info "Download and install libraries..."
if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
else
@ -583,14 +657,14 @@ pw_check_and_download_wine () {
if [[ "${PW_WINE_USE}" == "GET-OTHER-WINE" ]] ; then
gui_proton_downloader
fi
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$"` ]]
then export PW_WINE_USE="${PW_PROTON_STEAM_VER}"
if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]]
then export PW_WINE_USE="${PW_PROTON_LG_VER}"
elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]]
then export PW_WINE_USE="${PW_PROTON_GE_VER}"
fi
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
print_info "Download and install ${PW_WINE_USE}..."
if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}/version"
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
@ -609,17 +683,76 @@ pw_check_and_download_wine () {
return 0
}
pw_check_and_download_dxvk_and_vkd3d () {
#Download stable and git version DXVK
for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then
print_info "Download and install DXVK v.${DXVK_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then
if unpack_tar_xz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
else
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz"
try_remove_dir dxvk-${DXVK_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
elif try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then
if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
else
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
try_remove_dir dxvk-${DXVK_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
fi
done
#Download stable and git version VKD3D
for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then
print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then
if unpack_tar_xz "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
else
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz"
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
elif try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then
if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
else
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d
fi
fi
done
return 0
}
pw_check_and_download_plugins () {
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then
for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done
fi
if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/d3d_extras" \
if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/fake_dlss" \
|| ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]]
then
print_info "Download and install plugins${PW_PLUGINS_VER}..."
if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
else
@ -636,10 +769,16 @@ pw_check_and_download_plugins () {
}
pw_init_db () {
if [ ! -z "${portwine_exe}" ]; then
if [[ ! -z "${portwine_exe}" ]] ; then
export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
if [[ -f "${portwine_exe}".ppdb ]] ; then
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}'`
edit_db_from_gui PW_PREFIX_NAME
fi
else
orig_IFS="$IFS"
IFS=$'\n'
@ -657,19 +796,21 @@ pw_init_db () {
--title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \
--field="DB FILE: :CB" "${ADD_CB_DBFILE}"`
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
try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \
[[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT"` ]]
then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
edit_db_from_gui PW_PREFIX_NAME
fi
fi
if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \
[[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]]
then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
edit_db_from_gui PW_PREFIX_NAME
fi
fi
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
@ -690,7 +831,9 @@ pw_port_update () {
echo "2022" > "${PORT_WINE_TMP_PATH}/scripts_ver"
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!"
[[ ! -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
@ -720,7 +863,7 @@ pw_port_update () {
echo "######################################################"
print_info "Update scripts..."
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
if try_download "github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${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"
@ -734,8 +877,8 @@ pw_port_update () {
if [[ -z "${pw_yad_new}" ]] ; then
zenity --title="Changelog" --text-info --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
fi
[ "$?" == 0 ] && /usr/bin/env bash -c ${pw_full_command_line[*]} &
fi
[ "$?" == 0 ] && echo "Restarting PP after update..." && /usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
else
@ -744,7 +887,7 @@ pw_port_update () {
"${scripts_upd5}")
echo " " ;;
"${scripts_upd6}")
echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;;
echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;;
esac
fi
fi
@ -769,10 +912,7 @@ update_winetricks () {
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
#HOTFIX SHA256SUM FOR VC_RUN2019
sed -i 's/vc_redist.x86.exe 1acd8d5ea1cdc3eb2eb4c87be3ab28722d0825c15449e5c9ceef95d897de52fa/vc_redist.x86.exe 80c7969f4e05002a0cd820b746e0acb7406d4b85e52ef096707315b390927824/g' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/vc_redist.x64.exe 003063723b2131da23f40e2063fb79867bae275f7b5c099dbd1792e25845872b/vc_redist.x64.exe 9b9dd72c27ab1db081de56bb7b73bee9a00f60d14ed8e6fde45dab3e619b5f04/g' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2019 dlls \\/w_metadata !dont_use_2019! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
fi
return 0
}
@ -828,3 +968,45 @@ pw_create_gui_png () {
fi
fi
}
pw_find_exe () {
unset PW_FIND_TIME
case "$1" in
"news") PW_FIND_TIME="-cmin -180" ;;
esac
PW_EXCLUDE_EXE_FIND='(windows|explorer|anticheat|programdata|redist|setup|.ppdb|unin|error|crash|handler|install|/jre/|steam|uploader|eac|netframe)'
PW_PATH_FOR_FIND="${PORT_WINE_PATH}/data/prefixes/"
pw_start_progress_bar_block "Searching for .exe files... Please wait."
find -P "${PW_PATH_FOR_FIND}" -type f -name "*.exe" ${PW_FIND_TIME} | grep -viE ${PW_EXCLUDE_EXE_FIND} | \
awk -F"/prefixes/" '{print $2}' > "${PORT_WINE_TMP_PATH}/tmp_yad_find_exe"
pw_stop_progress_bar
unset FIND_TO_GUI
while read line; do
FIND_TO_GUI+="${line}%"
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 \
--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})"
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..."
fi
exit 0
fi
IFS=$OrigIFS
if [[ -n "${PW_SET_FIND_EXE}" ]] ; then
portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $1}')"
portwine_create_shortcut silent
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
}

View File

@ -1,22 +1,44 @@
#!/usr/bin/env bash
# Author: PortWINE-Linux.ru
# Author: linux-gaming.ru
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
export update_loc=${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"
export loc_gui_upd_pp="Проверить обновления"
export loc_gui_changelog="История изменений"
export loc_gui_change_loc="Сменить язык интерфейса"
export loc_gui_edit_usc="Редактировать USER.CONF"
export loc_gui_scripts_fb="Откатить версию скриптов"
export loc_gui_credits="Авторы и спасибы =)"
export loc_tray_winefile="Файловый менеджер WINE"
export loc_tray_tascmng="Диспетчер задач WINE"
export loc_tray_cangelog="История изменений"
export loc_tray_force_exit="Завершить работу PortProton"
export loc_mg_autoinstall="АВТОУСТАНОВКА"
export loc_mg_emulators="ЭМУЛЯТОРЫ"
export loc_mg_wine_settings="НАСТРОЙКИ WINE"
export loc_mg_portproton_settings="НАСТРОЙКИ PORTPROTON"
export loc_mg_installed="УСТАНОВЛЕННЫЕ"
export PW_CHANGELOG_FILE="changelog_rus"
export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n"
export inst_set="Выбор"
export inst_set_top="Установка PortWINE"
export ss_done="Ярлык создан в корневом каталоге порта.\nДобавить его в МЕНЮ -> ИГРЫ?"
export ss_done="Ярлык создан в каталоге PortProton.\nДобавить его в МЕНЮ и на Рабочий стол?"
export inst_succ="Установка завершена успешно!"
export port_upd1="Обновление PortWINE"
export port_upd2="На сайте portwine-linux.ru вышло обновление для ${portname}\n"
export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n"
export port_upd3="Действие:"
export port_upd4="Перейти на сайт"
export port_upd5="Напомнить позже"
@ -34,6 +56,8 @@ then
export port_del1="Удаление $portname"
export port_del2="Вы действительно хотите полностью удалить PortProton?"
export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение."
export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта"
export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE"
@ -48,15 +72,16 @@ then
export port_debug="Не торопитесь! После окончания работы ${portname}, нажмите STOP."
export loc_create_shortcut_from_gui="Создать ярлык..."
export loc_create_shortcut="Создать ярлык для запускаемого файла."
export loc_delete_shortcut="Удалить ярлык для запускаемого файла."
export loc_debug="Запуск c созданием .log файла в корне ${portname}"
export loc_launch="Запустить файл..."
export loc_winecfg="Запустить winecfg для редактирования настроек префикса ${portname}"
export loc_winecfg="Запустить winecfg для редактирования настроек выбранного префикса"
export loc_winefile="Запустить файловый менеждер встроенный в wine"
export loc_winecmd="Запустить командную строку wine"
export loc_winereg="Запустить редактор реестра префикса ${portname}"
export loc_winetricks="Запустить winetricks для установки доп. библиотек в префикс ${portname}"
export loc_winereg="Запустить редактор реестра выбранного префикса"
export loc_winetricks="Запустить префикс менеджер для установки доп. библиотек в выбранный префикс"
export loc_edit_db="Изменить файл настроек для"
export loc_download_other_wine="Открыть меню для скачивания других версий WINE-PROTON"
@ -65,6 +90,7 @@ then
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_FIX_VIDEO_IN_GAME_INFO='Требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено (обычно окрашено в розовый цвет)'
export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK'
export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL'
@ -84,9 +110,14 @@ then
export PW_DX12_DISABLE_INFO='Принудительное отключение DirectX 12'
export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)'
export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)'
export PW_D3D_EXTRAS_DISABLE_INFO='Отключить принудительное использование сторонних библиотек DirectX'
export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX'
export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)'
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12'
export PW_MANGOHUD_x32_INFO='Включить MANGOHUD для 32 битных приложений и игр'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'
@ -108,20 +139,153 @@ then
export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)'
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)'
export PW_WAYLAND_INFO="Внимание! Вы запускаете $portname в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии 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_settings="Пожалуйста подождите."
export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..."
export loc_gui_edit_db="Изменение файла настроек для:"
export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную."
export loc_gui_save_changes="СОХРАНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_save_changes_help="Сохранить текущие изменения, и перейти в предыдущее меню."
export loc_gui_ver_windows="Изменить версию эмуляции <b>WINDOWS</b>"
export loc_gui_ver_windows_help="Изменение версии эмуляции <b>WINDOWS</b> может потребоваться для запуска старых игр. Версии <b>WINDOWS</b> ниже 10 не поддерживает новые игры с DirectX 12."
export loc_gui_aut_winetricks="Автоматически установить с помощью <b>WINETRICKS</b>"
export loc_gui_aut_winetricks_help="Автоматически установить с помощью <b>WINETRICKS</b> дополнительных библиотек необходимых для запуска игры/программы. Список библиотек разделяются пробелами. (Пример есть в выпадающем списке)"
export loc_gui_winedllover="Принудительно использовать/отключить библиотеки"
export loc_gui_winedllover_help="Принудительное использование/отключиение библиотеки только для даного приложения. (Примеры есть в выпадающем списке)
Краткая инструкция:
* библиотеки пишутся <b>БЕЗ</b> расширения файлов .dll
* библиотеки разделяются точкой с запятой - <b>;</b>
* библиотека=n - использовать библиотеку <b>WINDOWS</b> (сторонюю)
* библиотека=b - использовать библиотеку <b>WINE</b> (встроенную)
* библиотека=n,b - использовать <b>WINDOWS</b> библиотеку, а затем <b>WINE</b>
* библиотека=b,n - использовать библиотеку <b>WINE</b>, а затем <b>WINDOWS</b>
* библиотека= - отключить использование данной библиотеки"
export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла"
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
export loc_gui_mango_fps="Ограничить FPS (0 - выключено)"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton."
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 для загрузки:"
export loc_gui_del_wine="Выберите версию WINE для удаления:"
export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ"
export loc_gui_ffx_cas="AMD FidelityFX - CAS предназначе для значительного улучшения резкости текстур без дополнительных установок модификаций для игр, с минимальной потерей производительности. (Для старых игр рекомендуется значение = 100)"
export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ VKBASALT"
export loc_gui_disabled_vkbas_help="Выключить vkBasalt и перейти в предыдущее меню."
export loc_gui_vkbasalt_top="Настройки vkBasalt для добавления эффектов в играх работающих под Vulkan. (Клавиша <b>HOME</b> отключает vkbasalt)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n"
export loc_gui_no="НЕТ"
export loc_gui_yes="ДА"
export loc_gui_create_shortcut="СОЗДАТЬ ЯРЛЫК"
export loc_gui_delete_shortcut="УДАЛИТЬ ЯРЛЫК"
export loc_gui_launch="ЗАПУСТИТЬ"
export loc_gui_debug="СОЗДАТЬ ЛОГ"
export loc_gui_edit_db_start="НАСТРОИТЬ"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_db_comments="Найден файл настроек PortProton для"
export loc_gui_vulkan_stable="Стабильные DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Новейшие DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
export loc_gui_gallium_nine="GALLIUM_NINE (DX9 для MESA)"
export loc_gui_open_gl="OPENGL (Для видеокарт без VULKAN)"
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..."
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_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_tascmng="TASKMNR"
export loc_tray_cangelog="CHANGE LOG"
export loc_tray_force_exit="FORCE EXIT"
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_installed="INSTALLED"
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.\nAdd it to MENU -> GAMES?"
export ss_done="The shortcut was created in the ${portname} directory.\n Add it to MENU -> GAMES and Desktop?"
export inst_succ="The installation was successful."
export port_upd1="New update PortWINE"
export port_upd2="On portwine-linux.ru site published an update to the ${portname}\n"
export port_upd2="On linux-gaming.ru site published an update to the ${portname}\n"
export port_upd3="Action:"
export port_upd4="Go to the website"
export port_upd5="Remind me later"
@ -138,8 +302,10 @@ then
export port_del1="Remove $portname"
export port_del2="Are you sure you want to delete the PortProton"
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 PortProton?\nFor this, an internet connection will be required."
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_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE"
export port_start1="Starting the PortWINE"
@ -151,13 +317,15 @@ 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
# Helped in translation: ConTI1NuEsZZZ
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}"
@ -168,4 +336,11 @@ then
export loc_winereg="Run Registry Prefix Editor ${portname}"
export loc_winetricks="Run winetricks to install additional libraries to the prefix ${portname}"
export loc_edit_db="Edit database file for"
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
fi

0
data_from_portwine/scripts/portwine_db/AC4BFSP Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/ACValhalla Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/ALOTInstaller Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/Anno4 Normal file → Executable file
View File

2
data_from_portwine/scripts/portwine_db/AnomalyLauncher Normal file → Executable file
View File

@ -8,7 +8,7 @@
export PW_DLL_INSTALL="d3dx10 d3dx11_42 d3dx11_43" # 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_STEAM
export PW_WINE_USE=PROTON_LG
export PW_VULKAN_USE=1
export PW_USE_DXR10=0
export PW_VULKAN_NO_ASYNC=0

View File

@ -6,7 +6,7 @@
#Rating=5
################################################
#export PW_COMMENT_DB="We recommend using PROTON_GE + VULKAN!"
export PW_WINE_USE=PROTON_GE
# export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="locationapi="

View File

@ -0,0 +1,62 @@
#!/usr/bin/env bash
#Author: fidel
#BsgLauncher.exe
#EscapeFromTarkov.exe
#EscapeFromTarkov_BE.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_WINE_USE="PROTON_LG"
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="1"
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=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="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DOTNET"
export PW_MANGOHUD="0"
export PW_MANGOHUD_x32="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="0"
export PW_USE_FAKE_DLSS="0"
export PW_WINE_FULLSCREEN_FSR="1"
export PW_USE_GAMEMODE="0"
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 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=48,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt"
add_in_start_portwine () {
if [[ ! -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then
echo "d3d9.shaderModel = 1" > "${PATH_TO_GAME}/dxvk.conf"
fi
}

View File

@ -8,7 +8,7 @@
##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_STEAM
export PW_WINE_USE=PROTON_LG
export PW_VULKAN_USE=dxvk
##export PW_DXR_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN

View File

@ -7,7 +7,7 @@ export PW_VULKAN_USE=dxvk
##export PW_MANGOHUD=1
export PW_COMMENT_DB="Control (DX11)"
export PW_DLL_INSTALL="physx"
##export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n"
##export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,apw_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n"
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP

View File

@ -8,7 +8,7 @@ export PW_COMMENT_DB="Control (DX12)"
##export PW_USE_DXR10=1
##export PW_MANGOHUD=1
export PW_DLL_INSTALL="physx"
export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n"
export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,apw_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n"
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP

View File

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#Author: PortWINE-Linux.ru
#Author: linux-gaming.ru
#DOOMEternalx64vk.exe
#Rating=?
################################################

0
data_from_portwine/scripts/portwine_db/DXHRDC Normal file → Executable file
View File

View File

@ -3,6 +3,6 @@
#ds.exe
#Rating=5
################################################
export PW_VULKAN_USE=vkd3d
export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b"

0
data_from_portwine/scripts/portwine_db/Deponia Normal file → Executable file
View File

2
data_from_portwine/scripts/portwine_db/Dolphin Normal file → Executable file
View File

@ -8,7 +8,7 @@
##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_STEAM_6.3-7
export PW_WINE_USE=PROTON_LG_6.3-7
export PW_VULKAN_USE=1
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
#Author: PortWINE
#EALauncher.exe
#EADesktop.exe
#Rating=5
#####################examples###########################
export PW_DLL_INSTALL="vcrun2022" # 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_PREFIX_NAME="EA_APP"
export PW_WINE_USE="WINE-8.2-STAGING-TKG-AMD64"
gui_proton_downloader silent "WINE-8.2-STAGING-TKG-AMD64"

View File

@ -4,11 +4,14 @@
#Rating=5
##############################################
#export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher"
export PW_WINE_USE=PROTON_GE
# export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2022"
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"
regdlloverrides "RDR2.exe:vulkan-1=n,b"
}

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#Author: PortWINE-Linux.ru
#Author: linux-gaming.ru
#FarCry.exe
#Rating=5
#################################

0
data_from_portwine/scripts/portwine_db/FarCry6 Normal file → Executable file
View File

View File

@ -0,0 +1,49 @@
#!/usr/bin/env bash
#Author: berg
#pemv.exe
#Rating=5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_WINE_USE="PROTON_GE"
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"
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"
##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="0"
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DEFAULT"
export PW_USE_DXR11="0"
export PW_WINE_FULLSCREEN_FSR="0"
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_USE_AMDVLK_DRIVER="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"

View File

@ -0,0 +1,39 @@
#!/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"

0
data_from_portwine/scripts/portwine_db/GalaxyClient Normal file → Executable file
View File

View File

@ -0,0 +1,38 @@
#!/bin/bash
#Author: fff555
#GameCenter.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_6.3-8C_PW2
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 ; }

0
data_from_portwine/scripts/portwine_db/GameLauncher Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/GoW Normal file → Executable file
View File

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#Author: PortWINE-Linux.ru
#Author: linux-gaming.ru
#Hades.exe
#Rating=1-5
#export PW_COMMENT_DB="blablabla"

2
data_from_portwine/scripts/portwine_db/Half-Life2 Normal file → Executable file
View File

@ -8,7 +8,7 @@
##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_STEAM
export PW_WINE_USE=PROTON_LG
export PW_VULKAN_USE=1
##export PW_DXR_ON=1
##export PW_DLSS_ON=1

View File

@ -0,0 +1,64 @@
#!/usr/bin/env bash
#Author: fidel
#HogwartsLegacy.exe
#Rating=1-5
#####################examples###########################
if [ "${update_loc}" = "RUS" ] ; then
export PW_COMMENT_DB="Если у вас игра не запускается, то необходимо добавить
clearcpuid=514 в раздел GRUB_CMDLINE_LINUX_DEFAULT
в файле /etc/default/grub. Для упрощения можно использовать
утилиту Grub Customizer"
fi
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_WINE_USE="PROTON_LG"
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=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="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DEFAULT"
export PW_MANGOHUD="0"
export PW_MANGOHUD_x32="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="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"
add_in_start_portwine () {
if [ "${update_loc}" = "RUS" ] ; then
sed -i "s/Language=english/Language=russian/g" "${PATH_TO_GAME}/Engine/Binaries/ThirdParty/Steamworks/Steamv154/Win64/steam_api64.ini"
fi
}

0
data_from_portwine/scripts/portwine_db/Inscryption Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/JustCause4 Normal file → Executable file
View File

View File

@ -11,40 +11,22 @@
export TEXT_OPSSL=""
[[ -z `which openssl` ]] && export TEXT_OPSSL="Install openssl in your system!!!\n"
export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time"
##export 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 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-1
export PW_WINE_USE=WINE_LOL_GE_7.0-5
export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL=""
export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS"
##export PW_USE_DXR10=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=1 # Do not use eventfd-based in-process synchronization primitives
##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="${PORT_WINE_PATH}/data/pfx_lol"
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_TERMINAL=1 # Force run in terminal
export PW_NO_FSYNC=1
export PW_NO_ESYNC=1
export PW_DISABLED_CREATE_DB=1
export PW_USE_D3D_EXTRAS=1
export DXVK_STABLE_VER="1.10.3-28"
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
check_download_wine_ver_for_lol () {
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \
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"
@ -59,38 +41,7 @@ check_download_wine_ver_for_lol () {
}
check_download_wine_ver_for_lol
check_port_for_lol () {
"${pw_yad}" --progress --progress-text="Loading and start League of Legends. Please wait. It can take a long time!" \
--pulsate --no-buttons --undecorated --center --skip-taskbar --image="${PW_GUI_ICON_PATH}/covers/lol_cover.jpg" --image-on-top > /dev/null 2>&1 &
PW_YAD_PID_LOL="$!"
process=LeagueClientUx.exe
while [[ -z `pidof ${process}` ]] ; do
echo "PID ${process} not found"
sleep 1
done
uxpid=`pidof ${process}`
echo "LeagueClientUx pid: ${uxpid}"
port=$(xargs -0 < /proc/${uxpid}/cmdline | sed -n 's/.*--app-port=\([[:digit:]]*\).*/\1/p')
if [ ! -n $port ]; then
echo "Could not find port"
exit 1
fi
echo "Waiting for port ${port}"
kill -STOP ${uxpid}
timeout 200m /usr/bin/env bash -c "
until openssl s_client -connect :${port} <<< Q > /dev/null 2>&1 ; do
sleep 1
done"
kill -CONT ${uxpid}
kill -s SIGUSR1 "${PW_YAD_PID_LOL}"
}
add_in_start_portwine () {
if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] ; then
zenity --question --title="Fix for LoL anti-cheat" \
--text='Root rights are required to execute the command: \n"sysctl -w abi.vsyscall32=0"' --no-wrap
[ "$?" = 1 ] && exit 0
pkexec /usr/bin/env bash -c 'sysctl -w abi.vsyscall32=0'
fi
check_port_for_lol &
echo ""
}

View File

@ -0,0 +1,43 @@
#!/bin/bash
#Author: UserDiscord
#NewRP.exe
#Rating=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=0
##export PW_DLSS_ON=1
export PW_VULKAN_NO_ASYNC=0
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
export PW_VIRTUAL_DESKTOP=0
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT=1
export PW_VKBASALT_EFFECTS=cas:Curves:SMAA:LumaSharpen
export PW_VKBASALT_FFX_CAS=1
export PW_NO_FSYNC=0
export PW_NO_ESYNC=0
export PW_USE_GSTREAMER=0
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
export PW_NO_WRITE_WATCH=0
export PW_HEAP_DELAY_FREE=0
export PW_WINE_ALLOW_XIM=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE=1
export PW_USE_TERMINAL=0
export PW_GUI_DISABLED_CS=0
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_USE_DXR11=0
export PW_USE_GAMEMODE=1
export PW_DX12_DISABLE=1
export PW_USE_WINE_DXGI=0
export PW_PRIME_RENDER_OFFLOAD=0

View File

@ -0,0 +1,51 @@
#!/usr/bin/env bash
#Author: dez
#MWO Portal.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS="-noprompt -anygpu"
export PW_WINE_USE="PROTON_GE"
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"
export PW_VIRTUAL_DESKTOP="0"
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT="1"
export PW_VKBASALT_EFFECTS="FakeHDR:cas"
export PW_VKBASALT_FFX_CAS="0.75"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_GSTREAMER="1"
##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="0"
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE="1"
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_MANGOHUD="1"
export PW_MANGOHUD_USER_CONF="1"
export PW_USE_DXR11="0"
export PW_WINE_FULLSCREEN_FSR="0"
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_USE_AMDVLK_DRIVER="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
#Author: PortWINE-Linux.ru
#Author: linux-gaming.ru
#mafiadefinitiveedition.exe
#Rating=4
################################################

View File

View File

0
data_from_portwine/scripts/portwine_db/MikuMikuDance Normal file → Executable file
View File

0
data_from_portwine/scripts/portwine_db/NFS Normal file → Executable file
View File

View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
#Author: xuser
#soulstorm.exe
#Rating=5
#################################################
export PW_VULKAN_USE="1"
export PW_WINE_USE="PROTON_GE"
export PW_PREFIX_NAME="DEFAULT"
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.75"
export ENABLE_VKBASALT="1"
export PW_MANGOHUD="1"
export PW_MANGOHUD_USER_CONF="0"
export PW_NO_ESYNC="1"
export PW_NO_FSYNC="0"
export PW_USE_DXR10="0"
export PW_USE_DXR11="0"
export PW_VULKAN_NO_ASYNC="0"
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"
export PW_VIRTUAL_DESKTOP="0"
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_WINE_ALLOW_XIM="0"
export PW_HEAP_DELAY_FREE="0"
export PW_GUI_DISABLED_CS="0"
export PW_USE_GSTREAMER="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_D3D_EXTRAS_DISABLE="0"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export LAUNCH_PARAMETERS=""
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export PW_WINE_FULLSCREEN_FSR="1"

View File

@ -3,76 +3,25 @@
#Origin.exe
#Rating=?
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
export PW_DLL_INSTALL="vcrun2012 vcrun2019 d3dcompiler_43 d3dcompiler_47 d3dx9" # 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_DLL_INSTALL="vcrun2012 vcrun2019" # Install DDL in port prefix (used winetricks)
export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL
##export PW_DXVK_VER=1.8.1
##export PW_VKD3D_VER=2.2
##export PW_USE_DXR10=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=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_VKD3D_FEATURE_LEVEL=0
##export PW_DXGI_FROM_DXVK=0
##export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export PW_USE_TERMINAL="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=1 # Do not use eventfd-based in-process synchronization primitives
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_USE_GAMEMODE=0 # Force disabele gamemod
##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
##export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HEAP_DELAY_FREE=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_TERMINAL=0 # Force run in terminal
##export PW_LOG=0 # Enable debug mode fo terminal
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
export STAGING_SHARED_MEMORY=0
#add_in_start_portwine () {
# export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"
# if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_USER_TEMP}/OriginSetup.exe" ; then
# pw_start_progress_bar_block "Extracting files for update the Origin..."
# unzip "${PW_USER_TEMP}/OriginSetup.exe" 'update/*.zip' -d "${PW_USER_TEMP}/"
# unzip -o "${PW_USER_TEMP}/update/"*.zip -d "$WINEPREFIX/drive_c/Program Files (x86)/Origin/"
# try_remove_dir "${PW_USER_TEMP}/update"
# try_remove_file "${PW_USER_TEMP}/OriginSetup.exe"
# pw_stop_progress_bar
# pw_start_progress_bar_cs "Starting the Origin..."
# check_origin_update () {
# while :
# do
# sleep 3
# if [ ! -z `pgrep Origin.exe | head -n 1` ] ; then
# sleep 1
# else
# if [ ! -z `pgrep OriginSetup* | head -n 1` ] ; then
# kill -n 9 `pgrep OriginSetup* | head -n 1`
# fi
# if [ ! -z `pgrep OriginThin* | head -n 1` ] ; then
# kill -n 9 `pgrep OriginThin* | head -n 1`
# fi
# break
# fi
# done
# }
# check_origin_update &
###WINE_KRON4EK###
# export PW_WINE_USE="WINE-7.13-STAGING-AMD64"
# check_download_wine_ver_for_origin () {
# if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
# if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/7.13/wine-7.13-staging-amd64.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
#}
# }
# check_download_wine_ver_for_origin

View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PnzSteamLauncher.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="7"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
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="1"
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.75"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="PANZAR"
export PW_USE_DXR11="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="0"
export PW_USE_WINE_DXGI="0"

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PathOfExile.exe
#PathOfExile_x64.exe
#Rating=1-5
#####################examples###########################
# export WINEDLLOVERRIDES="mscoree,mshtml="
export LAUNCH_PARAMETERS="--nologo --noasync --nopreload -gc 2"
export PW_VULKAN_USE=1
export PW_MUST_HAVE_DLL=""
# export PW_DLL_INSTALL="riched20 usp10"
export PW_PREFIX_NAME="PATH_OF_EXILE"
export PW_NO_FSYNC=0
export PW_NO_ESYNC=1
# export PW_DISABLED_CREATE_DB=1
export PW_USE_D3D_EXTRAS=1
#export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
export PW_WINDOWS_VER=7
add_in_start_portwine () {
echo ""
}

0
data_from_portwine/scripts/portwine_db/Photoshop Normal file → Executable file
View File

View File

@ -0,0 +1,51 @@
#!/usr/bin/env bash
#Author: castro-fidel
#PlariumPlay.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
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_MANGOHUD="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="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_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"

0
data_from_portwine/scripts/portwine_db/Quake4 Normal file → Executable file
View File

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