Document the experimental Ports install
The engine can now install native builds through Batocera's Ports system, which is the other half of our catalog — cartridges are all this store takes today. It stays off here: nobody has run one of these games on real hardware yet, and each is a 30-100 MB download rather than a few kilobytes. The README says how to switch it on per platform, which platforms have an ARM build (so a Pi or a handheld skips the rest instead of installing something that cannot start), and what the coverage measures at today. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -64,6 +64,55 @@ reach ROMs you put there yourself. To change any of it, edit
|
|||||||
`/userdata/system/batocera-store/ttg/config.json` on the box — the full key
|
`/userdata/system/batocera-store/ttg/config.json` on the box — the full key
|
||||||
reference is in the engine's README.
|
reference is in the engine's README.
|
||||||
|
|
||||||
|
## Native games as Ports — experimental
|
||||||
|
|
||||||
|
Cartridges are all this store installs by default, which is a little under half
|
||||||
|
the catalog: the rest of our games are native builds, and an emulator cannot
|
||||||
|
boot those. The engine can install them through Batocera's **Ports** system
|
||||||
|
instead, but it is off here on purpose — **nobody has yet confirmed on real
|
||||||
|
hardware that the games start**, and each one is a 30–100 MB download rather
|
||||||
|
than a few kilobytes.
|
||||||
|
|
||||||
|
To try it, add platform entries to
|
||||||
|
`/userdata/system/batocera-store/ttg/config.json` on the box:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"platforms": {
|
||||||
|
"ebitengine": {
|
||||||
|
"system": "ports",
|
||||||
|
"install": "port",
|
||||||
|
"kind": { "x86_64": "linux_x64", "aarch64": "linux_arm64" },
|
||||||
|
"ext": ".zip",
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"godot": { "system": "ports", "install": "port",
|
||||||
|
"kind": { "x86_64": "linux_x64" }, "ext": ".zip", "enabled": true },
|
||||||
|
"love": { "system": "ports", "install": "port",
|
||||||
|
"kind": { "x86_64": "linux_x64" }, "ext": ".zip", "enabled": true },
|
||||||
|
"bevy": { "system": "ports", "install": "port",
|
||||||
|
"kind": { "x86_64": "linux_x64", "aarch64": "linux_arm64" },
|
||||||
|
"ext": ".zip", "enabled": true }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Then `/userdata/system/batocera-store/ttg-store sync`. The games appear under
|
||||||
|
*Ports ▸ Teletype Games*; `remove` takes the unpacked program with it.
|
||||||
|
|
||||||
|
**Mind the architecture.** Only the platforms listed with an `aarch64` entry
|
||||||
|
above have ARM builds today — on a Raspberry Pi or a handheld the others are
|
||||||
|
skipped with a message naming the architecture, rather than installing something
|
||||||
|
that cannot start. `godot`, `love` and `tic80` have no ARM build at all yet: a
|
||||||
|
Godot ARM export needs a preset in the game repo, LÖVE has no upstream ARM
|
||||||
|
runtime, and TIC-80's exporter has no ARM target.
|
||||||
|
|
||||||
|
With everything that can be enabled turned on, the coverage measured on
|
||||||
|
2026-08-17 was **13 of 15** titles on x86_64 and **9 of 15** on ARM. The two that
|
||||||
|
stay out either way are `phaserdemo` and `trickster-tiles`: they ship only a web
|
||||||
|
build.
|
||||||
|
|
||||||
|
Report back what happens on a real box — that is the missing piece before this
|
||||||
|
becomes the default.
|
||||||
|
|
||||||
## Where things land
|
## Where things land
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user