From 93da0aa13eccb5b510d695cd3c7e088e4cc99dc4 Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Mon, 17 Aug 2026 08:14:09 +0200 Subject: [PATCH] Mark the ports step done, with the measured coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The engine can install native builds as Batocera ports, so the coverage number the plan was chasing is in reach. Measured rather than estimated: 13 of 15 on x86_64, 9 on ARM and rising as repos re-run with the ARM pipeline. The two that stay out — phaserdemo and trickster-tiles — ship only html, so no native store will ever carry them. Co-Authored-By: Claude Opus 5 (1M context) --- MORE_STORES.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/MORE_STORES.md b/MORE_STORES.md index 25c30c4..ec7b3c4 100644 --- a/MORE_STORES.md +++ b/MORE_STORES.md @@ -57,18 +57,20 @@ Amiért a mai store hordozható: a `cartridge` **architektúra-független** (ada 2. Cross-build a pipeline-okban. A legkönnyebb az ebitengine (Go: `GOARCH=arm64`), utána a bevy (Rust cross toolchain) és a godot (van ARM export template); a LÖVE a legnehezebb, ott ARM futtatókörnyezet kell. 3. A motor **architektúra-felismerése** (`uname -m` → `x86_64` / `aarch64` / `armv7l`), és csak az illeszkedő asset telepítése. -## 0b. Utána: `linux_*` → Batocera *ports* +## 0b. `linux_*` → Batocera *ports* — *kész* -Ha az ARM buildek megvannak, a ROM-rendszerek mellé jöhet egy második telepítési mód: ami nem cartridge, az portként megy fel. A Batocera ports rendszere `.sh` indítókat vesz, a motor pedig már ma is ír ports bejegyzést. +*(2026-08-17-én megvalósítva a motorban.)* A ROM-rendszerek mellett van egy második telepítési mód: `install: "port"` esetén a zip kicsomagolódik, és egy `.sh` indító kerül a Ports rendszerbe. A payload a `ports/.data//` alá megy — a pont rejti el az ES elől —, az indító pedig egy normál almappába, amit az ES ugyanúgy pásztáz, mint bármely más rendszerét. Számokban, a mai assetekkel: -| Gép | Lefedettség | +| Gép | Lefedettség (mérve 2026-08-17) | |---|---| -| x86_64 Batocera | **12/15** — a 7 cartridge + ebitengine 3, godot 1, love 1 (a 3 tic80 átfedés) | -| ARM Batocera | **7/15** — csak a cartridge, amíg nincs ARM build | +| x86_64 Batocera | **13/15** | +| ARM Batocera | **9/15** — és nő, ahogy a repók újrafutnak az ARM pipeline-nal | -A kimaradó három cím (1 bevy, 2 phaser) csak `html`-t ad, azokhoz böngésző kell. +A kimaradó kettő a `phaserdemo` és a `trickster-tiles`: mindkettő csak `html`-t +ad, natív binárisuk nincs, tehát ezekhez böngésző kell — natív store soha nem +fogja őket kiszolgálni. Ugyanez a keret adja az interaktív ES-menüt is (ports bejegyzések gamelist-metaadattal). @@ -119,7 +121,7 @@ Egy dolog viszont **nem** tartozik az adapterbe, hanem a közös részbe: az **a 1. ~~**`linux_arm64` a build-mátrixba**~~ — **kész** (2026-08-16). Az `ebitengine` és a `bevy` gyártja; a `godot`-hoz a játék repójában kell ARM export preset, a LÖVE-hoz nincs upstream ARM AppImage, a TIC-80 `export` parancsának meg nincs ARM célja. A `bevydemo` 1.0.0 már `linux_arm64`-et is ad. 2. ~~**Architektúra-illesztés a motorba**~~ — **kész** (2026-08-17). A `kind` és az `ext` lehet architektúra-leképezés `*` tartalékkal; a felismert arch látszik a `list` és a `config` kimenetében. `aarch64`-en végigpróbálva: az ARM csomagot tölti le, és a benne lévő bináris valóban AArch64. -3. **`linux_*` → Batocera ports** (0b) — a következő lépés. A motor már tudja, milyen assetet válasszon; most az kell, hogy a nem-cartridge asseteket **portként** telepítse, ne ROM-ként. +3. ~~**`linux_*` → Batocera ports**~~ — **kész** (2026-08-17). `install: "port"`; `aarch64`-en végigpróbálva: telepítés, idempotens újraszinkron, eltávolítás a 106 MB-os payloaddal, és a névtér-védés is (idegen `.data` útra mutató bejegyzést elutasít). **Hátra van:** bekapcsolni a `ttg-batocera-store` configjában, és valódi gépen kipróbálni, hogy a natív játékok tényleg elindulnak-e. 4. **ES-családú store-ok** (1.) — a motor itt már majdnem kész. ## Amit valódi gépen kell ellenőrizni