Commit Graph
24 Commits
Author SHA1 Message Date
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
ckochandClaude Fable 5 2a67851293 OPERATIONS: verified Moonlight client settings + re-pair note
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 15:52:22 -04:00
ckochandClaude Fable 5 d8ec1d85a5 Create the kid account in the input group
Sunshine (running in the kid's session) needs /dev/uinput — group
'input' — to create the virtual mouse/keyboard for Moonlight remote
control; without it the input stream hangs at "establishment" while
video works. Found on hardware; on-box fix is usermod -aG input.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 15:38:15 -04:00
ckochandClaude Fable 5 d1b6a8944e Seed Sunshine with encoder=software before first start
Sunshine segfaults (exit 139, crash loop) probing the Vulkan H.264
encoder on the BC-250 — the GPU has no VCN/video-encode hardware and
the failed probe crashes instead of falling through. Software x264 is
the only viable encoder on this chip anyway. Seeded only if no config
exists, so user edits are never overwritten.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 19:52:25 -04:00
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
ckochandClaude Fable 5 c2d0f7967a bc250-remote-setup: disable view-only RDP
GNOME Remote Desktop defaults RDP sessions to view-only; the whole
point of RDP here is the parent driving the session to install games.
Found during first real RDP setup on hardware.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:43:26 -04:00
ckochandClaude Fable 5 8e78bc286a README: link BIOS flash guide, note renamable console account
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 12:41:07 -04:00
ckochandClaude Fable 5 1ea0816c4f Make the console (kid) account name configurable
Autostart reads CONSOLE_KID_USER from /etc/bc250-console.conf
(default: kid), so renaming the account is a pure on-box operation —
documented in OPERATIONS.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 12:35:45 -04:00
ckochandClaude Fable 5 9cfd7ec225 Fix "ERROR: code=0; This is strange" popup at kid login
bazzite-steam-bpm races waitpid against Steam PIDs that may already
be gone when quitting a lingering instance, and its `if ! waitpid`
clobbers $? so every failure reports code=0 via zenity. Replace the
call with our own quit-and-wait (pgrep scoped to the kid's uid) and
launch bazzite-steam steam://open/bigpicture directly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 12:22:27 -04:00
ckochandClaude Fable 5 46f6e973cc default-flatpaks: notify off — module's notify path breaks multi-user
The v1 module's post-install notification runs `sudo -u` with every
human user newline-joined into a single name ("kid\nparent"), which
fails and kills the service mid-install on any box with two accounts.
Hit on first hardware boot; apps after the first never installed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 12:12:20 -04:00
ckochandClaude Fable 5 aceb1c00d2 Gate system-flatpak-setup on network-online
First hardware boot: the service gave up after ~12s of no network,
failed with a cryptic "Error 0" desktop popup, and left all baked
flatpaks uninstalled (its timer only re-arms on reboot). The GFN
installer's own retry loop succeeded once the network arrived.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 11:43:29 -04:00
ckochandClaude Fable 5 beecda8993 Add BIOS flash guide: backup, flash modded ROM via J4004, settings
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 17:39:49 -04:00
ckochandClaude Fable 5 414c43d74b Add Prism Launcher (Minecraft) to first-boot flatpaks
Microsoft account sign-in documented in OPERATIONS.md; Prism manages
its own Java runtimes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 16:44:28 -04:00
ckochandClaude Fable 5 e491a7fed9 Add power wiring guide: LRS-350-12 -> J1000, AC-switch power design
Pinouts sourced from mothenjoyer69/bc250-documentation hardware.md.
Power switch = fused+switched IEC inlet on the AC side, with
AUTO_PWRON1 jumper 1-2 so the board boots when 12V appears.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 16:38:35 -04:00
ckochandClaude Fable 5 c5f141fe34 Bake GeForce NOW native Linux app (beta) via first-boot installer
NVIDIA's client ships from their own flatpak repo (com.nvidia.geforcenow),
which default-flatpaks can't add alongside Flathub — so a stamped oneshot
service installs it on first boot with retries. Docs note the BC-250 has
no hardware video decode: streams are CPU-decoded, keep to 1080p.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 16:13:56 -04:00
ckochandClaude Fable 5 06ad5e9d26 Clean repo down to what the console image actually uses
- Rewrite README for this fork's purpose (was upstream's multi-image doc)
- Remove 40-CU tooling (files/system, vendor/, docs/, justfiles) — this
  image is deliberately stable-24CU only
- Remove upstream CI (GitHub workflows, release scripts) — builds are
  local, repo lives on Gitea
- Remove unused upstream recipes (deck/kde/gnome × plain/40cu)
- Remove upstream's cosign.pub — we don't sign; keeping their key was
  misleading (verified: recipe generates fine without it, no key baked)
- Update NOTICE: drop removed vendored projects, credit direct upstream

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 15:32:11 -04:00
ckochandClaude Fable 5 891c4c46da Tuning: disable GNOME animations; document GPU governor tuning
Build Bazzite BC-250 / Check Bazzite channel digests (push) Has been cancelled
Build Bazzite BC-250 / Build Custom Image (push) Has been cancelled
Build Bazzite BC-250 / Build Custom 40CU Image (push) Has been cancelled
Build Bazzite BC-250 / Save Bazzite channel digest cache (push) Has been cancelled
Build Bazzite BC-250 / Publish GitHub Release (push) Has been cancelled
Bazzite base already covers the rest (max_map_count, zram, gamemode,
tuned profiles); governor stock curve (1000-1850 MHz, 85C throttle)
left as-is — ceiling tuning is documented in OPERATIONS.md for after
on-hardware thermal testing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 15:15:23 -04:00
ckochandClaude Fable 5 83afbb7f87 Add parent's operations manual (repo + baked at /usr/share/doc) and
Build Bazzite BC-250 / Check Bazzite channel digests (push) Has been cancelled
Build Bazzite BC-250 / Build Custom Image (push) Has been cancelled
Build Bazzite BC-250 / Build Custom 40CU Image (push) Has been cancelled
Build Bazzite BC-250 / Save Bazzite channel digest cache (push) Has been cancelled
Build Bazzite BC-250 / Publish GitHub Release (push) Has been cancelled
document the Gitea OTA update path (bootc switch + publish routine)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:36:55 -04:00
ckochandClaude Fable 5 82c1ec8b7b Pin default-flatpaks@v1: v2 module has breaking config changes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:08:57 -04:00
ckochandClaude Fable 5 57eee1727a Console plug-and-play layer: always-on, BPM autostart, game launchers
- Mask all suspend paths + dconf no-sleep/no-lock defaults (local + GDM):
  the console must stay reachable over SSH/RDP at all times
- Autostart Steam Big Picture Mode for the kid account only
- Enable tailscaled (idle until 'tailscale up')
- First-boot flatpaks: ProtonUp-Qt, Heroic, RetroDECK

Already in the bazzite base, so not added: Steam, Tailscale, automatic
updates (uupd.timer), Firefox via first-boot flatpak manager.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:08:01 -04:00
ckochandClaude Fable 5 20cad3e12b Add ISO user config: unattended install needs baked accounts
VM smoke test of the first ISO reached GDM but no user existed
(bootc-image-builder ISOs install unattended; gnome-initial-setup is
not in the bazzite base). iso-config.toml creates parent (wheel) and
kid with placeholder passwords to change on first login.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:48:22 -04:00
ckochandClaude Fable 5 f9c46a8186 Document verified docker build path for image + ISO
First successful build 2026-07-06: image kernel-7.0.9-ogc3.2.fc44,
5 GB installer ISO via bootc-image-builder. Records the docker-specific
workarounds: native dockerd (not Docker Desktop), skopeo copy into
containers-storage, terra GPG key mount, --rootfs btrfs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:34:31 -04:00
ckochandClaude Fable 5 2cb8bedfa0 Ignore generated Containerfile and bluebuild script artifacts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:12:22 -04:00
ckochandClaude Fable 5 4e452acc7d BC-250 console image: custom GNOME recipe with remote admin
Build Bazzite BC-250 / Check Bazzite channel digests (push) Has been cancelled
Build Bazzite BC-250 / Build Custom Image (push) Has been cancelled
Build Bazzite BC-250 / Build Custom 40CU Image (push) Has been cancelled
Build Bazzite BC-250 / Save Bazzite channel digest cache (push) Has been cancelled
Build Bazzite BC-250 / Publish GitHub Release (push) Has been cancelled
Based on 62fixolab/Latest-Bazzite-AMD-BC-250-Patched-Images @ 347fd4d.

Adds on top of the fork:
- recipes/bc250-console-gnome.yml: governor + gnome-remote-desktop +
  openssh-server, sshd enabled, hhd.service masked, no signing module
  (local build + ISO path)
- files/console/usr/bin/bc250-remote-setup: one-time on-box SSH/RDP setup
- files/console/usr/lib/bootc/kargs.d/50-bc250-ttm.toml: ttm memory kargs
- BUILD-CONSOLE.md: build -> ISO -> validation instructions

files/console/ is separate from files/system/ so the 40-CU unlock tooling
stays out of this stable 24-CU image.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:54:30 -04:00