Compare commits

...

191 Commits

Author SHA1 Message Date
f151b94392 Fix: url for Battle.net 2023-10-09 19:40:41 +03:00
8836eb580e Scripts version 2226 2023-10-09 19:27:17 +03:00
d703ae06af Merge pull request #80 from Boria138/update-autoinstalls
Update and fixes autoinstalls
2023-10-09 15:57:55 +03:00
e8cf0e646b Scripts version 2225 2023-10-08 16:39:56 +03:00
0c5fdaae42 Update and fixes autoinstalls 2023-10-06 12:45:42 +06:00
e631c92273 Scripts version 2224 2023-09-28 17:49:16 +03:00
5dd680b7f8 Merge branch 'Boria138-clear-ppdb' 2023-09-28 11:34:01 +03:00
ad7ecfb3c1 Refactoring files 2023-09-26 14:45:13 +06:00
c66f97fb6f Clear ppdb files 2023-09-25 21:43:08 +06:00
51356a85a4 Scripts version 2223 2023-09-23 13:21:42 +03:00
146eacb223 Scripts version 2222 2023-09-23 00:27:11 +03:00
17efde1601 Merge pull request #73 from Boria138/roblox
Roblox linux support is back
2023-09-22 16:17:32 +03:00
38982386bd Merge pull request #74 from Boria138/update-autoinstalls
Update Auto Installs
2023-09-22 16:17:22 +03:00
c53dc5b31e Update Auto Installs
1) Deleted the db file for repacks from xatab since there are no more problems with them
2) Added the creation of a separate prefix for LGC and WGC so as not to update the default one every time (I did it according to the example from VK Play)
2023-09-22 00:16:08 +06:00
0bc33d1377 Roblox linux support is back 2023-09-21 19:02:09 +06:00
0aa39f1da1 Scripts version 2221 2023-09-19 20:06:58 +03:00
89566ea1ef Merge pull request #71 from Boria138/us-layout
Added PW_USE_US_LAYOUT
2023-09-18 17:49:36 +03:00
9063a33b95 Added PW_USE_US_LAYOUT 2023-09-18 20:23:05 +06:00
e70e816f0e Merge pull request #70 from Boria138/pulseaudio-latency
Added Reduce pulseaudio latency to fix choppy/laggy audio on some games
2023-09-18 10:45:20 +03:00
e0709ae20f Merge pull request #63 from Boria138/redos-deps
Added dependencies for manual installation on the RED OS
2023-09-18 10:44:06 +03:00
6556952471 Added Reduce pulseaudio latency to fix choppy/laggy audio on some games 2023-09-18 13:32:16 +06:00
1e7c6acea7 Scripts version 2220 2023-09-17 20:12:10 +03:00
1b98adb80d Scripts version 2219 2023-09-03 20:23:42 +03:00
249fb822a3 Scripts version 2218 2023-09-03 14:21:20 +03:00
0e82a32ef4 Scripts version 2217 2023-08-31 20:29:00 +03:00
19bad2db6f Scripts version 2216 2023-08-31 12:40:15 +03:00
72bb951959 Merge branch 'Boria138-auto-nvapi' 2023-08-30 10:14:09 +03:00
65631dc082 Added dependencies for manual installation on the RED OS
Dependencies were taken from [this](https://www.youtube.com/watch?v=RN-ltVUGBUI) video
2023-08-26 22:47:21 +06:00
b99dc82c3e Beatify code 2023-08-25 00:26:46 +06:00
3b391b54f6 Fixed GTX 16 series check
I tested the code on a computer with GTX 1650 and everything worked correctly, but it remains to test on RTX 20, since there is the same Turing and the script can confuse them (although it should not)
2023-08-22 19:32:38 +06:00
8fc21de716 Added automatic detection of RTX support by Nvidia card
Unfortunately for lack of a 16 series card the code was not tested
2023-08-22 16:36:42 +06:00
97ced97037 Scripts version 2215.1 2023-08-18 19:18:10 +03:00
4ae8269099 Scripts version 2215 2023-08-18 16:14:20 +03:00
29ad1fe684 Merge pull request #58 from Boria138/switch-icon
Switch PortProton icon and added arch multilib section to README
2023-08-14 17:53:50 +03:00
effaa8caa2 Merge pull request #59 from Boria138/update-fps-limit
Brought fps limitation to the same form as CPU cores limitation
2023-08-14 17:53:40 +03:00
a852f48d99 Brought fps limitation to the same form as CPU cores limitation
Changed yad scale to yad combobox with values 30,60,90 and 120 fps also changed disable from 0 to disabled
2023-08-14 12:23:40 +06:00
9c400384a5 Switch PortProton icon and added arch multilib section to README 2023-08-08 13:51:53 +06:00
95b9627c31 Merge pull request #56 from Boria138/update-readme
Update Readme (fix icon)
2023-08-07 18:19:11 +03:00
2c18fe8829 Update Readme 2023-08-07 19:03:13 +06:00
95b09db43a Scripts version 2214 2023-08-04 11:50:39 +03:00
1c1860dbef Scripts version 2213 2023-08-03 17:54:36 +03:00
c0c48c32df Merge branch 'Boria138-cpu-limit' 2023-08-02 01:04:58 +03:00
c6622177a3 Added ability to restrict CPU cores 2023-08-02 00:58:56 +06:00
d9c9747bc6 Scripts version 2212 2023-08-01 18:16:25 +03:00
61c73ffe21 Scripts version 2211 2023-07-31 10:50:50 +03:00
13a6980cf7 Merge branch 'Boria138-update-readme' 2023-07-30 12:34:50 +03:00
1411a31743 Delete steam from Fedora deps 2023-07-29 17:21:56 +06:00
815689478c Update and beatify readme 2023-07-29 15:21:27 +06:00
cfbcf69d03 Scripts version 2210 2023-07-28 18:20:32 +03:00
0fff71a8bb Scripts version 2209 2023-07-26 15:58:11 +03:00
5d7b276873 Merge branch 'Boria138-update-autoinstall'
- Added Battle Of Space Raiders autoinstall
- Replaced the url for the Caliber download
- Deleted try_download_caliber function
- Replaced wget -O in PW_ANKAMA to try_download function
2023-07-26 14:50:58 +03:00
a6f899b757 disabled EAC and BE for autoinstall 2023-07-26 14:50:41 +03:00
3078ed73ef minor changes 2023-07-26 14:47:57 +03:00
1554e7e7cd Update Autoinstall
Added Battle Of Space Raiders autoinstall
Replaced the url for the Caliber download
Deleted try_download_caliber function
Replaced wget -O in PW_ANKAMA to try_download function
2023-07-26 17:08:17 +06:00
c94136c936 Scripts version 2208 2023-07-24 13:08:24 +03:00
a84b860c25 Merge pull request #49 from Maks1mS/feat/rename-shortcut
feat: Add ability to set shortcut name
2023-07-24 12:22:44 +03:00
7997f88f64 Merge pull request #50 from Boria138/minor-improvements
Minor improvements
2023-07-24 12:17:06 +03:00
8dae4f8307 Scripts version 2207-2 2023-07-23 21:46:15 +03:00
f43f247be5 Scripts version 2207 2023-07-23 21:44:18 +03:00
bb97c240eb Minor improvements
Replaced which with command -v since which is already deprecated
Replaced lsb_release -d with cat /etc/os-release since this method is more universal
Fixed a couple of typos in the PortProton installation script
2023-07-21 09:39:19 +06:00
ffb52f13d9 remove debug echo 2023-07-20 18:22:31 +03:00
aabe7da7a2 fix 2023-07-20 18:21:08 +03:00
ed4ee4dc9f fix 2023-07-20 18:01:26 +03:00
1c05f29e1d fix: Add info about shortcut 2023-07-20 17:41:36 +03:00
b3937994a1 feat: Add ability to set shortcut name 2023-07-20 14:05:46 +03:00
55dedfe548 Merge pull request #48 from Boria138/symlink-fix
added a check for the existence of a symbolic link
2023-07-11 21:44:28 +03:00
f6b5eee05a I added a check for the existence of a symbolic link
If a person runs a PortProton installation when it is already installed e.g. if he installed PortProton manually and decided to switch to the package, the first installation will break because of the existence of a symbolic link and consequently PortPrototon will not run
2023-07-10 11:20:13 +06:00
078efd5966 Scripts version 2206 2023-07-07 16:53:47 +03:00
d247a7be11 Scripts version 2205-1 2023-07-01 15:34:11 +03:00
964931bb77 Scripts version 2205 2023-07-01 15:28:08 +03:00
5c9ab48a18 Scripts version 2204 2023-06-29 14:12:14 +03:00
de073dfd9f Merge pull request #46 from Boria138/en-lang
Update script lang - №2
2023-06-25 18:06:30 +03:00
0848077479 Улучшил перевод
Заменил упоминание PortProton на переменную $portname
Привёл английскую локализацию к тому же виду что и русскую
Дополнил общую локализацию
2023-06-25 20:42:34 +06:00
e1d13a56f4 Вроде полностью дополнил английский перевод 2023-06-24 13:27:17 +06:00
e28496e1c8 Scripts version 2203 2023-06-23 18:56:24 +03:00
ea9a09ad77 Merge pull request #43 from Boria138/update-vkbasalt-desc
Add description for all vkBasalt effects
2023-06-20 17:08:32 +03:00
3e6247a8e9 Add description for all vkBasalt effects 2023-06-20 16:21:35 +06:00
22650b1b2b Scripts version 2202 2023-06-15 18:18:55 +03:00
577c0fb332 Scripts version 2201-1 2023-06-12 16:37:19 +03:00
975c2c3bfb Scripts version 2201 2023-06-12 16:35:06 +03:00
b1fcef36f2 Scripts version 2200 2023-06-06 19:18:58 +03:00
25ce69127c Scripts version 2199 2023-06-05 22:14:35 +03:00
6e6e20a863 Update README.md 2023-06-03 23:58:34 +03:00
de15cf32bd Update README.md 2023-06-03 17:12:38 +03:00
9c88e6c07f Scripts version 2198 2023-06-02 15:25:01 +03:00
1a9631af0f Scripts version 2197 2023-06-02 14:38:52 +03:00
93c055630b Scripts version 2196 2023-06-01 22:53:38 +03:00
3560d72443 Merge pull request #42 from Toxblh/fix-lang-switcher
Исправленно: При попытке поменять язык, не показывает диалог.
2023-05-31 09:27:49 +03:00
7d9804ce04 fix: Changing language will trigger correct select dialog. Also fixed first start of the app with choosing language at first. 2023-05-30 23:32:56 +01:00
6b8e52720c Scripts version 2195 2023-05-30 23:18:01 +03:00
5582ed5862 Scripts version 2194 2023-05-30 20:03:00 +03:00
89f282ef7f Scripts version 2193 2023-05-30 19:42:45 +03:00
e26cc989b4 Scripts version 2192 2023-05-30 11:01:12 +03:00
728edf1624 Scripts version 2191 (fix size GUI) 2023-05-30 03:20:09 +03:00
343dda7fe8 Scripts version 2191 2023-05-30 02:25:25 +03:00
b0f10aea1d Scripts version 2190 2023-05-28 16:22:01 +03:00
d90e596f99 Scripts version 2189 2023-05-28 12:13:10 +03:00
8bbb990c2b Scripts version 2188 2023-05-26 11:01:43 +03:00
1e198ba0c6 Scripts version 2187 2023-05-23 19:07:29 +03:00
e080212bbb Scripts version 2186-2 2023-05-21 17:06:01 +03:00
61ee6482f5 Scripts version 2186 2023-05-21 17:05:30 +03:00
e5a40d8fe3 Scripts version 2185 2023-05-21 12:39:45 +03:00
5875ac84da Merge pull request #41 from zorn-v/patch-3
Fix stop portwine with GUI_DISABLED_CS=1
2023-05-17 10:22:48 +03:00
bc5fe4c12d Fix stop portwine with GUI_DISABLED_CS=1 2023-05-17 17:19:13 +10:00
b48462519a Scripts version 2184 2023-05-15 13:09:38 +03:00
d982c8fab3 Scripts version 2183 2023-05-15 02:19:05 +03:00
866bda3e0c Scripts version 2182 2023-05-13 11:36:02 +03:00
67df25e27f Scripts version 2181 2023-05-06 13:28:09 +03:00
f6bb000530 Scripts version 2190 2023-04-12 18:41:07 +03:00
cea2e2f1e5 Scripts version 2179.3 2023-04-08 22:31:57 +03:00
b503b38cfa Scripts version 2179.2 2023-04-08 22:28:13 +03:00
6df48c25e5 Scripts version 2179 2023-04-08 22:15:41 +03:00
762e119d34 Scripts version 2178 2023-04-04 21:12:59 +03:00
906a66eef5 Scripts version 2177 2023-04-02 19:35:20 +03:00
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
310 changed files with 5784 additions and 5104 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

175
README.md
View File

@ -1,24 +1,67 @@
# PortWINE
<div align="center">
<img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64">
<h1 align="center">PortProton</h1>
<p align="center">Project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users.
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.</p>
</div>
PortWINE 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.
## Attention
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
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.
## Features
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.
- 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.
PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!
- 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.
Wine sources used in PortWINE:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
- 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/
## 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`
* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, etc.), **Linux Mint 20.x** :
[portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb)
* **Arch Linux** and derivatives (Manjaro, Garuda, etc.) :
[AUR](https://aur.archlinux.org/packages/portproton)
* **ROSA Linux** (package in the official repository) is installed with the command:
```sh
sudo urpmi portproton
```
* **Fedora 37+** and **Nobara**:
```sh
sudo dnf copr enable boria138/portproton
sudo dnf install portproton
```
* [**openSUSE Leap 15.4**](https://software.opensuse.org/ymp/home:Boria138/15.4/portproton.ymp?base=openSUSE%3ALeap%3A15.4&query=portproton)
* [**openSUSE Leap 15.5**](https://software.opensuse.org/ymp/home:Boria138/15.5/portproton.ymp?base=openSUSE%3ALeap%3A15.5&query=portproton)
* [**openSUSE Tumbleweed**](https://software.opensuse.org/ymp/home:Boria138/openSUSE_Tumbleweed/portproton.ymp?base=openSUSE%3AFactory&query=portproton)
* **Alt Linux** (package in the official repository) is installed with the command:
```sh
su -
epm ei
epm full-upgrade
epm play portproton
exit
```
## Universal (manual) installation
@ -26,15 +69,21 @@ WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Normal installation:
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0`
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0
```
Silent installation (ENG):
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng`
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng
```
Silent installation (RUS):
`wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus`
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus
```
## Dependencies
@ -44,60 +93,108 @@ If you have a video card from NVIDIA and a proprietary driver is installed, then
* **Ubuntu / Linux Mint / Pop!_OS**
`sudo dpkg --add-architecture i386`
```sh
sudo dpkg --add-architecture i386
`sudo add-apt-repository multiverse`
sudo add-apt-repository multiverse
`sudo apt update && sudo apt upgrade`
sudo apt update
`sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386`
sudo apt upgrade
sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386
```
* **Arch Linux / Manjaro**
`sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity lsb-release nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl`
First check if the **multilib** repository is enabled
```sh
/etc/pacman.conf
===================================
[multilib]
Include = /etc/pacman.d/mirrorlist
====================================
```
```sh
sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl
```
If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidia-utils** package is installed
`sudo pacman -Syu lib32-nvidia-utils`
```sh
sudo pacman -Syu lib32-nvidia-utils
```
* **Debian/Deepin**
`sudo apt install software-properties-common -y && sudo apt-add-repository non-free && sudo dpkg --add-architecture i386 && sudo apt update && sudo apt upgrade`
```sh
sudo apt install software-properties-common -y
`sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract`
sudo apt-add-repository non-free
sudo dpkg --add-architecture i386
sudo apt update
sudo apt upgrade
sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract
```
* **openSUSE**
`sudo zypper ref && sudo zypper up && sudo zypper in curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang`
Installing Gamemode is done with a separate command:
`opi gamemode`
```sh
sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0
```
* **Fedora**
Enable Non-free repository:
```sh
sudo dnf update
`sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm`
sudo dnf upgrade --refresh
Install the required dependencies:
`sudo dnf update && sudo dnf upgrade --refresh && sudo dnf install curl gamemode icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam`
sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick
```
* **Alt Linux**
`sudo apt-get update && sudo apt-get dist-upgrade -y`
```sh
sudo apt-get update
`sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd`
sudo apt-get dist-upgrade -y
sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd
```
* **ROSA DESKTOP FRESH R12**
`sudo dnf update && sudo dnf upgrade --refresh && sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn coreutils lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686`
```sh
sudo dnf update
sudo dnf upgrade --refresh
sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686
```
* **RED OS**
```sh
sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam
```
* **Solus 4.x**
`sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba`
```sh
sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba
```
## Contacts
You can join our [Discord](https://discord.gg/FTaheP99wE) server.
<p>
<a href="https://discord.gg/FTaheP99wE">
<img src="https://img.shields.io/discord/308323056592486420?logo=discord"
alt="chat on Discord"></a>
</p>

780
data_from_portwine/changelog_eng Normal file → Executable file
View File

@ -1,7 +1,781 @@
You can help us in the development of the project on the website: boosty.to/portwine-linux.ru
-----------------------------------------
You can help us in the development of the project on the website: https://linux-gaming.ru/donate/
----------------------------------------
Changelog:
###Scripts version 2226### Date: 09.10.2023 / Download update size: 8 megabytes
* updated autoinstall scripts (thanks Boria138)
* minor improvements
###Scripts version 2225### Date: 08.10.2023 / Download update size: 8 megabytes
* improved log creation mode
* the inclusion of "USE_SYSTEM_VK_LAYERS" has been added to the "SETTINGS" tab, which makes it possible to use the system mangohud, vkBasalt, obs-vkcapture and others
* the inclusion of "USE_OBS_VKCAPTURE" has been added to the "SETTINGS" tab, which makes it possible to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)
* updated autoinstall for League of Legends
###Scripts version 2224### Date: 28.09.2023 / Download update size: 210 megabytes
* global cleaning of database files (thanks to Boria138)
* updated PROTON_LG to version 8-17 (fixed community and support tabs in the Genshin Impact game)
* accelerated search nvngx.dll when NVAPI and DLSS are enabled
* added a check to run the .desktop file of a non-existent application
###Scripts version 2223### Date: 23.09.2023 / Download update size: 8 megabytes
* updated DOTNET prefix
* blocked use USE_US_LAYOUT under Wayland
###Scripts version 2222### Date: 22.09.2023 / Download update size: 8 megabytes
* HOTFIX: update prefix
* WGC and LGC are set in separate prefixes
* fixed clearing the DOTNET prefix
* minor changes to the WINE settings tab
* fixed the function of forcing the use of the English layout
###Scripts version 2221### Date: 19.09.2023 / Download update size: 230 megabytes
* updated PROTON_LG to version 8-15-1 (fix update prefix)
* added (спасибо Boria138)
REDUCE_PULSE_LATENCY - 'Reduce pulseaudio latency to fix intermittent sound'
USE_US_LAYOUT - 'Forced use of the us layout (useful for games in which the control works correctly only on the us layout)'
###Scripts version 2220### Date: 17.09.2023 / Download update size: 260 megabytes
* HOTFIX: Plarium Play
* HOTFIX: World of Warships
* updated versions:
DXVK_GIT_VER 2.3-5
VKD3D_GIT_VER 1.1-3622
* updated PROTON_LG to version 8-15
###Scripts version 2219### Date: 03.09.2023 / Download update size: 8 megabytes
* HOTFIX: Starfield
* FIX: installing dotnet 4.6.1 for Plarium Play
###Scripts version 2218### Date: 03.09.2023 / Download update size: 8 megabytes
* improved verification of RTX 4000 series video cards
* added a check for NVIDIA + intel/amd hybrid graphics (thanks to Boria138)
* added the variable __VK_LAYER_NV_optimus=NVIDIA_only when PRIME_RENDER_OFFLOAD is enabled (thanks to Boria138)
* deleting previous versions of lib and plugins occurs only when new versions are downloaded successfully (if there are problems with downloading, you can skip and use PP with previous versions of libraries)
* by default, PROTON_LG and WINE_x.x_LG are selected
* added the ability to use stable versions of DXVK and VKD3D by default (by adding export PW_VULCAN_USE=1 to user.conf)
###Scripts version 2217### Date: 31.08.2023 / Download update size: 8 megabytes
* the latest versions of DXVK and VKD3D are selected by default
###Scripts version 2216### Date: 30.08.2023 / Download update size: 650 megabytes
* updated PROTON_LG to version 8-14
there is no extra symbol on the screen when starting STEAM_PP
fixed installation of Battle NET (again)
* updated versions:
DXVK_STABLE_VER="2.2-34"
DXVK_GIT_VER="2.2-164"
VKD3D_STABLE_VER="1.1-3445"
VKD3D_GIT_VER="1.1-3556"
* Updated libs_v44 library package:
pressure-vessel 0.20230718.0
sniper 0.20230718.55074
* added automatic detection of NVIDIA RTX graphics cards (thanks to Boria138)
* added automatic activation of DLSS and RAY TRACING support for NVIDIA RTX graphics cards
* added check Vulkan API version
###Scripts version 2215### Date: 18.08.2023 / Update download size: 8 megabytes.
* added script mirror: https://gitlab.eterfund.ru/Castro-Fidel/
* creation of third-party (non-working) shortcuts by means of wine is disabled (when using wine versions other than proton)
###Scripts version 2214### Date: 04.08.2023 / Update download size: 250 megabytes.
* updated PROTON_LG to version 8-11
###Scripts version 2213### Date: 03.08.2023 / Update download size: 250 megabytes.
* updated PROTON_LG to version 8-10
* an update from Boria138 has been adopted and finalized, adding a setting for limiting the use of CPU cores. (WINE_CPU_TOPOLOGY)
* added a fix that significantly reduces the CPU load and increases FPS in Unity games (assuming more than 8 logical processor cores)
* fixed changing and disabling FPS cutting
###Scripts version 2212### Date: 01.08.2023 / Update download size: 10 megabytes.
* added D8VK (DirectX 8 to Vulkan API)
###Scripts version 2211### Date: 31.07.2023 / Update download size: 9 megabytes.
* fix: League Of Legends (updated WINE_LOL_GE_8.12)
* updated README in GitHub (thanks Boria138)
###Scripts version 2210### Date: 28.07.2023 / Update download size: 9 megabytes.
* fix install and run (need tests):
BattleNET
STEAM_PP
* minor scripts changes
###Scripts version 2209### Date: 26.07.2023 / Update download size: 9 megabytes.
* added "Battle Of Space Raiders" autoinstall (thanks Boria138)
* minor improvements by Boria138
* disabled EAC and BE for autoinstall
* HOTFIX - fixed issues on some systems when using PROTON_LG_8-X
###Scripts version 2208### Date: 24.07.2023 / Update download size: 9 megabytes.
* added rename shortcut (thanks Maks1mS)
* minor improvements by Boria138
* fix installing: Genshin Impact
###Scripts version 2207### Date: 23.07.2023 / Update download size: 250 megabytes.
* updated PROTON_LG_8-6 (with MONO 8.0)
* updated DXVK_GIT_VER="2.2-137"
* updated VKD3D_GIT_VER="1.1-3516"
###Scripts version 2206### Date: 07.07.2023 / Update download size: 250 megabytes.
* updated PROTON_LG_8-6 (with MONO 8.0)
* updated DXVK_GIT_VER="2.2-116"
* updated VKD3D_GIT_VER="1.1-3488"
* added Guild Wars 2 to autoinstall
###Scripts version 2205### Date: 01.07.2023 / Update download size: 240 megabytes.
* updated PROTON_LG_8-4
* with the PROTON_LG_8-4 version, the "World of Ships" game is working again
* with the PROTON_LG_8-4 version, the "Ubisoft Connect" is working again
###Scripts version 2204### Date: 29.06.2023 / Update download size: 9 megabytes.
* update localization
* minor fixes for installing LGC and WGC
###Scripts version 2203### Date: 23.06.2023 / Update download size: 9 megabytes.
* minor fixes for installing Battle.net
###Scripts version 2202### Date: 15.06.2023 / Update download size: 9 megabytes.
* added Genshin Impact (again)
* fix: download PROTON-GE
###Scripts version 2201### Date: 12.06.2023 / Update download size: 9 megabytes.
* improved readability of the output when running portproton from the terminal
* fixed the launch of the game World of Sea Battle
* added the selection of the settings file before launching setup.exe
###Scripts version 2200### Date: 06.06.2023 / Update download size: 9 megabytes.
* updated WINE for League of Legends
###Scripts version 2199### Date: 05.06.2023 / Update download size: 9 megabytes.
* minor fixes
* function removed: check_nvidia_vk_icd_file
###Scripts version 2198### Date: 02.06.2023 / Update download size: 9 megabytes.
* HOTFIX №2 for DLSS
* HOTFIX - language change
###Scripts version 2197### Date: 02.06.2023 / Update download size: 9 megabytes.
* HOTFIX for DLSS
###Scripts version 2196### Date: 01.06.2023 / Update download size: 9 megabytes.
* fixed language switching in PortProton
* successfully tested native versions of DLSS and DXR in Alt Linux on video cards from NVIDIA RTX series
* added settings file for new game: SystemShockRemake
* updated STEAM settings file with online fix (thanks to Boria | Arch | GNOME) To apply the changes, you need to run the STEAM auto-installation again
* minor interface improvements
* added variable for laptops with hybrid graphics to PortProton/data/user.conf: "export optirun_on= #nvidia-prime-run or prime-run"
* added condition: if "optirun_on" variable is not empty, then PRIME_RENDER_OFFLOAD and nvidia_vk_icd_file check are automatically enabled
###Scripts version 2195###
* FIX - install Rockstar Games Launcher
* DELETE - ROBLOX (need use: https://github.com/roblox-linux-wrapper/roblox-linux-wrapper)
* updated DXR и DLSS functions
###Scripts version 2194###
* HOTFIX - removed nvml verification in the plugins directory
###Scripts version 2193###
* a small change in the settings of 3D api, DXR, DXS.
* updated dxvk-nvapi to version 0.6.3
* updated FAKE_DLS 230506 (FidelityFx Super Resolution 2.2-3001-0-9-1683395145)
###Scripts version 2192###
* fixed interface window when changing its size
* HOTFIX - transition on the way to .exe file
###Scripts version 2191###
Date: 29.05.2023 / The size of the downloaded update: 450 megabytes.
* the libs_v43 library package has been updated
pressure-vessel 0.20230418.0
sniper 0.20230424.48416
YAD 12.3
* fixed vkPlay Cloud Cloud gaming (it is necessary to reinstall vkPlay from the AUTOINSTALL tab after updating the scripts)
* the installation and launch of Plarium Play has been restored
* PortProton has been transferred to a new version of the pseudographic interface: YAD 12.3
###Scripts version 2190###
* added auto-detection of the path to the file to be launched after selecting automatic installation ITCH.IO
* the FULCRUM GAMES launcher has been completely removed from PortProton due to the transition of all their PC games to the STEAM launcher
###Scripts version 2189###
* accelerated the launch of Metal War Online when the game is restarted. (ALT bug 46275) To apply the fix, you need to run the MWO auto-installation again
* fixed the display of Panzar game icons (ALT bug 46273)
* fixed the display of World of Sea Battle game icons (ALT bug 46274)
* fixed the installation and launch of Ankama Launcher (ALT bug 46276)
###Scripts version 2188###
* Indiegala Client installation is installed in a separate IGCLIENT prefix
* temporarily removed installers that require improvements:
Genshin Impact (the developers, for their part, again banned the launch under wine)
Plarium Play (requires dotnet 6, which does not work adequately at the moment)
Electronic Arts App (after switching from Origin to EA App launcher works, but the games do not start)
* added the ability to download a new version of wine: PROTON_STEAM_8.0-2D (using DOWNLOAD OTHER WINE)
* fixed incorrect display of the game icon when launching exe files similar in name: Setup, setup, Launcher, launcher (ALT bug 46269)
###Scripts version 2187###
* Added: (Thanks chal55rus Sergey P.)
CONTRACT WARS
Stalker Online
Metal War Online
Xenia
FCEUX
xemu
Demul
Rpcs3
###Scripts version 2186###
* added Genshin Impact
###Scripts version 2185###
* updated versions:
DXVK_GIT_VER="2.2-7"
VKD3D_GIT_VER="1.1-3424"
###Scripts version 2184###
* FIX for EveLauncher
###Scripts version 2183###
* minor fixes
* updated versions:
DXVK_GIT_VER="2.2-1"
VKD3D_GIT_VER="1.1-3414"
###Scripts version 2182###
* updated versions:
PROTON_GE="8-3"
DXVK_GIT_VER="2.1-85"
VKD3D_GIT_VER="1.1-3413"
###Scripts version 2181###
* updated versions:
PROTON_GE="8-2"
DXVK_GIT_VER="2.1-79"
VKD3D_GIT_VER="1.1-3410"
###Scripts version 2180###
* updated versions: WINE_LOL_GE_7.0-8 (for League of Legend)
###Scripts version 2179###
* compiled and added to GitHub a new version of WINE from our project: WINE_8.5_LG (Atomic Heart videos work)
* fixed videos in the Atomic Heart game (it is necessary to reinstall vkPlay from the AUTOINSTALL tab after updating the scripts)
###Scripts version 2178###
* updated versions:
PROTON_LG="7-54"
PROTON_GE="7-54"
DXVK_GIT_VER="2.1-51"
VKD3D_GIT_VER="1.1-3339"
###Scripts version 2177###
* Updated libs_v42 library package:
fixed installation of League of Legends
fixed problems with primary authorization in different launchers when using PROTON_LG
finally fixed the problem of launching RDR2 purchased from the Epic Games Launcher
* Added instructions for installing PortProton for OS "Alt Linux (Sisyphus)" in README.md and on the site linux-gaming.ru:
su -
epm full-upgrade
epm ei
epm play portproton
###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
@ -236,7 +1010,7 @@ Changelog:
* updated db files
###Scripts version 2065###
* HOTFIX - correcting the termination of the yad and yad_new processes
* HOTFIX - correcting the termination of the yad and yad_v12_3 processes
###Scripts version 2064###
* added notification to the user about possible problems when starting in a Wayland session (once and only under Wayland)

View File

@ -1,7 +1,579 @@
Вы можете помочь развитию проекта: portwine-linux.ru/donate/
Вы можете помочь развитию проекта: https://linux-gaming.ru/donate/
-----------------------------------------
История изменений:
###Scripts version 2226### Дата: 09.10.2023 / Размер скачиваемого обновления: 8 мегабайт
* обновлены автоустановки лончеров (спасибо Boria138)
* небольшие исправления скриптов
###Scripts version 2225### Дата: 08.10.2023 / Размер скачиваемого обновления: 8 мегабайт
* улучшен режим создания лога
* во вкладку "НАСТРОИТЬ" добавлено включение "USE_SYSTEM_VK_LAYERS" что дает возможность использовать системные mangohud, vkBasalt, obs-vkcapture и прочие
* во вкладку "НАСТРОИТЬ" добавлено включение "USE_OBS_VKCAPTURE" что дает возможность записи в OBS Studio с помощью obs-vkcapture (ВНИМАНИЕ: будет включено принудительное использование системных mangohud, vkBasalt, obs-vkcapture и прочих приложений использующих vulkan layers)
* обновлена установка League of Legends
###Scripts version 2224### Дата: 28.09.2023 / Размер скачиваемого обновления: 210 мегабайт
* глобальная чистка database файлов (спасибо Boria138)
* обновлен PROTON_LG до версии 8-17 (исправлены вкладки сообщество и поддержка в игре Genshin Impact)
* ускорен поиск nvngx.dll при включении NVAPI и DLSS
* добавлена проверка на запуск .desktop файла несуществующего приложения
###Scripts version 2223### Дата: 23.09.2023 / Размер скачиваемого обновления: 8 мегабайт
* обновлен префикс DOTNET
* временно заблокировано использование USE_US_LAYOUT под Wayland
###Scripts version 2222### Дата: 22.09.2023 / Размер скачиваемого обновления: 8 мегабайт
* HOTFIX: обновление префикса, на некоторых ОС
* WGC и LGC устанавливаются в отдельные префиксы
* исправлена очистка префикса DOTNET
* небольшие изменения вкладки настроек WINE
* исправлена функция принудительного использования английской раскладки
###Scripts version 2221### Дата: 19.09.2023 / Размер скачиваемого обновления: 230 мегабайт
* обновлен PROTON_LG до версии 8-15-1 (исправлено обновление префикса)
* добавлены параметры (спасибо Boria138)
REDUCE_PULSE_LATENCY - 'Уменьшить задержку pulseaudio для исправления прерывистого звука'
USE_US_LAYOUT - 'Принудительное использование английской раскладки (полезно для игр в которых управление верно работает исключительно на английской раскладке)'
###Scripts version 2220### Дата: 17.09.2023 / Размер скачиваемого обновления: 260 мегабайт
* HOTFIX: установка Plarium Play перенесена в префикс DOTNET
* HOTFIX: Запуск игры Мир Кораблей (для исправления запустите автоустановку Lesta Game Center)
* обновлены версии:
DXVK_GIT_VER 2.3-5
VKD3D_GIT_VER 1.1-3622
* обновлен PROTON_LG до версии 8-15
###Scripts version 2219### Дата: 03.09.2023 / Размер скачиваемого обновления: 8 мегабайт
* HOTFIX: запуск игры Starfield
* исправлена установка dotnet 4.6.1 необходимый для лончера Plarium Play
###Scripts version 2218### Дата: 03.09.2023 / Размер скачиваемого обновления: 8 мегабайт
* улучшена проверка RTX видеокарт
* добавлена проверка на гибридную графику NVIDIA + intel/amd (спасибо Boria138)
* добавлена переменная "__VK_LAYER_NV_optimus=NVIDIA_only" при включении "PRIME_RENDER_OFFLOAD" (спасибо Boria138)
* включена докачка файлов при проблемах со скачиванием
* удаление предыдущих версий libs и plugins происходит только при успешном завершении скачивания новых версий
* скачивание можно пропустить и использовать PP с предыдущими версиями библиотек (кроме WINE и библиотек Vulkan API)
* по умолчанию сделан выбор PROTON_LG и WINE_x.x_LG
* добавлена возможность использования по умолчанию стабильных версий DXVK и VKD3D (добавлением export PW_VULKAN_USE=1 в user.conf)
* исправлена ошибка c VKD3D_FEATURE_LEVEL 12_0 с запуском игр на стабильных версиях DXVK и VKD3D
* исправлена установка STALCRAFT
###Scripts version 2217### Дата: 31.08.2023 / Размер скачиваемого обновления: 8 мегабайт
* временно отключено определение Vulkan API из за возможных проблем на стороне vulkaninfo
* новейшие версии DXVK и VKD3D выбраны по умолчанию (более востребованы для новейших игр)
###Scripts version 2216### Дата: 30.08.2023 / Размер скачиваемого обновления: 650 мегабайт
* обновлен PROTON_LG до версии 8-14:
нет лишнего символа, на экране, при запуске STEAM_PP
исправлена установка BattleNET (еще раз)
* обновлены версии:
DXVK_STABLE_VER="2.2-34"
DXVK_GIT_VER="2.2-164"
VKD3D_STABLE_VER="1.1-3445"
VKD3D_GIT_VER="1.1-3556"
* обновлен пакет библиотек libs_v44:
pressure-vessel 0.20230718.0
sniper 0.20230718.55074
* добавлено автоматическое определение видеокарт NVIDIA RTX (спасибо Boria138)
* добавлено автоматическое включение поддержки DLSS и RAY TRACING для видеокарт NVIDIA RTX
* добавлена проверка на версию Vulkan API для совместимости с видеокартами без Vulkan API 1.3
###Scripts version 2215### Дата: 18.08.2023 / Размер скачиваемого обновления: 8 мегабайт
* добавлено зеркало скриптов: https://gitlab.eterfund.ru/Castro-Fidel/
* отключено создание сторонних (не работающих) ярлыков средствами wine (при использовании версий wine отличных от proton)
###Scripts version 2214### Дата: 04.08.2023 / Размер скачиваемого обновления: 250 мегабайт
* обновлен PROTON_LG до версии 8-11
* обновлен в "Авторы и спасибы" список бустеров которые хоть раз поддержали проект.
(Для тех кто хочет присоедениться к поддержке проекта: https://boosty.to/portwine-linux.ru)
###Scripts version 2213### Дата: 03.08.2023 / Размер скачиваемого обновления: 250 мегабайт
* обновлен PROTON_LG до версии 8-10 (фикс UBISOFT: купленные игры работают, для магазина нужен VPN)
* принято и доработано обновение от Boria138 добавляющее настройку ограничения использования ядер ЦПУ. (WINE_CPU_TOPOLOGY)
* добавлен фикс значительно уменьшающий нагрузку CPU и повышающий FPS в Unity играх (при условии более 8 логических ядер процессора)
* исправлены изменение и отключение огранчения FPS
###Scripts version 2212### Дата: 01.08.2023 / Размер скачиваемого обновления: 10 мегабайт
* добавлено использование D8VK (транслятор DirectX 8 в Vulkan API) для старых игр, при использовании DXVK и VKD3D
###Scripts version 2211### Дата: 31.07.2023 / Размер скачиваемого обновления: 9 мегабайт основные файлы и 90 мегабайт при запуске игры League Of Legends
* исправлена работа League Of Legends (обновлен WINE_LOL_GE_8.12)
* обновлен README на GitHub (спасибо Boria138)
###Scripts version 2210### Дата: 28.07.2023 / Размер скачиваемого обновления: 9 мегабайт.
* исправлены установка и обновление лончеров (требуется тест на разных системах):
BattleNET
STEAM_PP
* множество небольших изменений скриптов
###Scripts version 2209### Дата: 26.07.2023 / Размер скачиваемого обновления: 9 мегабайт.
* добавлена автоустановка игры: "Battle Of Space Raiders" (спасибо Boria138)
* приняты небольшие исправления от Boria138
* HOTFIX - исправлены проблемы работы PROTON_LG_8-X на некоторых системах (отображение черных лончеров и потеря библиотек необходимых для игр)
###Scripts version 2208### Дата: 24.07.2023 / Размер скачиваемого обновления: 9 мегабайт.
* добавлена возможность изменения названия при создании "ярлыка" (спасибо Maks1mS)
* приняты небольшие исправления от Boria138
* исправлена установка Genshin Impact
###Scripts version 2207### Дата: 23.07.2023 / Размер скачиваемого обновления: 250 мегабайт.
* обновлен PROTON_LG до версии 8-9
* обновлены версии:
DXVK_GIT_VER="2.2-137"
VKD3D_GIT_VER="1.1-3516"
###Scripts version 2206### Дата: 07.07.2023 / Размер скачиваемого обновления: 250 мегабайт.
* обновлен PROTON_LG до версии 8-6 (совместно с версией MONO 8.0)
* обновлены версии:
DXVK_GIT_VER="2.2-116"
VKD3D_GIT_VER="1.1-3488"
* добавлена автоустановка игры: Guild Wars 2
###Scripts version 2205### Дата: 01.07.2023 / Размер скачиваемого обновления: 240 мегабайт.
* обновлен PROTON_LG до версии 8-4
* с версией PROTON_LG_8-4 снова работает игра "Мир Кораблей"
* с версией PROTON_LG_8-4 снова работает лончер "Ubisoft Connect"
###Scripts version 2204### Дата: 29.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* улучшение локализации (спасибо Boria138)
* обновлены автоустановки LGC и WGC
###Scripts version 2203### Дата: 23.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* дополнены всплывающие подсказки в меню настроек vkBasalt (спасибо Boria138)
* обновлен установщик Battle.net
###Scripts version 2202### Дата: 15.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* возвращена установка Genshin Impact. (Снова заработал, на долго?)
* исправлена загрузка WINE версий PROTON-GE
###Scripts version 2201### Дата: 12.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* улучшена читаемость вывода при запуске portproton из терминала
* исправлен запуск игры World of Sea Battle
* добавлен выбор файла настроек перед запуском setup.exe
###Scripts version 2200### Дата: 06.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* обновлен WINE для League of Legends (Для применения изменений требуется снова запустить автоустановку League of Legends)
###Scripts version 2199### Дата: 05.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* добавлен фикс для установки некоторых репаков от xatab
* удалена функция: check_nvidia_vk_icd_file (в ней теперь нет необходимости)
###Scripts version 2198### Дата: 02.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* HOTFIX №2 для включения DLSS
* HOTFIX выбора языка интерфейса
###Scripts version 2197### Дата: 02.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* HOTFIX для включения DLSS
###Scripts version 2196### Дата: 01.06.2023 / Размер скачиваемого обновления: 9 мегабайт.
* исправлено переключение языка в PortProton
* успешно проверена работа нативных версий DLSS и DXR в Alt Linux на видеокартах от NVIDIA серии RTX
* добавлен файл настроек для новой игры: SystemShockRemake
* обновлен файл настроек STEAM с онлайн фиксом (спасибо Boria | Arch | GNOME) Для применения изменений требуется снова запустить автоустановку STEAM
* небольшие улучшения интерфейса
* в PortProton/data/user.conf добавлена переменная для ноутбуков с гибридной графикой: "export optirun_on= #nvidia-prime-run or prime-run"
* добавлено условие: если переменная "optirun_on" не пустая, то автоматически включается PRIME_RENDER_OFFLOAD и проверка nvidia_vk_icd_file
###Scripts version 2195### Дата: 30.05.2023 / Размер скачиваемого обновления: 16 мегабайт.
* исправлена установка Rockstar Games Launcher (ALT bug 46277)
* временно убран установщик ROBLOX (ALT bug 46283)
* добавлена поддержка DXR и DLSS в Alt Linux (необходимо выбирать новейшие версии DXVK и VKD3D)
###Scripts version 2194### Дата: 30.05.2023 / Размер скачиваемого обновления: 9 мегабайт.
* HOTFIX - убрана проверка nvml в каталоге plugins
###Scripts version 2193### Дата: 30.05.2023 / Размер скачиваемого обновления: 15 мегабайт.
* обновление функций выбора 3D api, DXR, DLSS, FAKE_DLSS
* обновлен dxvk-nvapi до версии 0.6.3
* обновлен FAKE_DLSS 230506 (FidelityFx Super Resolution 2.2-3001-0-9-1683395145)
###Scripts version 2192### Дата: 30.05.2023 / Размер скачиваемого обновления: 9 мегабайт.
* исправлено "убегание" окна интерфейса при изменении его размера
* HOTFIX - переход по пути до .exe файла
###Scripts version 2191###
Дата: 29.05.2023 / Размер скачиваемого обновления: 450 мегабайт.
* обновлен пакет библиотек libs_v43
pressure-vessel 0.20230418.0
sniper 0.20230424.48416
YAD 12.3
* исправлен облачный гейминг vkPlay Cloud (необходимо после обновления скриптов повторно переустановить vkPlay из вкладки АВТОУСТАНОВКА)
* восстановлена установка и запуск Plarium Play
* PortProton переведен на новую версию псевдографического интерфейса: YAD 12.3
###Scripts version 2190###
* добавлено автоопределение пути до запускаемого файла после выбора автоматической установки ITCH.IO (ALT bug 46278)
* полностью удален лончер FULQRUM GAMES из PortProton в связи с переходом всех их ПК игр в лончер STEAM (ALT bug 46279)
###Scripts version 2189###
* ускорен запуск Metal War Online при повторном запуске игры. Добавлен комментарий: На данный момент игра работает, но долго запускаеться из Лаунчера. После установки игры, при повторном запуске, игра будет запускаться быстро. (ALT bug 46275) Для применения исправления требуется снова запустить автоустановку MWO
* исправлено отображение иконок игры Panzar (ALT bug 46273)
* исправлено отображение иконок игры World of Sea Battle (ALT bug 46274)
* исправлена установка и запуск Ankama Launcher (ALT bug 46276)
###Scripts version 2188###
* установка Indiegala Client устанавливается в отдельный префикс IGCLIENT и добавлена информация при запуске лончера: После первого подтверждения логина в вашем браузере необходимо перезапустить игру
* временно убраны установщики которые треуют доработки:
Genshin Impact (разработчики со своей стороны снова запретили запуск под wine)
Plarium Play
Electronic Arts App (после перехода с Origin на EA App лончер работает, но игры не запускаются)
* добавлена возможность скачивания новой версии wine: PROTON_STEAM_8.0-2D (с помощью DOWNLOAD OTHER WINE)
* исправлено неправильное отображение иконки игры при запуске схожих по названию exe файлов: Setup, setup, Launcher, launcher (ALT bug 46269)
###Scripts version 2187###
* добавлена установка эмуляторов: (Спасибо chal55rus Sergey P.)
Xenia
FCEUX
xemu
Demul
Rpcs3
* добавлена установка игры: (Спасибо chal55rus Sergey P.)
CONTRACT WARS
Stalker Online
Metal War Online
###Scripts version 2186###
* добавлена установка Genshin Impact (работает с оригинальным античитом)
###Scripts version 2185###
* обновлены версии:
DXVK_GIT_VER="2.2-7"
VKD3D_GIT_VER="1.1-3424"
###Scripts version 2184###
* фикс установки EveLauncher
###Scripts version 2183###
* небольшие изменения функции скачивания
* добавлен экспериментальный префикс PROGRAMS
* обновлены версии (исправлен запуск BattleNET и vkPlay на новейших версиях DXVK и VKD3D):
DXVK_GIT_VER="2.2-1"
VKD3D_GIT_VER="1.1-3414"
###Scripts version 2182###
* обновлены версии:
PROTON_GE="8-3"
DXVK_GIT_VER="2.1-85"
VKD3D_GIT_VER="1.1-3413"
###Scripts version 2181###
* обновлены версии:
PROTON_GE="8-2"
DXVK_GIT_VER="2.1-79"
VKD3D_GIT_VER="1.1-3410"
###Scripts version 2180###
* обновлен WINE_LOL_GE_7.0-8 (League of Legend снова работает)
###Scripts version 2179###
* скомпилирована и добавлена на GitHub версия WINE от нашего проекта: WINE_8.5_LG (работаю видеоролики в Atomic Heart)
* исправлены видеоролики в игре Atomic Heart (необходимо после обновления скриптов повторно переустановить vkPlay из вкладки АВТОУСТАНОВКА)
###Scripts version 2178###
* обновлены версии:
PROTON_LG="7-54" (Исправлена работа сервисов Epic Games Launcher)
PROTON_GE="7-54" (Исправлена работа сервисов Epic Games Launcher)
DXVK_GIT_VER="2.1-51"
VKD3D_GIT_VER="1.1-3339" (улучшена работа The Last of Us, Uncharted и других DX12 игр)
###Scripts version 2177###
* Обновлен пакет библиотек libs_v42:
исправлена установка League of Legends
исправлены проблемы с первичной авторизацией в разных лончерах при использовании PROTON_LG
окончательно исправлена проблема запуска RDR2 купленной в Epic Games Launcher
* добавлена инструкция установки PortProton для ОС "Alt Linux (Sisyphus)" в README.md и на сайте linux-gaming.ru:
su -
epm full-upgrade
epm ei
epm play portproton
###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
###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
@ -239,7 +811,7 @@
* обновлены db файлы
###Scripts version 2065###
* HOTFIX - корректировка завершения процессов yad и yad_new
* HOTFIX - корректировка завершения процессов yad и yad_v12_3
###Scripts version 2064###
* добавлено уведомление пользователю о возможных проблемах при запуске в Wayland сессии (один раз и только под Wayland)
@ -424,7 +996,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###
@ -646,7 +1218,7 @@ PS: не забывает для активации добавить перем
###Scripts version 1104###
* крупное обновлеение контейнера (libs_v16):
- добавлен /bin/yad_new версии 10.1 скомпилированный специально для будущего меню в трее)
- добавлен /bin/yad_v12_3 версии 10.1 скомпилированный специально для будущего меню в трее)
- обновлен MANGOHUD (требуется проверка под OpenGL)
- обновлен 7z необходимый для будущей автоматической установки Rockstar Game Launcher
* для тестовой поддержки wayland добавлена переменная в скрипт var: GDK_BACKEND="x11"
@ -869,7 +1441,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)
@ -952,7 +1524,7 @@ PS: не забывает для активации добавить перем
* убран xterm из debug (иначе ломает шрифты)
* добавлена кнопка редактирования найденного db файла
* ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force
* изменение сравнения версий скриптов и портов "$(curl -s --list-only "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
@ -964,7 +1536,7 @@ PS: не забывает для активации добавить перем
* добавлен прогресс загрузки библиотек с интернета
* добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла
* исправлено дублирование db файлов при создании ярлыков
* перенос libs с сервера PortWINE-Linux.ru на 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)
@ -1008,6 +1580,3 @@ PS: не забывает для активации добавить перем
* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению) 
* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась)
###ЗАМЕТКИ###
* проверка версий dxvk на github: curl -s github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
* проверка версий vkd3d на github: curl -s 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 = 240
d3d9.maxFrameRate = 240
# 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.
#
@ -64,8 +84,8 @@
#
# Supported values: Any non-negative number
# dxgi.syncInterval = -1
# d3d9.presentInterval = -1
# dxgi.syncInterval = 0
# d3d9.presentInterval = 0
# True enables the mailbox present mode in case regular Vsync is disabled.
@ -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.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1017 B

After

Width:  |  Height:  |  Size: 2.2 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 987 B

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: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

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.

After

Width:  |  Height:  |  Size: 10 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 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: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 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.

After

Width:  |  Height:  |  Size: 7.2 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 12 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.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 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: 2.9 KiB

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: 3.1 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 57 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

@ -1,20 +1,391 @@
#!/usr/bin/env bash
# Author: chal55rus, Castro-Fidel (linux-gaming.ru)
########################################################################
if [ "${update_loc}" = "RUS" ]
then
KEY_CREDITS=$RANDOM
KEY_CREDITS=$RANDOM
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \
--text-align=center --scroll --text="PortProton v.${install_ver}
"${pw_yad_v12_3}" --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://portwine-linux.ru
https://linux-gaming.ru
Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)
Авторские права © 2022 Castro-Fidel (linux-gaming.ru)
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия." 2>/dev/null &
"${pw_yad_v12_3}" --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
Boria138
" 2>/dev/null &
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< " Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (linux-gaming.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
права использовать, копировать, изменять, объединять, публиковать, распространять,
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
следующих условий:
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." 2>/dev/null &
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --fontname="Serif bold italic 12" --show-uri --scroll \
<<< ' Проект поддержали:
https://boosty.to/portwine-linux.ru
1 1
A B
AdamArclight666
Akai
AkiraKai
Aleks
Aleksey Shvetcov
Alex Sh
Alexey RasskazovskyQ
Alexsei Cherniavskiy
Allegra_g
AlxChkln
amikha1lov
Andrei K
anisan_sg
Another games
Apofis Smab
apolon
Aule Mahal
Azartiny Mor
Bat1stuff
BELIJJAaL
benya
BRXC
Bunny Sword
CanBoo
Captain Dmitro
caradat
chal55rusSergey P.
Coin Hunt
Cruze
D M_y
d.kostroma
Dadenard
Dallasss
Daniil Go
Dencher12
Denis Veduta
devmorro
Dezert1r
didi_side
Dima Manshin
Dmitriy Tokarev
Dnevnnoy
Drakorgaur
DSergeev
dunkanMcLoud
dupster mailbox
El Mago
Eliot
Ethan Winters
Evgen Buiko
Evgeniy Politov
EvilDevolver
fight fox
funti2f
fusiok
GaiverX
Gekko
Geomant17
gg_harper
Graddlly
Happy Husky
haravara
Haschwalth
haunteduser
Homyakin
horuno2020
Igor14936
Ivan Vlasov
ivboss
Ivory_drive
Jackie
Jeta
JRX
July April
Kitsune_Yagiza
ksandr4370
LeGi0neR
Lexa XLS
lifeteo
Linux Vumtut
Lonely Lonely
Looter-bit
Lynx Jam
Maks Jjot
Maksami Cordyceps
Maktub
Melord
MetaP
Michael Karpenya
MICROFARAT
MLogaut
Monti Roquefort
Mr. Gex
MrBatonio
mrquokka
nanCreate
Nesterik
Nikola P.
Nuclearsun
Nurik
Oleg55Rus
onix
Optimus
Ottakvot
paulscathedral
PaveL SakharuK
penguin4ek
Pependos
PLAFON
PlagueEvgeny
Rojok56
Ruslan Vlasov
Rustam
Saireg
SamualV
sanelasan
sashman
Seeropoonya
sendependa_dio
Sergey Zotov
shecspir
Slir3x
Soma
sship
Subscript
Sudo Connect
sugoyako
svo
Taras Zagibalov
The End
tima
typedef
ua3dko
V1ktr
Valevicor
VanBugel
vano_364
VAtiB
Vikthor Prieto
vlad petrov
Vosarat
VUMtut
Windchester
WK217
wrager
xpamych
Xpamych
Yasiok
Yurec
Zillah Giovanni
Zloy Ivan
Zorit
Александр Абдулов
Александр Аброськин
Александр Кладов
Александр Лобанов
Александр Мерзликин
Алексей Ultralin
Алексей Войтенко
Алексей Галаш
Алексей Зубрийчук
Алексей Ивушкин
Алексей Самойлов
Алексей Чугунов
Андрей Гусаков
Андрей Карпенцов
Андрей Нешта
Антон Рудковский
Антон Фамилианов
Антоний Дамикан
Артём К.
Артём М.
Валерий Толмачёв
Виктор Щетинин
Виндэтарог
Виталий Богаченко
Виталий Нуров
Виталий Росляков
Виталий Яновский
Влад Блинов
Влад Кладиев
Владимир Бильдюкевич
Владимир Гл-Ко
Владимир Дарвин
Владимир Мурзин
Вячеслав Шитюков
Вячеслав Шустров
Георгий Гурский
Григорий Кожуханцев
Данил Лужецкий
Данил Павлов
Дед Мазай
Денис Мальцев
Денис Матій
Денис Олефиренко
Дмитрий
Дмитрий Круглов
Дмитрий Лихачёв
Дмитрий Мазанка
Дмитрий Маньшин
Дмитрий Матвеенко
Дмитрий Сидоров
Евгений Бебин
Евгений Горенков
Евгений Долгополов
Евгений Хирвонен
Евгений Храмов
Егор Кречун
Жан-Люк Пикар
Женя Рябушкин
Иван Белекеев
Иван Сильянов
Иван Чевычелов
Кирилл Пушкарский
Кирилл Т
Коляныч Королёв
Константин __
Константин Абадонна
Леонид
Макс Безумный
Максим Хмара-Миронов
Маленькая сосна
Марат
Марат Рахимов
Михаил Полозов
Неизвестый Дмитрий
Никита Булавин
Никита Иванов
Никита Попков
николай гинтов
Николай Садомов
Олег Скакунов
Павел Иванов
Павел Пашенцев
Павел Хозяинимени
Равич Ревес
Рамиль Миннигалиев
Рома Б.
Роман Игнатьев
Роман Паженский
Ростислав Кузнецов
Саша
Семён
Семён Клишин
Семён Сорокин
Сергей Sid
Сергей Александрович К.
Сергей Шипарев
Серёга Сапрыкин
Стас Толкачёв
Тима Суеубаев
Тимофей Ковалев
Тимур Сафонов
Удалить Аккаунт
Хоттабыч
Энвер
Юрий Константинов
Юрий С.
Юрий Семен
Ярослав Москвин
Список будет дополняться...' 2>/dev/null &
"${pw_yad_v12_3}" --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
Yandex кошелек: 410012267513818
-------------------------------------------" 2>/dev/null &
"${pw_yad_v12_3}" --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" 2>/dev/null &
"${pw_yad_v12_3}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--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_v12_3}" --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." &
See the License for details." 2>/dev/null &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=2 \
--text-align=center --scroll --text="Author: Casro-Fidel (Mikhail Tergoev)
Developer assistants and testers:
@ -25,17 +396,23 @@ Anton_Famillianov
RidBowt
chal55rus
UserDiscord
survolog
Survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
" &
zorn
Vano Majukin
Sergey 33(46)RUS
WelchDragon
Vuursteen
Boria138
" 2>/dev/null &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License
Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
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
@ -53,232 +430,308 @@ 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." &
SOFTWARE." 2>/dev/null &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \
--text-info --show-uri --scroll <<< 'https://boosty.to/portwine-linux.ru:
"${pw_yad_v12_3}" --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:
1 1
A B
AdamArclight666
Akai
Aleks
Alex Sh
Alexsei Cherniavskiy
Allegra_g
AlxChkln
Andrei K
Another games
Apofis Smab
Aule Mahal
Azartiny Mor
BELIJJAaL
CanBoo
Coin Hunt
Cruze
DIO
Dadenard
Dallasss
Daniil Go
Dencher12
Denis
Dezert1r
Dima Manshin
Dmitriy Tokarev
Drakorgaur
El Mago
Eliot
Ethan Winters
Evgen Buiko
EvilDevolver
GaiverX
Gekko
Geomant17
Happy Husky
Homyakin
Ivan Vlasov
LeGi0neR
Lexa XLS
Linux Vumtut
Lonely Lonely
MICROFARAT
MLogaut
Maksami Cordyceps
Maktub
Melord
Monti Roquefort
MrBatonio
Nesterik
Nikola P.
Nuclearsun
Nurik
Oleg55Rus
Optimus
Ottakvot
PLAFON
Pependos
PlagueEvgeny
Rojok56
Ruslan Vlasov
Rustam
Saireg
Seeropoonya
Soma
StGdG
Subscript
Sudo Connect
Taras Zagibalov
The End
Tykva
V1ktr
VAtiB
VUMtut
VanBugel
Vikthor Prieto
Vosarat
Windchester
Xpamych
Yurec
Yuri Emelyanov
Zillah Giovanni
Zloy Ivan
Zorit
amikha1lov
anisan_sg
apolon
benya
chal55rus(Sergey P.)
d.kostroma
dunkanMcLoud
dupster mailbox
fight fox
funti2f
fusiok
gg_harper
haravara
ivboss
ksandr4370
onix
paulscathedral
penguin4ek
sanelasan
sashman
sendependa_dio
shecspir
sship
sugoyako
tima
ua3dko
vlad petrov
wrager
xpamych
Александр
Александр Абдулов
Александр Кладов
Александр Лобанов
Алексей Ultralin
Алексей Войтенко
Алексей Галаш
Алексей Зубрийчук
Алексей Ивушкин
Алексей Кравчук
Алексей Чугунов
Андрей Гусаков
Андрей Карпенцов
Антон Рудковский
Антон Фамилианов
Антоний Дамикан
Артём К.
Валерий Толмачёв
Виктор Шварц
Виктор Щетинин
Виндэта(рог)
Виталий Нуров
Влад Блинов
Влад Кладиев
Владимир Бильдюкевич
Владимир Дарвин
Вячеслав Шитюков
Вячеслав Шустров
Георгий Гурский
Данил Павлов
Дед Мазай
Денис Мальцев
Денис Матій
Денис Олефиренко
Дмитрий Круглов
Дмитрий Мазанка
Дмитрий Сидоров
Евгений Бебин
Евгений Долгополов
Евгений Хирвонен
Евгений Храмов
Егор Кречун
Женя Рябушкин
Иван Белекеев
Коляныч Королёв
Константин __
Константин Абадонна
Леонид
Максим Хмара-Миронов
Маленькая сосна
Марат
Марат Рахимов
Неизвестый Дмитрий
Никита Булавин
Павел Иванов
Павел Пашенцев
Равич Ревес
Рамиль
Рома Б.
Роман Игнатьев
Роман Паженский
Саша
Семён Клишин
Семён Ярополов
Сергей Казёнкин
Сергей Круглов
Серёга Сапрыкин
Стас Толкачёв
Тима Суеубаев
Тимофей Ковалев
Тимур Сафонов
Удалить Аккаунт
Хоттабыч
Николай Гинтов
1 1
A B
AdamArclight666
Akai
AkiraKai
Aleks
Aleksey Shvetcov
Alex Sh
Alexey RasskazovskyQ
Alexsei Cherniavskiy
Allegra_g
AlxChkln
amikha1lov
Andrei K
anisan_sg
Another games
Apofis Smab
apolon
Aule Mahal
Azartiny Mor
Bat1stuff
BELIJJAaL
benya
BRXC
Bunny Sword
CanBoo
Captain Dmitro
caradat
chal55rusSergey P.
Coin Hunt
Cruze
D M_y
d.kostroma
Dadenard
Dallasss
Daniil Go
Dencher12
Denis Veduta
devmorro
Dezert1r
didi_side
Dima Manshin
Dmitriy Tokarev
Dnevnnoy
Drakorgaur
DSergeev
dunkanMcLoud
dupster mailbox
El Mago
Eliot
Ethan Winters
Evgen Buiko
Evgeniy Politov
EvilDevolver
fight fox
funti2f
fusiok
GaiverX
Gekko
Geomant17
gg_harper
Graddlly
Happy Husky
haravara
Haschwalth
haunteduser
Homyakin
horuno2020
Igor14936
Ivan Vlasov
ivboss
Ivory_drive
Jackie
Jeta
JRX
July April
Kitsune_Yagiza
ksandr4370
LeGi0neR
Lexa XLS
lifeteo
Linux Vumtut
Lonely Lonely
Looter-bit
Lynx Jam
Maks Jjot
Maksami Cordyceps
Maktub
Melord
MetaP
Michael Karpenya
MICROFARAT
MLogaut
Monti Roquefort
Mr. Gex
MrBatonio
mrquokka
nanCreate
Nesterik
Nikola P.
Nuclearsun
Nurik
Oleg55Rus
onix
Optimus
Ottakvot
paulscathedral
PaveL SakharuK
penguin4ek
Pependos
PLAFON
PlagueEvgeny
Rojok56
Ruslan Vlasov
Rustam
Saireg
SamualV
sanelasan
sashman
Seeropoonya
sendependa_dio
Sergey Zotov
shecspir
Slir3x
Soma
sship
Subscript
Sudo Connect
sugoyako
svo
Taras Zagibalov
The End
tima
typedef
ua3dko
V1ktr
Valevicor
VanBugel
vano_364
VAtiB
Vikthor Prieto
vlad petrov
Vosarat
VUMtut
Windchester
WK217
wrager
xpamych
Xpamych
Yasiok
Yurec
Zillah Giovanni
Zloy Ivan
Zorit
Александр Абдулов
Александр Аброськин
Александр Кладов
Александр Лобанов
Александр Мерзликин
Алексей Ultralin
Алексей Войтенко
Алексей Галаш
Алексей Зубрийчук
Алексей Ивушкин
Алексей Самойлов
Алексей Чугунов
Андрей Гусаков
Андрей Карпенцов
Андрей Нешта
Антон Рудковский
Антон Фамилианов
Антоний Дамикан
Артём К.
Артём М.
Валерий Толмачёв
Виктор Щетинин
Виндэтарог
Виталий Богаченко
Виталий Нуров
Виталий Росляков
Виталий Яновский
Влад Блинов
Влад Кладиев
Владимир Бильдюкевич
Владимир Гл-Ко
Владимир Дарвин
Владимир Мурзин
Вячеслав Шитюков
Вячеслав Шустров
Георгий Гурский
Григорий Кожуханцев
Данил Лужецкий
Данил Павлов
Дед Мазай
Денис Мальцев
Денис Матій
Денис Олефиренко
Дмитрий
Дмитрий Круглов
Дмитрий Лихачёв
Дмитрий Мазанка
Дмитрий Маньшин
Дмитрий Матвеенко
Дмитрий Сидоров
Евгений Бебин
Евгений Горенков
Евгений Долгополов
Евгений Хирвонен
Евгений Храмов
Егор Кречун
Жан-Люк Пикар
Женя Рябушкин
Иван Белекеев
Иван Сильянов
Иван Чевычелов
Кирилл Пушкарский
Кирилл Т
Коляныч Королёв
Константин __
Константин Абадонна
Леонид
Макс Безумный
Максим Хмара-Миронов
Маленькая сосна
Марат
Марат Рахимов
Михаил Полозов
Неизвестый Дмитрий
Никита Булавин
Никита Иванов
Никита Попков
николай гинтов
Николай Садомов
Олег Скакунов
Павел Иванов
Павел Пашенцев
Павел Хозяинимени
Равич Ревес
Рамиль Миннигалиев
Рома Б.
Роман Игнатьев
Роман Паженский
Ростислав Кузнецов
Саша
Семён
Семён Клишин
Семён Сорокин
Сергей Sid
Сергей Александрович К.
Сергей Шипарев
Серёга Сапрыкин
Стас Толкачёв
Тима Суеубаев
Тимофей Ковалев
Тимур Сафонов
Удалить Аккаунт
Хоттабыч
Энвер
Юрий Константинов
Юрий С.
Юрий Семен
Ярослав Москвин
Список будет дополняться...' &
The list will be updated...' 2>/dev/null &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \
"${pw_yad_v12_3}" --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://portwine-linux.ru
"Website: http://linux-gaming.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
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" &
Become a paid subscriber:
boosty: https://boosty.to/portwine-linux.ru
Yandex wallet: 410012267513818
-------------------------------------------" 2>/dev/null &
"${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \
--text-info <<< "Сторонние библиотеки, которые используются в PortProton
"${pw_yad_v12_3}" --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 собран на основе следующих бесплатных библиотек программного обеспечения:
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/
YAD: https://github.com/v1cont/"${pw_yad_new}"
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 \
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity" 2>/dev/null &
"${pw_yad_v12_3}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--notebook --no-buttons --tab-pos=bottom \
--tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \
--tab="THIRD PARTY LIBRARIES"
/usr/bin/env bash -c ${pw_full_command_line[*]}
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
@ -7,28 +7,39 @@ pw_ping_test () {
}
print_error () {
echo "ERROR: $@"
printf "\E[31m%s Error: $@ %s\e[0m\n"
}
export -f print_error
print_warning () {
printf "\E[33m%s Warning: $@ %s\e[0m\n"
}
export -f print_warning
print_info () {
echo "INFO: $@"
printf "\E[36m%s Info: $@ %s\e[0m\n"
}
export -f print_info
print_debug () {
printf "\E[35m%s Debug: $@ %s\e[0m\n"
}
export -f print_debug
print_var () {
for vp in $@ ; do echo "${vp}=${!vp}" ; done
for vp in $@ ; do print_info "${vp}=${!vp}" ; done
}
export -f print_var
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
try_copy_file () {
if [ ! -f "$1" ] ; then print_info "file $1 not found for copy" && return 1
elif [ -z "$2" ] ; then print_error "no way to copy file $1" && return 1
else
cp -f "$1" "$2"
if [ "$?" != 0 ]
then print_error "failed to copy file $1 to $2" || return 1
then print_error "failed to copy file $1 to $2" && return 1
else return 0
fi
fi
@ -47,7 +58,7 @@ try_copy_dir () {
export -f try_copy_dir
try_remove_file () {
if [ -f "$1" ] ; then
if [ -f "$1" ] || [ ! -e "$1" ] ; then
rm -f "$1"
[ "$?" == 0 ] && return 0 || return 1
fi
@ -104,24 +115,31 @@ 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 \
wget -c -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download $(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."
try_remove_file "$2"
return 1
else
return 0
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
wget -c -O "$2" --read-timeout 300 --retry-connrefused --timeout 3 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Try download ${PW_DOWNLOAD_FILE_NAME} from FTP" --text=Starting... --auto-close --width=500 --height=90
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
return 1
fi
fi
try_remove_file "${PORT_WINE_TMP_PATH}/download_log"
return 0
}
try_download_to_path () {
set -o pipefail
wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
wget --directory-prefix="$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90
@ -134,7 +152,7 @@ try_download_to_path () {
}
try_download_silent () {
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \
wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 4 --tries 2 --no-dns-cache --no-cache \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "Failed to download $1. Skipping."
@ -184,25 +202,39 @@ var_vk_istance_layers_config_update () {
return 0
}
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
if [[ `command -v zstd` ]] &>/dev/null ; then
tar -I zstd -xhvf "$1" -C "$2" | sszen
[ "${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_clear_pfx () {
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.dotnet48"
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
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"
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/userdef.reg"
@ -234,33 +266,70 @@ 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
print_info "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}"
echo "# User overides db and var settings..." >> "${USER_CONF}"
chmod u+x "${USER_CONF}"
echo "# export DXVK_HUD=full" >> "${USER_CONF}"
echo "# export GALLIUM_HUD=fps" >> "${USER_CONF}"
echo "export optirun_on= #nvidia-prime-run or prime-run" >> "${USER_CONF}"
else
grep "optirun_on" "${USER_CONF}" >/dev/null
[[ "$?" != 0 ]] && echo "export optirun_on=" >> "${USER_CONF}"
fi
return 0
}
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}"
then export PW_WINE_USE="${PW_WINE_LG_VER}"
fi
[ ! -z "${PW_WINE_VER}" ] && export PW_WINE_USE=`echo "${PW_WINE_VER}" | tr [[:lower:]] [[:upper:]]`
[ ! -z "${PW_WINE_USE}" ] && export PW_WINE_USE=`echo "${PW_WINE_USE}" | tr [[:lower:]] [[:upper:]]`
@ -269,10 +338,10 @@ 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
@ -296,54 +365,60 @@ 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
try_remove_file "${WINEDIR}/lib/libsteam_api.so"
try_remove_file "${WINEDIR}/lib64/libsteam_api.so"
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
for mono_gecko_chk in "mono" "gecko" ; do
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | sszen
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
echo "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
print_info "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
else
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
print_warning "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
fi
done
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"
sed -i '/winemenubuilder/d' "${WINEDIR}/share/wine/wine.inf"
fi
fi
rm -f "${WINEDIR}"/lib*/*steam* &>/dev/null
rm -f "${WINEDIR}"/lib*/wine/*/*steam* &>/dev/null
rm -f "${WINEDIR}"/lib*/wine/*-windows/winemenubuilder.exe &>/dev/null
return 0
}
pw_init_runtime () {
if [[ -n "$(grep "ROSA Fresh" "/etc/os-release")" ]] ; then
if grep -q -E '(ROSA Fresh|RED OS)' "/etc/os-release" ; then
export LOCPATH="/run/host/usr/share/locale/"
elif grep -q "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"
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"
export DISABLE_VK_LAYER_VALVE_steam_fossilize_1=1
export DISABLE_VK_LAYER_VALVE_steam_overlay_1=1
if [ ! -z ${PATH_TMP} ]
then export PATH="${PATH_TMP}"
else export PATH_TMP="${PATH}"
@ -352,15 +427,17 @@ 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"
fi
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
create_new_dir "${WINEDIR}"/gstreamer_tmp/
export WINE_GST_REGISTRY_DIR="${WINEDIR}"/gstreamer_tmp/
export MEDIACONV_AUDIO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_video.foz
else
var_winedlloverride_update "winegstreamer="
fi
@ -369,25 +446,26 @@ pw_init_runtime () {
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
--no-gc-legacy-runtimes \
--no-gc-runtimes \
--copy-runtime \
--remove-game-overlay \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--share-home \
--no-gc-legacy-runtimes \
--no-gc-runtimes \
--copy-runtime \
--remove-game-overlay \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
# export PRESSURE_VESSEL_GRAPHICS_PROVIDER=""
if [[ "$PW_USE_SYSTEM_VK_LAYERS" == "1" ]] ; then
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
unset PW_VK_LAYER_PATH
else
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d"
fi
# 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"
@ -406,11 +484,11 @@ pw_init_runtime () {
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
print_info "RUNTIME is enabled"
}
pw_mangohud_check () {
if [[ "${PW_MANGOHUD}" == "1" ]] ; then
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
@ -420,7 +498,10 @@ pw_mangohud_check () {
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
fi
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32"
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'
@ -440,8 +521,7 @@ pw_vkbasalt_check () {
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_processing32:VK_LAYER_VKBASALT_post_processing64"
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
@ -450,14 +530,6 @@ pw_vkbasalt_check () {
return 0
}
check_nvidia_vk_icd_file () {
if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/etc/vulkan/icd.d/nvidia_icd.json"
fi
}
regdlloverrides () {
PW_DLL_EXE=`echo $@ | awk -F: '{print $1}'`
PW_DLL_LIB=`echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}'`
@ -471,7 +543,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
}
@ -505,14 +582,18 @@ kill_portwine () {
export -f kill_portwine
pw_kill_autostart () {
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 5
sleep "${SWAIT}"
else
sleep 5
sleep "${SWAIT}"
kill_portwine
break
fi
@ -527,11 +608,11 @@ pw_kill_autostart () {
export -f pw_kill_autostart
stop_portwine () {
if [ "$int_xneur" = "1" ]; then
if [[ "$int_xneur" == "1" ]] ; then
xneur &
fi
if [ ! -z ${PW_XKBD} ]; then
setxkbmap ${PW_XKBD}
if [[ "$PW_USE_US_LAYOUT" == "1" ]] ; then
setxkbmap
fi
pw_stop_progress_bar
try_remove_file "${PORT_SCRIPTS_PATH}/0"
@ -539,22 +620,17 @@ stop_portwine () {
kill_portwine &&
try_remove_dir "${PW_WINELIB}/var"
find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null
if [ ! -z "`pgrep -a yad_v12_3 | grep "\--notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_v12_3 | grep "\--notification" | awk '{print $1}'`" 2>/dev/null
fi
add_in_stop_portwine &>/dev/null
add_in_stop_portwine #&>/dev/null
kill -n 9 `pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}'` > /dev/null 2>&1
killall yad_new &>/dev/null
killall yad_v12_3 &>/dev/null
exit 0
}
export -f stop_portwine
pw_download_libs () {
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`" ] ; then
for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
done
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
@ -562,21 +638,37 @@ pw_download_libs () {
if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`" ] ; then
for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
done
pw_clear_pfx
fi
else
try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
zenity_error_download && pw_download_libs
if zenity_error_download
then pw_download_libs
else
export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))"
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
fi
fi
else
zenity_error_download && pw_download_libs
if zenity_error_download
then pw_download_libs
else
export PW_LIBS_VER="$(echo _v$(($(echo $PW_LIBS_VER | sed 's/_v//') - 1)))"
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
fi
fi
fi
export pw_yad="${PW_WINELIB}/portable/bin/yad"
export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new"
export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3"
export pw_zstd="${PW_WINELIB}/portable/bin/zstd"
export pw_7z="${PW_WINELIB}/portable/lib/p7zip/7z"
if [ -x "`which xterm 2>/dev/null`" ]; then
export SYS_XTERM=`which xterm`
if [ -x "`command -v xterm 2>/dev/null`" ]; then
export SYS_XTERM=`command -v xterm`
export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
else
export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e"
@ -589,10 +681,10 @@ 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}"
elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]]
then export PW_WINE_USE="${PW_PROTON_GE_VER}"
if [[ $PW_WINE_USE == PROTON_LG ]]
then export PW_WINE_USE="${PW_PROTON_LG_VER}"
elif [[ PW_WINE_USE == WINE_*_LG ]]
then export PW_WINE_USE="${PW_WINE_LG_VER}"
fi
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
print_info "Download and install ${PW_WINE_USE}..."
@ -606,43 +698,147 @@ pw_check_and_download_wine () {
try_remove_dir "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}"
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
zenity_error_download && pw_check_and_download_wine
zenity_error_download && pw_check_and_download_wine || exit 1
fi
else
zenity_error_download && pw_check_and_download_wine
zenity_error_download && pw_check_and_download_wine || exit 1
fi
fi
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 || exit 1
fi
elif try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then
if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
else
try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
try_remove_dir dxvk-${DXVK_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
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 || exit 1
fi
elif try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then
if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
else
try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
try_remove_dir vkd3d-proton-${VKD3D_VAR_VER}
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
fi
done
#Download D8VK
if [ ! -d "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" ] ; then
print_info "Download and install D8VK v.${D8VK_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/d8vk-${D8VK_VER}/d8vk-${D8VK_VER}.tar.xz" "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" ; then
if unpack_tar_xz "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then
try_remove_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz"
else
try_remove_file "${PW_VULKAN_DIR}/d8vk-${D8VK_VER}.tar.xz"
try_remove_dir "d8vk-${D8VK_VER}"
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
else
zenity_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
fi
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" \
|| ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]]
then
if [[ ! -d "${PW_PLUGINS_PATH}/fake_dlss" ]] || [[ ! -d "${PW_PLUGINS_PATH}/nvapi" ]] ; then
print_info "Download and install plugins${PW_PLUGINS_VER}..."
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then
for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done
fi
else
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
try_remove_dir "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
zenity_error_download && pw_check_and_download_wine
if zenity_error_download
then pw_check_and_download_plugins
else
export PW_PLUGINS_VER="$(echo _v$(($(echo $PW_PLUGINS_VER | sed 's/_v//') - 1)))"
export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
fi
fi
else
zenity_error_download && pw_check_and_download_wine
if zenity_error_download
then pw_check_and_download_plugins
else
export PW_PLUGINS_VER="$(echo _v$(($(echo $PW_PLUGINS_VER | sed 's/_v//') - 1)))"
export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
fi
fi
fi
return 0
}
check_nvidia_rtx () {
if echo "$LSPCI_VGA" | grep -i "nvidia" ; then
# Turing (without nvidia 16XX)
[[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0
# Ampere
[[ "$LSPCI_VGA" == *GA[0-9]* ]] && return 0
# Ada_Lovelace
[[ "$LSPCI_VGA" == *AD[0-9]* ]] || [[ "$LSPCI_VGA" == *2[6-8][0-9]* ]] && return 0
fi
return 1
}
check_hybrid_graphicks () {
if echo "$LSPCI_VGA" | grep -i nvidia | grep -iE '(intel|amd)'
then return 0
else return 1
fi
}
pw_init_db () {
if [[ ! -z "${portwine_exe}" ]] ; then
try_remove_file "${PORT_SCRIPTS_PATH}/portwine_db/setup"
export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
if [[ -f "${portwine_exe}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
@ -659,14 +855,14 @@ pw_init_db () {
unset ADD_CB_DBFILE
for PW_CHECK_DB_FILE in $PW_FIND_DB_FILE ; do
if [[ -z "${ADD_CB_DBFILE}" ]] ; then
export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}"
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`"
else
export ADD_CB_DBFILE="${PW_CHECK_DB_FILE}!${ADD_CB_DBFILE}"
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`!${ADD_CB_DBFILE}"
fi
done
PORTWINE_DB_FILE=`"${pw_yad_new}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form --center \
PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v12_3}" --text-align=center --text "${PW_SELECTION_DB_LOC}" --borders=15 --form \
--title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --form --separator="" \
--field="DB FILE: :CB" "${ADD_CB_DBFILE}"`
--field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null`
if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then
PORTWINE_DB_FILE="${PW_FIND_DB_FILE}"
@ -685,12 +881,34 @@ pw_init_db () {
fi
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
. "${PORTWINE_DB_FILE}"
# HOTFIX: update prefix
[[ "$PW_WINE_USE" == "PROTON_LG_8-15" ]] && export PW_WINE_USE="$PW_PROTON_LG_VER"
init_wine_ver &&
print_info "Use ${PORTWINE_DB_FILE} db file."
fi
if [ -z "$PATH_TO_GAME" ] ; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
if [ -z "${PATH_TO_GAME}" ] ; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
fi
if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ ! -z "${WINE_CPU_TOPOLOGY}" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}"
fi
if ls "${PATH_TO_GAME}"/*_Data/Resources/ 2>/dev/null | grep "unity" &>/dev/null \
&& [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] \
&& [[ $(grep -c "^processor" /proc/cpuinfo) -gt "8" ]]
then
export PW_WINE_CPU_TOPOLOGY="8:0,1,2,3,4,5,6,7"
print_info "Automatic added fix for unity games: WINE_CPU_TOPOLOGY=8:0,1,2,3,4,5,6,7"
fi
if check_nvidia_rtx ; then
check_variables PW_USE_NVAPI_AND_DLSS "1"
check_variables PW_USE_FAKE_DLSS "0"
check_variables PW_USE_RAY_TRACING "1"
fi
check_hybrid_graphicks && check_variables PW_PRIME_RENDER_OFFLOAD "1"
fi
return 0
}
@ -701,7 +919,23 @@ 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`
curl -s --list-only https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var > "${PORT_WINE_TMP_PATH}/curent_var_ver"
print_info "Check update..."
if curl -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
URL_FOR_CHANGELOG="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine"
URL_TO_PW_MASTER="https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
print_info "OK."
else
if curl -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
URL_FOR_CHANGELOG="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine"
URL_TO_PW_MASTER="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz"
print_info "OK."
else
print_error "Unable to determine the version on the server. Skip it..."
return 1
fi
fi
[[ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ]] && echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
if [[ "${scripts_update_not}" == "1" ]] ; then
@ -709,14 +943,14 @@ pw_port_update () {
print_info "Scripts version in github = ${scripts_current_ver}"
print_info "Scripts version local = ${scripts_install_ver}"
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
if [[ -f "${PW_WINELIB}/portable/bin/yad_new" ]] ; then
export pw_yad_new="${PW_WINELIB}/portable/bin/yad_new"
curl -s --list-only "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
if [[ -f "${PW_WINELIB}/portable/bin/yad_v12_3" ]] ; then
export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3"
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver" | sszen
CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' `
xcsd=`"${pw_yad_new}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--borders=5 --form --separator='%%%' --width=1000 --height=350 --center \
xcsd=`"${pw_yad_v12_3}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--borders=3 --form --separator='%%%' --width=1200 --height=600 \
--field=":TXT" "${CHANGLOG_NEWS}" \
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" `
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null`
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'`
@ -731,26 +965,27 @@ pw_port_update () {
echo "######################################################"
print_info "Update scripts..."
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
if try_download "github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
if try_download "${URL_TO_PW_MASTER}" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}"
then
create_new_dir "${PORT_WINE_TMP_PATH}/scripts_backup"
cd "${PORT_WINE_PATH}/data/"
tar -czpf "${PORT_WINE_TMP_PATH}/scripts_backup/scripts_v.${scripts_install_ver}.tar.gz" ./scripts ./img \
./changelog* ./dxvk.conf ./vkBasalt.conf ./tmp/scripts_ver
try_remove_dir "${PORT_WINE_PATH}/data/scripts/portwine_db"
cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/"
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
try_remove_dir "${PORT_WINE_TMP_PATH}/PortWINE-master/"
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
if [[ -z "${pw_yad_new}" ]] ; then
if [[ -z "${pw_yad_v12_3}" ]] ; then
zenity --title="Changelog" --text-info --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}"
fi
[ "$?" == 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
zenity_error_download && pw_scripts_update
zenity_error_download && pw_port_update || exit 1
fi ;;
"${scripts_upd5}")
echo " " ;;
@ -780,18 +1015,16 @@ 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"
sed -i 's/w_set_winver win2k3/w_set_winver win7/' "${PORT_WINE_TMP_PATH}/winetricks"
fi
return 0
}
edit_db_from_gui () {
echo "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
print_info "edit_db_from_gui PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
for mod_db in $@ ; do
echo "${mod_db}=${!mod_db}"
print_info "${mod_db}=${!mod_db}"
if [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}="`" ] ; then
echo "export ${mod_db}=\"${!mod_db}\"" >> "${PORTWINE_DB_FILE}"
elif [ "`cat "${PORTWINE_DB_FILE}" | grep "export ${mod_db}=" | grep -v "#"`" ] ; then
@ -813,7 +1046,10 @@ pw_create_gui_png () {
fi
PW_RESIZE_TO=128
try_remove_file "${PORT_WINE_PATH}/data/img/setup.png"
if [[ -x "`which wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
try_remove_file "${PORT_WINE_PATH}/data/img/Setup.png"
try_remove_file "${PORT_WINE_PATH}/data/img/launcher.png"
try_remove_file "${PORT_WINE_PATH}/data/img/Launcher.png"
if [[ -x "`command -v wrestool 2>/dev/null`" ]] && [[ ! -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
try_remove_dir "${PORT_WINE_TMP_PATH}/tmp_img"
create_new_dir "${PORT_WINE_TMP_PATH}/tmp_img"
wrestool -x --output="${PORT_WINE_TMP_PATH}/tmp_img/" -t14 "${portwine_exe}"
@ -828,7 +1064,7 @@ pw_create_gui_png () {
cp -f "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
fi
if [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] && \
[[ -x "`which "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
[[ -x "`command -v "convert" 2>/dev/null`" ]] && [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]] ; then
convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
fi
if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then
@ -839,3 +1075,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_v12_3}" --height="300" --width="1000" --list \
--text-align=center --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Create shortcut for..." \
--text="\n${loc_gui_create_shortcut_for_exe}" --column="path to .exe file:" ${FIND_TO_GUI} 2>/dev/null)"
YAD_STATUS="$?"
print_var YAD_STATUS
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
if [[ -z "${PW_SET_FIND_EXE}" ]] ; then
/usr/bin/env bash -c ${pw_full_command_line[*]} &
print_info "Restarting..."
fi
exit 0
fi
IFS=$OrigIFS
if [[ ! -z "${PW_SET_FIND_EXE}" ]] ; then
portwine_exe="${PW_PATH_FOR_FIND}$(echo "${PW_SET_FIND_EXE}" | awk -F'|' '{print $1}')"
portwine_create_shortcut silent
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
}

View File

@ -1,15 +1,31 @@
#!/usr/bin/env bash
# Author: PortWINE-Linux.ru
# Author: linux-gaming.ru
# Helped in translation: ConTI1NuEsZZZ and Boria138
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
export update_loc=${update_loc}
unset update_loc
if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
export update_loc=${update_loc}
fi
if [ "${update_loc}" = "RUS" ]
then
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
echo ""
else
SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" `
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
if [[ ! -z "${SET_LANG}" ]]
then export update_loc=${SET_LANG}
else exit 1
fi
fi
export loc_gui_rm_pp="Удалить PORTPROTON"
if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_pw_reinstall_pp="Переустановить ${portname}"
export loc_gui_rm_pp="Удалить ${portname}"
export loc_gui_upd_pp="Проверить обновления"
export loc_gui_changelog="История изменений"
export loc_gui_change_loc="Сменить язык интерфейса"
export loc_gui_edit_usc="Редактировать USER.CONF"
export loc_gui_scripts_fb="Откатить версию скриптов"
export loc_gui_credits="Авторы и спасибы =)"
@ -23,18 +39,21 @@ then
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 inst_set_top="Установка ${portname}"
export sc_info="Ярлык будет создан в каталоге ${portname}."
export sc_name="Название"
export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры и на Рабочий стол"
export inst_succ="Установка завершена успешно!"
export port_upd1="Обновление PortWINE"
export port_upd2="На сайте portwine-linux.ru вышло обновление для ${portname}\n"
export port_upd1="Обновление ${portname}"
export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n"
export port_upd3="Действие:"
export port_upd4="Перейти на сайт"
export port_upd5="Напомнить позже"
@ -47,16 +66,18 @@ then
export scripts_upd5="Напомнить позже"
export scripts_upd6="Больше не напоминать"
export port_clear_pfx="Вы действительно хотите очистить префикс PortProton?"
export port_clear_pfx="Вы действительно хотите очистить префикс ${portname}?"
export port_del1="Удаление $portname"
export port_del2="Вы действительно хотите полностью удалить PortProton?"
export port_del2="Вы действительно хотите полностью удалить ${portname}?"
export port_reinstall="Вы действительно хотите переустановить ${portname}?\nДля этого будет необходимо интернет соединение."
export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта"
export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE"
export port_start1="Запуск PortWINE"
export port_start2="В каком режиме вы хотите запустить PortWINE?"
export port_start1="Запуск ${portname}"
export port_start2="В каком режиме вы хотите запустить ${portname}?"
export port_start3="Режим:"
export port_start4="Обычный"
export port_start5="Отдельной X-сессии"
@ -66,6 +87,7 @@ 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}"
@ -81,8 +103,7 @@ then
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)'
export PW_USE_DXR10_INFO='Включить поддержку Ray Tracing v.1.0'
export PW_USE_DXR11_INFO='Включить поддержку Ray Tracing v.1.1 (бета)'
export PW_USE_RAY_TRACING_INFO='Включить поддержку vkd3d - Ray Tracing'
export PW_FIX_VIDEO_IN_GAME_INFO='Требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено (обычно окрашено в розовый цвет)'
export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK'
export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
@ -92,7 +113,6 @@ then
export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE'
export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)'
export PW_USE_TERMINAL_INFO='Запускать приложение в терминале'
export PW_WINE_ALLOW_XIM_INFO='Использовать альтернативный режим для контроллера (Использовать только в случае проблем с контроллером)'
export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.'
export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)'
export PW_GUI_DISABLED_CS_INFO='Отключить окно выбора режимов запуска и версии WINE'
@ -109,61 +129,186 @@ then
export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12'
export PW_MANGOHUD_x32_INFO='Включить MANGOHUD для 32 битных приложений и игр'
export PW_USE_EAC_AND_BE_INFO='Включить Easy Anti-Cheat and BattlEye Anti-Cheat (требуется если игра использует какой-то из этих античитов)'
export PW_REDUCE_PULSE_LATENCY_INFO='Уменьшить задержку pulseaudio для исправления прерывистого звука'
export PW_USE_US_LAYOUT_INFO='Работает только под x11. Принудительное использование английской раскладки (полезно для игр в которых управление верно работает исключительно на английской раскладке)'
export PW_USE_SYSTEM_VK_LAYERS_INFO='Использовать системные mangohud, vkBasalt, obs-vkcapture и прочие приложения использующие vulkan layers'
export PW_USE_OBS_VKCAPTURE_INFO='Включить возможность записи в OBS Studio с помощью obs-vkcapture (ВНИМАНИЕ: будет включено принудительное использование системных mangohud, vkBasalt, obs-vkcapture и прочих приложений использующих vulkan layers)'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместно с CAS'
export PW_Bloom_INFO='Добавляет свечения от ярких источников света в игре'
export PW_Border_INFO='Обрезка изображения сверху и снизу (как в кино =)'
export PW_Cartoon_INFO='Сильное увеличение резкости краев тексур'
export PW_Cartoon_INFO='Сильное увеличение резкости краев текстур'
export PW_ChromaticAberration_INFO='Добавляет хроматические аберрации к изображению'
export PW_Clarity_INFO='Увеличение резкости текстур с небольшими модификациями контраста изображения (похож по эффекту на CAS)'
export PW_ColorMatrix_INFO='Добавление холодных цветов'
export PW_Colourfulness_INFO='Увеличение насыщености цветов'
export PW_Colourfulness_INFO='Увеличение насыщенности цветов'
export PW_FakeHDR_INFO='Расширение динамического диапазона цветов'
export PW_FilmGrain2_INFO='Добавление эффекта зерна кинопленки'
export PW_Curves_INFO='Увеличение контраста изображения'
export PW_Curves_INFO='Увеличивает контрастность изображения, при этом не трогая яркие и тёмные участки, чтобы не пропала детализация в тенях и небе'
export PW_Denoise_INFO='Уменьшение шумов за счет смазывания изображения'
export PW_Emphasize_INFO='Уменьшение рязрядности цветопередачи'
export PW_Emphasize_INFO='Уменьшение разрядности цветопередачи'
export PW_FakeMotionBlur_INFO='Сильное размытие объектов в движении'
export PW_FilmicAnamorphSharpen_INFO='Увеличение резкости (рекомендую для мультяшных игр)'
export PW_FilmicPass_INFO='Добавление холодных цветов'
export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)'
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)'
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких объектов (например пламя)'
export PW_Glitch_INFO='Эффект глючной картинки'
export PW_HighPassSharpen_INFO='Повышения резкости с использованием высокочастотных частот'
export PW_HQ4X_INFO='Сглаживание близлежащих пикселей с дорисовкой недостающих частей (в обычных играх картинка размывается)'
export PW_HSLShift_INFO='Усовершенствованный сдвиг HSL (для каждого оттенка)'
export PW_Layer_INFO='Наложение изображения на игру (изображение лежит в папке ~/PortWINE/PortProton/data/tmp/libs_v43/pressure-vessel/reshade/textures)'
export PW_Levels_INFO='Увеличивает контрастность, но некоторые детали в тенях или бликах могут быть потеряны'
export PW_LevelsPlus_INFO='Тоже что и Levels, но с меньшей потерей деталей'
export PW_LiftGammaGain_INFO='Коррекция гаммы по отдельным цветовым каналам: красному, зелёному и синему'
export PW_LightDoF_INFO='Увеличивает глубину резкости (сильно влияет на FPS)'
export PW_LumaSharpen_INFO='Повышает резкость изображения для улучшения деталей'
export PW_LUT_INFO='Цветокорекция изображения'
export PW_MagicBloom_INFO='Тоже самое что Bloom, но более естественный'
export PW_Monochrome_INFO='Преобразует изображение в черно-белое'
export PW_MultiLUT_INFO='Расширенная версия LUT (предустановлен лут Hollywood)'
export PW_MXAO_INFO='Алгоритм SSAO (сильно влияет на FPS)'
export PW_NightVision_INFO='Эффект ночного зрения'
export PW_Nostalgia_INFO='Делает картинку похожей на старые фотографии'
export PW_PerfectPerspective_INFO='Эффект рыбьего глаза (подходит для VR)'
export PW_PPFX_Godrays_INFO='Объёмное рассеяние света'
export PW_Prism_INFO='Эффект призматической линзы'
export PW_ReflectiveBumpMapping_INFO='Создаёт иллюзию глубины текстур'
export PW_Sepia_INFO='Добавляет эффект сепии со старых фотографий'
export PW_Splitscreen_INFO='Разделяет изображение на необработанное и обработанный вывод для сравнения'
export PW_SurfaceBlur_INFO='Снижение детализации объектов без размытия контрастных контуров'
export PW_Technicolor_INFO='Делает картинку похожей на фильмы 1930 годов'
export PW_Technicolor2_INFO='Обновлённая версия Technicolor, даёт иную картинку, агрессивнее меняя цвета'
export PW_TiltShift_INFO='Размытие по краям экрана для создания эффекта миниатюры'
export PW_Tonemap_INFO='Изменяет насыщенность картинки'
export PW_TriDither_INFO='Уменьшает количество шумов'
export PW_UIDetect_INFO='Автоматически переключает эффекты в зависимости от видимости UI'
export PW_Vibrance_INFO='Насыщает блеклые цвета, не трогая яркие'
export PW_Vignette_INFO='Добавляет к изображению виньетку'
export PW_AspectRatio_INFO='Эффект для настройки соотношения сторон (для игр которые не поддерживают широкоформатные мониторы)'
export PW_UIMask_INFO='Часть общего шейдера ReShade . Он использует маску с градиентами от черного к белому, чтобы определить, где будут применены эффекты'
export PW_StageDepth_INFO='Позволяет добавлять новые элементы в 3d-пространство внутри игры и применять пользовательские текстуры'
export PW_PPFX_Bloom_INFO='Добавляет Bloom эффект'
export PW_WAYLAND_INFO="Внимание! Вы запускаете ${portname} в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export PW_WAYLAND_INFO="Внимание! Вы запускаете $portname в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: d3dadapter9"
export loc_gui_create_shortcut_for_exe="Выберите .exe файл для которого необходимо создать ярлык и нажмите ОК.\n"
elif [ "${update_loc}" = "ENG" ]
then
export loc_gui_error='Ошибка.'
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите Repeat для повторной попытки скачивания"
export loc_gui_settings="Пожалуйста подождите."
export loc_gui_sett_info="Обновление конфигурации <b>${portname}</b>..."
export loc_gui_edit_db="Изменение файла настроек для:"
export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
export loc_gui_rm_pp="REMOVE PORTPROTON"
export loc_gui_upd_pp="UPDATE PORTPROTON"
export loc_cancel="ОТМЕНИТЬ"
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"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton."
export loc_gui_cpu_limit="Ограничить использование ядер процессора"
export loc_gui_cpu_limit_help="Ограничения количества ядер процессора полезно для игр на движке Unity (Рекомендуется выставить значение равное 8)"
export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
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_missing_shortcut="\nНе удалось найти файл:\n${portwine_exe}\n\nВНИМАНИЕ:\nЕсли вы забыли примонтировать диск с запускаемым приложением, нажмите ОТМЕНИТЬ!"
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_pw_reinstall_pp="REINSTALL ${portname}"
export loc_gui_rm_pp="REMOVE ${portname}"
export loc_gui_upd_pp="UPDATE ${portname}"
export loc_gui_changelog="CHANGELOG"
export loc_gui_change_loc="CHANGE LANGUAGE"
export loc_gui_edit_usc="EDIT USER.CONF"
export loc_gui_scripts_fb="SCRIPTS FROM BACKUP"
export loc_gui_credits="CREDITS"
export loc_tray_winefile="WINEFILE"
export loc_tray_winefile="WINEFILE"
export loc_tray_tascmng="TASKMNR"
export loc_tray_cangelog="CHANGE LOG"
export loc_tray_force_exit="FORCE EXIT"
export loc_mg_autoinstall="AUTOINSTALL"
export loc_mg_autoinstall="AUTOINSTALL"
export loc_mg_emulators="EMULATORS"
export loc_mg_wine_settings="WINE SETTINGS"
export loc_mg_portproton_settings="PORTPROTON SETTINGS"
export loc_mg_portproton_settings="${portname} SETTINGS"
export loc_mg_installed="INSTALLED"
export PW_CHANGELOG_FILE="changelog_eng"
export PW_CHANGELOG_FILE="changelog_eng"
export PW_SELECTION_DB_LOC="More than one DB file found for the application being launched.\nSelect the required one, or delete the extra DB file before the next run.\n"
export inst_set="Sett..."
export inst_set_top="PortWINE setting"
export ss_done="The shortcut was created in the ${portname} directory.\n Add it to MENU -> GAMES?"
export inst_set="Choices"
export inst_set_top="Instaling ${portname}"
export sc_info="The shortcut will be created in the ${portname} directory."
export sc_name="Name"
export sc_menu_desktop="Add shortcut to MENU -> GAMES and Desktop"
export inst_succ="The installation was successful."
export port_upd1="New update PortWINE"
export port_upd2="On portwine-linux.ru site published an update to the ${portname}\n"
export port_upd1="New update for ${portname}"
export port_upd2="On linux-gaming.ru site published an update for ${portname}\n"
export port_upd3="Action:"
export port_upd4="Go to the website"
export port_upd5="Remind me later"
@ -171,21 +316,23 @@ then
export scripts_upd1="New update for scripts"
export scripts_upd2="Scripts update avialable for ${portname}"
export scripts_upd3="Action :"
export scripts_upd3="Action:"
export scripts_upd4="Updating now"
export scripts_upd5="Remind me later"
export scripts_upd6="Do not remind me"
export port_clear_pfx="Do you want to clear prefix in PortProton?"
export port_clear_pfx="Do you want to clear prefix in ${portname}?"
export port_del1="Remove $portname"
export port_del2="Are you sure you want to delete the PortProton"
export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_del2="Do you really want to remove $portname?"
export port_reinstall="Do you really want to reinstall ${portname}?\nFor this, an internet connection will be required."
export port_deb1="${portname} was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE"
export port_start1="Starting the PortWINE"
export port_start2="In what mode you want to start the PortWINE?"
export port_start1="Starting the ${portname}"
export port_start2="In what mode you want to start the ${portname}?"
export port_start3="Mode:"
export port_start4="Normal"
export port_start5="Individual X-Session"
@ -194,22 +341,193 @@ then
export port_start8="DXVK"
export port_debug="Please wait! After finishing the ${portname}, click STOP."
export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!"
export loc_download_other_wine="Download other wine-proton from GITHUB"
#Helped in translation: ConTI1NuEsZZZ
export loc_create_shortcut_from_gui="Create shortcut..."
export loc_create_shortcut="Create shortcut for select file..."
export loc_delete_shortcut="Delete shortcut for select file..."
export loc_debug="Launch with the creation of a .log file at the root ${portname}"
export loc_launch="Run file ..."
export loc_winecfg="Run winecfg to edit prefix settings ${portname}"
export loc_winefile="Run the file manager built into wine"
export loc_winecmd="Run wine command line"
export loc_winereg="Run Registry Prefix Editor ${portname}"
export loc_winetricks="Run winetricks to install additional libraries to the prefix ${portname}"
export loc_winecfg="Run winecfg to edit the settings of the selected prefix"
export loc_winefile="Run wine file manager"
export loc_winecmd="Run wine cmd"
export loc_winereg="Run wine regedit"
export loc_winetricks="Run winetricks to install additional libraries to the selected prefix"
export loc_edit_db="Edit database file for"
export loc_download_other_wine="Open the menu to download other versions of WINE-PROTON "
export loc_find_d3dadapter9_error="not found in the system.\nInstall it and try again."
export ENABLE_VKBASALT_INFO='Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)'
export PW_NO_ESYNC_INFO='Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)'
export PW_NO_FSYNC_INFO='Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)'
export PW_USE_RAY_TRACING_INFO='Enable vkd3d support - Ray Tracing'
export PW_FIX_VIDEO_IN_GAME_INFO='Required for video playback in some games so that it is not distorted (usually colored pink)'
export PW_VULKAN_NO_ASYNC_INFO='Disable asynchronous calls for VULKAN and DXVK modes'
export PW_USE_NVAPI_AND_DLSS_INFO='Enable DLSS on supported NVIDIA graphics cards'
export PW_OLD_GL_STRING_INFO='Forced use of older versions of OpenGL'
export PW_HIDE_NVIDIA_GPU_INFO='Disguise all features used for NVIDIA graphics cards'
export PW_FORCE_USE_VSYNC_INFO='Forced activation of vertical sync'
export PW_VIRTUAL_DESKTOP_INFO='Enable the application to run in the WINE virtual desktop'
export PW_WINEDBG_DISABLE_INFO='Disable all WINE debugging functions (It is recommended not to change the value)'
export PW_USE_TERMINAL_INFO='Run the application in the terminal'
export PW_HEAP_DELAY_FREE_INFO='Include a delay in releasing some memory to bypass errors associated with using the application after the memory is released'
export PW_NO_WRITE_WATCH_INFO='A very dangerous way to hack the memory write timer in ntdll. This improves the performance of some very specific games. (It is recommended not to change the value.)'
export PW_GUI_DISABLED_CS_INFO='Disable the window for selecting startup modes and WINE versions'
export PW_USE_GSTREAMER_INFO='Use Gstreamer to output clips in games (WMF support)'
export PW_USE_RUNTIME_INFO='Use container launch mode (It is recommended not to change the value)'
export PW_MANGOHUD_INFO='Using FPS and system load monitoring (Turns on and off by the key combination - right Shift + F12)'
export PW_USE_GAMEMODE_INFO='Using automatic system optimization to improve performance in games (provided the gamemode package is installed on the system)'
export PW_DX12_DISABLE_INFO='Forced disabling DirectX 12'
export PW_USE_WINE_DXGI_INFO='Forced use of built-in DXGI library (in rare cases it solves problems with DX12 games)'
export PW_MANGOHUD_USER_CONF_INFO='Forced use of MANGOHUD system settings (GOverlay, etc.)'
export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries'
export PW_PRIME_RENDER_OFFLOAD_INFO='Enable NVIDIA discrete graphics card for notebooks with hybrid graphics (if supported by the installed driver in the OS)'
export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix'
export PW_USE_AMDVLK_DRIVER_INFO='Use AMDVLK driver instead of RADV on AMD graphics cards'
export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)'
export PW_WINE_FULLSCREEN_FSR_INFO='Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen'
export PW_USE_FAKE_DLSS_INFO='Enable DLSS translator in FSR 2 in DirectX 12 games'
export PW_MANGOHUD_x32_INFO='Enable MANGOHUD for 32 bit applications and games'
export PW_USE_EAC_AND_BE_INFO='Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game used this anti-cheats)'
export PW_REDUCE_PULSE_LATENCY_INFO='Reduce pulseaudio latency to fix intermittent sound'
export PW_USE_US_LAYOUT_INFO='Works only x11. Forced use of the us layout (useful for games in which the control works correctly only on the us layout)'
export PW_USE_SYSTEM_VK_LAYERS_INFO='Use system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers'
export PW_USE_OBS_VKCAPTURE_INFO='Enable the ability to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)'
export PW_3DFX_INFO='Simulation of an old 3dfx graphics accelerator (adds horizontal stripes)'
export PW_AdaptiveSharpen_INFO='Sharpness increase, can be used with CAS'
export PW_Bloom_INFO='Adds glow from bright light sources in the game'
export PW_Border_INFO='Cropping the image from the top and bottom (like in a movie =)'
export PW_Cartoon_INFO='Strong sharpening of texture edges'
export PW_ChromaticAberration_INFO='Adds chromatic aberration to an image'
export PW_Clarity_INFO='Sharpening textures with slight modifications of image contrast (similar in effect to CAS)'
export PW_ColorMatrix_INFO='Adding cool colors'
export PW_Colourfulness_INFO='Increasing color saturationIncreasing color saturation'
export PW_FakeHDR_INFO='Add fake HDR'
export PW_FilmGrain2_INFO='Adding the film grain effect'
export PW_Curves_INFO='Increases the contrast of the image without affecting the bright and dark areas, so that the detail in shadows and sky is not lost'
export PW_Denoise_INFO='Reducing noise by blurring the image'
export PW_Emphasize_INFO='Reducing the bit depth of color'
export PW_FakeMotionBlur_INFO='Strong blurring of objects in motion'
export PW_FilmicAnamorphSharpen_INFO='Sharpening (recommended for cartoon games)'
export PW_FilmicPass_INFO='Adding cold colors'
export PW_SMAA_INFO='Alternative antialiasing option (less effect, but with less consumption of GPU resources, relative to the standard SMAA)'
export PW_GaussianBlur_INFO='Slight blur effect on bright objects (such as flames)'
export PW_Glitch_INFO='Glitch effect'
export PW_HighPassSharpen_INFO='Another method of sharpening using highpass frequencies'
export PW_HQ4X_INFO='Smoothing of nearby pixels with the drawing of missing parts (in normal games the picture is blurred)'
export PW_HSLShift_INFO='Advanced HSL shift (for each shade)'
export PW_Layer_INFO='Image overlay on the game (the image is in the ~/PortWINE/PortProton/data/tmp/libs_v43/pressure-vessel/reshade/textures folder)'
export PW_Levels_INFO='Increases contrast, but some detail in shadows or highlights may be lost'
export PW_LevelsPlus_INFO='Same as Levels, but with less loss of detail'
export PW_LiftGammaGain_INFO='Gamma correction by individual color channels: red, green and blue'
export PW_LightDoF_INFO='Increases depth of field (greatly affects FPS)'
export PW_LumaSharpen_INFO='Enhances image sharpness for improved detail'
export PW_LUT_INFO='Image color correction'
export PW_MagicBloom_INFO='Same as Bloom, but more natural'
export PW_Monochrome_INFO='Converts the image into monochrome'
export PW_MultiLUT_INFO='Extended version of the LUT (Hollywood loot is pre-installed)'
export PW_MXAO_INFO='SSAO algorithm (Greatly affects FPS)'
export PW_NightVision_INFO='Night vision effect'
export PW_Nostalgia_INFO='Makes the picture look like old photos'
export PW_PerfectPerspective_INFO='Fisheye effect (suitable for VR)'
export PW_PPFX_Godrays_INFO='Add God rays (also called 3D light rays) effect'
export PW_Prism_INFO='The prismatic lens effect'
export PW_ReflectiveBumpMapping_INFO='Creates the illusion of depth in textures'
export PW_Sepia_INFO='Adds a sepia effect like in old photos'
export PW_Splitscreen_INFO='Splits the image into raw and processed output for comparison'
export PW_SurfaceBlur_INFO='Reducing object detail without blurring contrast contours'
export PW_Technicolor_INFO='Makes the picture look like films from the 1930s'
export PW_Technicolor2_INFO='The updated version of Technicolor, gives a different picture by changing colors more aggressively'
export PW_TiltShift_INFO='Blur on the edges of the screen to create a Tilt Shift effect'
export PW_Tonemap_INFO='Changes the saturation of the picture'
export PW_TriDither_INFO='Reduces the amount of noise'
export PW_UIDetect_INFO='Automatically switches effects depending on the visibility of the UI'
export PW_Vibrance_INFO='Saturates faded colors without touching the bright ones'
export PW_Vignette_INFO='Adds a vignette to the image'
export PW_AspectRatio_INFO='An effect for adjusting the aspect ratio (for games that do not support widescreen monitors)'
export PW_UIMask_INFO='Part of the overall ReShade shader . It uses a mask with gradients from black to white to determine where the effects will be applied'
export PW_StageDepth_INFO='Allows you to add new elements to the 3d space inside the game and apply custom textures'
export PW_PPFX_Bloom_INFO='Adds a Bloom effect'
export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!"
export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>"
export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n"
export loc_gui_error='Error.'
export loc_gui_error_download="You will need to check internet connection,and\npress Repeat for repeat download"
export loc_gui_settings="Please wait."
export loc_gui_sett_info="Updating configuration for <b>${portname}</b>..."
export loc_gui_edit_db="Change settings in database file for"
export loc_gui_edit_db_help="<b>NOTE:</b> To display help for each item, simply hover your mouse over the text"
export loc_cancel="CANCEL"
export loc_gui_cancel="CANCEL THE CHANGES"
export loc_gui_cancel_help="Cancel the current changes and return to the previous menu."
export loc_gui_open_db="OPEN THE SETTINGS FILE"
export loc_gui_open_db_help="Open the <b>.ppdb</b> settings file in a system text editor to view and change variables manually."
export loc_gui_save_changes="SAVE CHANGES"
export loc_gui_save_changes_help="Save the current changes, and go to the previous menu."
export loc_gui_ver_windows="Change the version of <b>WINDOWS</b> emulation"
export loc_gui_ver_windows_help="Changing the <b>WINDOWS</b> emulation version may be required to run older games. <b>WINDOWS</b> versions below 10 do not support new games with DirectX 12"
export loc_gui_aut_winetricks="AUTOINSTALL WITH <b>WINETRICKS</b>"
export loc_gui_aut_winetricks_help="Automatically install with <b>WINETRICKS</b> additional libraries required to run the game/program. List of libraries separated by spaces"
export loc_gui_winedllover="Forced to use/disable libraries"
export loc_gui_winedllover_help="Forced to use/disable the library only for the given application. (There are examples in the drop-down list)
A brief instruction:
* libraries are written <b>WITHOUT</b> the .dll file extension
* libraries are separated by semicolons - <b>;</b>
* library=n - use the <b>WINDOWS</b> (third-party) library
* library=b - use <b>WINE</b> (built-in) library
* library=n,b - use <b>WINDOWS</b> library and then <b>WINE</b>
* library=b,n - use <b>WINE</b> library and then <b>WINDOWS</b>
* library= - disable the use of this library"
export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE"
export loc_gui_arg_exe_help="Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system"
export loc_gui_mango_fps="MANGOHUD FPS LIMIT"
export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into ${portname}"
export loc_gui_cpu_limit="Limit the use of processor cores"
export loc_gui_cpu_limit_help="Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)"
export loc_gui_check_new_wine="Check new version WINE from GitHub"
export loc_gui_check_new_wine_error="Error: check wine from github."
export loc_gui_set_new_wine="Select WINE for download:"
export loc_gui_del_wine="Select installed WINE for delete:"
export loc_gui_installed_wine="INSTALLED"
export loc_gui_ffx_cas="AMD FidelityFX - CAS is designed to dramatically improve texture sharpness without additional modification settings for games, with minimal loss of performance. (For older games it is recommended to set value = 100)"
export loc_gui_disabled_vkbas="DISABLE VKBASALT"
export loc_gui_disabled_vkbas_help="Disable vkBasalt and go to the previous menu."
export loc_gui_no="NO"
export loc_gui_yes="YES"
export loc_gui_missing_shortcut="\nCould not find the file:\n${portwine_exe}\n\nATTENTION:\nIf you forgot to mount the disk with the running application, click CANCEL!"
export loc_gui_create_shortcut="CREATE SHORTCUT"
export loc_gui_delete_shortcut="DELETE SHORTCUT"
export loc_gui_launch="LAUNCH"
export loc_gui_debug="DEBUG"
export loc_gui_edit_db_start="EDIT DB"
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_vkbasalt_top="vkBasalt settings for adding effects to games running under Vulkan. (The <b>HOME</b> key disables vkbasalt)\n<b>NOTE:</b> To display help for each item, simply hover over the text\n"
export loc_gui_db_comments="${portname} database file was found for"
export loc_gui_vulkan_stable="Stable DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Newest DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
export loc_gui_gallium_nine="GALLIUM_NINE (DX9 for MESA)"
export loc_gui_open_gl="OPENGL (For video cards without VULKAN)"
export loc_gui_installing_the="Installing the"
export loc_gui_please_wait="Please wait..."
fi

View File

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

View File

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

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

@ -3,44 +3,6 @@
#AC4BFSP.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export PW_USE_DXR10=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=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
##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_MANGOHUD=1
export PW_MANGOHUD_USER_CONF=0
export PW_USE_DXR11=0
export PW_USE_RUNTIME=1
export PW_USE_GAMEMODE=1
export PW_DX12_DISABLE=0
export PW_USE_WINE_DXGI=0
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0

View File

@ -1,39 +1,8 @@
#!/usr/bin/env bash
#Author: xuser
#ACIII.exe
#ACLiberation.exe
#Rating=1-5
################################################
# export PW_VULKAN_USE=dxvk
#Author: xuser
#ACIII.exe
#ACLiberation.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_DXVK_VER=1.8.1
##export PW_VKD3D_VER=2.2
export WINEDLLOVERRIDES="xinput1_3,d3dcompiler_43=n,b"
##export PW_DLL_INSTALL="d3dcompiler_43" # Install DDL in port prefix (used winetricks)
##export PW_LOG=0 # Enable debug mode fo terminal
##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
##export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_TERMINAL=0 # Force run in terminal
##export PW_OLD_GL_STRING=0
##export PW_USE_NVAPI_AND_DLSS=0
##export PW_VKD3D_FEATURE_LEVEL=0
##export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HIDE_NVIDIA_GPU=0
##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_GAMEMODE=0 # Force disabele gamemod
##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_VIRTUAL_DESKTOP=1
##export DXVK_HUD=fps,devinfo
##export PW_HEAP_DELAY_FREE=0
##export PW_DXGI_FROM_DXVK=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##add_in_start_portwine () { commands ; }

View File

@ -3,33 +3,5 @@
#ACValhalla.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="vcrun2019" # 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_DLL_INSTALL="vcrun2019" # Install DLL in port prefix (used winetricks)
export PW_VULKAN_USE=1
##export PW_DXR_ON=1
export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI=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 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
##add_in_start_portwine () { commands ; }

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

@ -3,36 +3,5 @@
#ALOTInstaller.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_PW_6.19
export PW_VULKAN_USE=0
##export PW_DXR_ON=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 ; }

View File

@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Author: Аливэй
#Ableton Live 11 Suite.exe
#Rating=5
################################################
export PW_VULKAN_USE=dxvk
export LAUNCH_PARAMETERS=""
export PW_WINDOWS_VER=10

View File

@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Author:
#AliceMadnessReturns.exe
#Rating=5
################################################
export PW_VULKAN_USE=dxvk
export LAUNCH_PARAMETERS=""
export PW_DLL_INSTALL="physx"

View File

@ -1,6 +0,0 @@
#!/usr/bin/env bash
#Author: garrett
#AI.exe
#Rating=5
########################################################
export PW_VULKAN_USE=dxvk

View File

@ -1,6 +0,0 @@
#!/usr/bin/env bash
#Author:
#ACM.exe
#Rating=?
################################################
export LAUNCH_PARAMETERS=""

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

@ -3,38 +3,13 @@
#Anno4.exe
#Rating=1-5
#####################examples###########################
export PW_COMMENT_DB="If after the first launch you see a black screen,\njust restart the game."
##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=dxvk
##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="cas" # Use Reshade in others games (dx9-12 to vulkan only)
export PW_VKBASALT_FFX_CAS="0.6" # 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 () {
if [ "${update_loc}" = "RUS" ] ; then
export PW_COMMENT_DB="Если после первого запуска вы увидите черный экран, просто перезапустите игру."
fi
if [ "${update_loc}" = "ENG" ] ; then
export PW_COMMENT_DB="If after the first launch you see a black screen,\njust restart the game."
fi
export PW_VULKAN_USE=1
if [ -d "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/" ] ; then
sed -i 's/<DirectXVersion>0<\/DirectXVersion>/<DirectXVersion>9<\/DirectXVersion>/' "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming/Ubisoft/Anno1404/Config/Engine.ini"
fi

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

@ -3,42 +3,6 @@
#AnomalyLauncher.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="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_DLL_INSTALL="d3dx10 d3dx11_42 d3dx11_43" # Install DLL in port prefix (used winetricks)
export PW_VULKAN_USE=1
export PW_USE_DXR10=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 VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT=1
export PW_VKBASALT_EFFECTS=cas:FilmGrain2:Curves
export PW_VKBASALT_FFX_CAS=1
export PW_NO_FSYNC=0
export PW_NO_ESYNC=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
##add_in_start_portwine () { commands ; }
export PW_MANGOHUD=1
export PW_MANGOHUD_USER_CONF=0
export PW_USE_DXR11=0
export PW_USE_GSTREAMER=1
export PW_USE_RUNTIME=1
export PW_USE_GAMEMODE=1
export PW_DX12_DISABLE=0
export PW_USE_WINE_DXGI=1
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0

View File

@ -2,40 +2,6 @@
#Author: akai
#Arthur.exe
#Rating=1-5
########################################################
export PW_VULKAN_USE=dxvk
#####################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_VULKAN_USE=dxvk # 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=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_VKD3D_FEATURE_LEVEL=1
##export PW_DXGI_FROM_DXVK=1
##export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
##export ENABLE_VKBASALT=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=90 # Fix crackling audio in games
##export PW_USE_GAMEMODE=1 # Force disabele gamemod
##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
##export PW_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_LOG=1 # Enable debug mode fo terminal
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
##add_in_start_portwine () { commands ; }
export PW_REDUCE_PULSE_LATENCY=1
export PW_VULKAN_USE=2

View File

@ -1,35 +0,0 @@
#!/usr/bin/env bash
#Author: xuser
#AssassinsCreedII.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=dxvk
##export PW_DXR_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI=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 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
##add_in_start_portwine () { commands ; }

View File

@ -1,35 +0,0 @@
#!/usr/bin/env bash
#Author: xuser
#AssassinsCreedIIGame.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=dxvk
##export PW_DXR_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI=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 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
##add_in_start_portwine () { commands ; }

View File

@ -3,5 +3,4 @@
#BF2.exe
#Rating=4
################################################
export PW_VULKAN_USE=vkd3d
export PW_WINDOWS_VER="7"

View File

@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Author:
#bg3.exe
#Rating=1-5
################################################
export PW_VULKAN_USE=vkd3d
export LAUNCH_PARAMETERS=""
#export MANGOHUD=1

View File

@ -5,18 +5,18 @@
#Battle.net.exe
#Rating=5
################################################
#export PW_COMMENT_DB="We recommend using PROTON_GE + VULKAN!"
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="locationapi="
export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43"
export PW_WINDOWS_VER=10
export PW_WINE_FULLSCREEN_FSR="0"
export PW_USE_EAC_AND_BE="0"
add_in_start_portwine () {
rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Agent/data"
rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/Blizzard Entertainment/Battle.net/Cache"
rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/Public/Blizzard Entertainment/Battle.net/Cache"
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/Fonts/sourcehansans.ttc"
sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg"
# sed -i 's/"GrabFullscreen"="Y"/"GrabFullscreen"="N"/' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg"
}

View File

@ -2,32 +2,6 @@
#Author: kosta
#Biomutant.exe
#Rating=1-5
########################################################
export PW_VULKAN_USE=1
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
export PW_DLL_INSTALL="vcrun2019" # 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_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_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=
##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
##add_in_start_portwine () { commands ; }
export PW_VULKAN_USE=1
export PW_DLL_INSTALL="vcrun2019" # Install DLL in port prefix (used winetricks)

View File

@ -5,4 +5,3 @@
################################################
export PW_VULKAN_USE=0
export LAUNCH_PARAMETERS=""
export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI

View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
#Author: fidel
#BsgLauncher.exe
#EscapeFromTarkov.exe
#EscapeFromTarkov_BE.exe
#Rating=1-5
#####################examples###########################
export PW_NO_FSYNC="1"
export PW_NO_ESYNC="1"
export PW_PREFIX_NAME="DOTNET"
# add_in_start_portwine () {
# if [[ ! -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then
# echo "d3d9.shaderModel = 1" > "${PATH_TO_GAME}/dxvk.conf"
# fi
# }

View File

@ -3,7 +3,5 @@
#CoJBiBGame_x86.exe
#Rating=5
################################################
export PW_VULKAN_USE=dxvk
export LAUNCH_PARAMETERS=""
export PW_DLL_INSTALL="d3dx9" # Install DDL in port prefix (used winetricks)
export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
export PW_DLL_INSTALL="d3dx9" # Install DLL in port prefix (used winetricks)

View File

@ -3,33 +3,5 @@
#Cinebench.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_GEC_PW2
export PW_VULKAN_USE=1
##export PW_DXR_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI=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 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
##add_in_start_portwine () { commands ; }

View File

@ -1,35 +0,0 @@
#!/usr/bin/env bash
#Author: xuser
#Configurator.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_STEAM
export PW_VULKAN_USE=dxvk
##export PW_DXR_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI=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 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
##add_in_start_portwine () { commands ; }

View File

@ -1,38 +0,0 @@
#!/usr/bin/env bash
#Author: user
#Control_DX11.exe
#Rating=1-5
########################################################
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"
#####################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_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL
##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_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=
##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
##add_in_start_portwine () { commands ; }

View File

@ -2,37 +2,6 @@
#Author: user
#Control_DX12.exe
#Rating=1-5
########################################################
export PW_VULKAN_USE=vkd3d
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"
#####################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 LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL
##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_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=
##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
##add_in_start_portwine () { commands ; }
export PW_COMMENT_DB="Control (DX12)"
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"

View File

@ -3,33 +3,7 @@
#Cyberpunk2077.exe
#Rating=1-5
#####################examples###########################
export PW_VULKAN_USE=1
##export PW_COMMENT_DB="blablabla"
export WINEDLLOVERRIDES="Crash*,REDEngineErrorReporter.exe="
##export PW_DLL_INSTALL="d3dcompiler_47" # Install DDL in port prefix (used winetricks)
##export PW_LOG=0 # Enable debug mode fo terminal
##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
##export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_TERMINAL=0 # Force run in terminal
##export PW_OLD_GL_STRING=0
##export PW_USE_NVAPI_AND_DLSS=0
##export PW_VKD3D_FEATURE_LEVEL=1
##export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HIDE_NVIDIA_GPU=0
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_GAMEMODE=1 # Force disabele gamemod
##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
export PULSE_LATENCY_MSEC=40 # Fix crackling audio in games
export PW_REDUCE_PULSE_LATENCY=1
export LAUNCH_PARAMETERS=("--launcher-skip") # Additional launch options
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_VIRTUAL_DESKTOP=1
##export DXVK_HUD=fps,devinfo
export PW_HEAP_DELAY_FREE=0
##export PW_DXGI_FROM_DXVK=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
#add_in_start_portwine () { "${pw_runtime}" "$WINESERVER" -w }

View File

@ -3,40 +3,4 @@
#DAOriginsLauncher.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export PW_DXR_ON=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:FilmGrain2:Curves
export PW_VKBASALT_FFX_CAS=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=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_MANGOHUD=1
export PW_USE_RUNTIME=1
export PW_USE_GAMEMODE=1
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=0

View File

@ -1,27 +1,8 @@
#!/usr/bin/env bash
#Author: PortWINE-Linux.ru
#Author: linux-gaming.ru
#DOOMEternalx64vk.exe
#Rating=?
################################################
export PW_VULKAN_USE=1
#export WINEDLLOVERRIDES="amd_ags_x64=b"
#export PW_LOG=0 # Enable debug mode fo terminal
#export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives
#export PW_VULKAN_NO_ASYNC=1
#export PW_USE_TERMINAL=1
#export PW_OLD_GL_STRING=0
#export PW_USE_NVAPI_AND_DLSS=0
#export PW_VKD3D_FEATURE_LEVEL=0
#export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
#export PW_HIDE_NVIDIA_GPU=0
#export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
#export PW_WINEDBG_DISABLE=0
#export PW_USE_GAMEMODE=1 # Force disabele gamemod
#export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
export PULSE_LATENCY_MSEC=60
#export PW_DLL_INSTALL="foo bar"
export PW_REDUCE_PULSE_LATENCY=1
export LAUNCH_PARAMETERS="+in_terminal 1 +com_skipIntroVideo 1 +com_skipSignInManager 1"
#export PW_GUI_DISABLED_CS=1
#export PW_DXGI_FROM_DXVK=1
#export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"

View File

@ -3,9 +3,8 @@
#DOOMx64.exe
#DOOMx64vk.exe
#Rating=1-5
########################################################
export PW_VULKAN_USE=1
#####################examples###########################
export PW_COMMENT_DB="DOOM 2016"
export PW_DLL_INSTALL="xact xact_x64 vcrun2019"
export WINEDLLOVERRIDES="xaudio2_8=n"
export PW_VULKAN_USE=1

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