Expand local_machine docs and automation for connectivity, games, and ops.
Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs; document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
51
scripts/games/gog/install-gptk-whisky.sh
Executable file
51
scripts/games/gog/install-gptk-whisky.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
# Apple D3DMetal (GPTK) в Whisky Libraries — только framework + unix-мост.
|
||||
# НЕ ditto всего GPTK lib (перезапишет wine64 на 7.7 и сломает bottle).
|
||||
# Канон: https://github.com/Whisky-App/Whisky/issues/124
|
||||
set -euo pipefail
|
||||
GOG_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
# shellcheck source=config.sh
|
||||
source "${GOG_DIR}/config.sh"
|
||||
|
||||
GPTK_APP="${GPTK_APP:-/Applications/Game Porting Toolkit.app}"
|
||||
GPTK_WINE="${GPTK_APP}/Contents/Resources/wine"
|
||||
WHISKY_WINE="${WHISKY_LIBS}/Libraries/Wine"
|
||||
EXT="${WHISKY_WINE}/lib/external"
|
||||
WINE_UNIX="${WHISKY_WINE}/lib/wine/x86_64-unix"
|
||||
|
||||
[[ -d "${GPTK_WINE}/lib/external/D3DMetal.framework" ]] || {
|
||||
echo "❌ Нет Game Porting Toolkit.app"
|
||||
echo " brew install --cask gcenx/wine/game-porting-toolkit"
|
||||
exit 1
|
||||
}
|
||||
|
||||
mkdir -p "${EXT}"
|
||||
ditto "${GPTK_WINE}/lib/external/D3DMetal.framework" "${EXT}/D3DMetal.framework"
|
||||
cp -f "${GPTK_WINE}/lib/external/libd3dshared.dylib" "${EXT}/libd3dshared.dylib"
|
||||
|
||||
# @rpath @loader_path — копия в корень lib/ (fixmywhisky)
|
||||
cp -Rf "${EXT}/D3DMetal.framework" "${WHISKY_WINE}/lib/D3DMetal.framework"
|
||||
cp -f "${EXT}/libd3dshared.dylib" "${WHISKY_WINE}/lib/libd3dshared.dylib"
|
||||
|
||||
fix_d3dmetal_fw() {
|
||||
local fw="$1"
|
||||
[[ -d "${fw}/Versions" ]] || return 0
|
||||
rm -f "${fw}/D3DMetal" "${fw}/Resources" 2>/dev/null || true
|
||||
ln -sf Versions/Current/D3DMetal "${fw}/D3DMetal"
|
||||
ln -sf Versions/Current/Resources "${fw}/Resources"
|
||||
chmod +x "${fw}/Versions/Current/D3DMetal" 2>/dev/null || true
|
||||
xattr -d com.apple.quarantine "${fw}" 2>/dev/null || true
|
||||
}
|
||||
fix_d3dmetal_fw "${EXT}/D3DMetal.framework"
|
||||
fix_d3dmetal_fw "${WHISKY_WINE}/lib/D3DMetal.framework"
|
||||
chmod +x "${EXT}/libd3dshared.dylib" "${WHISKY_WINE}/lib/libd3dshared.dylib" 2>/dev/null || true
|
||||
xattr -d com.apple.quarantine "${EXT}/libd3dshared.dylib" 2>/dev/null || true
|
||||
|
||||
# Мост D3DMetal: unix .so → libd3dshared. PE d3d12/dxgi — от Gcenx Wine 11.x (не GPTK 7.7).
|
||||
mkdir -p "${WINE_UNIX}"
|
||||
ln -sf ../../external/libd3dshared.dylib "${WINE_UNIX}/d3d12.so"
|
||||
ln -sf ../../external/libd3dshared.dylib "${WINE_UNIX}/dxgi.so"
|
||||
|
||||
touch "${WHISKY_LIBS}/Libraries/.gptk_installed"
|
||||
echo "OK: GPTK D3DMetal + d3d12/dxgi bridge → ${WHISKY_WINE}"
|
||||
echo " Запуск: bash ${GOG_DIR}/prepare-ja3-d3dmetal.sh && bash ${GOG_DIR}/run-ja3.sh"
|
||||
Reference in New Issue
Block a user