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
Mikhail Tergoev
PortWINE
Commits
a476cdca
Commit
a476cdca
authored
9 months ago
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"
...
...
This diff is collapsed.
Click to expand it.
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"
\
...
...
This diff is collapsed.
Click to expand it.
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