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>
This commit is contained in:
2026-07-18 16:27:28 -04:00
co-authored by Claude Fable 5
parent 2a67851293
commit 9d2aa16050
7 changed files with 27 additions and 51 deletions
+7 -4
View File
@@ -110,7 +110,10 @@ high clocks. Change one thing at a time and re-check `sensors`.
- 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.
- 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.
+1 -1
View File
@@ -19,7 +19,7 @@ over-the-air from this Gitea's container registry.
| Console behavior | All suspend paths masked, no screen lock/dim, GNOME animations off — always on, always reachable |
| Kid experience | Steam Big Picture autostarts for the `kid` account only |
| Apps | First-boot flatpaks: ProtonUp-Qt, Heroic, RetroDECK, Prism Launcher (Minecraft) — Steam, Firefox, auto-updates already in the Bazzite base |
| Cloud gaming | GeForce NOW native Linux app (beta) auto-installed on first boot from NVIDIA's flatpak repo — note the BC-250 has no hardware video decode, so streams decode on CPU; keep to 1080p |
| Cloud gaming | GeForce NOW via a Chromium web-app shortcut (the native GFN app requires Vulkan video decode the BC-250 physically lacks — error 0xC0F11312). Moonlight client included for streaming from a home Sunshine host. Streams CPU-decode; keep to 1080p |
| Fixes | `hhd.service` masked (crash-loops on BC-250) |
| Docs | Parent manual baked at `/usr/share/doc/bc250-console/OPERATIONS.md` |
-27
View File
@@ -1,27 +0,0 @@
#!/usr/bin/env bash
# First-boot installer for the GeForce NOW native Linux app (beta).
# GFN ships from NVIDIA's own flatpak repo, not Flathub, so the
# default-flatpaks module can't handle it. Retries while the network
# settles; stamps /var/lib/bc250/.gfn-installed on success so the
# service never runs again.
STAMP_DIR="/var/lib/bc250"
STAMP="$STAMP_DIR/.gfn-installed"
REPO_URL="https://international.download.nvidia.com/GFNLinux/flatpak/geforcenow.flatpakrepo"
[ -f "$STAMP" ] && exit 0
for attempt in $(seq 1 30); do
if flatpak remote-add --if-not-exists --system GeForceNOW "$REPO_URL" \
&& flatpak install --system --noninteractive -y GeForceNOW com.nvidia.geforcenow; then
mkdir -p "$STAMP_DIR"
touch "$STAMP"
echo "GeForce NOW installed."
exit 0
fi
echo "GeForce NOW install attempt $attempt failed; retrying in 60s..."
sleep 60
done
echo "GeForce NOW install failed after 30 attempts; will retry next boot." >&2
exit 1
@@ -1,13 +0,0 @@
[Unit]
Description=Install GeForce NOW flatpak (NVIDIA repo, first boot)
Wants=network-online.target
After=network-online.target flatpak-add-fedora-repos.service
ConditionPathExists=!/var/lib/bc250/.gfn-installed
[Service]
Type=oneshot
ExecStart=/usr/bin/bc250-gfn-install
TimeoutStartSec=45min
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=GeForce NOW
Comment=NVIDIA cloud gaming in the browser (the native app requires hardware video decode this GPU does not have)
Exec=flatpak run org.chromium.Chromium --app=https://play.geforcenow.com/
Icon=input-gaming
Terminal=false
Categories=Game;
StartupNotify=true
@@ -110,7 +110,10 @@ high clocks. Change one thing at a time and re-check `sensors`.
- 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.
- 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.
+3 -2
View File
@@ -24,7 +24,7 @@ modules:
- type: script
snippets:
- chmod 0755 /usr/bin/bc250-remote-setup /usr/bin/bc250-steam-bpm-autostart /usr/bin/bc250-gfn-install /usr/bin/bc250-sunshine-autostart /usr/bin/bc250-personalize
- chmod 0755 /usr/bin/bc250-remote-setup /usr/bin/bc250-steam-bpm-autostart /usr/bin/bc250-sunshine-autostart /usr/bin/bc250-personalize
- dconf update # compile the local.d/gdm.d console defaults into the dconf dbs
- type: default-flatpaks@v1
@@ -40,6 +40,8 @@ modules:
- net.retrodeck.retrodeck # RetroDECK: retro emulation
- org.prismlauncher.PrismLauncher # Minecraft (Java; sign in with Microsoft account)
- dev.lizardbyte.app.Sunshine # game-stream host: parent remote admin via Moonlight (RDP blocked by mutter bug on GFX1013)
- org.chromium.Chromium # for GeForce NOW in-browser (native GFN app needs Vulkan video decode this GPU lacks)
- com.moonlight_stream.Moonlight # stream games FROM the home server/PC (Sunshine hosts) to the console
- type: systemd
system:
@@ -47,7 +49,6 @@ modules:
- cyan-skillfish-governor-smu.service
- sshd.service
- tailscaled.service # idle until 'sudo tailscale up'
- bc250-gfn-install.service # GeForce NOW beta from NVIDIA's flatpak repo (first boot)
- bc250-personalize.service # one-time display names from /etc/bc250-console.conf
masked:
- hhd.service # Handheld Daemon crash-loops on BC-250