Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PortWINE
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
Commits
a476cdca
Commit
a476cdca
authored
Jun 07, 2024
by
Mikhail Tergoev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
optimized GUI
parent
ecbcb9da
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
71 additions
and
70 deletions
+71
-70
functions_helper
data_from_portwine/scripts/functions_helper
+30
-32
start.sh
data_from_portwine/scripts/start.sh
+41
-38
No files found.
data_from_portwine/scripts/functions_helper
View file @
a476cdca
...
...
@@ -110,8 +110,8 @@ try_copy_file () {
export
-f
try_copy_file
try_copy_dir
()
{
if
[
!
-d
"
$1
"
]
;
then
print_info
"directory
$1
not found for copy"
elif
[
-z
"
$2
"
]
;
then
print_error
"no way to copy directory
$1
"
if
[
!
-d
"
$1
"
]
;
then
print_info
"directory
$1
not found for copy"
elif
[
-z
"
$2
"
]
;
then
print_error
"no way to copy directory
$1
"
else
cp
-fr
"
$1
"
"
$2
"
[
"
$?
"
!=
0
]
&&
print_error
"failed to copy directory
$1
to
$2
"
||
return
0
...
...
@@ -145,7 +145,7 @@ create_new_dir () {
try_force_link_file
()
{
if
[
!
-f
"
$1
"
]
;
then
:
elif
[
-z
"
$2
"
]
;
then
print_error
"no way to link file
$1
"
elif
[
-z
"
$2
"
]
;
then
print_error
"no way to link file
$1
"
else
ln
-s
-f
-r
"
$1
"
"
$2
"
[
"
$?
"
!=
0
]
&&
print_error
"failed to link file
$1
to
$2
"
||
return
0
...
...
@@ -169,8 +169,8 @@ check_symlink () {
export
-f
check_symlink
try_force_link_dir
()
{
if
[
!
-d
"
$1
"
]
;
then
print_info
"directory
$1
not found for link"
elif
[
-z
"
$2
"
]
;
then
print_error
"no way to link directory
$1
"
if
[
!
-d
"
$1
"
]
;
then
print_info
"directory
$1
not found for link"
elif
[
-z
"
$2
"
]
;
then
print_error
"no way to link directory
$1
"
else
ln
-s
-f
-r
"
$1
"
"
$2
"
[
"
$?
"
!=
0
]
&&
print_error
"failed to link directory
$1
to
$2
"
||
return
0
...
...
@@ -444,8 +444,6 @@ check_user_conf () {
# export DXVK_HUD=full"
# export GALLIUM_HUD=fps"
EOF
elif
grep
"optirun_on"
"
${
USER_CONF
}
"
&>/dev/null
;
then
sed
-i
'/optirun_on/d'
"
${
USER_CONF
}
"
fi
}
...
...
@@ -539,20 +537,18 @@ init_wine_ver () {
fi
done
grep
'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001'
"
${
WINEDIR
}
/share/wine/wine.inf"
&> /dev/null
if
[[
"
$?
"
!=
"0"
]]
;
then
if
!
grep
'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001'
"
${
WINEDIR
}
/share/wine/wine.inf"
&> /dev/null
;
then
echo
'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001'
>>
"
${
WINEDIR
}
/share/wine/wine.inf"
echo
'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001'
>>
"
${
WINEDIR
}
/share/wine/wine.inf"
sed
-i
'/Steam.exe/d'
"
${
WINEDIR
}
/share/wine/wine.inf"
sed
-i
'/\\Valve\\Steam/d'
"
${
WINEDIR
}
/share/wine/wine.inf"
sed
-i
'/winemenubuilder/d'
"
${
WINEDIR
}
/share/wine/wine.inf"
rm
-f
"
${
WINEDIR
}
"
/lib
*
/
*
steam
*
&>/dev/null
rm
-f
"
${
WINEDIR
}
"
/lib
*
/wine/
*
/
*
steam
*
&>/dev/null
rm
-f
"
${
WINEDIR
}
"
/lib
*
/wine/
*
-windows
/winemenubuilder.exe &>/dev/null
fi
fi
rm
-f
"
${
WINEDIR
}
"
/lib
*
/
*
steam
*
&>/dev/null
rm
-f
"
${
WINEDIR
}
"
/lib
*
/wine/
*
/
*
steam
*
&>/dev/null
rm
-f
"
${
WINEDIR
}
"
/lib
*
/wine/
*
-windows
/winemenubuilder.exe &>/dev/null
export
WINEDLLPATH
=
"
${
WINEDIR
}
/lib64/wine:
${
WINEDIR
}
/lib/wine"
if
[[
-d
"
${
PATH_TO_GAME
}
"
]]
;
then
export
WINEDLLPATH+
=
":
${
PATH_TO_GAME
}
"
...
...
@@ -844,6 +840,7 @@ stop_portwine () {
kill
-s
SIGUSR1
"
$(
pgrep
-a
$PW_YAD_BIN
|
grep
"
\-
-notification"
|
awk
'{print $1}'
)
"
2>/dev/null
fi
add_in_stop_portwine
unset
SKIP_CHECK_UPDATES
exit
0
}
export
-f
stop_portwine
...
...
@@ -1263,8 +1260,6 @@ pw_init_db () {
fi
done
fi
# rename var ENABLE_VKBASALT to PW_VKBASALT
sed
-i
's/ENABLE_VKBASALT/PW_VKBASALT/g'
"
${
PORTWINE_DB_FILE
}
"
fi
[[
"
${
START_FROM_STEAM
}
"
==
1
]]
&&
export
PW_GUI_DISABLED_CS
=
1
...
...
@@ -1447,26 +1442,29 @@ edit_user_conf_from_gui () {
}
pw_create_gui_png
()
{
if
[[
!
-z
"
${
PORTWINE_CREATE_SHORTCUT_NAME
}
"
]]
;
then
PORTPROTON_NAME
=
"
${
PORTWINE_CREATE_SHORTCUT_NAME
}
"
else
PW_PRODUCTNAME
=
$(
env
PERL5LIB
=
"
${
PW_PLUGINS_PATH
}
/portable/lib/perl5"
"
${
PW_PLUGINS_PATH
}
/portable/bin/exiftool"
-ProductName
"
${
portwine_exe
}
"
2>/dev/null |
sed
-n
's/^Product Name\s*:\s*//p'
)
if
[[
"
$PW_PRODUCTNAME
"
=
~
"Launcher"
]]
\
||
[[
"
$PW_PRODUCTNAME
"
=
~
"RU"
]]
then
PW_PRODUCTNAME
=
"
$(
echo
"
$PW_PRODUCTNAME
"
|
sed
's/Launcher\|RU//g'
)
"
fi
if
[[
!
-z
"
$PW_PRODUCTNAME
"
]]
\
&&
[[
"
$PW_PRODUCTNAME
"
!=
Bootstrap
*
]]
\
&&
!
echo
"
${
portwine_exe
}
"
|
grep
-i
"setup"
&>/dev/null
then
PORTPROTON_NAME
=
"
$PW_PRODUCTNAME
"
if
[[
-z
"
$PORTPROTON_NAME
"
]]
;
then
if
[[
!
-z
"
${
PORTWINE_CREATE_SHORTCUT_NAME
}
"
]]
;
then
PORTPROTON_NAME
=
"
${
PORTWINE_CREATE_SHORTCUT_NAME
}
"
else
PORTPROTON_NAME
=
"
$(
basename
"
${
portwine_exe
}
"
.exe
)
"
PW_PRODUCTNAME
=
$(
env
PERL5LIB
=
"
${
PW_PLUGINS_PATH
}
/portable/lib/perl5"
"
${
PW_PLUGINS_PATH
}
/portable/bin/exiftool"
-ProductName
"
${
portwine_exe
}
"
2>/dev/null |
sed
-n
's/^Product Name\s*:\s*//p'
)
if
[[
"
$PW_PRODUCTNAME
"
=
~
"Launcher"
]]
\
||
[[
"
$PW_PRODUCTNAME
"
=
~
"RU"
]]
then
PW_PRODUCTNAME
=
"
$(
echo
"
$PW_PRODUCTNAME
"
|
sed
's/Launcher\|RU//g'
)
"
fi
if
[[
!
-z
"
$PW_PRODUCTNAME
"
]]
\
&&
[[
"
$PW_PRODUCTNAME
"
!=
Bootstrap
*
]]
\
&&
!
echo
"
${
portwine_exe
}
"
|
grep
-i
"setup"
&>/dev/null
then
PORTPROTON_NAME
=
"
$PW_PRODUCTNAME
"
else
PORTPROTON_NAME
=
"
$(
basename
"
${
portwine_exe
}
"
.exe
)
"
fi
fi
export
PORTPROTON_NAME
edit_db_from_gui PORTPROTON_NAME
fi
export
PORTPROTON_NAME
PW_RESIZE_TO
=
"128"
try_remove_file
"
${
PORT_WINE_PATH
}
/data/img/setup.png"
try_remove_file
"
${
PORT_WINE_PATH
}
/data/img/Setup.png"
...
...
data_from_portwine/scripts/start.sh
View file @
a476cdca
...
...
@@ -2,6 +2,7 @@
# Author: Castro-Fidel (linux-gaming.ru)
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord; Boria138; Vano; Akai
# shellcheck disable=SC2140,SC2119,SC2206
export
START
=
$(
date
+%s.%N
)
########################################################################
echo
'
█░░ █ █▄░█ █░█ ▀▄▀ ▄▄ █▀▀ ▄▀█ █▀▄▀█ █ █▄░█ █▀▀ ░ █▀█ █░█
...
...
@@ -61,7 +62,9 @@ fi
source
"
${
PORT_SCRIPTS_PATH
}
/functions_helper"
create_new_dir
"
${
HOME
}
/.local/share/applications"
if
[[
"
${
PW_SILENT_RESTART
}
"
==
1
]]
||
[[
"
${
START_FROM_STEAM
}
"
==
1
]]
;
then
if
[[
"
${
PW_SILENT_RESTART
}
"
==
1
]]
\
||
[[
"
${
START_FROM_STEAM
}
"
==
1
]]
then
export
PW_GUI_DISABLED_CS
=
1
unset
PW_SILENT_RESTART
else
...
...
@@ -70,7 +73,7 @@ fi
unset
MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD
unset
PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB RADV_PERFTEST
unset
CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME
FLATPAK_IN_USE
unset
CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME
unset
PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY
unset
PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
unset
MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR
...
...
@@ -113,21 +116,6 @@ create_new_dir "${PORT_WINE_TMP_PATH}"/mono
export
PW_VULKAN_DIR
=
"
${
PORT_WINE_TMP_PATH
}
/VULKAN"
create_new_dir
"
${
PW_VULKAN_DIR
}
"
LSPCI_VGA
=
"
$(
lspci
-k
2>/dev/null |
grep
-E
'VGA|3D'
|
tr
-d
'\n'
)
"
export
LSPCI_VGA
if
command
-v
xrandr &>/dev/null
;
then
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/tmp_screen_configuration"
if
[[
$(
xrandr |
grep
"primary"
|
awk
'{print $1}'
)
]]
;
then
PW_SCREEN_RESOLUTION
=
"
$(
xrandr |
sed
-rn
's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p'
)
"
PW_SCREEN_PRIMARY
=
"
$(
xrandr |
grep
"primary"
|
awk
'{print $1}'
)
"
fi
export
PW_SCREEN_PRIMARY PW_SCREEN_RESOLUTION
print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY
else
print_error
"xrandr - not found!"
fi
cd
"
${
PORT_SCRIPTS_PATH
}
"
||
fatal
# shellcheck source=./var
...
...
@@ -200,16 +188,29 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] \
&&
[[
!
-f
"/tmp/portproton.lock"
]]
then
pw_port_update
pw_check_and_download_plugins
export
PW_VULKANINFO_PORTABLE
=
"
$PW_PLUGINS_PATH
/portable/bin/x86_64-linux-gnu-vulkaninfo"
VULKAN_DRIVER_NAME
=
"
$(
"
$PW_VULKANINFO_PORTABLE
"
2>/dev/null |
grep
driverName |
awk
'{print$3}'
|
head
-1
)
"
LSPCI_VGA
=
"
$(
lspci
-k
2>/dev/null |
grep
-E
'VGA|3D'
|
tr
-d
'\n'
)
"
export
LSPCI_VGA VULKAN_DRIVER_NAME
if
command
-v
xrandr &>/dev/null
;
then
try_remove_file
"
${
PORT_WINE_TMP_PATH
}
/tmp_screen_configuration"
if
[[
$(
xrandr |
grep
"primary"
|
awk
'{print $1}'
)
]]
;
then
PW_SCREEN_RESOLUTION
=
"
$(
xrandr |
sed
-rn
's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p'
)
"
PW_SCREEN_PRIMARY
=
"
$(
xrandr |
grep
"primary"
|
awk
'{print $1}'
)
"
fi
export
PW_SCREEN_PRIMARY PW_SCREEN_RESOLUTION
echo
""
print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY
else
print_error
"xrandr - not found!"
fi
echo
""
else
scripts_install_ver
=
$(
head
-n
1
"
${
PORT_WINE_TMP_PATH
}
/scripts_ver"
)
export
scripts_install_ver
fi
unset
SKIP_CHECK_UPDATES
pw_check_and_download_plugins
export
PW_VULKANINFO_PORTABLE
=
"
$PW_PLUGINS_PATH
/portable/bin/x86_64-linux-gnu-vulkaninfo"
VULKAN_DRIVER_NAME
=
"
$(
"
$PW_VULKANINFO_PORTABLE
"
2>/dev/null |
grep
driverName |
awk
'{print$3}'
|
head
-1
)
"
export
VULKAN_DRIVER_NAME
# create lock file
if
[[
-f
"/tmp/portproton.lock"
]]
;
then
...
...
@@ -234,21 +235,23 @@ pw_check_and_download_dxvk_and_vkd3d
# shellcheck source=/dev/null
source
"
${
USER_CONF
}
"
kill_portwine
killall
-15
$PW_YAD_BIN
2>/dev/null
kill
-TERM
"
$(
pgrep
-a
yad |
grep
PortProton |
head
-n
1 |
awk
'{print $1}'
)
"
2>/dev/null
if
[[
"
${
SKIP_CHECK_UPDATES
}
"
!=
1
]]
;
then
kill_portwine
killall
-15
$PW_YAD_BIN
2>/dev/null
kill
-TERM
"
$(
pgrep
-a
yad |
grep
PortProton |
head
-n
1 |
awk
'{print $1}'
)
"
2>/dev/null
if
[[
-f
"/usr/bin/portproton"
]]
\
&&
[[
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
]]
then
rm
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
fi
if
[[
-f
"/usr/bin/portproton"
]]
\
&&
[[
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
]]
then
rm
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
fi
if
grep
"SteamOS"
"/etc/os-release"
&>/dev/null
\
&&
[[
!
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
]]
then
cp
-f
"
${
PORT_WINE_PATH
}
/PortProton.desktop"
"
${
HOME
}
/.local/share/applications/"
update-desktop-database
-q
"
${
HOME
}
/.local/share/applications"
if
grep
"SteamOS"
"/etc/os-release"
&>/dev/null
\
&&
[[
!
-f
"
${
HOME
}
/.local/share/applications/PortProton.desktop"
]]
then
cp
-f
"
${
PORT_WINE_PATH
}
/PortProton.desktop"
"
${
HOME
}
/.local/share/applications/"
update-desktop-database
-q
"
${
HOME
}
/.local/share/applications"
fi
fi
[[
"
$MISSING_DESKTOP_FILE
"
==
1
]]
&&
portwine_missing_shortcut
...
...
@@ -349,8 +352,6 @@ for DAIG in ./* ; do
done
popd
1>/dev/null
||
fatal
check_nvidia_rtx
&&
check_variables PW_VULKAN_USE
"2"
[[
"
${
PW_DGVOODOO2
}
"
==
"1"
]]
&&
DGV2_TXT
=
'<b>dgVoodoo2 </b>'
||
unset
DGV2_TXT
[[
"
${
PW_VKBASALT
}
"
==
"1"
]]
&&
VKBASALT_TXT
=
'<b>vkBasalt </b>'
||
unset
VKBASALT_TXT
[[
"
${
PW_MANGOHUD
}
"
==
"1"
]]
&&
MANGOHUD_TXT
=
'<b>MangoHud </b>'
||
unset
MANGOHUD_TXT
...
...
@@ -443,6 +444,8 @@ if [[ -f "${portwine_exe}" ]] ; then
export TAB_START=1
fi
print_error
"START 449:
$(
echo
"
$(
date
+%s.%N
)
-
$START
"
| bc
)
"
"
${
pw_yad
}
"
--key=
$KEY_START
--notebook --center --active-tab=
$TAB_START
--width=
"800"
--tab-pos=right \
--title
"PortProton-
${
install_ver
}
(
${
scripts_install_ver
}
)"
--expand --buttons-layout=expand \
--window-icon=
"
$PW_GUI_ICON_PATH
/portproton.svg"
\
...
...
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