Files
bc250-console/files/console/usr/bin/bc250-sunshine-autostart
T
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

20 lines
1015 B
Bash

#!/usr/bin/env bash
# Start the Sunshine streaming host in the console (kid) account's session,
# so the parent can connect with Moonlight whenever the console is in use.
# Sunshine replaces RDP as the remote-admin path: GNOME RDP crashes mutter
# on the BC-250 (cursor-metadata screencast segfault, mutter 50.3).
[ -r /etc/bc250-console.conf ] && . /etc/bc250-console.conf
[ "$(id -un)" = "${CONSOLE_KID_USER:-kid}" ] || exit 0
flatpak info dev.lizardbyte.app.Sunshine >/dev/null 2>&1 || exit 0
# BC-250 has no video-encode hardware, and Sunshine SEGFAULTS probing the
# Vulkan H.264 encoder on this GPU (crash loop, exit 139). Seed the config
# with the software encoder before first start; never clobber user edits.
SUNSHINE_CONF="$HOME/.var/app/dev.lizardbyte.app.Sunshine/config/sunshine/sunshine.conf"
if [ ! -e "$SUNSHINE_CONF" ]; then
mkdir -p "$(dirname "$SUNSHINE_CONF")"
echo "encoder = software" > "$SUNSHINE_CONF"
fi
exec systemctl --user enable --now app-dev.lizardbyte.app.Sunshine.service