mirror of
https://gitlab.com/the-no-frauds-club/cosmonarchy-bw-prerelease.git
synced 2026-09-17 01:01:12 +00:00
56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
|
|
# Linux / Wine setup
|
|||
|
|
|
|||
|
|
Cosmonarchy runs under Wine, but a stock prefix gets four things wrong. Each one
|
|||
|
|
fails in a way that does not name its own cause, so they are collected here.
|
|||
|
|
|
|||
|
|
```sh
|
|||
|
|
tools/linux/setup-bottle.sh --check # report, change nothing
|
|||
|
|
tools/linux/setup-bottle.sh # apply
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Defaults to the Bottles bottle named `Blizzard`. Use `--bottle NAME` for a
|
|||
|
|
different bottle, `--prefix PATH` for a plain `WINEPREFIX`, and `--game-dir PATH`
|
|||
|
|
if the StarCraft directory cannot be read from the prefix's registry.
|
|||
|
|
|
|||
|
|
Every change is backed up next to the file it modifies. `--check` exits non-zero
|
|||
|
|
when something is missing, so it works in a pre-flight.
|
|||
|
|
|
|||
|
|
## What it fixes
|
|||
|
|
|
|||
|
|
| Symptom | Cause | Fix |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| Fraud Launcher 2 exits instantly | .NET 8 loads `icu.dll`, which Wine forwards to a nonexistent `icuuc68.dll` | `DOTNET_SYSTEM_GLOBALIZATION_USENLS=1` |
|
|||
|
|
| `Fonts could not be loaded` | `aize_debug.qdp` opens `lucon.ttf` / `arialuni.ttf` with FreeType; Wine ships neither | drop DejaVu in under those filenames |
|
|||
|
|
| Entirely black screen | Wine loads its own `ddraw.dll`, ignoring cnc-ddraw, so StarCraft does a real 640×480 fullscreen mode switch | `ddraw=native,builtin` |
|
|||
|
|
| Black window, correct size | cnc-ddraw's `renderer=auto` draws black here | `renderer=gdi` |
|
|||
|
|
|
|||
|
|
### Notes
|
|||
|
|
|
|||
|
|
- The launcher failure shows up in Wine's output as
|
|||
|
|
`err:module:find_forwarded_export module not found for forward
|
|||
|
|
'icuuc68.u_charsToUChars_68'`. `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1` also
|
|||
|
|
works but discards culture support, so NLS is preferred.
|
|||
|
|
- FreeType opens fonts by path, not by name, so any monospace / wide-coverage
|
|||
|
|
TTF under those two filenames satisfies it. Needs `fonts-dejavu` (or
|
|||
|
|
Liberation / Noto, which the script also accepts).
|
|||
|
|
- `renderer=gdi` and clearing `shader=` were changed together, so which one
|
|||
|
|
mattered is not isolated. The bundled GLSL shader only applies to the OpenGL
|
|||
|
|
renderer, so it is inert under GDI either way — if you want it back, try
|
|||
|
|
`renderer=opengl` first.
|
|||
|
|
- Only the global `[ddraw]` section of `ddraw.ini` is touched; the per-game
|
|||
|
|
preset sections below it are left alone, and CRLF endings are preserved.
|
|||
|
|
- The `ddraw` override is written to `user.reg` directly, so close the game
|
|||
|
|
first — Wine rewrites that file from memory when the last process exits.
|
|||
|
|
|
|||
|
|
## Verified on
|
|||
|
|
|
|||
|
|
Bottles `Blizzard` bottle, runner **GE-Proton10-25**, X11, dual 2560×1440.
|
|||
|
|
Plain system wine 10.0 could not boot even vanilla StarCraft here (null call
|
|||
|
|
through `storm.dll` ordinal 313 during 640×480 init), so GE-Proton is the
|
|||
|
|
supported runner.
|
|||
|
|
|
|||
|
|
Fraud Launcher 2 installs to `C:\Cosmonarchy\`: `Starcraft\` is a stock 1.16.1
|
|||
|
|
install, `Release\` is a git clone of this repo. The game runs from
|
|||
|
|
`Release\Cosmonarchy BW.exe`, and `_qdp-hotloader.qdp` packs `Release\mpq\` into
|
|||
|
|
`Release\temp.mpq` and loads it alongside the plugins.
|