Add Joplin, old Mac, and Fedora WiFi runbooks; simplify JA3 Whisky scripts and hotspot recovery.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-19 22:26:33 +03:00
parent 1938b7c743
commit 4bc9629a09
381 changed files with 3442 additions and 773 deletions

View File

@@ -84,10 +84,10 @@ gog_swap_guard() {
return 0
}
# JA3/CrossOver: жёсткий стоп только если swap высокий И Wine/JA3 ещё живы.
# JA3/Whisky: жёсткий стоп только если swap высокий И Wine/JA3 ещё живы.
# «Залипший» swap после закрытия (macOS не отдал) — предупреждение, запуск разрешён.
gog_wine_or_ja3_active() {
pgrep -f 'JA3\.exe|wineserver|wine64-preloader|winedbg|wine64\.exe|CrossOver.*wine' >/dev/null 2>&1
pgrep -f 'JA3\.exe' >/dev/null 2>&1
}
gog_swap_guard_ja3_launch() {
@@ -102,15 +102,15 @@ gog_swap_guard_ja3_launch() {
if gog_wine_or_ja3_active; then
if awk -v u="${used}" -v m="${soft_mb}" 'BEGIN{exit !(u>=m)}'; then
echo "❌ Swap ~${used}MB и Wine/JA3 ещё работают (лимит ${soft_mb}MB)."
echo " bash ${GOG_DIR}/reset-ja3-crossover.sh или bash ${GOG_DIR}/emergency-stop.sh"
echo " затем reboot Mac. Или: JA3_IGNORE_SWAP=1 bash …/run-ja3-crossover.sh"
echo " bash ${GOG_DIR}/reset-ja3-whisky.sh"
echo " затем reboot Mac. Или: JA3_IGNORE_SWAP=1 bash ${GOG_DIR}/run-ja3.sh"
return 1
fi
return 0
fi
if awk -v u="${used}" -v m="${hard_mb}" 'BEGIN{exit !(u>=m)}'; then
echo "❌ Swap ~${used}MB (лимит ${hard_mb}MB) — reboot Mac."
echo " Или: JA3_IGNORE_SWAP=1 bash …/run-ja3-crossover.sh"
echo " Или: JA3_IGNORE_SWAP=1 bash ${GOG_DIR}/run-ja3.sh"
return 1
fi
if awk -v u="${used}" -v m="${soft_mb}" 'BEGIN{exit !(u>=m)}'; then
@@ -203,6 +203,20 @@ export_wine_env_ja3_d3dmetal() {
unset DXVK_ASYNC DXVK_HUD 2>/dev/null || true
}
# Whisky GOG-Install: D3D11 + DXVK-macOS (D3D12 через GPTK/D3DMetal при наличии).
export_wine_env_ja3_whisky() {
export_wine_env_gog
unset WINED3DMETAL 2>/dev/null || true
export WINEDLLOVERRIDES="d3d11,d3d10core,dxgi=n,b;d3d12=d;libxess,xess,dxcompiler,dxil,nvngx_dlss,XeFX,XeFX_Loader=d;gdiplus=n,b"
local _dxvk_conf="${BOTTLE_DIR}/drive_c/GOG Games/Jagged Alliance 3/dxvk.conf"
if [[ -f "${_dxvk_conf}" ]]; then
export DXVK_CONFIG_FILE="${_dxvk_conf}"
fi
unset DXVK_ASYNC DXVK_HUD 2>/dev/null || true
export SDL_VIDEO_MAC_FULLSCREEN_SPACES="${SDL_VIDEO_MAC_FULLSCREEN_SPACES:-0}"
export MVK_CONFIG_RESUME_LOST_DEVICE=1
}
gog_steam_client_in_bottle() {
local f
[[ -d "${BOTTLE_DIR}/drive_c/Program Files (x86)/Steam" ]] && return 0