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>
5.6 KiB
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 → 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-setupstill 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
- On the console, log in as kid, open a terminal, run
bc250-remote-setup(sets up RDP credentials + firewall; SSH is already on). sudo tailscale up— log in with your Tailscale account (daemon already runs).- In Steam (opens automatically in Big Picture): log into the kid's Steam account, enable Family View (Settings → Family) and set the PIN.
- 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 (
uupdtimer, 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 withsudo 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
1000–1850 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-setuphasn'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>:47990panel. Best-quality "cloud" gaming in the house: LAN latency, no subscription.