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>
20 lines
1015 B
Bash
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
|