Files
local_machine/scripts/games/gog/install-gptk-whisky.sh
ahauimix 1938b7c743 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>
2026-06-01 08:12:19 +03:00

52 lines
2.3 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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"