Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PortWINE-old
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav
PortWINE-old
Commits
cc7f5c32
Commit
cc7f5c32
authored
Aug 21, 2022
by
fidel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Scripts version 2124
parent
a2b53850
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
284 additions
and
997 deletions
+284
-997
changelog_eng
data_from_portwine/changelog_eng
+5
-0
changelog_rus
data_from_portwine/changelog_rus
+5
-0
pp-games-lib
data_from_portwine/plugins/pp-games-lib
+22
-22
credits
data_from_portwine/scripts/credits
+248
-240
setup
data_from_portwine/scripts/portwine_db/setup
+1
-1
runlib
data_from_portwine/scripts/runlib
+0
-1
start.sh
data_from_portwine/scripts/start.sh
+0
-730
var
data_from_portwine/scripts/var
+3
-3
No files found.
data_from_portwine/changelog_eng
View file @
cc7f5c32
...
...
@@ -2,6 +2,11 @@ You can help us in the development of the project on the website: boosty.to/port
-----------------------------------------
Changelog:
###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
...
...
data_from_portwine/changelog_rus
View file @
cc7f5c32
...
...
@@ -2,6 +2,11 @@
-----------------------------------------
История изменений:
###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
...
...
data_from_portwine/plugins/pp-games-lib
View file @
cc7f5c32
...
...
@@ -4,7 +4,7 @@ import os
import
re
import
shlex
import
shutil
from
configparser
import
ConfigParser
from
configparser
import
Raw
ConfigParser
from
pathlib
import
Path
from
subprocess
import
run
from
types
import
SimpleNamespace
...
...
@@ -13,9 +13,9 @@ try:
from
PyQt6.QtGui
import
*
# type: ignore
from
PyQt6.QtWidgets
import
*
# type: ignore
except
ModuleNotFoundError
:
from
PyQt5.QtCore
import
*
from
PyQt5.QtGui
import
*
from
PyQt5.QtWidgets
import
*
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
=
''
)
...
...
@@ -29,7 +29,7 @@ class MainWindow(QMainWindow):
if
geometry
:
self
.
restoreGeometry
(
geometry
)
shortcut
=
ConfigParser
()
shortcut
=
Raw
ConfigParser
()
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
():
...
...
@@ -288,20 +288,14 @@ class GameList(QListWidget):
def
reload
(
self
):
self
.
clear
()
def
validate
(
shortcut
):
config
=
ConfigParser
()
config
.
read
(
shortcut
)
try
:
if
config
.
get
(
'Desktop Entry'
,
'Exec'
):
return
True
except
Exception
:
return
False
shortcuts
=
list
(
Path
(
g
.
shortcuts_dir
)
.
glob
(
'*.desktop'
))
shortcuts
+=
list
(
Path
(
g
.
base_dir
)
.
glob
(
'*.desktop'
))
for
shortcut
in
shortcuts
:
if
validate
(
shortcut
)
:
try
:
item
=
GameItem
(
self
,
shortcut
)
self
.
addItem
(
item
)
except
Exception
:
pass
self
.
sortItems
()
self
.
setCurrentIndex
(
QModelIndex
())
...
...
@@ -375,11 +369,21 @@ def human_size(num):
class
GameItem
(
QListWidgetItem
):
def
__init__
(
self
,
parent
,
desktop_file
):
super
()
.
__init__
(
parent
)
self
.
desktop_file
=
desktop_file
self
.
config
=
ConfigParser
()
self
.
config
=
Raw
ConfigParser
()
self
.
config
.
read
(
desktop_file
)
text
=
self
.
get
(
'Name'
,
Path
(
desktop_file
)
.
stem
)
if
not
self
.
get
(
'Exec'
)
or
text
==
'PortProton'
:
raise
Exception
(
'Validation fail'
)
self
.
game_dir
=
shlex
.
split
(
self
.
get
(
'Exec'
))[
-
1
]
if
self
.
game_dir
.
startswith
(
g
.
games_dir
):
self
.
game_dir
=
g
.
games_dir
+
'/'
+
self
.
game_dir
[
len
(
g
.
games_dir
)
+
1
:]
.
split
(
'/'
)[
0
]
else
:
self
.
game_dir
=
str
(
Path
(
self
.
game_dir
)
.
parent
)
if
self
.
game_dir
==
'.'
:
raise
Exception
(
'Can not determine game dir'
)
super
()
.
__init__
(
parent
)
self
.
setToolTip
(
text
)
self
.
setText
(
text
)
icon_path
=
self
.
get
(
'Icon'
)
if
Path
(
self
.
get
(
'Icon'
))
.
exists
()
else
g
.
pp_icon
...
...
@@ -387,11 +391,7 @@ class GameItem(QListWidgetItem):
self
.
setIcon
(
qicon
)
self
.
setTextAlignment
(
Qt
.
AlignmentFlag
.
AlignHCenter
|
Qt
.
AlignmentFlag
.
AlignTop
)
self
.
setSizeHint
(
QSize
(
100
,
105
))
self
.
game_dir
=
shlex
.
split
(
self
.
get
(
'Exec'
))[
-
1
]
if
self
.
game_dir
.
startswith
(
g
.
games_dir
):
self
.
game_dir
=
g
.
games_dir
+
'/'
+
self
.
game_dir
[
len
(
g
.
games_dir
)
+
1
:]
.
split
(
'/'
)[
0
]
else
:
self
.
game_dir
=
str
(
Path
(
self
.
game_dir
)
.
parent
)
self
.
_set_dir_size
(
None
)
dir_size_cache
=
self
.
game_dir
+
'/.size'
if
Path
(
dir_size_cache
)
.
exists
():
...
...
@@ -400,7 +400,7 @@ class GameItem(QListWidgetItem):
def
calc_dir_size
():
if
not
Path
(
self
.
game_dir
)
.
exists
():
return
dir_size
=
sum
(
p
.
stat
()
.
st_size
for
p
in
Path
(
self
.
game_dir
)
.
rglob
(
'*'
))
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
)
...
...
data_from_portwine/scripts/credits
100755 → 100644
View file @
cc7f5c32
#!/usr/bin/env bash
# Author: chal55rus, Castro-Fidel (PortWINE-Linux.ru)
########################################################################
if
[
"
${
update_loc
}
"
=
"RUS"
]
then
KEY_CREDITS
=
$RANDOM
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
1
--show-uri
\
--image-path
=
"
$PW_GUI_ICON_PATH
"
--image
=
"port_proton"
\
--text-align
=
center
--scroll
--text
=
"PortProton v.
${
install_ver
}
scripts v.
${
scripts_install_ver
}
https://portwine-linux.ru
Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru)
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
--text-align
=
center
--scroll
--text
=
"Автор: Casro-Fidel (Михаил Тергоев)
Помощники разработчика и тестировщики:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
Survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
3
--text-info
--scroll
<<<
"
Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
права использовать, копировать, изменять, объединять, публиковать, распространять,
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
следующих условий:
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
--text-info
--fontname
=
"Serif bold italic 12"
--show-uri
--scroll
\
<<<
'
Проект поддержали:
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
1
--show-uri
\
--image-path
=
"
$PW_GUI_ICON_PATH
"
--image
=
"port_proton"
\
--text-align
=
center
--scroll
--text
=
"PortProton v.
${
install_ver
}
scripts v.
${
scripts_install_ver
}
https://portwine-linux.ru
Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru)
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
--text-align
=
center
--scroll
--text
=
"Автор: Casro-Fidel (Михаил Тергоев)
Помощники разработчика и тестировщики:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
Survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
3
--text-info
--scroll
<<<
"
Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
права использовать, копировать, изменять, объединять, публиковать, распространять,
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
следующих условий:
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
--text-info
--fontname
=
"Serif bold italic 12"
--show-uri
--scroll
\
<<<
'
Проект поддержали:
https://boosty.to/portwine-linux.ru
1 1
...
...
@@ -257,37 +258,37 @@ then
Список будет дополняться...'
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
5
--text
=
"Хотите присоединится и помочь в развитии проекта:"
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--text-info
--scroll
<<<
\
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
-------------------------------------------
Стать платным подписчиком:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошель
к: 410012267513818
-------------------------------------------
Задонатить на стрим:
https://www.donationalerts.com/r/portwine_linux"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
--fontname
=
"Serif bold italic 10"
--text-info
<<<
"
Сторонние библиотеки, которые используются в PortProton
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
5
--text
=
"Хотите присоединится и помочь в развитии проекта:"
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--text-info
--scroll
<<<
\
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
-------------------------------------------
Стать платным подписчиком:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошеле
к: 410012267513818
-------------------------------------------
Задонатить на стрим:
https://www.donationalerts.com/r/portwine_linux"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
--fontname
=
"Serif bold italic 10"
--text-info
<<<
"
Сторонние библиотеки, которые используются в PortProton
PortProton собран на основе бесплатных библиотек программного обеспечения:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity"
&
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity"
&
"
${
pw_yad_new
}
"
--title
"О НАС"
--key
=
"
${
KEY_CREDITS
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--center
--notebook
--no-buttons
--tab-pos
=
bottom
\
--tab
=
"О PORTPROTON"
--tab
=
"АВТОРЫ"
--tab
=
"ЛИЦЕНЗИЯ"
--tab
=
"СПОНСОРЫ"
--tab
=
"ПРИСОЕДИНИТЬСЯ"
\
--tab
=
"БИБЛИОТЕКИ"
"
${
pw_yad_new
}
"
--title
"О НАС"
--key
=
"
${
KEY_CREDITS
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--center
--notebook
--no-buttons
--tab-pos
=
bottom
\
--tab
=
"О PORTPROTON"
--tab
=
"АВТОРЫ"
--tab
=
"ЛИЦЕНЗИЯ"
--tab
=
"СПОНСОРЫ"
--tab
=
"ПРИСОЕДИНИТЬСЯ"
\
--tab
=
"БИБЛИОТЕКИ"
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
...
...
@@ -295,62 +296,67 @@ else
KEY_CREDITS
=
$RANDOM
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
1
--show-uri
\
--text-align
=
center
--scroll
--text
=
"PortProton v.
${
install_ver
}
scripts v.
${
scripts_install_ver
}
https://portwine-linux.ru
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
1
--show-uri
\
--image-path
=
"
$PW_GUI_ICON_PATH
"
--image
=
"port_proton"
\
--text-align
=
center
--scroll
--text
=
"PortProton v.
${
install_ver
}
scripts v.
${
scripts_install_ver
}
Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)
This program comes with absolutely no warranty.
See the License for details."
&
https://portwine-linux.ru
Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
--text-align
=
center
--scroll
--text
=
"Author: Casro-Fidel (Mikhail Tergoev)
This program comes with absolutely no warranty.
See the License for details."
&
Developer assistants and testers:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
3
--text-info
--scroll
<<<
"MIT License
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
--text-align
=
center
--scroll
--text
=
"Author: Casro-Fidel (Mikhail Tergoev)
Developer assistants and testers:
Cefeiko
Dezert1r
Taz_mania
Anton_Famillianov
RidBowt
chal55rus
UserDiscord
survolog
gavr
RusNor
aldiserg
an9949an
andrey4korop
zorn
"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
3
--text-info
--scroll
<<<
"MIT License
Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Copyright (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "
Software
"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "
Software
"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE."
&
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
--text-info
--show-uri
--scroll
<<<
'https://boosty.to/portwine-linux.ru:
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
--text-info
--fontname
=
"Serif bold italic 12"
--show-uri
--scroll
\
<<<
' The project was supported:
https://boosty.to/portwine-linux.ru:
1 1
A B
...
...
@@ -441,7 +447,7 @@ else
anisan_sg
apolon
benya
chal55rus
(Sergey P.)
chal55rus
d.kostroma
dunkanMcLoud
dupster mailbox
...
...
@@ -467,114 +473,116 @@ else
wrager
xpamych
zorn
Александр
Александр Абдулов
Александр Кладов
Александр Лобанов
Алексей Ultralin
Алексей Войтенко
Алексей Галаш
Алексей Зубрийчук
Алексей Ивушкин
Алексей Кравчук
Алексей Чугунов
Андрей Гусаков
Андрей Карпенцов
Антон Рудковский
Антон Фамилианов
Антоний Дамикан
Артём К.
Валерий Толмачёв
Виктор Шварц
Виктор Щетинин
Виндэта(рог)
Виталий Нуров
Влад Блинов
Влад Кладиев
Владимир Бильдюкевич
Владимир Дарвин
Вячеслав Шитюков
Вячеслав Шустров
Георгий Гурский
Данил Павлов
Дед Мазай
Денис Мальцев
Денис Матій
Денис Олефиренко
Дмитрий Круглов
Дмитрий Мазанка
Дмитрий Сидоров
Евгений Бебин
Евгений Долгополов
Евгений Хирвонен
Евгений Храмов
Егор Кречун
Женя Рябушкин
Иван Белекеев
Коляныч Королёв
Константин __
Константин Абадонна
Леонид
Максим Хмара-Миронов
Маленькая сосна
Марат
Марат Рахимов
Неизвестый Дмитрий
Никита Булавин
Павел Иванов
Павел Пашенцев
Равич Ревес
Рамиль
Рома Б.
Роман Игнатьев
Роман Паженский
Саша
Семён Клишин
Семён Ярополов
Сергей Казёнкин
Сергей Круглов
Серёга Сапрыкин
Стас Толкачёв
Тима Суеубаев
Тимофей Ковалев
Тимур Сафонов
Удалить Аккаунт
Хоттабыч
Николай Гинтов
Список будет дополняться...'
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
5
--text
=
"Хотите присоединится и помочь в развитии проекта:"
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--text-info
--scroll
<<<
\
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
-------------------------------------------
Стать платным подписчиком:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошельк: 410012267513818
-------------------------------------------
Задонатить на стрим:
https://www.donationalerts.com/r/portwine_linux"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
--text-info
<<<
"Сторонние библиотеки, которые используются в PortProton
PortProton собран на основе следующих бесплатных библиотек программного обеспечения:
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
\
--tab
=
"ABOUT PORTPROTON"
--tab
=
"AUTORS"
--tab
=
"LICENSE"
--tab
=
"SPONSORS"
--tab
=
"JOIN"
\
--tab
=
"THIRD PARTY LIBRARIES"
Alexander
Alexander Abdulov
Alexander Kladov
Alexander Lobanov
Alexey Ultralin
Alexey Voitenko
Alexey Galash
Alexey Zubriychuk
Alexey Ivushkin
Alexey Kravchuk
Alexey Chugunov
Andrey Gusakov
Andrey Karpentsov
Anton Rudkovsky
Anton Surnames
Antony Damikan
Artyom K.
Valery Tolmachev
Victor Schwartz
Victor Shchetinin
Vindeta (horn)
Vitaly Nurov
Vlad Blinov
Vlad Kladiev
Vladimir Bildyukevich
Vladimir Darwin
Vyacheslav Shityukov
Vyacheslav Shustrov
George Gursky
Danil Pavlov
Grandfather Mazai
Denis Maltsev
Denis Matiy
Denis Olefirenko
Dmitry Kruglov
Dmitry Mazanka
Dmitry Sidorov
Evgeny Bebin
Evgeny Dolgopolov
Evgeny Hirvonen
Evgeny Khramov
Egor Krechun
Zhenya Ryabushkin
Ivan Belekeyev
Kolyanich Korolev
Konstantin __
Konstantin Abadonna
Leonid
Maxim Khmara-Mironov
Little Pine
Marat
Marat Rakhimov
Unknown Dmitry
Nikita Bulavin
Pavel Ivanov
Pavel Pashentsev
Ravich Reves
Ramil
Roma B.
Roman Ignatiev
Roman Pazhensky
Sasha
Semyon Klishin
Semyon Yaropolov
Sergey Kazenkin
Sergey Kruglov
Serega Saprykin
Stas Tolkachev
Tima Sueubaev
Timofey Kovalev
Timur Safonov
Delete Account
Hottabych
Nikolai Gintov
The list will be updated...'
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
5
--text
=
"Do you want to join and help in the development of the project:"
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--text-info
--scroll
<<<
\
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
-------------------------------------------
Become a paid subscriber:
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
WebMoney wallets: WMZ-Z135951244401 WME-E325631629973
Yandex wallet: 410012267513818
-------------------------------------------
Donat on stream:
https://www.donationalerts.com/r/portwine_linux"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
--fontname
=
"Serif bold italic 10"
--text-info
<<<
" Third-party libraries that are used in PortProton
PortProton is built on the basis of the following free software libraries:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity"
&
"
${
pw_yad_new
}
"
--title
"ABOUT US"
--key
=
"
${
KEY_CREDITS
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--center
--notebook
--no-buttons
--tab-pos
=
bottom
\
--tab
=
"ABOUT PORTPROTON"
--tab
=
"AUTORS"
--tab
=
"LICENSE"
--tab
=
"SPONSORS"
--tab
=
"JOIN"
\
--tab
=
"THIRD PARTY LIBRARIES"
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
fi
data_from_portwine/scripts/portwine_db/setup
View file @
cc7f5c32
...
...
@@ -28,6 +28,6 @@ export PW_WINEDBG_DISABLE=1
export
PW_USE_GAMEMODE
=
0
# Force disabele gamemod
#export PW_FORCE_LARGE_ADDRESS_AWARE=0 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
#export PULSE_LATENCY_MSEC=60
export
PW_DLL_INSTALL
=
"mfc42 vcrun
2012 mfc12
0 vcrun2013"
export
PW_DLL_INSTALL
=
"mfc42 vcrun
6sp6 vcrun2012 mfc120 mfc14
0 vcrun2013"
#export LAUNCH_PARAMETERS="-d3d9"
#export PW_WINDOWS_VER=XP # Set windows version 10, 7 or XP
data_from_portwine/scripts/runlib
View file @
cc7f5c32
...
...
@@ -469,7 +469,6 @@ start_portwine () {
export
WINE_FULLSCREEN_FSR
=
1
export
WINE_FULLSCREEN_FSR_STRENGTH
=
0
export
WINE_FULLSCREEN_INTEGER_SCALING
=
0
# export WINE_FULLSCREEN_FAKE_CURRENT_RES=1920x1080
else
export
WINE_FULLSCREEN_FSR
=
0
unset
WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING
...
...
data_from_portwine/scripts/start.sh
deleted
100755 → 0
View file @
a2b53850
#!/usr/bin/env bash
# Author: PortWINE-Linux.ru
export
NO_AT_BRIDGE
=
1
export
pw_full_command_line
=(
"
$0
"
$*
)
if
[
-f
"
$1
"
]
;
then
export
portwine_exe
=
"
$(
readlink
-f
"
$1
"
)
"
fi
.
"
$(
dirname
$(
readlink
-f
"
$0
"
))
/runlib"
kill_portwine
pw_stop_progress_bar
if
[[
-f
"/usr/bin/portproton"
]]
&&
[[
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
]]
;
then
/usr/bin/env bash
"/usr/bin/portproton"
"
$@
"
&
exit
0
fi
if
[[
"
${
XDG_SESSION_TYPE
}
"
=
"wayland"
]]
&&
[[
!
-f
"
${
PORT_WINE_TMP_PATH
}
/check_wayland"
]]
;
then
zenity_info
"
$PW_WAYLAND_INFO
"
echo
"1"
>
"
${
PORT_WINE_TMP_PATH
}
/check_wayland"
fi
if
[[
-n
$(
basename
"
${
portwine_exe
}
"
|
grep
.ppack
)
]]
;
then
export
PW_ADD_TO_ARGS_IN_RUNTIME
=
"--xterm"
unset
PW_SANDBOX_HOME_PATH
pw_init_runtime
export
PW_PREFIX_NAME
=
$(
basename
"
$1
"
|
awk
-F
'.'
'{print $1}'
)
${
pw_runtime
}
env
PATH
=
"
${
PATH
}
"
LD_LIBRARY_PATH
=
"
${
PW_LD_LIBRARY_PATH
}
"
unsquashfs
-f
-d
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
"
"
$1
"
&
sleep
10
while
true
;
do
if
[[
-n
$(
pgrep
-a
xterm |
grep
".ppack"
|
head
-n
1 |
awk
'{print $1}'
)
]]
;
then
sleep
0.5
else
kill
-TERM
$(
pgrep
-a
unsquashfs |
grep
".ppack"
|
head
-n
1 |
awk
'{print $1}'
)
sleep
0.3
if
[[
-z
"
$(
pgrep
-a
unsquashfs |
grep
".ppack"
|
head
-n
1 |
awk
'{print $1}'
)
"
]]
then
break
else
sleep
0.3
fi
fi
done
if
[[
-f
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/.create_shortcut"
]]
;
then
orig_IFS
=
"
$IFS
"
IFS
=
$'
\n
'
for
crfb
in
$(
cat
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/.create_shortcut"
)
;
do
export
portwine_exe
=
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/
${
crfb
}
"
portwine_create_shortcut
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/
${
crfb
}
"
done
IFS
=
"
$orig_IFS
"
fi
exit
0
fi
portwine_launch
()
{
start_portwine
PORTWINE_MSI
=
$(
basename
"
${
portwine_exe
}
"
|
grep
.msi
)
PORTWINE_BAT
=
$(
basename
"
${
portwine_exe
}
"
|
grep
.bat
)
if
[[
-n
"
${
PW_VIRTUAL_DESKTOP
}
"
&&
"
${
PW_VIRTUAL_DESKTOP
}
"
==
"1"
]]
;
then
pw_screen_resolution
=
$(
xrandr
--current
|
grep
"*"
|
awk
'{print $1;}'
|
head
-1
)
pw_run explorer
"/desktop=portwine,
${
pw_screen_resolution
}
"
${
WINE_WIN_START
}
"
$portwine_exe
"
elif
[
-n
"
${
PORTWINE_MSI
}
"
]
;
then
pw_run msiexec /i
"
$portwine_exe
"
elif
[[
-n
"
${
PORTWINE_BAT
}
"
||
-n
"
${
portwine_exe
}
"
]]
;
then
pw_run
${
WINE_WIN_START
}
"
$portwine_exe
"
else
pw_run winefile
fi
}
portwine_start_debug
()
{
kill_portwine
export
PW_LOG
=
1
export
PW_WINEDBG_DISABLE
=
0
echo
"
${
port_deb1
}
"
>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"
${
port_deb2
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"-------------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"PortWINE version:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
read
install_ver <
"
${
PORT_WINE_TMP_PATH
}
/
${
portname
}
_ver"
echo
"
${
portname
}
-
${
install_ver
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"------------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Scripts version:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
cat
"
${
PORT_WINE_TMP_PATH
}
/scripts_ver"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"-----------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
if
[
"
${
PW_USE_RUNTIME
}
"
=
0
]
;
then
echo
"RUNTIME is disabled"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
else
echo
"RUNTIME is enabled"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"----------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
if
[
-n
"
${
portwine_exe
}
"
]
;
then
echo
"Debug for programm:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"
${
portwine_exe
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"---------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"GLIBC version:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
$(
ldd
--version
|
grep
-m1
ldd |
awk
'{print $NF}'
)
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"--------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
if
[[
"
${
PW_VULKAN_USE
}
"
=
"0"
]]
;
then
echo
"PW_VULKAN_USE=
${
PW_VULKAN_USE
}
- DX9-11 to OpenGL"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
elif
[[
"
${
PW_VULKAN_USE
}
"
=
"3"
]]
;
then
echo
"PW_VULKAN_USE=
${
PW_VULKAN_USE
}
- native DX9 on MESA drivers"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
else
echo
"PW_VULKAN_USE=
${
PW_VULKAN_USE
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"--------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Version WINE in the Port:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
print_var PW_WINE_USE
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
[
-f
"
${
WINEDIR
}
/version"
]
&&
cat
"
${
WINEDIR
}
/version"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"------------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Date and time of start debug for
${
portname
}
:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
date
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"-----------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"The installation path of the
${
portname
}
:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"
$PORT_WINE_PATH
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"----------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Operating system"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
lsb_release
-d
|
sed
s/Description/ОС/g
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"--------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Desktop environment:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Desktop session:
${
DESKTOP_SESSION
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Current desktop:
${
XDG_CURRENT_DESKTOP
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Session type:
${
XDG_SESSION_TYPE
}
"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"--------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Kernel"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
uname
-r
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"-------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"CPU"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
cat
/proc/cpuinfo |
grep
"model name"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"------------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"RAM"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
free
-m
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"-----------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Graphic cards and drivers:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
'lspci -k | grep -EA3 VGA|3D|Display:'
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
$(
lspci
-k
|
grep
-EA3
'VGA|3D|Display'
)
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
[[
`
which glxinfo
`
]]
&&
glxinfo
-B
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
" "
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"inxi -G:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
"
${
PW_WINELIB
}
/portable/bin/inxi"
-G
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"----------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"Vulkan info device name:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
[[
`
which vulkaninfo
`
]]
&&
vulkaninfo |
grep
deviceName
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
"
${
PW_WINELIB
}
/portable/bin/vkcube"
--c
50
if
[
$?
-eq
0
]
;
then
echo
"Vulkan cube test passed successfully"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
else
echo
"Vkcube test completed with error"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
if
[
!
-x
"
$(
which gamemoderun 2>/dev/null
)
"
]
then
echo
"---------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"!!!gamemod not found!!!"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"-------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
if
[[
"
${
PW_USE_D3D_EXTRAS
}
"
!=
1
]]
then
echo
"D3D_EXTRAS - disabled"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
else
echo
"D3D_EXTRAS - enabled"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"------------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"winetricks.log:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
cat
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
|
sed
-e
/
"^d3dcomp*"
/d
-e
/
"^d3dx*"
/d
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
echo
"-----------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
if
[
-n
"
${
PORTWINE_DB_FILE
}
"
]
;
then
echo
"Use
${
PORTWINE_DB_FILE
}
db file:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
cat
"
${
PORTWINE_DB_FILE
}
"
|
sed
'/##/d'
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
else
echo
"Use
${
PORT_SCRIPTS_PATH
}
/portwine_db/default db file:"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
cat
"
${
PORT_SCRIPTS_PATH
}
/portwine_db/default"
|
sed
'/##/d'
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"----------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
if
[
-f
"
${
USER_CONF
}
"
]
;
then
cat
"
${
USER_CONF
}
"
|
sed
'/bash/d'
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
fi
echo
"---------------------------------------"
>>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
export
DXVK_HUD
=
"full"
portwine_launch &
sleep
3
pw_stop_progress_bar_cover
unset
PW_TIMER
while
read
-r
line
||
[[
-n
$(
pgrep
-a
yad |
grep
"yad_new --text-info --tail --button="
STOP
":0 --title="
DEBUG
""
|
awk
'{print $1}'
)
]]
;
do
sleep
0.005
if
[[
-n
"
${
line
}
"
]]
&&
[[
-z
"
$(
echo
"
${
line
}
"
|
grep
-i
"gstreamer"
)
"
]]
\
&&
[[
-z
"
$(
echo
"
${
line
}
"
|
grep
-i
"kerberos"
)
"
]]
\
&&
[[
-z
"
$(
echo
"
${
line
}
"
|
grep
-i
"ntlm"
)
"
]]
then
echo
"#
${
line
}
"
fi
if
[[
"
${
PW_TIMER
}
"
!=
1
]]
;
then
sleep
3
PW_TIMER
=
1
fi
done
<
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
|
"
${
pw_yad_new
}
"
--text-info
--tail
--button
=
"STOP"
:0
--title
=
"DEBUG"
\
--skip-taskbar
--center
--width
=
800
--height
=
400
--text
"
${
port_debug
}
"
&&
kill_portwine
# sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine
sed
-i
'/.fx$/d'
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
sed
-i
'/GStreamer/d'
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
sed
-i
'/kerberos/d'
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
sed
-i
'/ntlm/d'
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
sed
-i
'/HACK_does_openvr_work/d'
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
sed
-i
'/Uploading is disabled/d'
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
deb_text
=
$(
cat
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
|
awk
'! a[$0]++'
)
echo
"
$deb_text
"
>
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
"
$pw_yad
"
--title
=
"
${
portname
}
.log"
--borders
=
7
--no-buttons
--text-align
=
center
\
--text-info
--show-uri
--wrap
--center
--width
=
1200
--height
=
550
--uri-color
=
red
\
--filename
=
"
${
PORT_WINE_PATH
}
/
${
portname
}
.log"
stop_portwine
}
pw_winecfg
()
{
start_portwine
pw_run winecfg
}
pw_winefile
()
{
start_portwine
pw_run winefile
}
pw_winecmd
()
{
export
PW_USE_TERMINAL
=
1
start_portwine
cd
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/drive_c"
${
pw_runtime
}
env
LD_LIBRARY_PATH
=
"
${
PW_LD_LIBRARY_PATH
}
"
xterm
-e
"
${
WINELOADER
}
"
cmd
stop_portwine
}
pw_winereg
()
{
start_portwine
pw_run regedit
}
pw_prefix_manager
()
{
update_winetricks
start_portwine
if
[
!
-f
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
]
;
then
touch
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
fi
pw_start_progress_bar_block
"Starting prefix manager..."
"
${
PORT_WINE_TMP_PATH
}
/winetricks"
dlls list |
awk
-F
'('
'{print $1}'
1>
"
${
PORT_WINE_TMP_PATH
}
/dll_list"
"
${
PORT_WINE_TMP_PATH
}
/winetricks"
fonts list |
awk
-F
'('
'{print $1}'
1>
"
${
PORT_WINE_TMP_PATH
}
/fonts_list"
"
${
PORT_WINE_TMP_PATH
}
/winetricks"
settings list |
awk
-F
'('
'{print $1}'
1>
"
${
PORT_WINE_TMP_PATH
}
/settings_list"
pw_stop_progress_bar
gui_prefix_manager
()
{
pw_start_progress_bar_block
"Starting prefix manager..."
unset
SET_FROM_PFX_MANAGER_TMP SET_FROM_PFX_MANAGER
old_IFS
=
$IFS
IFS
=
$'
\n
'
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/dll_list_tmp"
while
read
PW_BOOL_IN_DLL_LIST
;
do
if
[[
-z
$(
echo
"
${
PW_BOOL_IN_DLL_LIST
}
"
|
grep
-E
'd3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio1'
)
]]
;
then
if
grep
"^
$(
echo
${
PW_BOOL_IN_DLL_LIST
}
|
awk
'{print $1}'
)
$"
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
;
then
echo
-e
"true
\n
$(
echo
${
PW_BOOL_IN_DLL_LIST
}
|
awk
'{print $1}'
)
\n
`
echo
${
PW_BOOL_IN_DLL_LIST
}
|
awk
'{ $1 = ""; print substr($0, 2) }'
`
"
>>
"
${
PORT_WINE_TMP_PATH
}
/dll_list_tmp"
else
echo
-e
"false
\n
`
echo
"
${
PW_BOOL_IN_DLL_LIST
}
"
|
awk
'{print $1}'
`
\n
`
echo
${
PW_BOOL_IN_DLL_LIST
}
|
awk
'{ $1 = ""; print substr($0, 2) }'
`
"
>>
"
${
PORT_WINE_TMP_PATH
}
/dll_list_tmp"
fi
fi
done
<
"
${
PORT_WINE_TMP_PATH
}
/dll_list"
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/fonts_list_tmp"
while
read
PW_BOOL_IN_FONTS_LIST
;
do
if
[[
-z
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
grep
-E
'dont_use'
)
]]
;
then
if
grep
"^
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{print $1}'
)
$"
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
;
then
echo
-e
"true
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{print $1}'
)
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{ $1 = ""; print substr($0, 2) }'
)
"
>>
"
${
PORT_WINE_TMP_PATH
}
/fonts_list_tmp"
else
echo
-e
"false
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{print $1}'
)
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{ $1 = ""; print substr($0, 2) }'
)
"
>>
"
${
PORT_WINE_TMP_PATH
}
/fonts_list_tmp"
fi
fi
done
<
"
${
PORT_WINE_TMP_PATH
}
/fonts_list"
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/settings_list_tmp"
while
read
PW_BOOL_IN_FONTS_LIST
;
do
if
[[
-z
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
grep
-E
'vista|alldlls|autostart_|bad|good|win|videomemory|vd=|isolate_home'
)
]]
;
then
if
grep
"^
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{print $1}'
)
$"
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
;
then
echo
-e
"true
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{print $1}'
)
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{ $1 = ""; print substr($0, 2) }'
)
"
>>
"
${
PORT_WINE_TMP_PATH
}
/settings_list_tmp"
else
echo
-e
"false
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{print $1}'
)
\n
$(
echo
"
${
PW_BOOL_IN_FONTS_LIST
}
"
|
awk
'{ $1 = ""; print substr($0, 2) }'
)
"
>>
"
${
PORT_WINE_TMP_PATH
}
/settings_list_tmp"
fi
fi
done
<
"
${
PORT_WINE_TMP_PATH
}
/settings_list"
pw_stop_progress_bar
KEY_EDIT_MANAGER_GUI
=
$RANDOM
"
${
pw_yad_new
}
"
--plug
=
$KEY_EDIT_MANAGER_GUI
--tabnum
=
1
--list
--checklist
\
--text
=
"Select components to install in prefix: <b>
\"
${
PW_PREFIX_NAME
}
\"
</b>, using wine: <b>
\"
${
PW_WINE_USE
}
\"
</b>"
\
--column
=
set
--column
=
dll
--column
=
info <
"
${
PORT_WINE_TMP_PATH
}
/dll_list_tmp"
1>>
"
${
PORT_WINE_TMP_PATH
}
/to_winetricks"
&
"
${
pw_yad_new
}
"
--plug
=
$KEY_EDIT_MANAGER_GUI
--tabnum
=
2
--list
--checklist
\
--text
=
"Select fonts to install in prefix: <b>
\"
${
PW_PREFIX_NAME
}
\"
</b>, using wine: <b>
\"
${
PW_WINE_USE
}
\"
</b>"
\
--column
=
set
--column
=
dll
--column
=
info <
"
${
PORT_WINE_TMP_PATH
}
/fonts_list_tmp"
1>>
"
${
PORT_WINE_TMP_PATH
}
/to_winetricks"
&
"
${
pw_yad_new
}
"
--plug
=
$KEY_EDIT_MANAGER_GUI
--tabnum
=
3
--list
--checklist
\
--text
=
"Change config for prefix: <b>
\"
${
PW_PREFIX_NAME
}
\"
</b>"
\
--column
=
set
--column
=
dll
--column
=
info <
"
${
PORT_WINE_TMP_PATH
}
/settings_list_tmp"
1>>
"
${
PORT_WINE_TMP_PATH
}
/to_winetricks"
&
"
${
pw_yad_new
}
"
--key
=
$KEY_EDIT_MANAGER_GUI
--notebook
--borders
=
5
--width
=
700
--height
=
600
--center
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
--title
"PREFIX MANAGER..."
--tab-pos
=
bottom
--tab
=
"DLL"
--tab
=
"FONTS"
--tab
=
"SETTINGS"
YAD_STATUS
=
"
$?
"
if
[[
"
$YAD_STATUS
"
==
"1"
||
"
$YAD_STATUS
"
==
"252"
]]
;
then
stop_portwine
exit
0
fi
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/dll_list_tmp"
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/fonts_list_tmp"
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/settings_list_tmp"
for
STPFXMNG
in
$(
cat
"
${
PORT_WINE_TMP_PATH
}
/to_winetricks"
)
;
do
grep
$(
echo
${
STPFXMNG
}
|
awk
-F
'|'
'{print $2}'
)
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/winetricks.log"
&>/dev/null
if
[
"
$?
"
==
"1"
]
;
then
[[
-n
"
${
STPFXMNG
}
"
]]
&&
SET_FROM_PFX_MANAGER+
=
"
$(
echo
"
${
STPFXMNG
}
"
|
awk
-F
'|'
'{print $2}'
)
"
fi
done
IFS
=
${
old_IFS
}
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/to_winetricks"
if
[[
-n
${
SET_FROM_PFX_MANAGER
}
]]
;
then
export
PW_ADD_TO_ARGS_IN_RUNTIME
=
"--xterm"
pw_init_runtime
${
pw_runtime
}
env
PATH
=
"
${
PATH
}
"
LD_LIBRARY_PATH
=
"
${
PW_LD_LIBRARY_PATH
}
"
"
${
PORT_WINE_TMP_PATH
}
/winetricks"
-q
-r
-f
${
SET_FROM_PFX_MANAGER
}
gui_prefix_manager
else
print_info
"Nothing to do. Restarting PortProton..."
stop_portwine &
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
fi
}
gui_prefix_manager
}
pw_winetricks
()
{
update_winetricks
export
PW_USE_TERMINAL
=
1
start_portwine
pw_stop_progress_bar
echo
"WINETRICKS..."
>
"
${
PORT_WINE_TMP_PATH
}
/update_pfx_log"
unset
PW_TIMER
while
read
-r
line
||
[[
-n
$(
pgrep
-a
yad |
grep
"yad_new --text-info --tail --no-buttons --title="
WINETRICKS
""
|
awk
'{print $1}'
)
]]
;
do
sleep
0.005
if
[[
-n
"
${
line
}
"
]]
&&
[[
-z
"
$(
echo
"
${
line
}
"
|
grep
-i
"gstreamer"
)
"
]]
\
&&
[[
-z
"
$(
echo
"
${
line
}
"
|
grep
-i
"kerberos"
)
"
]]
\
&&
[[
-z
"
$(
echo
"
${
line
}
"
|
grep
-i
"ntlm"
)
"
]]
then
echo
"#
${
line
}
"
fi
if
[[
"
${
PW_TIMER
}
"
!=
1
]]
;
then
sleep
3
PW_TIMER
=
1
fi
done
<
"
${
PORT_WINE_TMP_PATH
}
/update_pfx_log"
|
"
${
pw_yad_new
}
"
--text-info
--tail
--no-buttons
--title
=
"WINETRICKS"
\
--auto-close
--skip-taskbar
--width
=
$PW_GIF_SIZE_X
--height
=
$PW_GIF_SIZE_Y
&
"
${
PORT_WINE_TMP_PATH
}
/winetricks"
-q
-r
-f
&>>
"
${
PORT_WINE_TMP_PATH
}
/update_pfx_log"
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/update_pfx_log"
kill
-s
SIGTERM
"
$(
pgrep
-a
yad_new |
grep
"title=WINETRICKS"
|
awk
'{print $1}'
)
"
>
/dev/null 2>&1
stop_portwine
}
pw_create_prefix_backup
()
{
cd
"
$HOME
"
PW_PREFIX_TO_BACKUP
=
$(
"
${
pw_yad_new
}
"
--file
--directory
--borders
=
5
--width
=
650
--height
=
500
--auto-close
--center
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
--title
"BACKUP PREFIX TO..."
)
YAD_STATUS
=
"
$?
"
if
[[
"
$YAD_STATUS
"
==
"1"
||
"
$YAD_STATUS
"
==
"252"
]]
;
then
exit
0
;
fi
if
[[
-n
"
$(
grep
"/
${
PW_PREFIX_NAME
}
/"
"
${
PORT_WINE_PATH
}
"
/
*
.desktop
)
"
]]
;
then
try_remove_file
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/.create_shortcut"
grep
"/
${
PW_PREFIX_NAME
}
/"
"
${
PORT_WINE_PATH
}
"
/
*
.desktop |
awk
-F
"/
${
PW_PREFIX_NAME
}
/"
'{print $2}'
\
|
awk
-F
\"
'{print $1}'
>
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
/.create_shortcut"
fi
unset
PW_SANDBOX_HOME_PATH
export
PW_ADD_TO_ARGS_IN_RUNTIME
=
"--xterm"
pw_init_runtime
chmod
-R
u+w
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
"
${
pw_runtime
}
env
PATH
=
"
${
PATH
}
"
LD_LIBRARY_PATH
=
"
${
PW_LD_LIBRARY_PATH
}
"
mksquashfs
"
${
PORT_WINE_PATH
}
/data/prefixes/
${
PW_PREFIX_NAME
}
"
"
${
PW_PREFIX_TO_BACKUP
}
/
${
PW_PREFIX_NAME
}
.ppack.part"
-comp
zstd &
sleep
10
while
true
;
do
if
[[
-n
$(
pgrep
-a
xterm |
grep
".ppack.part"
|
head
-n
1 |
awk
'{print $1}'
)
]]
;
then
sleep
0.5
else
kill
-TERM
$(
pgrep
-a
mksquashfs |
grep
".ppack.part"
|
head
-n
1 |
awk
'{print $1}'
)
sleep
0.3
if
[[
-z
"
$(
pgrep
-a
mksquashfs |
grep
".ppack.part"
|
head
-n
1 |
awk
'{print $1}'
)
"
]]
then
break
else
sleep
0.3
fi
fi
done
if
[[
-f
"
${
PW_PREFIX_TO_BACKUP
}
/
${
PW_PREFIX_NAME
}
.ppack.part"
]]
;
then
mv
-f
"
${
PW_PREFIX_TO_BACKUP
}
/
${
PW_PREFIX_NAME
}
.ppack.part"
"
${
PW_PREFIX_TO_BACKUP
}
/
${
PW_PREFIX_NAME
}
.ppack"
zenity_info
"Backup for prefix
\"
${
PW_PREFIX_NAME
}
\"
successfully created."
else
zenity_error
"An error occurred while creating a backup for prefix:
\"
${
PW_PREFIX_NAME
}
\"
!"
fi
return
0
}
pw_edit_db
()
{
pw_gui_for_edit_db
\
PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11
\
PW_USE_NVAPI_AND_DLSS PW_WINE_FULLSCREEN_FSR PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP
\
PW_WINEDBG_DISABLE PW_USE_TERMINAL PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_GUI_DISABLED_CS PW_USE_GSTREAMER
\
PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_USE_AMDVLK_DRIVER
\
PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE
if
[
"
$?
"
==
0
]
;
then
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
&
exit
0
fi
}
pw_autoinstall_from_db
()
{
export
PW_USER_TEMP
=
"
${
PORT_WINE_TMP_PATH
}
"
export
PW_FORCE_LARGE_ADDRESS_AWARE
=
0
export
PW_USE_GAMEMODE
=
0
export
PW_CHECK_AUTOINSTAL
=
1
export
PW_GUI_DISABLED_CS
=
1
export
PW_WINEDBG_DISABLE
=
1
export
PW_NO_WRITE_WATCH
=
0
export
PW_VULKAN_USE
=
0
export
PW_NO_FSYNC
=
1
export
PW_NO_ESYNC
=
1
unset
PORTWINE_CREATE_SHORTCUT_NAME
export
PW_DISABLED_CREATE_DB
=
1
export
PW_MANGOHUD
=
0
export
ENABLE_VKBASALT
=
0
export
PW_USE_D3D_EXTRAS
=
1
.
"
${
PORT_SCRIPTS_PATH
}
/pw_autoinstall/
${
PW_YAD_SET
}
"
}
gui_credits
()
{
.
"
${
PORT_SCRIPTS_PATH
}
/credits"
}
export
-f
gui_credits
###MAIN###
PW_PREFIX_NAME
=
"
$(
echo
"
${
PW_PREFIX_NAME
}
"
|
sed
-e
s/[[:blank:]]/_/g
)
"
PW_ALL_PREFIXES
=
$(
ls
"
${
PORT_WINE_PATH
}
/data/prefixes/"
|
sed
-e
s/
"
${
PW_PREFIX_NAME
}
$"
//g
)
export
PW_PREFIX_NAME PW_ALL_PREFIXES
# if [[ -n "${PORTWINE_DB}" ]] && [[ -z `echo "${PW_PREFIX_NAME}" | grep -i "$(echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g)"` ]] ; then
# export PW_PREFIX_NAME="${PW_PREFIX_NAME}!`echo "${PORTWINE_DB}" | sed -e s/[[:blank:]]/_/g`"
# fi
unset
PW_ADD_PREFIXES_TO_GUI
IFS_OLD
=
$IFS
IFS
=
$'
\n
'
for
PAIG
in
${
PW_ALL_PREFIXES
[*]
}
;
do
[[
"
${
PAIG
}
"
!=
$(
echo
"
${
PORTWINE_DB
^^
}
"
|
sed
-e
s/[[:blank:]]/_/g
)
]]
&&
\
export
PW_ADD_PREFIXES_TO_GUI
=
"
${
PW_ADD_PREFIXES_TO_GUI
}
!
${
PAIG
}
"
done
IFS
=
$IFS_OLD
export
PW_ADD_PREFIXES_TO_GUI
=
"
${
PW_PREFIX_NAME
^^
}${
PW_ADD_PREFIXES_TO_GUI
}
"
PW_ALL_DIST
=
$(
ls
"
${
PORT_WINE_PATH
}
/data/dist/"
|
sed
-e
s/
"
${
PW_PROTON_GE_VER
}
$/
/g"
|
sed
-e
s/
"
${
PW_PROTON_STEAM_VER
}
$/
/g"
)
unset
DIST_ADD_TO_GUI
for
DAIG
in
${
PW_ALL_DIST
}
do
export
DIST_ADD_TO_GUI
=
"
${
DIST_ADD_TO_GUI
}
!
${
DAIG
}
"
done
if
[[
-n
"
${
PORTWINE_DB_FILE
}
"
]]
;
then
[[
-z
"
${
PW_COMMENT_DB
}
"
]]
&&
PW_COMMENT_DB
=
"PortWINE database file for "
\"
${
PORTWINE_DB
}
"
\"
was found."
if
[[
-z
"
${
PW_VULKAN_USE
}
"
||
-z
"
${
PW_WINE_USE
}
"
]]
;
then
unset
PW_GUI_DISABLED_CS
[[
-z
"
${
PW_VULKAN_USE
}
"
]]
&&
export
PW_VULKAN_USE
=
1
fi
case
"
${
PW_VULKAN_USE
}
"
in
"0"
)
export
PW_DEFAULT_VULKAN_USE
=
'OPENGL!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!GALLIUM_NINE (native DX9 on MESA)'
;;
"2"
)
export
PW_DEFAULT_VULKAN_USE
=
'VULKAN (WINE DXGI)!VULKAN (DXVK and VKD3D)!OPENGL!GALLIUM_NINE (native DX9 on MESA)'
;;
"3"
)
export
PW_DEFAULT_VULKAN_USE
=
'GALLIUM_NINE (native DX9 on MESA)!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL'
;;
*
)
export
PW_DEFAULT_VULKAN_USE
=
'VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)'
;;
esac
if
[[
-n
$(
echo
"
${
PW_WINE_USE
}
"
|
grep
"^PROTON_STEAM$"
)
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_PROTON_STEAM_VER
}
!
${
PW_PROTON_GE_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
elif
[[
-n
$(
echo
"
${
PW_WINE_USE
}
"
|
grep
"^PROTON_GE$"
)
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_PROTON_GE_VER
}
!
${
PW_PROTON_STEAM_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
else
if
[[
"
${
PW_WINE_USE
}
"
==
"
${
PW_PROTON_STEAM_VER
}
"
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_WINE_USE
}
!
${
PW_PROTON_GE_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
elif
[[
"
${
PW_WINE_USE
}
"
==
"
${
PW_PROTON_GE_VER
}
"
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_WINE_USE
}
!
${
PW_PROTON_STEAM_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
else
export
DIST_ADD_TO_GUI
=
$(
echo
"
${
DIST_ADD_TO_GUI
}
"
|
sed
-e
s/
"
\!
${
PW_WINE_USE
}
$/
/g"
)
export
PW_DEFAULT_WINE_USE
=
"
${
PW_WINE_USE
}
!
${
PW_PROTON_GE_VER
}
!
${
PW_PROTON_STEAM_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
fi
fi
else
export
PW_DEFAULT_VULKAN_USE
=
'VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)'
if
[[
-n
$(
echo
"
${
PW_WINE_USE
}
"
|
grep
"^PROTON_STEAM$"
)
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_PROTON_STEAM_VER
}
!
${
PW_PROTON_GE_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
elif
[[
-n
$(
echo
"
${
PW_WINE_USE
}
"
|
grep
"^PROTON_GE$"
)
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_PROTON_GE_VER
}
!
${
PW_PROTON_STEAM_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
else
if
[[
"
${
PW_WINE_USE
}
"
==
"
${
PW_PROTON_STEAM_VER
}
"
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_WINE_USE
}
!
${
PW_PROTON_GE_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
elif
[[
"
${
PW_WINE_USE
}
"
==
"
${
PW_PROTON_GE_VER
}
"
]]
;
then
export
PW_DEFAULT_WINE_USE
=
"
${
PW_WINE_USE
}
!
${
PW_PROTON_STEAM_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
else
export
DIST_ADD_TO_GUI
=
$(
echo
"
${
DIST_ADD_TO_GUI
}
"
|
sed
-e
s/
"
\!
${
PW_WINE_USE
}
$/
/g"
)
export
PW_DEFAULT_WINE_USE
=
"
${
PW_WINE_USE
}
!
${
PW_PROTON_GE_VER
}
!
${
PW_PROTON_STEAM_VER
}${
DIST_ADD_TO_GUI
}
!GET-OTHER-WINE"
fi
fi
unset
PW_GUI_DISABLED_CS
fi
if
[
-n
"
${
portwine_exe
}
"
]
;
then
if
[[
-z
"
${
PW_GUI_DISABLED_CS
}
"
||
"
${
PW_GUI_DISABLED_CS
}
"
==
0
]]
;
then
pw_create_gui_png
grep
-il
"
${
portwine_exe
}
"
"
${
HOME
}
/.local/share/applications"
/
*
.desktop
if
[[
"
$?
"
!=
"0"
]]
;
then
PW_SHORTCUT
=
"CREATE SHORTCUT!!
${
loc_create_shortcut
}
:100"
else
PW_SHORTCUT
=
"DELETE SHORTCUT!!
${
loc_delete_shortcut
}
:98"
fi
OUTPUT_START
=
$(
"
${
pw_yad
}
"
--text-align
=
center
--text
"
$PW_COMMENT_DB
"
--wrap-width
=
150
--borders
=
7
--form
--center
\
--title
"
${
portname
}
-
${
install_ver
}
(
${
scripts_install_ver
}
)"
--image
"
${
PW_ICON_FOR_YAD
}
"
--separator
=
";"
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--field
=
"3D API : :CB"
"
${
PW_DEFAULT_VULKAN_USE
}
"
\
--field
=
" WINE : :CB"
"
${
PW_DEFAULT_WINE_USE
}
"
\
--field
=
"PREFIX : :CBE"
"
${
PW_ADD_PREFIXES_TO_GUI
}
"
\
--field
=
":LBL"
""
\
--button
=
'VKBASALT'
!!
"
${
ENABLE_VKBASALT_INFO
}
"
:120
\
--button
=
'EDIT DB'
!!
"
${
loc_edit_db
}
${
PORTWINE_DB
}
"
:118
\
--button
=
"
${
PW_SHORTCUT
}
"
\
--button
=
'DEBUG'
!!
"
${
loc_debug
}
"
:102
\
--button
=
'LAUNCH'
!!
"
${
loc_launch
}
"
:106
)
export
PW_YAD_SET
=
"
$?
"
if
[[
"
$PW_YAD_SET
"
==
"1"
||
"
$PW_YAD_SET
"
==
"252"
]]
;
then
exit
0
;
fi
export
VULKAN_MOD
=
$(
echo
"
${
OUTPUT_START
}
"
|
grep
\;\;
|
awk
-F
";"
'{print $1}'
)
export
PW_WINE_VER
=
$(
echo
"
${
OUTPUT_START
}
"
|
grep
\;\;
|
awk
-F
";"
'{print $2}'
)
export
PW_PREFIX_NAME
=
$(
echo
"
${
OUTPUT_START
}
"
|
grep
\;\;
|
awk
-F
";"
'{print $3}'
|
sed
-e
s/[[:blank:]]/_/g
)
if
[[
-z
"
${
PW_PREFIX_NAME
}
"
]]
||
[[
-n
"
$(
echo
"
${
PW_PREFIX_NAME
}
"
|
grep
-E
'^_.*'
)
"
]]
;
then
export
PW_PREFIX_NAME
=
"DEFAULT"
else
export
PW_PREFIX_NAME
=
"
${
PW_PREFIX_NAME
^^
}
"
fi
elif
[
-n
"
${
PORTWINE_DB_FILE
}
"
]
;
then
portwine_launch
fi
else
button_click
()
{
[[
-n
"
$1
"
]]
&&
echo
"
$1
"
>
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form"
if
[[
-n
$(
pidof
-s
yad
)
]]
||
[[
-n
$(
pidof
-s
yad_new
)
]]
;
then
kill
-s
SIGUSR1
$(
pgrep
-a
yad |
grep
"
\-\-
key=
${
KEY
}
\-\-
notebook"
|
awk
'{print $1}'
)
>
/dev/null 2>&1
fi
}
export
-f
button_click
gui_clear_pfx
()
{
if
gui_question
"
${
port_clear_pfx
}
"
;
then
pw_clear_pfx
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
&
exit
0
fi
}
export
-f
gui_clear_pfx
gui_rm_portproton
()
{
if
gui_question
"
${
port_del2
}
"
;
then
rm
-fr
"
${
PORT_WINE_PATH
}
"
rm
-fr
"
${
PORT_WINE_TMP_PATH
}
"
rm
-fr
"
${
HOME
}
/PortWINE"
rm
-f
$(
grep
-il
PortProton
"
${
HOME
}
/.local/share/applications"
/
*)
update-desktop-database
-q
"
${
HOME
}
/.local/share/applications"
fi
exit
0
}
export
-f
gui_rm_portproton
gui_pw_update
()
{
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/scripts_update_notifier"
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
&
exit
0
}
gui_wine_uninstaller
()
{
start_portwine
pw_run uninstaller
}
export
-f
gui_wine_uninstaller
gui_open_user_conf
()
{
xdg-open
"
${
PORT_WINE_PATH
}
/data/user.conf"
}
export
-f
gui_open_user_conf
gui_open_scripts_from_backup
()
{
cd
"
${
PORT_WINE_TMP_PATH
}
/scripts_backup/"
PW_SCRIPT_FROM_BACKUP
=
$(
"
${
pw_yad_new
}
"
--file
--borders
=
5
--width
=
650
--height
=
500
--auto-close
--center
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
--title
"SCRIPTS FROM BACKUP"
--file-filter
=
"backup_scripts|scripts_v*.tar.gz"
)
YAD_STATUS
=
"
$?
"
if
[[
"
$YAD_STATUS
"
==
"1"
||
"
$YAD_STATUS
"
==
"252"
]]
;
then
exit
0
;
fi
unpack_tar_gz
"
$PW_SCRIPT_FROM_BACKUP
"
"
${
PORT_WINE_PATH
}
/data/"
echo
"0"
>
"
${
PORT_WINE_TMP_PATH
}
/scripts_update_notifier"
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
&
exit
0
}
export
-f
gui_open_scripts_from_backup
export
KEY
=
$RANDOM
"
${
pw_yad_new
}
"
--plug
=
${
KEY
}
--tabnum
=
4
--columns
=
3
--align-buttons
--form
--separator
=
";"
\
--field
=
"
$loc_gui_rm_pp
"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_rm_portproton"'
\
--field
=
"
$loc_gui_upd_pp
"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_pw_update"'
\
--field
=
"
$loc_gui_changelog
"
!
""
!
""
:
"FBTN"
'@bash -c "button_click open_changelog"'
\
--field
=
"
$loc_gui_edit_usc
"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_open_user_conf"'
\
--field
=
"
$loc_gui_scripts_fb
"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_open_scripts_from_backup"'
\
--field
=
"
$loc_gui_credits
"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_credits"'
&
"
${
pw_yad_new
}
"
--plug
=
${
KEY
}
--tabnum
=
3
--columns
=
3
--align-buttons
--form
--separator
=
";"
\
--field
=
" 3D API : :CB"
"VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)"
\
--field
=
" PREFIX : :CBE"
"
${
PW_ADD_PREFIXES_TO_GUI
}
"
\
--field
=
" WINE : :CB"
"
${
PW_DEFAULT_WINE_USE
}
"
\
--field
=
" DOWNLOAD OTHER WINE "
!
"
${
loc_download_other_wine
}
"
:
"FBTN"
'@bash -c "button_click gui_proton_downloader"'
\
--field
=
' WINECFG'
!
""
!
"
${
loc_winecfg
}
"
:
"FBTN"
'@bash -c "button_click WINECFG"'
\
--field
=
' WINEFILE'
!
""
!
"
${
loc_winefile
}
"
:
"FBTN"
'@bash -c "button_click WINEFILE"'
\
--field
=
' WINECMD'
!
""
!
"
${
loc_winecmd
}
"
:
"FBTN"
'@bash -c "button_click WINECMD"'
\
--field
=
' WINEREG'
!
""
!
"
${
loc_winereg
}
"
:
"FBTN"
'@bash -c "button_click WINEREG"'
\
--field
=
' WINETRICKS'
!
""
!
"
${
loc_winetricks
}
"
:
"FBTN"
'@bash -c "button_click WINETRICKS"'
\
--field
=
" WINE UNINSTALLER"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_wine_uninstaller"'
\
--field
=
" CLEAR PREFIX"
!
""
!
""
:
"FBTN"
'@bash -c "button_click gui_clear_pfx"'
\
--field
=
" CREATE PFX BACKUP"
!
""
!
""
:
"FBTN"
'@bash -c "button_click pw_create_prefix_backup"'
&>
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form_vulkan"
&
"
${
pw_yad_new
}
"
--plug
=
$KEY
--tabnum
=
2
--form
--columns
=
3
--align-buttons
--keep-icon-size
--scroll
\
--field
=
" Dolphin 5.0"
!
"
$PW_GUI_ICON_PATH
/dolphin.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_DOLPHIN"'
\
--field
=
" MAME"
!
"
$PW_GUI_ICON_PATH
/mame.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_MAME"'
\
--field
=
" ScummVM"
!
"
$PW_GUI_ICON_PATH
/scummvm.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_SCUMMVM"'
\
--field
=
" RetroArch"
!
"
$PW_GUI_ICON_PATH
/retroarch.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_RETROARCH"'
\
--field
=
" PPSSPP Windows"
!
"
$PW_GUI_ICON_PATH
/ppsspp.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_PPSSPP"'
\
--field
=
" Citra"
!
"
$PW_GUI_ICON_PATH
/citra.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_CITRA"'
\
--field
=
" Cemu"
!
"
$PW_GUI_ICON_PATH
/cemu.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_CEMU"'
\
--field
=
" DuckStation"
!
"
$PW_GUI_ICON_PATH
/duckstation.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_DUCKSTATION"'
\
--field
=
" ePSXe"
!
"
$PW_GUI_ICON_PATH
/epsxe.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_EPSXE"'
\
--field
=
" Project64"
!
"
$PW_GUI_ICON_PATH
/project64.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_PROJECT64"'
\
--field
=
" VBA-M"
!
"
$PW_GUI_ICON_PATH
/vba-m.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_VBA-M"'
\
--field
=
" Yabause"
!
"
$PW_GUI_ICON_PATH
/yabause.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_YABAUSE"'
&
"
${
pw_yad_new
}
"
--plug
=
$KEY
--tabnum
=
1
--form
--columns
=
3
--align-buttons
--keep-icon-size
--scroll
\
--field
=
" Wargaming Game Center"
!
"
$PW_GUI_ICON_PATH
/wgc.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_WGC"'
\
--field
=
" Battle.net Launcher"
!
"
$PW_GUI_ICON_PATH
/battle_net.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_BATTLE_NET"'
\
--field
=
" Epic Games Launcher"
!
"
$PW_GUI_ICON_PATH
/epicgames.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_EPIC"'
\
--field
=
" GoG Galaxy Launcher"
!
"
$PW_GUI_ICON_PATH
/gog.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_GOG"'
\
--field
=
" Ubisoft Game Launcher"
!
"
$PW_GUI_ICON_PATH
/ubc.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_UBC"'
\
--field
=
" EVE Online Launcher"
!
"
$PW_GUI_ICON_PATH
/eve.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_EVE"'
\
--field
=
" Origin Launcher"
!
"
$PW_GUI_ICON_PATH
/origin.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_ORIGIN"'
\
--field
=
" Rockstar Games Launcher"
!
"
$PW_GUI_ICON_PATH
/Rockstar.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_ROCKSTAR"'
\
--field
=
" My.Games Launcher"
!
"
$PW_GUI_ICON_PATH
/mygames.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_MYGAMES"'
\
--field
=
" Ankama Launcher"
!
"
$PW_GUI_ICON_PATH
/ankama.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_ANKAMA"'
\
--field
=
" OSU"
!
"
$PW_GUI_ICON_PATH
/osu.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_OSU"'
\
--field
=
" League of Legends"
!
"
$PW_GUI_ICON_PATH
/lol.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_LOL"'
\
--field
=
" Gameforge Client"
!
"
$PW_GUI_ICON_PATH
/gameforge.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_GAMEFORGE"'
\
--field
=
" World of Sea Battle (BETA)"
!
"
$PW_GUI_ICON_PATH
/wosb.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_WOSB"'
\
--field
=
" ITCH.IO"
!
"
$PW_GUI_ICON_PATH
/itch.png"
!
""
:
"FBTN"
'@bash -c "button_click PW_ITCH"'
&
# --field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"'
# --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"'
"
${
pw_yad_new
}
"
--key
=
$KEY
--notebook
--borders
=
5
--width
=
900
--height
=
235
--no-buttons
--auto-close
--center
\
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
--title
"
${
portname
}
-
${
install_ver
}
(
${
scripts_install_ver
}
)"
\
--tab-pos
=
bottom
--tab
=
"
$loc_mg_autoinstall
"
!
""
!
""
--tab
=
"
$loc_mg_emulators
"
!
""
!
""
--tab
=
"
$loc_mg_wine_settings
"
!
""
!
""
--tab
=
"
$loc_mg_portproton_settings
"
!
""
!
""
YAD_STATUS
=
"
$?
"
if
[[
"
$YAD_STATUS
"
==
"1"
||
"
$YAD_STATUS
"
==
"252"
]]
;
then
exit
0
;
fi
if
[[
-f
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form"
]]
;
then
export
PW_YAD_SET
=
$(
cat
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form"
|
head
-n
1 |
awk
'{print $1}'
)
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form"
fi
if
[[
-f
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form_vulkan"
]]
;
then
export
VULKAN_MOD
=
$(
cat
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form_vulkan"
|
grep
\;\;
|
awk
-F
";"
'{print $1}'
)
export
PW_PREFIX_NAME
=
$(
cat
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form_vulkan"
|
grep
\;\;
|
awk
-F
";"
'{print $2}'
|
sed
-e
"s/[[:blank:]]/_/g"
)
export
PW_WINE_VER
=
$(
cat
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form_vulkan"
|
grep
\;\;
|
awk
-F
";"
'{print $3}'
)
if
[[
-z
"
${
PW_PREFIX_NAME
}
"
]]
||
[[
-n
"
$(
echo
"
${
PW_PREFIX_NAME
}
"
|
grep
-E
'^_.*'
)
"
]]
;
then
export
PW_PREFIX_NAME
=
"DEFAULT"
else
export
PW_PREFIX_NAME
=
"
${
PW_PREFIX_NAME
^^
}
"
fi
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/tmp_yad_form_vulkan"
fi
export
PW_DISABLED_CREATE_DB
=
1
fi
if
[[
-n
"
${
VULKAN_MOD
}
"
&&
"
${
VULKAN_MOD
}
"
=
"OPENGL"
]]
then
export
PW_VULKAN_USE
=
"0"
elif
[[
-n
"
${
VULKAN_MOD
}
"
&&
"
${
VULKAN_MOD
}
"
=
"VULKAN (DXVK and VKD3D)"
]]
then
export
PW_VULKAN_USE
=
"1"
elif
[[
-n
"
${
VULKAN_MOD
}
"
&&
"
${
VULKAN_MOD
}
"
=
"VULKAN (WINE DXGI)"
]]
then
export
PW_VULKAN_USE
=
"2"
elif
[[
-n
"
${
VULKAN_MOD
}
"
&&
"
${
VULKAN_MOD
}
"
=
"GALLIUM_NINE (native DX9 on MESA)"
]]
then
export
PW_VULKAN_USE
=
"3"
fi
init_wine_ver
if
[[
-z
"
${
PW_DISABLED_CREATE_DB
}
"
]]
;
then
if
[[
-n
"
${
PORTWINE_DB
}
"
]]
&&
[[
-z
"
${
PORTWINE_DB_FILE
}
"
]]
;
then
PORTWINE_DB_FILE
=
$(
grep
-il
"
\#
${
PORTWINE_DB
}
.exe"
"
${
PORT_SCRIPTS_PATH
}
/portwine_db"
/
*)
if
[[
-z
"
${
PORTWINE_DB_FILE
}
"
]]
;
then
echo
"#!/usr/bin/env bash"
>
"
${
portwine_exe
}
"
.ppdb
echo
"#Author: "
${
USER
}
""
>>
"
${
portwine_exe
}
"
.ppdb
echo
"#"
${
PORTWINE_DB
}
.exe
""
>>
"
${
portwine_exe
}
"
.ppdb
echo
"#Rating=1-5"
>>
"
${
portwine_exe
}
"
.ppdb
cat
"
${
PORT_SCRIPTS_PATH
}
/portwine_db/default"
|
grep
"##"
>>
"
${
portwine_exe
}
"
.ppdb
export
PORTWINE_DB_FILE
=
"
${
portwine_exe
}
"
.ppdb
fi
fi
edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME
fi
case
"
$PW_YAD_SET
"
in
1|252
)
exit
0
;;
98
)
portwine_delete_shortcut
;;
100
)
portwine_create_shortcut
;;
DEBUG|102
)
portwine_start_debug
;;
106
)
portwine_launch
;;
WINECFG|108
)
pw_winecfg
;;
WINEFILE|110
)
pw_winefile
;;
WINECMD|112
)
pw_winecmd
;;
WINEREG|114
)
pw_winereg
;;
WINETRICKS|116
)
pw_prefix_manager
;;
118
)
pw_edit_db
;;
gui_clear_pfx
)
gui_clear_pfx
;;
gui_open_user_conf
)
gui_open_user_conf
;;
gui_wine_uninstaller
)
gui_wine_uninstaller
;;
gui_rm_portproton
)
gui_rm_portproton
;;
gui_pw_update
)
gui_pw_update
;;
gui_proton_downloader
)
gui_proton_downloader
;;
gui_open_scripts_from_backup
)
gui_open_scripts_from_backup
;;
open_changelog
)
open_changelog
;;
120
)
gui_vkBasalt
;;
pw_create_prefix_backup
)
pw_create_prefix_backup
;;
gui_credits
)
gui_credits
;;
PW_
*
)
pw_autoinstall_from_db
;;
esac
stop_portwine
data_from_portwine/scripts/var
View file @
cc7f5c32
#!/usr/bin/env bash
#Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=212
3
#SCRIPTS_NEXT_VERSION=212
4
########################################################################
export
PW_MANGOHUD
=
0
export
MANGOHUD_CONFIG
=
cpu_stats,cpu_temp,cpu_mhz,cpu_color
=
2e97cb,cpu_text
=
CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color
=
2e9762,gpu_text
=
GPU,vram,vram_color
=
ad64c1,ram,ram_color
=
c26693,io_color
=
a491d3,frame_timing
=
1,frametime_color
=
00ff00,time,arch,wine,wine_color
=
eb5b5b,engine_color
=
eb5b5b,background_alpha
=
0.2,font_size
=
24,background_color
=
020202,text_color
=
ffffff,toggle_hud
=
Shift_R+F12,resolution,vkbasalt
...
...
@@ -35,10 +35,10 @@ export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export
PW_WINE_USE
=
"PROTON_GE"
export
PW_PLUGINS_VER
=
"_v5"
###WINE_PROTON_STEAM###
export
PW_STEAM_VER
=
"7.0-
3
"
export
PW_STEAM_VER
=
"7.0-
4
"
export
PW_PROTON_STEAM_VER
=
"PROTON_STEAM_
${
PW_STEAM_VER
}
"
###WINE_PROTON_GE###
export
PW_GE_VER
=
"7-2
6
"
export
PW_GE_VER
=
"7-2
9
"
export
PW_PROTON_GE_VER
=
"PROTON_GE_
${
PW_GE_VER
}
"
export
PW_WINE_FULLSCREEN_FSR
=
"0"
###WINE_PROTON_PW_FOR_GALLIUM_NINE###
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment