Ctrl K
ComunidadGuías…

balena-host-config.json

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "//": [
    "Declarative balena fleet host configuration (the config.txt knobs).",
    "Source of truth for what .github/workflows/build-balena-disk-image.yaml",
    "applies to each `screenly_ose/anthias-*` fleet: it upserts every entry",
    "below under the canonical `BALENA_HOST_CONFIG_<key>` name and prunes any",
    "config var not listed here (including legacy `RESIN_HOST_CONFIG_*`",
    "duplicates), so this file is authoritative. Supervisor vars",
    "(RESIN_SUPERVISOR_*) are platform settings, not config.txt, and are out",
    "of scope. See docs/balena-fleet-host-config.md for the full audit.",
    "",
    "Reconciled from the live fleets on 2026-05-30. Corrections vs what was",
    "live:",
    "  * pi4-64 dtoverlay was the malformed `\"vc4-kms-v3d\"` (literal quotes)",
    "    on the RESIN_ prefix; the quotes stopped the firmware loading the",
    "    overlay, so the board fell back to firmware-KMS and Qt eglfs_kms",
    "    (the viewer's renderer since #2905) could not start the display ->",
    "    boot-splash hang (issue #2947). Stored clean. Its dtparam was",
    "    `i2c_arm=on,spi=on,audio=on` (plus a bogus trailing `vc4-kms-v3d`).",
    "    That comma-joined multi-value never round-tripped through balena's",
    "    config.txt reconcile, so the pi4 supervisor thrashed boot-config and",
    "    reboot-looped fleet-wide (blocking the 2026.5.2 rollout). Set to",
    "    `audio=on` to match ansible/roles/system/templates/config.txt.j2",
    "    (the installer sets only `dtparam=audio=on`); i2c_arm/spi are unused",
    "    by the viewer. Single-value form is canary-verified to converge.",
    "  * pi2 / pi3 dtoverlay was on the legacy RESIN_ prefix -> standardized.",
    "  * pi3-64 is the 64-bit-OS variant of Pi 3 hardware (same BCM2837",
    "    SoC, balenaOS device-type raspberrypi3-64). config.txt is",
    "    arch-independent, so it mirrors the pi3 entry; the viewer runs the",
    "    arm64 Qt6/eglfs_kms image, which is why vc4-kms-v3d (full KMS) is",
    "    required exactly as on pi4-64.",
    "  * pi5 carried `gpu_mem=1024`, which a Pi 5 ignores entirely (BCM2712",
    "    has no firmware memory split; it is CMA-only) -> dropped. Added",
    "    `cma-512` to the overlay, which docs/board-enablement.md documents as",
    "    required for 4K HEVC hardware decode.",
    "",
    "Notes:",
    "  * rockpi4 (device type rockpi-4b-rk3399) and x86 are declared as {}:",
    "    config.txt is Raspberry-Pi-firmware-only, so those fleets have no",
    "    host config. The empty object is still required — the reconcile",
    "    step hard-fails on a missing board key to keep the prune from",
    "    wiping a fleet.",
    "  * gpu_mem is retained on Pi <=4: it still backs the VideoCore hardware",
    "    video decoders (bcm2835-codec / V4L2 M2M) used for playback.",
    "  * framebuffer_depth / framebuffer_ignore_alpha are legacy firmware-",
    "    framebuffer knobs that the full-KMS driver ignores. They are inert,",
    "    so they are kept as-is rather than churned on working boards."
  ],
  "boards": {
    "pi2": {
      "dtoverlay": "vc4-kms-v3d",
      "gpu_mem": "128",
      "disable_overscan": "1",
      "framebuffer_depth": "32",
      "framebuffer_ignore_alpha": "1"
    },
    "pi3": {
      "dtoverlay": "vc4-kms-v3d",
      "gpu_mem": "128",
      "disable_overscan": "1",
      "framebuffer_depth": "32",
      "framebuffer_ignore_alpha": "1"
    },
    "pi3-64": {
      "dtoverlay": "vc4-kms-v3d",
      "gpu_mem": "128",
      "disable_overscan": "1",
      "framebuffer_depth": "32",
      "framebuffer_ignore_alpha": "1"
    },
    "pi4-64": {
      "dtoverlay": "vc4-kms-v3d",
      "dtparam": "audio=on",
      "gpu_mem": "256",
      "disable_overscan": "1",
      "framebuffer_depth": "32",
      "framebuffer_ignore_alpha": "1"
    },
    "pi5": {
      "dtoverlay": "vc4-kms-v3d,cma-512"
    },
    "x86": {},
    "rockpi4": {}
  }
}