Files
bc250-console/OPERATIONS.md
T
ckochandClaude Fable 5 6194756d2a Bake Sunshine remote admin + add one-command configured ISO builder
- Sunshine flatpak in first-boot list; autostarts with the console
  account's session (bc250-sunshine-autostart, honors CONSOLE_KID_USER)
- bc250-personalize: one-shot display names from /etc/bc250-console.conf
- build-console.sh + console.env(.example): fill in usernames/passwords/
  display names, get a fully personalized ISO — no post-install steps
  beyond per-account logins. Generated files git-ignored (credentials)
- Docs: Moonlight is the remote-admin path; RDP marked blocked by the
  mutter cursor-metadata screencast crash on GFX1013

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 10:51:57 -04:00

109 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BC-250 Console — Parent's Operations Manual
A copy of this file lives on the console at
`/usr/share/doc/bc250-console/OPERATIONS.md`.
Accounts: **kid** (plays games, no admin) and **parent** (admin, sudo).
Both ship with password `bc250console`**change both immediately**:
log in (or SSH) as each user and run `passwd`. Parent can also reset the
kid's password any time: `sudo passwd kid`.
## Connecting remotely
| | Command / client | Works when |
|---|---|---|
| SSH (terminal) | `ssh parent@<console-address>` | Always (console is never asleep) |
| Moonlight (see + control the screen) | [Moonlight](https://moonlight-stream.org) → console → **Desktop** | Only while the kid's session is logged in |
One-time Moonlight pairing: browse to `https://<console-address>:47990`,
create the Sunshine admin login, then enter the PIN Moonlight shows you in
Sunshine's PIN tab. Sunshine starts automatically with the kid's session.
> Why not RDP? GNOME Remote Desktop crashes the session on this GPU
> (mutter 50.x cursor-metadata screencast segfault on cyan-skillfish).
> `bc250-remote-setup` still configures it if you want to retry after a
> future mutter update — but Moonlight is smoother anyway.
`<console-address>`: the LAN IP, or (recommended) the Tailscale name/IP so it
works from anywhere. Never port-forward 22/3389 on the router.
## One-time setup after installing
1. On the console, log in as **kid**, open a terminal, run `bc250-remote-setup`
(sets up RDP credentials + firewall; SSH is already on).
2. `sudo tailscale up` — log in with your Tailscale account (daemon already runs).
3. In Steam (opens automatically in Big Picture): log into the kid's Steam
account, enable **Family View** (Settings → Family) and set the PIN.
4. Change both passwords (see above).
## Installing a game remotely
RDP into the kid's session → unlock Family View with your PIN → Steam →
Store → install. Downloads continue after you disconnect.
## Updates
- **Automatic**: the console updates the OS image, flatpaks, and Steam on its
own (`uupd` timer, runs in the background). Nothing to do.
- **Force an update now** (SSH): `sudo bootc upgrade && flatpak update -y`
- **What version am I on?**: `sudo bootc status` (shows image + digest)
- **Publishing a new OS image** (on the build PC): see
`BUILD-CONSOLE.md` → "Publish an update". The console picks it up
automatically within a day, or immediately with `sudo bootc upgrade`.
- **Roll back a bad update**: hold Space at boot and pick the previous entry,
or over SSH: `sudo bootc rollback && sudo systemctl reboot`.
## Health checks (SSH)
```bash
sensors # temps — watch under load
systemctl status cyan-skillfish-governor-smu # GPU governor: should be active
cat /sys/class/drm/card*/device/pp_dpm_sclk # GPU clock scaling
df -h / # disk space
```
## Renaming the kid's account (optional)
With the kid fully logged out (`sudo loginctl terminate-user kid`):
```bash
sudo usermod -l NEWNAME kid
sudo groupmod -n NEWNAME kid
sudo usermod -d /home/NEWNAME -m NEWNAME
sudo chfn -f "Display Name" NEWNAME
sudo passwd NEWNAME
echo 'CONSOLE_KID_USER=NEWNAME' | sudo tee /etc/bc250-console.conf
```
Steam data and apps live in the home directory and move with it. The last
line tells the Big Picture autostart which account is the console account.
## Tuning the GPU (optional, after thermal testing)
The GPU governor's curve lives at
`/etc/cyan-skillfish-governor-smu/config.toml`. Stock range is
**10001850 MHz**, thermal throttle at 85 °C — a good default. If temps stay
comfortably low during long sessions you can raise `max` under
`[frequency-range]` (safe-points up to 2000 MHz are pre-defined; higher ones
are in the file, commented out). Running hot or loud? Lower `max` to ~1500.
After editing: `sudo systemctl restart cyan-skillfish-governor-smu`.
There is also `cyan-skillfish-performance-mode` for temporarily pinning
high clocks. Change one thing at a time and re-check `sensors`.
## Misc
- Reboot: `sudo systemctl reboot` — Shutdown: `sudo systemctl poweroff`
- The console never sleeps or locks by design (it must stay reachable).
- Kid's session opens Steam Big Picture automatically; Esc exits to desktop.
- RDP refuses to connect → the kid's session probably isn't logged in, or
`bc250-remote-setup` hasn't been run yet.
- Steam misbehaves after an update → try ProtonUp-Qt (installed) to switch
the game to Proton-GE.
- Minecraft: open Prism Launcher, add an account (Microsoft sign-in — a paid
Minecraft: Java Edition license on that account), then create an instance
for the version/modpack you want. Prism downloads its own Java.
- GeForce NOW (beta) installs itself on first boot with internet. The BC-250
has no hardware video decode, so the stream decodes on the CPU: keep it at
1080p (higher settings will stutter and run hot). If it's missing, check
`systemctl status bc250-gfn-install` — it retries on the next boot.