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
...
@@ -2,6 +2,11 @@ You can help us in the development of the project on the website: boosty.to/port
-----------------------------------------
-----------------------------------------
Changelog:
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###
###Scripts version 2123###
* HOTFIX - GALLIUM NINE mode
* HOTFIX - GALLIUM NINE mode
...
...
data_from_portwine/changelog_rus
View file @
cc7f5c32
...
@@ -2,6 +2,11 @@
...
@@ -2,6 +2,11 @@
-----------------------------------------
-----------------------------------------
История изменений:
История изменений:
###Scripts version 2124###
* обновлен "PROTON_GE" до версии 7-29
* обновлен "PROTON_STEAM" до версии 7.0-4
* обновлен плагин pp-games-lib
###Scripts version 2123###
###Scripts version 2123###
* HOTFIX - скачивание PROTON GE при использовании режжима GALLIUM NINE
* HOTFIX - скачивание PROTON GE при использовании режжима GALLIUM NINE
* добавлена русификация CREDITS (Авторы и спасибы) - спасибо chal55rus
* добавлена русификация CREDITS (Авторы и спасибы) - спасибо chal55rus
...
...
data_from_portwine/plugins/pp-games-lib
View file @
cc7f5c32
...
@@ -4,7 +4,7 @@ import os
...
@@ -4,7 +4,7 @@ import os
import
re
import
re
import
shlex
import
shlex
import
shutil
import
shutil
from
configparser
import
ConfigParser
from
configparser
import
Raw
ConfigParser
from
pathlib
import
Path
from
pathlib
import
Path
from
subprocess
import
run
from
subprocess
import
run
from
types
import
SimpleNamespace
from
types
import
SimpleNamespace
...
@@ -13,9 +13,9 @@ try:
...
@@ -13,9 +13,9 @@ try:
from
PyQt6.QtGui
import
*
# type: ignore
from
PyQt6.QtGui
import
*
# type: ignore
from
PyQt6.QtWidgets
import
*
# type: ignore
from
PyQt6.QtWidgets
import
*
# type: ignore
except
ModuleNotFoundError
:
except
ModuleNotFoundError
:
from
PyQt5.QtCore
import
*
from
PyQt5.QtCore
import
*
# type: ignore
from
PyQt5.QtGui
import
*
from
PyQt5.QtGui
import
*
# type: ignore
from
PyQt5.QtWidgets
import
*
from
PyQt5.QtWidgets
import
*
# type: ignore
settings
=
QSettings
(
'PPGL'
,
'PortProtonGamesLib'
)
settings
=
QSettings
(
'PPGL'
,
'PortProtonGamesLib'
)
g
=
SimpleNamespace
(
locale
=
''
)
g
=
SimpleNamespace
(
locale
=
''
)
...
@@ -29,7 +29,7 @@ class MainWindow(QMainWindow):
...
@@ -29,7 +29,7 @@ class MainWindow(QMainWindow):
if
geometry
:
if
geometry
:
self
.
restoreGeometry
(
geometry
)
self
.
restoreGeometry
(
geometry
)
shortcut
=
ConfigParser
()
shortcut
=
Raw
ConfigParser
()
shortcut
.
read
(
os
.
getenv
(
'HOME'
)
+
'/.local/share/applications/PortProton.desktop'
)
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'
)
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
():
if
not
scripts_dir
or
not
Path
(
scripts_dir
)
.
is_dir
():
...
@@ -288,20 +288,14 @@ class GameList(QListWidget):
...
@@ -288,20 +288,14 @@ class GameList(QListWidget):
def
reload
(
self
):
def
reload
(
self
):
self
.
clear
()
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
.
shortcuts_dir
)
.
glob
(
'*.desktop'
))
shortcuts
+=
list
(
Path
(
g
.
base_dir
)
.
glob
(
'*.desktop'
))
shortcuts
+=
list
(
Path
(
g
.
base_dir
)
.
glob
(
'*.desktop'
))
for
shortcut
in
shortcuts
:
for
shortcut
in
shortcuts
:
if
validate
(
shortcut
)
:
try
:
item
=
GameItem
(
self
,
shortcut
)
item
=
GameItem
(
self
,
shortcut
)
self
.
addItem
(
item
)
self
.
addItem
(
item
)
except
Exception
:
pass
self
.
sortItems
()
self
.
sortItems
()
self
.
setCurrentIndex
(
QModelIndex
())
self
.
setCurrentIndex
(
QModelIndex
())
...
@@ -375,11 +369,21 @@ def human_size(num):
...
@@ -375,11 +369,21 @@ def human_size(num):
class
GameItem
(
QListWidgetItem
):
class
GameItem
(
QListWidgetItem
):
def
__init__
(
self
,
parent
,
desktop_file
):
def
__init__
(
self
,
parent
,
desktop_file
):
super
()
.
__init__
(
parent
)
self
.
desktop_file
=
desktop_file
self
.
desktop_file
=
desktop_file
self
.
config
=
ConfigParser
()
self
.
config
=
Raw
ConfigParser
()
self
.
config
.
read
(
desktop_file
)
self
.
config
.
read
(
desktop_file
)
text
=
self
.
get
(
'Name'
,
Path
(
desktop_file
)
.
stem
)
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
.
setToolTip
(
text
)
self
.
setText
(
text
)
self
.
setText
(
text
)
icon_path
=
self
.
get
(
'Icon'
)
if
Path
(
self
.
get
(
'Icon'
))
.
exists
()
else
g
.
pp_icon
icon_path
=
self
.
get
(
'Icon'
)
if
Path
(
self
.
get
(
'Icon'
))
.
exists
()
else
g
.
pp_icon
...
@@ -387,11 +391,7 @@ class GameItem(QListWidgetItem):
...
@@ -387,11 +391,7 @@ class GameItem(QListWidgetItem):
self
.
setIcon
(
qicon
)
self
.
setIcon
(
qicon
)
self
.
setTextAlignment
(
Qt
.
AlignmentFlag
.
AlignHCenter
|
Qt
.
AlignmentFlag
.
AlignTop
)
self
.
setTextAlignment
(
Qt
.
AlignmentFlag
.
AlignHCenter
|
Qt
.
AlignmentFlag
.
AlignTop
)
self
.
setSizeHint
(
QSize
(
100
,
105
))
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
)
self
.
_set_dir_size
(
None
)
dir_size_cache
=
self
.
game_dir
+
'/.size'
dir_size_cache
=
self
.
game_dir
+
'/.size'
if
Path
(
dir_size_cache
)
.
exists
():
if
Path
(
dir_size_cache
)
.
exists
():
...
@@ -400,7 +400,7 @@ class GameItem(QListWidgetItem):
...
@@ -400,7 +400,7 @@ class GameItem(QListWidgetItem):
def
calc_dir_size
():
def
calc_dir_size
():
if
not
Path
(
self
.
game_dir
)
.
exists
():
if
not
Path
(
self
.
game_dir
)
.
exists
():
return
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
)
self
.
_set_dir_size
(
dir_size
)
Path
(
dir_size_cache
)
.
write_text
(
str
(
dir_size
))
Path
(
dir_size_cache
)
.
write_text
(
str
(
dir_size
))
thread
=
QThread
(
parent
)
thread
=
QThread
(
parent
)
...
...
data_from_portwine/scripts/credits
100755 → 100644
View file @
cc7f5c32
#!/usr/bin/env bash
#!/usr/bin/env bash
# Author: chal55rus, Castro-Fidel (PortWINE-Linux.ru)
########################################################################
if
[
"
${
update_loc
}
"
=
"RUS"
]
if
[
"
${
update_loc
}
"
=
"RUS"
]
then
then
KEY_CREDITS
=
$RANDOM
KEY_CREDITS
=
$RANDOM
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
1
--show-uri
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
1
--show-uri
\
--image-path
=
"
$PW_GUI_ICON_PATH
"
--image
=
"port_proton"
\
--image-path
=
"
$PW_GUI_ICON_PATH
"
--image
=
"port_proton"
\
--text-align
=
center
--scroll
--text
=
"PortProton v.
${
install_ver
}
--text-align
=
center
--scroll
--text
=
"PortProton v.
${
install_ver
}
scripts v.
${
scripts_install_ver
}
scripts v.
${
scripts_install_ver
}
https://portwine-linux.ru
https://portwine-linux.ru
Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru)
Авторские права © 2022 Castro-Fidel (PortWINE-Linux.ru)
Эта программа поставляется без каких-либо гарантий.
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия."
&
Подробнее см. в Лицензия."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
--text-align
=
center
--scroll
--text
=
"Автор: Casro-Fidel (Михаил Тергоев)
--text-align
=
center
--scroll
--text
=
"Автор: Casro-Fidel (Михаил Тергоев)
Помощники разработчика и тестировщики:
Помощники разработчика и тестировщики:
Cefeiko
Cefeiko
Dezert1r
Dezert1r
Taz_mania
Taz_mania
Anton_Famillianov
Anton_Famillianov
RidBowt
RidBowt
chal55rus
chal55rus
UserDiscord
UserDiscord
Survolog
Survolog
gavr
gavr
RusNor
RusNor
aldiserg
aldiserg
an9949an
an9949an
andrey4korop
andrey4korop
zorn
zorn
"
&
"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
3
--text-info
--scroll
<<<
"
Лицензия Массачусетского технологического института (MIT License)
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
3
--text-info
--scroll
<<<
"
Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Авторские права (©) 2022 Castro-Fidel (PortWINE-Linux.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
программного обеспечения и связанных с ним файлов документации (Программное
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего,
права использовать, копировать, изменять, объединять, публиковать, распространять,
права использовать, копировать, изменять, объединять, публиковать, распространять,
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
сублицензировать и/или продавать копий Программного обеспечения, а также разрешить
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
лицам, которым Программное обеспечение предоставляется для этого при соблюдении
следующих условий:
следующих условий:
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны
быть включены во все копии или существенные части Программного обеспечения.
быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ,
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ."
&
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
--text-info
--fontname
=
"Serif bold italic 12"
--show-uri
--scroll
\
--text-info
--fontname
=
"Serif bold italic 12"
--show-uri
--scroll
\
<<<
'
Проект поддержали:
<<<
'
Проект поддержали:
https://boosty.to/portwine-linux.ru
https://boosty.to/portwine-linux.ru
1 1
1 1
...
@@ -257,37 +258,37 @@ then
...
@@ -257,37 +258,37 @@ then
Список будет дополняться...'
&
Список будет дополняться...'
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
5
--text
=
"Хотите присоединится и помочь в развитии проекта:"
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
5
--text
=
"Хотите присоединится и помочь в развитии проекта:"
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--text-info
--scroll
<<<
\
--text-info
--scroll
<<<
\
"Website: http://portwine-linux.ru
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
VK: https://vk.com/portwinelinux
-------------------------------------------
-------------------------------------------
Стать платным подписчиком:
Стать платным подписчиком:
boosty: https://boosty.to/portwine-linux.ru
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
Yandex кошель
к: 410012267513818
Yandex кошеле
к: 410012267513818
-------------------------------------------
-------------------------------------------
Задонатить на стрим:
Задонатить на стрим:
https://www.donationalerts.com/r/portwine_linux"
&
https://www.donationalerts.com/r/portwine_linux"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
--fontname
=
"Serif bold italic 10"
--text-info
<<<
"
Сторонние библиотеки, которые используются в PortProton
--fontname
=
"Serif bold italic 10"
--text-info
<<<
"
Сторонние библиотеки, которые используются в PortProton
PortProton собран на основе бесплатных библиотек программного обеспечения:
PortProton собран на основе бесплатных библиотек программного обеспечения:
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
YAD: https://github.com/v1cont/yad
YAD: https://github.com/v1cont/yad
ZENITY: https://github.com/GNOME/zenity"
&
ZENITY: https://github.com/GNOME/zenity"
&
"
${
pw_yad_new
}
"
--title
"О НАС"
--key
=
"
${
KEY_CREDITS
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
"
${
pw_yad_new
}
"
--title
"О НАС"
--key
=
"
${
KEY_CREDITS
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--center
--notebook
--no-buttons
--tab-pos
=
bottom
\
--center
--notebook
--no-buttons
--tab-pos
=
bottom
\
--tab
=
"О PORTPROTON"
--tab
=
"АВТОРЫ"
--tab
=
"ЛИЦЕНЗИЯ"
--tab
=
"СПОНСОРЫ"
--tab
=
"ПРИСОЕДИНИТЬСЯ"
\
--tab
=
"О PORTPROTON"
--tab
=
"АВТОРЫ"
--tab
=
"ЛИЦЕНЗИЯ"
--tab
=
"СПОНСОРЫ"
--tab
=
"ПРИСОЕДИНИТЬСЯ"
\
--tab
=
"БИБЛИОТЕКИ"
--tab
=
"БИБЛИОТЕКИ"
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
...
@@ -295,62 +296,67 @@ else
...
@@ -295,62 +296,67 @@ else
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
}
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.
https://portwine-linux.ru
See the License for details."
&
Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
2
\
This program comes with absolutely no warranty.
--text-align
=
center
--scroll
--text
=
"Author: Casro-Fidel (Mikhail Tergoev)
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
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "
Software
"), to deal
of this software and associated documentation files (the "
Software
"), to deal
in the Software without restriction, including without limitation the rights
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
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
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE."
&
SOFTWARE."
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
4
\
--text-info
--show-uri
--scroll
<<<
'https://boosty.to/portwine-linux.ru:
--text-info
--fontname
=
"Serif bold italic 12"
--show-uri
--scroll
\
<<<
' The project was supported:
https://boosty.to/portwine-linux.ru:
1 1
1 1
A B
A B
...
@@ -441,7 +447,7 @@ else
...
@@ -441,7 +447,7 @@ else
anisan_sg
anisan_sg
apolon
apolon
benya
benya
chal55rus
(Sergey P.)
chal55rus
d.kostroma
d.kostroma
dunkanMcLoud
dunkanMcLoud
dupster mailbox
dupster mailbox
...
@@ -467,114 +473,116 @@ else
...
@@ -467,114 +473,116 @@ else
wrager
wrager
xpamych
xpamych
zorn
zorn
Александр
Alexander
Александр Абдулов
Alexander Abdulov
Александр Кладов
Alexander Kladov
Александр Лобанов
Alexander Lobanov
Алексей Ultralin
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
=
"Хотите присоединится и помочь в развитии проекта:"
\
"
${
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
\
--title
=
JOIN
--window-icon
=
group
--image
=
system-config-users
--uri-color
=
red
--show-uri
\
--text-info
--scroll
<<<
\
--text-info
--scroll
<<<
\
"Website: http://portwine-linux.ru
"Website: http://portwine-linux.ru
Discord: http://discord.gg/yJSEFjF
Discord: http://discord.gg/yJSEFjF
VK: https://vk.com/portwinelinux
VK: https://vk.com/portwinelinux
-------------------------------------------
-------------------------------------------
Стать платным подписчиком:
Become a paid subscriber:
boosty: https://boosty.to/portwine-linux.ru
boosty: https://boosty.to/portwine-linux.ru
patreon: https://www.patreon.com/portproton
patreon: https://www.patreon.com/portproton
Кошельки WebMoney: WMZ-Z135951244401 WME-E325631629973
WebMoney wallets: WMZ-Z135951244401 WME-E325631629973
Yandex кошельк: 410012267513818
Yandex wallet: 410012267513818
-------------------------------------------
-------------------------------------------
Задонатить на стрим:
Donat on stream:
https://www.donationalerts.com/r/portwine_linux"
&
https://www.donationalerts.com/r/portwine_linux"
&
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
"
${
pw_yad_new
}
"
--plug
=
"
${
KEY_CREDITS
}
"
--tabnum
=
6
--show-uri
--title
=
"THIRD PARTY LIBRARIES"
\
--text-info
<<<
"Сторонние библиотеки, которые используются в PortProton
--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: https://github.com/ValveSoftware/Proton
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
YAD: https://github.com/v1cont/"
${
pw_yad_new
}
"
Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds
ZENITY: https://github.com/GNOME/zenity"
&
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"
\
"
${
pw_yad_new
}
"
--title
"ABOUT US"
--key
=
"
${
KEY_CREDITS
}
"
--window-icon
=
"
$PW_GUI_ICON_PATH
/port_proton.png"
\
--tab
=
"THIRD PARTY LIBRARIES"
--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
[*]
}
/usr/bin/env bash
-c
${
pw_full_command_line
[*]
}
fi
fi
data_from_portwine/scripts/portwine_db/setup
View file @
cc7f5c32
...
@@ -28,6 +28,6 @@ export PW_WINEDBG_DISABLE=1
...
@@ -28,6 +28,6 @@ export PW_WINEDBG_DISABLE=1
export
PW_USE_GAMEMODE
=
0
# Force disabele gamemod
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 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 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 LAUNCH_PARAMETERS="-d3d9"
#export PW_WINDOWS_VER=XP # Set windows version 10, 7 or XP
#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 () {
...
@@ -469,7 +469,6 @@ start_portwine () {
export
WINE_FULLSCREEN_FSR
=
1
export
WINE_FULLSCREEN_FSR
=
1
export
WINE_FULLSCREEN_FSR_STRENGTH
=
0
export
WINE_FULLSCREEN_FSR_STRENGTH
=
0
export
WINE_FULLSCREEN_INTEGER_SCALING
=
0
export
WINE_FULLSCREEN_INTEGER_SCALING
=
0
# export WINE_FULLSCREEN_FAKE_CURRENT_RES=1920x1080
else
else
export
WINE_FULLSCREEN_FSR
=
0
export
WINE_FULLSCREEN_FSR
=
0
unset
WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING
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
#!/usr/bin/env bash
#Author: Castro-Fidel (PortWINE-Linux.ru)
#Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=212
3
#SCRIPTS_NEXT_VERSION=212
4
########################################################################
########################################################################
export
PW_MANGOHUD
=
0
export
PW_MANGOHUD
=
0
export
MANGOHUD_CONFIG
=
cpu_stats,cpu_temp,cpu_mhz,cpu_color
=
2e97cb,cpu_text
=
CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color
=
2e9762,gpu_text
=
GPU,vram,vram_color
=
ad64c1,ram,ram_color
=
c26693,io_color
=
a491d3,frame_timing
=
1,frametime_color
=
00ff00,time,arch,wine,wine_color
=
eb5b5b,engine_color
=
eb5b5b,background_alpha
=
0.2,font_size
=
24,background_color
=
020202,text_color
=
ffffff,toggle_hud
=
Shift_R+F12,resolution,vkbasalt
export
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"
...
@@ -35,10 +35,10 @@ export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export
PW_WINE_USE
=
"PROTON_GE"
export
PW_WINE_USE
=
"PROTON_GE"
export
PW_PLUGINS_VER
=
"_v5"
export
PW_PLUGINS_VER
=
"_v5"
###WINE_PROTON_STEAM###
###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
}
"
export
PW_PROTON_STEAM_VER
=
"PROTON_STEAM_
${
PW_STEAM_VER
}
"
###WINE_PROTON_GE###
###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_PROTON_GE_VER
=
"PROTON_GE_
${
PW_GE_VER
}
"
export
PW_WINE_FULLSCREEN_FSR
=
"0"
export
PW_WINE_FULLSCREEN_FSR
=
"0"
###WINE_PROTON_PW_FOR_GALLIUM_NINE###
###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