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>
This commit is contained in:
2026-07-07 16:13:56 -04:00
co-authored by Claude Fable 5
parent 06ad5e9d26
commit c5f141fe34
6 changed files with 51 additions and 1 deletions
+27
View File
@@ -0,0 +1,27 @@
#!/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
@@ -0,0 +1,13 @@
[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
@@ -74,3 +74,7 @@ high clocks. Change one thing at a time and re-check `sensors`.
`bc250-remote-setup` hasn't been run yet.
- Steam misbehaves after an update → try ProtonUp-Qt (installed) to switch
the game to Proton-GE.
- 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.