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>
120 lines
5.6 KiB
Markdown
120 lines
5.6 KiB
Markdown
# 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.
|
||
|
||
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)
|
||
|
||
```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
|
||
**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-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.
|