forked from CastroFidel/PortWINE
changes for timeout, use resize_png in start.sh, added debug_timer
This commit is contained in:
parent
6571fcafa3
commit
3078685bc3
@ -477,6 +477,16 @@ unpack () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
debug_timer () {
|
||||||
|
if [[ "$1" == "--start" ]] ; then
|
||||||
|
START=$(date +%s%N)
|
||||||
|
elif [[ "$1" == "--end" ]] ; then
|
||||||
|
END=$(date +%s%N)
|
||||||
|
DIFF=$((($END - $START)/1000000))
|
||||||
|
print_warning "It took $DIFF milliseconds for $2"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
combobox_fix () {
|
combobox_fix () {
|
||||||
name1="$1"
|
name1="$1"
|
||||||
name2="$2"
|
name2="$2"
|
||||||
@ -1617,9 +1627,17 @@ pw_create_gui_png () {
|
|||||||
PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}"
|
PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}"
|
||||||
else
|
else
|
||||||
if command -v exiftool &>/dev/null ; then
|
if command -v exiftool &>/dev/null ; then
|
||||||
PW_PRODUCTNAME=$(exiftool -ProductName "${portwine_exe}" 2>/dev/null | sed -n 's/^Product Name\s*:\s*//p')
|
if ! PW_PRODUCTNAME=$(timeout 3 exiftool -ProductName "${portwine_exe}" 2>/dev/null | sed -n 's/^Product Name\s*:\s*//p') ; then
|
||||||
|
print_error "exiftool - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 exiftool -ProductName "${portwine_exe}"
|
||||||
|
debug_timer --end "exiftool"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
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')
|
print_warning "use portable exiftool"
|
||||||
|
PW_PRODUCTNAME=$(env PERL5LIB="${PW_PLUGINS_PATH}/portable/lib/perl5" "${PW_PLUGINS_PATH}/portable/bin/exiftool" -ProductName "${portwine_exe}" | sed -n 's/^Product Name\s*:\s*//p')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$PW_PRODUCTNAME" =~ "Launcher" ]] \
|
if [[ "$PW_PRODUCTNAME" =~ "Launcher" ]] \
|
||||||
@ -4314,10 +4332,10 @@ gui_gamescope () {
|
|||||||
PW_GS_EXPOSE_WAYLAND PW_GS_REALTIME_SCHEDULING PW_GS_FIX_AMD_AND_INTEL
|
PW_GS_EXPOSE_WAYLAND PW_GS_REALTIME_SCHEDULING PW_GS_FIX_AMD_AND_INTEL
|
||||||
"
|
"
|
||||||
|
|
||||||
grep -e '--mangoapp' "${PW_TMPFS_PATH}/gamescope-help.tmp" &>/dev/null && add_to_var PW_GS_LIST "PW_GS_MANGOAPP"
|
grep -e '--mangoapp' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && add_to_var PW_GS_LIST "PW_GS_MANGOAPP"
|
||||||
|
|
||||||
if check_wayland_session ; then
|
if check_wayland_session ; then
|
||||||
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope-help.tmp" &>/dev/null \
|
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null \
|
||||||
&& add_to_var PW_GS_LIST "PW_GS_BACKEND_SDL" && add_to_var PW_GS_LIST "PW_GS_SDL_VIDEODRIVER_X11"
|
&& add_to_var PW_GS_LIST "PW_GS_BACKEND_SDL" && add_to_var PW_GS_LIST "PW_GS_SDL_VIDEODRIVER_X11"
|
||||||
else
|
else
|
||||||
export PW_GS_BACKEND_SDL="0"
|
export PW_GS_BACKEND_SDL="0"
|
||||||
@ -4326,7 +4344,7 @@ gui_gamescope () {
|
|||||||
|
|
||||||
GS_FILTER_CB="linear!nearest!fsr!nis!pixel"
|
GS_FILTER_CB="linear!nearest!fsr!nis!pixel"
|
||||||
#debian bookworm fix
|
#debian bookworm fix
|
||||||
if grep -e '-U, --fsr-upscaling' "${PW_TMPFS_PATH}/gamescope-help.tmp" &>/dev/null ; then
|
if grep -e '-U, --fsr-upscaling' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null ; then
|
||||||
GS_FILTER_CB="fsr!nis"
|
GS_FILTER_CB="fsr!nis"
|
||||||
export PW_GS_FILTER_MODE_OLD="true"
|
export PW_GS_FILTER_MODE_OLD="true"
|
||||||
rm_from_var PW_GS_LIST "PW_GS_HDR_ENABLE"
|
rm_from_var PW_GS_LIST "PW_GS_HDR_ENABLE"
|
||||||
@ -4527,8 +4545,18 @@ resize_png () {
|
|||||||
try_remove_file "${PORT_WINE_PATH}/data/img/Launcher.png"
|
try_remove_file "${PORT_WINE_PATH}/data/img/Launcher.png"
|
||||||
|
|
||||||
if check_flatpak ; then
|
if check_flatpak ; then
|
||||||
exe-thumbnailer --force-resize -s "$RESIZE_TO" "$(readlink -f "${RESIZE_FILE}")" "${PORT_WINE_PATH}/data/img/${RESIZE_NAME_PNG}.png"
|
if ! timeout 3 \
|
||||||
|
exe-thumbnailer --force-resize -s "$RESIZE_TO" "$(readlink -f "${RESIZE_FILE}")" "${PORT_WINE_PATH}/data/img/${RESIZE_NAME_PNG}.png" 2>/dev/null
|
||||||
|
then
|
||||||
|
print_error "exe-thumbnailer - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 exe-thumbnailer --force-resize -s "$RESIZE_TO" "$(readlink -f "${RESIZE_FILE}")" "${PORT_WINE_PATH}/data/img/${RESIZE_NAME_PNG}.png"
|
||||||
|
debug_timer --end "exe-thumbnailer"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
|
print_warning "use portable exe-thumbnailer"
|
||||||
env PYTHONPATH="${PW_PLUGINS_PATH}/portable/lib/python3.9/site-packages/" \
|
env PYTHONPATH="${PW_PLUGINS_PATH}/portable/lib/python3.9/site-packages/" \
|
||||||
LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" \
|
LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" \
|
||||||
"${PW_WINELIB}/runtime/files/bin/python3.9" \
|
"${PW_WINELIB}/runtime/files/bin/python3.9" \
|
||||||
@ -4694,22 +4722,8 @@ pw_auto_create_shortcut () {
|
|||||||
SORTED_LINKS=($(echo ${LINKS[@]} | tr ' ' '\n' | sort -u))
|
SORTED_LINKS=($(echo ${LINKS[@]} | tr ' ' '\n' | sort -u))
|
||||||
|
|
||||||
for link_file in "${SORTED_LINKS[@]//@_@/ }" ; do
|
for link_file in "${SORTED_LINKS[@]//@_@/ }" ; do
|
||||||
if timeout 3 exiftool "$link_file" 2>/dev/null > "${PW_TMPFS_PATH}/exiftool.tmp" ; then
|
if command -v exiftool &>/dev/null ; then
|
||||||
prefix_name=$(echo "$link_file" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
|
if timeout 3 exiftool "$link_file" 2>/dev/null &> "${PW_TMPFS_PATH}/exiftool.tmp" ; then
|
||||||
if fix_icon_name=$(grep -i "Icon File Name" "${PW_TMPFS_PATH}/exiftool.tmp" 2>/dev/null) \
|
|
||||||
&& [[ "${fix_icon_name//*.exe/true}" == "true" ]] ; then
|
|
||||||
link_drive=$(sed -n 's/^Icon File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | cut -d: -f1 | awk '{print tolower($0)}')
|
|
||||||
link_path=$(sed -n 's/^Icon File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|%ProgramFiles(x86)%|C:\\Program Files (x86)|gi;s|%ProgramFiles%|C:\\Program Files|gi' | sed "s|^.|${PORT_WINE_PATH}/data/prefixes/$prefix_name/dosdevices/$link_drive|g" | sed 's/\\/\//g')
|
|
||||||
else
|
|
||||||
link_drive=$(sed -n 's/^Local Base Path\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | cut -d: -f1 | awk '{print tolower($0)}')
|
|
||||||
link_path=$(sed -n 's/^Local Base Path\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|%ProgramFiles(x86)%|C:\\Program Files (x86)|gi;s|%ProgramFiles%|C:\\Program Files|gi' | sed "s|^.|${PORT_WINE_PATH}/data/prefixes/$prefix_name/dosdevices/$link_drive|g" | sed 's/\\/\//g')
|
|
||||||
fi
|
|
||||||
link_name=$(sed -n 's/^File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|\.lnk||')
|
|
||||||
link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
|
||||||
else
|
|
||||||
if ! command -v exiftool &>/dev/null ; then
|
|
||||||
print_warning "use portable exiftool"
|
|
||||||
env PERL5LIB="${PW_PLUGINS_PATH}/portable/lib/perl5" "${PW_PLUGINS_PATH}/portable/bin/exiftool" "$link_file" 2>/dev/null > "${PW_TMPFS_PATH}/exiftool.tmp"
|
|
||||||
prefix_name=$(echo "$link_file" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
|
prefix_name=$(echo "$link_file" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
|
||||||
if fix_icon_name=$(grep -i "Icon File Name" "${PW_TMPFS_PATH}/exiftool.tmp" 2>/dev/null) \
|
if fix_icon_name=$(grep -i "Icon File Name" "${PW_TMPFS_PATH}/exiftool.tmp" 2>/dev/null) \
|
||||||
&& [[ "${fix_icon_name//*.exe/true}" == "true" ]] ; then
|
&& [[ "${fix_icon_name//*.exe/true}" == "true" ]] ; then
|
||||||
@ -4722,8 +4736,27 @@ pw_auto_create_shortcut () {
|
|||||||
link_name=$(sed -n 's/^File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|\.lnk||')
|
link_name=$(sed -n 's/^File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|\.lnk||')
|
||||||
link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||||
else
|
else
|
||||||
yad_error "exiftool - broken!"
|
print_error "exiftool - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 exiftool "$link_file"
|
||||||
|
debug_timer --end "exiftool"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
print_warning "use portable exiftool"
|
||||||
|
env PERL5LIB="${PW_PLUGINS_PATH}/portable/lib/perl5" "${PW_PLUGINS_PATH}/portable/bin/exiftool" "$link_file" &> "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||||
|
prefix_name=$(echo "$link_file" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
|
||||||
|
if fix_icon_name=$(grep -i "Icon File Name" "${PW_TMPFS_PATH}/exiftool.tmp" 2>/dev/null) \
|
||||||
|
&& [[ "${fix_icon_name//*.exe/true}" == "true" ]] ; then
|
||||||
|
link_drive=$(sed -n 's/^Icon File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | cut -d: -f1 | awk '{print tolower($0)}')
|
||||||
|
link_path=$(sed -n 's/^Icon File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|%ProgramFiles(x86)%|C:\\Program Files (x86)|gi;s|%ProgramFiles%|C:\\Program Files|gi' | sed "s|^.|${PORT_WINE_PATH}/data/prefixes/$prefix_name/dosdevices/$link_drive|g" | sed 's/\\/\//g')
|
||||||
|
else
|
||||||
|
link_drive=$(sed -n 's/^Local Base Path\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | cut -d: -f1 | awk '{print tolower($0)}')
|
||||||
|
link_path=$(sed -n 's/^Local Base Path\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|%ProgramFiles(x86)%|C:\\Program Files (x86)|gi;s|%ProgramFiles%|C:\\Program Files|gi' | sed "s|^.|${PORT_WINE_PATH}/data/prefixes/$prefix_name/dosdevices/$link_drive|g" | sed 's/\\/\//g')
|
||||||
|
fi
|
||||||
|
link_name=$(sed -n 's/^File Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp" | sed 's|\.lnk||')
|
||||||
|
link_cmd=$(sed -n 's/^Command Line Arguments\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
try_remove_file "$link_file"
|
try_remove_file "$link_file"
|
||||||
@ -4981,11 +5014,11 @@ portwine_start_debug () {
|
|||||||
echo "------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "RAM:" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "RAM:" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
free -m >> "${PORT_WINE_PATH}/PortProton.log"
|
free -m >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "--------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "Filesystem "${PATH_TO_GAME}" - $(stat -f -c %T "${PATH_TO_GAME}")" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "Filesystem "${PATH_TO_GAME}" - $(stat -f -c %T "${PATH_TO_GAME}")" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "Filesystem "${PORT_WINE_PATH}" - $(stat -f -c %T "${PORT_WINE_PATH}")" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "Filesystem "${PORT_WINE_PATH}" - $(stat -f -c %T "${PORT_WINE_PATH}")" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "Filesystem "${PW_TMPFS_PATH}" - $(stat -f -c %T "${PW_TMPFS_PATH}")" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "Filesystem "${PW_TMPFS_PATH}" - $(stat -f -c %T "${PW_TMPFS_PATH}")" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "---------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/PortProton.log"
|
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
echo 'lspci -k | grep -EA3 VGA|3D|Display :' >> "${PORT_WINE_PATH}/PortProton.log"
|
echo 'lspci -k | grep -EA3 VGA|3D|Display :' >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
lspci -k | grep -EA3 'VGA|3D|Display' >> "${PORT_WINE_PATH}/PortProton.log"
|
lspci -k | grep -EA3 'VGA|3D|Display' >> "${PORT_WINE_PATH}/PortProton.log"
|
||||||
|
@ -224,57 +224,76 @@ pw_check_and_download_plugins
|
|||||||
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
|
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
|
||||||
pw_port_update
|
pw_port_update
|
||||||
|
|
||||||
if timeout 3 gamescope --help 2> "${PW_TMPFS_PATH}/gamescope-help.tmp" ; then
|
if command -v gamescope &>/dev/null ; then
|
||||||
export GAMESCOPE_INSTALLED="1"
|
if timeout 3 gamescope --help 2>/dev/null &> "${PW_TMPFS_PATH}/gamescope.tmp" ; then
|
||||||
else
|
export GAMESCOPE_INSTALLED="1"
|
||||||
if ! command -v gamescope &>/dev/null ; then
|
|
||||||
print_error "gamescope - not found!"
|
|
||||||
else
|
else
|
||||||
yad_error "gamescope - broken!"
|
print_error "gamescope - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 gamescope --help
|
||||||
|
debug_timer --end "gamescope"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
print_warning "gamescope - not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if timeout 3 vulkaninfo --summary 2>/dev/null > "${PW_TMPFS_PATH}/vulkaninfo.tmp" ; then
|
if command -v vulkaninfo &>/dev/null ; then
|
||||||
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
|
if timeout 3 vulkaninfo --summary 2>/dev/null &> "${PW_TMPFS_PATH}/vulkaninfo.tmp" ; then
|
||||||
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
|
|
||||||
export VULKAN_DRIVER_NAME GET_GPU_NAMES
|
|
||||||
else
|
|
||||||
if ! command -v vulkaninfo &>/dev/null ; then
|
|
||||||
print_warning "use portable vulkaninfo"
|
|
||||||
$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo 2>/dev/null > "${PW_TMPFS_PATH}/vulkaninfo.tmp"
|
|
||||||
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
|
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
|
||||||
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
|
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
|
||||||
export VULKAN_DRIVER_NAME GET_GPU_NAMES
|
export VULKAN_DRIVER_NAME GET_GPU_NAMES
|
||||||
else
|
else
|
||||||
yad_error "vulkaninfo - broken!"
|
print_error "vulkaninfo - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 vulkaninfo
|
||||||
|
debug_timer --end "vulkaninfo"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
print_warning "use portable vulkaninfo"
|
||||||
|
$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
|
||||||
|
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
|
||||||
|
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
|
||||||
|
export VULKAN_DRIVER_NAME GET_GPU_NAMES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if timeout 3 lspci -k 2>/dev/null > "${PW_TMPFS_PATH}/lspci.tmp" ; then
|
if command -v lspci &>/dev/null ; then
|
||||||
LSPCI_VGA="$(grep -e 'VGA|3D' "${PW_TMPFS_PATH}/lspci.tmp" | tr -d '\n')"
|
if timeout 3 lspci -k 2>/dev/null &> "${PW_TMPFS_PATH}/lspci.tmp" ; then
|
||||||
export LSPCI_VGA
|
LSPCI_VGA="$(grep -e 'VGA|3D' "${PW_TMPFS_PATH}/lspci.tmp" | tr -d '\n')"
|
||||||
else
|
export LSPCI_VGA
|
||||||
if ! command -v lspci &>/dev/null ; then
|
|
||||||
print_error "lspci - not found!"
|
|
||||||
else
|
else
|
||||||
yad_error "lspci - broken!"
|
print_error "lspci - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 lspci -vv
|
||||||
|
debug_timer --end "lspci"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
print_warning "lspci - not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if timeout 3 xrandr --current 2>/dev/null > "${PW_TMPFS_PATH}/xrandr.tmp" ; then
|
if command -v xrandr &>/dev/null ; then
|
||||||
PW_SCREEN_RESOLUTION="$(cat "${PW_TMPFS_PATH}/xrandr.tmp" | sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')"
|
if timeout 3 xrandr --current 2>/dev/null &> "${PW_TMPFS_PATH}/xrandr.tmp" ; then
|
||||||
PW_SCREEN_PRIMARY="$(grep -e 'primary' "${PW_TMPFS_PATH}/xrandr.tmp" | awk '{print $1}')"
|
PW_SCREEN_RESOLUTION="$(cat "${PW_TMPFS_PATH}/xrandr.tmp" | sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')"
|
||||||
export PW_SCREEN_PRIMARY PW_SCREEN_RESOLUTION
|
PW_SCREEN_PRIMARY="$(grep -e 'primary' "${PW_TMPFS_PATH}/xrandr.tmp" | awk '{print $1}')"
|
||||||
echo ""
|
export PW_SCREEN_PRIMARY PW_SCREEN_RESOLUTION
|
||||||
print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY
|
echo ""
|
||||||
else
|
print_var PW_SCREEN_RESOLUTION PW_SCREEN_PRIMARY
|
||||||
if ! command -v xrandr &>/dev/null ; then
|
|
||||||
print_error "xrandr - not found!"
|
|
||||||
else
|
else
|
||||||
yad_error "xrandr - broken!"
|
print_error "xrandr - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 xrandr --verbose
|
||||||
|
debug_timer --end "xrandr"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
print_warning "xrandr - not found!"
|
||||||
fi
|
fi
|
||||||
echo ""
|
|
||||||
|
|
||||||
logical_cores=$(grep -c "^processor" /proc/cpuinfo)
|
logical_cores=$(grep -c "^processor" /proc/cpuinfo)
|
||||||
if [[ "${logical_cores}" -le "4" ]] ; then
|
if [[ "${logical_cores}" -le "4" ]] ; then
|
||||||
@ -284,24 +303,29 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
|
|||||||
fi
|
fi
|
||||||
export GET_LOGICAL_CORE
|
export GET_LOGICAL_CORE
|
||||||
|
|
||||||
if timeout 3 locale -a 2>/dev/null > "${PW_TMPFS_PATH}/locale.tmp" ; then
|
if command -v locale &>/dev/null ; then
|
||||||
GET_LOCALE_LIST="ru_RU.utf en_US.utf zh_CN.utf ja_JP.utf ko_KR.utf"
|
if timeout 3 locale -a 2>/dev/null &> "${PW_TMPFS_PATH}/locale.tmp" ; then
|
||||||
unset LOCALE_LIST
|
GET_LOCALE_LIST="ru_RU.utf en_US.utf zh_CN.utf ja_JP.utf ko_KR.utf"
|
||||||
for LOCALE in $GET_LOCALE_LIST ; do
|
unset LOCALE_LIST
|
||||||
if grep -e $LOCALE "${PW_TMPFS_PATH}/locale.tmp" &>/dev/null ; then
|
for LOCALE in $GET_LOCALE_LIST ; do
|
||||||
if [[ ! -z "$LOCALE_LIST" ]]
|
if grep -e $LOCALE "${PW_TMPFS_PATH}/locale.tmp" &>/dev/null ; then
|
||||||
then LOCALE_LIST+="!$(grep -e $LOCALE "${PW_TMPFS_PATH}/locale.tmp")"
|
if [[ ! -z "$LOCALE_LIST" ]]
|
||||||
else LOCALE_LIST="$(grep -e $LOCALE "${PW_TMPFS_PATH}/locale.tmp")"
|
then LOCALE_LIST+="!$(grep -e $LOCALE "${PW_TMPFS_PATH}/locale.tmp")"
|
||||||
|
else LOCALE_LIST="$(grep -e $LOCALE "${PW_TMPFS_PATH}/locale.tmp")"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
done
|
||||||
done
|
export LOCALE_LIST
|
||||||
export LOCALE_LIST
|
|
||||||
else
|
|
||||||
if ! command -v locale &>/dev/null ; then
|
|
||||||
print_error "locale - not found!"
|
|
||||||
else
|
else
|
||||||
yad_error "locale - broken!"
|
print_error "locale - broken!"
|
||||||
|
if [[ ! -z $PW_DEBUG ]] ; then
|
||||||
|
debug_timer --start
|
||||||
|
timeout 5 locale -a
|
||||||
|
debug_timer --end "locale"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
print_warning "locale - not found!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}")
|
PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}")
|
||||||
@ -648,20 +672,12 @@ else
|
|||||||
fi
|
fi
|
||||||
PW_ICON_PATH="$(grep Icon "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | awk -F= '{print $2}')"
|
PW_ICON_PATH="$(grep Icon "${PORT_WINE_PATH}/${PW_DESKTOP_FILES}" | awk -F= '{print $2}')"
|
||||||
PW_NAME_D_ICON_48="${PW_ICON_PATH%.png}_48.png"
|
PW_NAME_D_ICON_48="${PW_ICON_PATH%.png}_48.png"
|
||||||
|
PW_NAME_D_ICON_48_HELPER="${PW_ICON_PATH%.png}_48"
|
||||||
if [[ ! -f "${PW_NAME_D_ICON_48}" ]] \
|
if [[ ! -f "${PW_NAME_D_ICON_48}" ]] \
|
||||||
&& [[ -f "${PW_NAME_D_ICON}" ]] ; then
|
&& [[ -f "${PW_NAME_D_ICON}" ]] ; then
|
||||||
if check_flatpak ; then
|
resize_png "${PW_NAME_D_ICON}" "${PW_NAME_D_ICON_48_HELPER//"${PORT_WINE_PATH}/data/img/"/}" "48"
|
||||||
exe-thumbnailer --force-resize -s "48" "${PW_NAME_D_ICON}" "${PW_NAME_D_ICON_48}"
|
|
||||||
else
|
|
||||||
env PYTHONPATH="${PW_PLUGINS_PATH}/portable/lib/python3.9/site-packages/" \
|
|
||||||
LD_LIBRARY_PATH="${PW_PLUGINS_PATH}/portable/lib/lib64" \
|
|
||||||
"${PW_WINELIB}/runtime/files/bin/python3.9" \
|
|
||||||
"${PW_PLUGINS_PATH}/portable/bin/exe-thumbnailer" \
|
|
||||||
--force-resize -s "48" "${PW_NAME_D_ICON}" "${PW_NAME_D_ICON_48}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
PW_DESKTOP_HELPER="${PW_DESKTOP_FILES// /@_@}"
|
PW_GENERATE_BUTTONS+="--field= ${PW_DESKTOP_FILES//".desktop"/""}!${PW_NAME_D_ICON_48}!:FBTN%@bash -c \"run_desktop_b_click "${PW_DESKTOP_FILES// /@_@}"\"%"
|
||||||
PW_GENERATE_BUTTONS+="--field= ${PW_DESKTOP_FILES//".desktop"/""}!${PW_NAME_D_ICON_48}!:FBTN%@bash -c \"run_desktop_b_click "${PW_DESKTOP_HELPER}"\"%"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
IFS="$orig_IFS"
|
IFS="$orig_IFS"
|
||||||
|
Loading…
Reference in New Issue
Block a user