Files
bc250-console/README.md
T

67 lines
3.8 KiB
Markdown

# bc250-console
A custom [Bazzite](https://bazzite.gg) GNOME (bootc) image for the **AMD
BC-250**, built as a kid-friendly couch gaming console with remote parent
administration. Recipes build with [BlueBuild](https://blue-build.org); the
installer ISO comes from bootc-image-builder; installed consoles update
over-the-air from this Gitea's container registry.
**Image:** `git.lazypugs.com/ckoch/bc250-console-gnome:latest`
**Recipe:** [`recipes/bc250-console-gnome.yml`](recipes/bc250-console-gnome.yml)
## What it adds on top of `bazzite-gnome:stable`
| Area | Change |
|---|---|
| GPU | `cyan-skillfish-governor-smu` (BC-250 DVFS governor, from the [filippor COPR](https://copr.fedorainfracloud.org/coprs/filippor/bazzite/)), enabled |
| Memory | `ttm.pages_limit` / `ttm.page_pool_size` kargs so the GPU can use the full 16 GB shared GDDR6 |
| Remote admin | `openssh-server` (enabled); **Sunshine** auto-serves the kid's session to Moonlight; `tailscaled` enabled. (RDP via `bc250-remote-setup` exists but is blocked by a mutter/GFX1013 crash) |
| Console behavior | All suspend paths masked, no screen lock/dim, GNOME animations off — always on, always reachable |
| Kid experience | Steam Big Picture autostarts for the `kid` account only |
| Apps | First-boot flatpaks: ProtonUp-Qt, Heroic, RetroDECK, Prism Launcher (Minecraft), Chromium, Moonlight — Steam, Firefox, auto-updates already in the Bazzite base |
| Cloud gaming | GeForce NOW via a Chromium web-app shortcut (the native GFN app requires Vulkan video decode the BC-250 physically lacks — error 0xC0F11312). Moonlight client included for streaming from a home Sunshine host. Streams CPU-decode; keep to 1080p |
| Fixes | `hhd.service` masked (crash-loops on BC-250) |
| Docs | Parent manual baked at `/usr/share/doc/bc250-console/OPERATIONS.md` |
## Accounts
Build with [`build-console.sh`](build-console.sh) + your `console.env` to
bake real usernames, passwords, and display names directly into the ISO
(see BUILD-CONSOLE.md). Without it, the ISO bakes the placeholder users
from [`iso-config.toml`](iso-config.toml): `parent` (admin/wheel) and `kid`
(standard), passwords to change on first login.
The kid's account can be renamed post-install (see OPERATIONS.md) — the
Big Picture autostart follows `CONSOLE_KID_USER` in `/etc/bc250-console.conf`.
> ⚠️ The installer wipes the first disk with no prompts. Don't boot it on a
> machine whose disk you care about.
## Documentation
- [`BUILD-CONSOLE.md`](BUILD-CONSOLE.md) — build the image, generate the ISO,
publish OTA updates (verified podman and docker paths, with workarounds)
- [`OPERATIONS.md`](OPERATIONS.md) — day-2 admin: connecting, installing
games remotely, updates/rollback, GPU tuning, health checks
- [`WIRING.md`](WIRING.md) — PSU/mains wiring, J1000 pinout, power-switch
design (AC rocker + AUTO_PWRON), fans, first power-on
- [`BIOS-FLASH.md`](BIOS-FLASH.md) — backup + flash the modded firmware via
the J4004 header, then the VRAM/IOMMU settings (ROMs are local-only, not
in this repo)
## Hardware prerequisites (on the board, not in the image)
Modded BIOS (see [mothenjoyer69/bc250-documentation](https://github.com/mothenjoyer69/bc250-documentation)),
then BIOS settings: 512 MB dynamic VRAM, IOMMU disabled, auto power-on.
## Credits
Forked from
[62fixolab/Latest-Bazzite-AMD-BC-250-Patched-Images](https://github.com/62fixolab/Latest-Bazzite-AMD-BC-250-Patched-Images),
which builds on [vietsman's patched images](https://github.com/vietsman/bazzite-gnome-patched)
and [filippor/cyan-skillfish-governor](https://github.com/filippor/cyan-skillfish-governor),
on top of [ublue-os/bazzite](https://github.com/ublue-os/bazzite).
The 40-CU experimental tooling from upstream is intentionally not included —
this image stays on the stable 24-CU configuration.
MIT licensed — see [LICENSE](LICENSE) and [NOTICE](NOTICE).