Skip to content

MacGameVideoFix 4.8.4 — what a title needs configured, and fixes raised on Procyon

Choose a tag to compare

@MathiasKowoll MathiasKowoll released this 25 Aug 21:56
· 47 commits to main since this release

The manifest now says what to configure, not only what to install. Each of the sixteen titles carries the graphics backend it requires, the Game Porting Toolkit generation it is tied to, and a place for environment variables. Schema 3; schema 2 consumers are unaffected in shape, the fields are additions.

gptk is reported only where it is a requirement. "3.0 and 4.0b2" means both work and the field stays empty, because pinning a toolkit for a game that does not care is worse than leaving the choice alone. NINJA GAIDEN 4 reports 3; both Life is Strange titles report 4 — and that pair is the one that was quietly wrong, since a launcher defaulting to generation 3 had been handing them the one that crashes them.

None of it is a second copy. wiki/games.py measured these and emits them with --config-json, which the bundle generator reads.

The manifest also states the limit of what it describes, in a scopeWarning field: the toolkit is installed into the shared CrossOver application, so whichever game ran last leaves its generation in place for all of them. gptk is a requirement of the title, not an isolation guarantee.

Fixes are now raised against Procyon

Development moved onto the Procyon fork — the toolkit and the codecs can be swapped freely there, and its bottles live under their own root, so diagnosing a game touches nothing in a stock CrossOver install.

The diagnostic tools could not reach that environment: each named CrossOver's bottle directory outright, and the capture picked its engine from two hardcoded paths. They now look in every root, and ask which engine owns a bottle rather than guessing — three installs on the machine this was written on declare the same version and only one can open any given bottle.

One file, and one refusal

bottle_roots and crossover_for_bottle were byte-identical in two installers with a third copy about to appear, so they are now runtime/bottles.sh, which travels in the fixes bundle beside the installers that source it.

And looking a bottle up by name now refuses to guess. A machine can hold SteamARM under one root and SteamArm under another, and macOS filesystems are case-insensitive — so first-match-wins answered with the wrong bottle, silently. An absolute path is taken as given; an ambiguous name is an error that lists what it could have meant.