On-disk game conversion
Symptom
You bought the game. The bytes sit on your disk. On Linux you are asked to pretend those bytes are still a Windows process forever — live-translating Win32/DirectX calls into host calls on every launch (Wine, Proton, and kin).
The pain is not “compatibility layers are useless.” The pain is paying the translation tax forever, with no first-class path to a native-shaped artifact you keep, and no store priority that prefers native or lawfully ported builds when they exist.
Diagnosis
Same family as An alternative to URLs: the storefront label (“Windows build”) is not the only wire that should exist between your license and what runs.
Live translation keeps the foreign ABI as the permanent object. On-disk conversion treats the foreign binary as input to a recipe that produces a cached, host-shaped output (or a verified hybrid), matched to a specific content hash.
The human-rights-shaped intuition applies to the local machine only: you own the copy instance on your disk (not necessarily the copyright). Like buying a bottle of lemonade — you may add spice or centrifuge it into something else on your counter; that is not a free pass to mass-redistribute a modified brand. A local conversion pipeline belongs in that family. Store-scale redistribution of converted game trees is a different claim and needs rights-holder authorization (or stays recipe-only).
Treatment (near term)
-
Hubs and launchers: vendor source priority — native Linux → publisher-authorized ported binary → original + hash-matched conversion profile applied locally.
-
Distribute profiles / recipes, not converted game trees (unless the rights holder ships the tree).
-
Match profiles by content hash (and version metadata); refuse silent apply on hash mismatch.
-
Wrap recognized installers / post-install trees so candidate PE/DLL (and kin) can be converted into a sidecar cache; keep originals for verification and rollback.
-
Be honest about hard walls: DRM, kernel anti-cheat, obfuscation, and “full decompile → perfect recompile” are not weekend demos. Scope can defer DRM/anti-cheat — they already break Wine-class paths too; this concept does not claim to fix them.
-
Prefer binary weaving where possible: keep translation-unnecessary segments (especially same-ISA compute) and only rewrite / replace ABI-touching boundaries — see systems page.
Treatment (north star)
Stores and publishers treat conversion profiles as a first-class delivery class beside native builds: analyze once, ship the recipe (or the authorized converted artifact), let every lawful owner apply or download the cache.
AI-assisted analysis and decompilation feed profile authoring, not pirate mirrors.
Bitwise / block-level conversion profiles become a shared equivalence surface — “this hash of game.exe maps to this host-native plan.”
Installer porting remains optional and harder; post-install binary conversion is the wedge.
First engineering proof is a toy spike (self-authored tiny PE → hash-matched profile → Linux cache runs). Quality proof is an oracle title: a dual-shipped Win/Linux game you own (Valve/Steam first-party are natural) — convert the Windows depot locally and compare behavior to the official Linux depot (not bit-identical). Detail: systems page Near-term proof.
Legal posture (HCI face — not counsel)
This page is design literature, not legal advice.
-
Strongest clean path: rights holder authorizes native builds, ports, or profile distribution.
-
Strongest user-agency path: local conversion of copies the user already may run (own the copy instance on your machine — lemonade bottle, not lemonade brand), without redistributing game binaries.
-
Gray / hostile zones: EULA reverse-engineering bans, DMCA-style anti-circumvention when DRM/anti-cheat is defeated, and profiles that embed substantial copyrighted expression rather than transformative mapping metadata.
-
“Recipe not binary” reduces redistribution of the game risk; it does not erase every copyright, contract, or circumvention question.
Sibling faces
| Face | Where |
|---|---|
Systems altitude |
|
Technical substrate |
equivalence-engine (rules / DAG mappings); binary-tailor (post-delivery on-disk reshape — related instinct, different job) |
Catalog idea (when published) |
DevCentr project-plans seed |