Merge branch 'db-cli' of github.com:Boria138/PortWINE into Boria138-db-cli
This commit is contained in:
@@ -5834,12 +5834,18 @@ Binding a game to a single node reduces memory‑access latency and limits costl
|
|||||||
fi
|
fi
|
||||||
export PW_WINE_CPU_TOPOLOGY
|
export PW_WINE_CPU_TOPOLOGY
|
||||||
|
|
||||||
for dont_touch_var in $DISABLE_EDIT_DB_LIST ; do
|
if [[ "${PW_CLI}" != "1" ]] ; then
|
||||||
rm_from_array "PW_EDIT_DB_LIST" "$dont_touch_var"
|
for dont_touch_var in $DISABLE_EDIT_DB_LIST ; do
|
||||||
done
|
rm_from_array "PW_EDIT_DB_LIST" "$dont_touch_var"
|
||||||
edit_db_from_gui "${PW_EDIT_DB_LIST[@]}" LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL \
|
done
|
||||||
|
fi
|
||||||
|
PW_EDIT_DB_FINAL_LIST=("${PW_EDIT_DB_LIST[@]}" \
|
||||||
|
LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL \
|
||||||
WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL \
|
WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL \
|
||||||
PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
|
PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR)
|
||||||
|
export PW_EDIT_DB_FINAL_LIST
|
||||||
|
|
||||||
|
edit_db_from_gui "${PW_EDIT_DB_FINAL_LIST[@]}"
|
||||||
|
|
||||||
if [[ -z "$MANGOHUD_CONFIG" ]] ; then
|
if [[ -z "$MANGOHUD_CONFIG" ]] ; then
|
||||||
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
|
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
|
||||||
|
|||||||
@@ -52,6 +52,12 @@ MISSING_DESKTOP_FILE="0"
|
|||||||
|
|
||||||
unset PW_NO_RESTART_PPDB PW_DISABLED_CREATE_DB
|
unset PW_NO_RESTART_PPDB PW_DISABLED_CREATE_DB
|
||||||
|
|
||||||
|
if [[ ${1,,} == "cli" ]] ; then
|
||||||
|
export PW_CLI="1"
|
||||||
|
export PROCESS_LOG="1"
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "${1,,}" =~ .ppack$ ]] ; then
|
if [[ "${1,,}" =~ .ppack$ ]] ; then
|
||||||
export PW_NO_RESTART_PPDB="1"
|
export PW_NO_RESTART_PPDB="1"
|
||||||
export PW_DISABLED_CREATE_DB="1"
|
export PW_DISABLED_CREATE_DB="1"
|
||||||
@@ -281,10 +287,12 @@ then PW_TERM="env LANG=C xterm -fullscreen -bg black -fg white -e"
|
|||||||
else PW_TERM="env LANG=C xterm -bg black -fg white -e"
|
else PW_TERM="env LANG=C xterm -bg black -fg white -e"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pw_check_and_download_plugins
|
if [[ "${PW_CLI}" != 1 ]] ; then
|
||||||
|
pw_check_and_download_plugins
|
||||||
|
fi
|
||||||
|
|
||||||
# check skip update
|
# check skip update
|
||||||
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
|
if [[ "${SKIP_CHECK_UPDATES}" != 1 || "${PW_CLI}" != 1 ]] ; then
|
||||||
pw_port_update
|
pw_port_update
|
||||||
|
|
||||||
PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}")
|
PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}")
|
||||||
@@ -385,13 +393,6 @@ if [[ $(basename "${portwine_exe,,}") =~ .ppack$ ]] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
### CLI ###
|
### CLI ###
|
||||||
|
|
||||||
if [[ ${1,,} == "cli" ]] ; then
|
|
||||||
export PW_CLI="1"
|
|
||||||
export PROCESS_LOG="1"
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
get_wine_and_pfx () {
|
get_wine_and_pfx () {
|
||||||
[[ -n $1 ]] && export PW_WINE_USE="$1"
|
[[ -n $1 ]] && export PW_WINE_USE="$1"
|
||||||
[[ -n $2 ]] && export PW_PREFIX_NAME="$2"
|
[[ -n $2 ]] && export PW_PREFIX_NAME="$2"
|
||||||
@@ -455,6 +456,53 @@ $(echo $files_from_autoinstall | awk '{for (i = 1; i <= NF; i++) {if (i % 10 ==
|
|||||||
edit_db_from_gui $keys_all
|
edit_db_from_gui $keys_all
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
--list-db)
|
||||||
|
export pw_yad=""
|
||||||
|
gui_edit_db
|
||||||
|
pw_skip_get_info
|
||||||
|
declare -A NODE_MAP
|
||||||
|
INDEX=0
|
||||||
|
while read -r line; do
|
||||||
|
NODE_MAP[$INDEX]="$line"
|
||||||
|
((INDEX++))
|
||||||
|
done < <(lscpu | grep -Po "NUMA node\d+ CPU\(s\):\s+\K.*" 2>/dev/null || true)
|
||||||
|
for i in "${!NODE_MAP[@]}"; do
|
||||||
|
echo "NUMA_NODE_${i}=${NODE_MAP[$i]}"
|
||||||
|
done
|
||||||
|
echo "IS_AMD=$([[ $(check_vendor_gpu) == \"amd\" ]] && echo true || echo false)"
|
||||||
|
echo "LOGICAL_CORE_OPTIONS=$GET_LOGICAL_CORE"
|
||||||
|
[[ -n "$LOCALE_LIST" ]] && echo "LOCALE_LIST=$LOCALE_LIST"
|
||||||
|
[[ -n "$AMD_VULKAN_DRIVER_LIST" ]] && echo "AMD_VULKAN_DRIVER_LIST=$AMD_VULKAN_DRIVER_LIST"
|
||||||
|
for var in "${PW_EDIT_DB_FINAL_LIST[@]}"; do
|
||||||
|
if echo "$DISABLE_EDIT_DB_LIST" | grep -qw "$var"; then
|
||||||
|
echo "$var blocked"
|
||||||
|
else
|
||||||
|
echo "$var"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--show-ppdb)
|
||||||
|
# --show-ppdb /полный/путь/до/файла.exe
|
||||||
|
ppdb_path="$2"
|
||||||
|
|
||||||
|
if [[ "$ppdb_path" == *.exe ]]; then
|
||||||
|
ppdb_path="${ppdb_path}.ppdb"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f "$ppdb_path" ]]; then
|
||||||
|
echo "PPDB file not found: $ppdb_path"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
grep -E '^export ' "$ppdb_path" | sed '/^[[:space:]]*$/d' | while IFS='=' read -r var val; do
|
||||||
|
[[ -z "$var" ]] && continue
|
||||||
|
var_name=$(echo "$var" | sed 's/^export[[:space:]]*//')
|
||||||
|
val_clean=$(echo "$val" | sed 's/^"//; s/"$//')
|
||||||
|
echo "${var_name}=${val_clean}"
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
--backup-prefix)
|
--backup-prefix)
|
||||||
# portproton --backup-prefix <PREFIX_NAME> <BACKUP_DIR>
|
# portproton --backup-prefix <PREFIX_NAME> <BACKUP_DIR>
|
||||||
pw_create_prefix_backup "$2" "$3"
|
pw_create_prefix_backup "$2" "$3"
|
||||||
|
|||||||
Reference in New Issue
Block a user