Files
bc250-console/OPERATIONS.md
T
ckochandClaude Fable 5 9d2aa16050 Replace native GFN (impossible on this GPU) with browser GFN + Moonlight
The native GeForce NOW client hard-requires Vulkan video-decode
extensions (error 0xC0F11312) and the BC-250 has no video decode
hardware — unfixable at driver level. Replaced with:
- Chromium + a GeForce NOW web-app shortcut (works on Linux Chromium
  without UA tricks nowadays; CPU-decoded 1080p)
- Moonlight client for streaming from a home Sunshine host (planned:
  VM with RTX 3050 passthrough on the R730)
Drops bc250-gfn-install service/script.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 16:27:28 -04:00

5.6 KiB
Raw Blame History

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 bc250consolechange 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 → 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.

Moonlight client settings that work well for admin sessions (verified): 1080p, 30 fps, windowed, "Optimize mouse for remote desktop instead of games" — the mouse option is essential for a normal desktop pointer. If the console's IP changes (e.g. after a reinstall), delete the PC in Moonlight and re-pair with the new address — a stale host entry streams the wrong thing or nothing. Best fix: DHCP reservation in the router, or connect via the Tailscale name instead of the LAN IP.

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)

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):

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: use the "GeForce NOW" app (a Chromium web shortcut). The native GFN app cannot work on this GPU — it requires hardware video decode (error 0xC0F11312) that the BC-250 physically lacks. Streams decode on CPU: keep to 1080p.
  • Moonlight (installed): streams games from a home PC/server running Sunshine — pair it against the host's https://<host>:47990 panel. Best-quality "cloud" gaming in the house: LAN latency, no subscription.