# GOG Galaxy — RCA за ~7 часов (2026-05-28)

Bottle: **GOG-Install** (`9ee55e7c-a58e-411e-a93f-30530d4f1073`).

## Swap / подвисание Mac

Запуски Galaxy (CEF + несколько `GalaxyClient Helper` + MoltenVK в foreground) **грузят RAM и swap**. При `used swap` > ~400MB скрипты **блокируют** новый запуск.

```bash
bash ~/code/local_machine/scripts/games/gog/emergency-stop.sh
# перезагрузка Mac — если система всё ещё тяжёлая
```

**Не запускать подряд:** `launch-galaxy.sh`, `launch-galaxy-ui.sh`, Whisky pin — без `emergency-stop` между попытками.

## Статус (честно)

| Что проверено | Результат |
|---------------|-----------|
| `GalaxyClient.exe` в процессах после `launch-galaxy.sh` | **Да** (многократно) |
| `GalaxyInitialization.log`: `will continue` | **Да** |
| `GalaxyClient.log`: `Showing login form` | **Да** |
| `GalaxyClient.log`: `Successfully brought window to the foreground` | **Да** |
| **Окно видно пользователю на macOS** | **Нет** (не подтверждено) |

**Вывод:** клиент **запускается**, login UI **в логах есть**; проблема — **отрисовка/привязка окна CEF в Wine на Mac**, не «бинарника нет».

Собрать свежие логи:

```bash
bash ~/code/local_machine/scripts/games/gog/collect-gog-logs-7h.sh
```

## Хронология (по логам bottle, MSK)

| Время (≈) | Событие | Значение |
|-------------|---------|----------|
| 04:56 | `Second client instance` → `will exit` | повторный launch без `reset.sh` |
| 05:08 | то же | lock / второй экземпляр |
| 05:15–05:18 | `will continue`, login form, foreground | **рабочий запуск процесса** |
| 05:19–05:20 | `DeelevateStrategy` fatal, exit **-31** | запуск **без** `/deelevated` (vdesktop) |
| 05:21+ | `/deelevated` в Init, login form | фикс в `config.sh` |
| 05:29–05:35 | login + foreground (vdesktop) | процесс OK, окно на Mac — нет |
| 06:53 | Init: `/deelevated /runWithoutUpdating`, login form | последний автотест |

## Типичные строки в логах

**Успех процесса:**

```
Initialization strategy 'InitClientStrategy' ... The client will continue.
No refresh token found. Showing login form.
Successfully brought window to the foreground.
```

**Падение (старый антипаттерн):**

```
Something went wrong during DeelevateStrategy.
... exit code -31 (Privilege de-elevation is needed.). The client will exit.
```

**Окно на Mac (CEF):**

```
Received message from source not matching parent window.
eglInitialize: No available renderers.
```

## JA3 без Galaxy UI (рекомендуется на этом Mac)

Galaxy login в Wine **не показывает окно** → ставить игру через **offline installer** в браузере:

1. https://www.gog.com/ → Library → Jagged Alliance 3 → **Download offline backup**
2. На Mac:
   ```bash
   bash ~/code/local_machine/scripts/games/gog/emergency-stop.sh
   bash ~/code/local_machine/scripts/games/gog/install-ja3-offline.sh ~/Downloads/setup_jagged_alliance_3*.exe
   ```

## Канон запуска Galaxy (best effort, может не быть окна)

1. **Whisky GUI (предпочтительно для окна):**

```bash
bash ~/code/local_machine/scripts/games/gog/launch-galaxy-whisky.sh
# → pin «gog-galaxy» → Run
```

2. **Терминал (процесс + логин в логе):**

```bash
bash ~/code/local_machine/scripts/games/gog/reset.sh
bash ~/code/local_machine/scripts/games/gog/launch-galaxy.sh
```

3. **Если окна нет — foreground + vdesktop:**

```bash
bash ~/code/local_machine/scripts/games/gog/launch-galaxy-ui.sh
```

4. **A/B CEF (как Steam):**

```bash
GOG_CEF_PROFILE=steam bash ~/code/local_machine/scripts/games/gog/launch-galaxy-ui.sh
```

## Что не считать «успехом»

- Скрипт печатает `OK: GOG Galaxy запущен` — только процесс + лог, **не** видимое окно.
- Web-stub / `GalaxySetup.exe` в Wine — **не** доводят установку (gdi32/Inno).

## Связанные документы

- [TROUBLESHOOTING.md — GOG Galaxy: окно](TROUBLESHOOTING.md#gog-galaxy-окно-не-открывается)
- [gog/README.md](../../scripts/games/gog/README.md)
