diff --git a/OPERATIONS.md b/OPERATIONS.md index 873c55b..99c04c0 100644 --- a/OPERATIONS.md +++ b/OPERATIONS.md @@ -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. diff --git a/README.md b/README.md index bae7f1a..6a44afb 100644 --- a/README.md +++ b/README.md @@ -19,6 +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 (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 | | Fixes | `hhd.service` masked (crash-loops on BC-250) | | Docs | Parent manual baked at `/usr/share/doc/bc250-console/OPERATIONS.md` | diff --git a/files/console/usr/bin/bc250-gfn-install b/files/console/usr/bin/bc250-gfn-install new file mode 100644 index 0000000..295a49c --- /dev/null +++ b/files/console/usr/bin/bc250-gfn-install @@ -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 diff --git a/files/console/usr/lib/systemd/system/bc250-gfn-install.service b/files/console/usr/lib/systemd/system/bc250-gfn-install.service new file mode 100644 index 0000000..102ac57 --- /dev/null +++ b/files/console/usr/lib/systemd/system/bc250-gfn-install.service @@ -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 diff --git a/files/console/usr/share/doc/bc250-console/OPERATIONS.md b/files/console/usr/share/doc/bc250-console/OPERATIONS.md index 873c55b..99c04c0 100644 --- a/files/console/usr/share/doc/bc250-console/OPERATIONS.md +++ b/files/console/usr/share/doc/bc250-console/OPERATIONS.md @@ -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. diff --git a/recipes/bc250-console-gnome.yml b/recipes/bc250-console-gnome.yml index b13ef14..7bb1bb7 100644 --- a/recipes/bc250-console-gnome.yml +++ b/recipes/bc250-console-gnome.yml @@ -24,7 +24,7 @@ modules: - type: script snippets: - - chmod 0755 /usr/bin/bc250-remote-setup /usr/bin/bc250-steam-bpm-autostart + - chmod 0755 /usr/bin/bc250-remote-setup /usr/bin/bc250-steam-bpm-autostart /usr/bin/bc250-gfn-install - dconf update # compile the local.d/gdm.d console defaults into the dconf dbs - type: default-flatpaks@v1 @@ -41,6 +41,7 @@ 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) masked: - hhd.service # Handheld Daemon crash-loops on BC-250 # Always-on console: hard-block every suspend path (the box must