60 lines
1.9 KiB
Bash
60 lines
1.9 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
echo "Starting sunshine service..."
|
||
|
|
|
||
|
|
if [ -f "$HOME/.config/gamescope/gamescope.conf" ]; then
|
||
|
|
source "$HOME/.config/gamescope/gamescope.conf"
|
||
|
|
fi
|
||
|
|
OUTPUT_CONNECTOR=${OUTPUT_CONNECTOR:-HDMI-A-1}
|
||
|
|
FRAMERATE=${FRAMERATE:-120}
|
||
|
|
RESOLUTION=${RESOLUTION:-1920x1080}
|
||
|
|
HDR_ENABLED=${HDR_ENABLED:-${HDR:-1}}
|
||
|
|
|
||
|
|
echo "Building gamescope command..."
|
||
|
|
|
||
|
|
# Choose backend based on environment
|
||
|
|
BACKEND_ARGS=""
|
||
|
|
DRM_ARGS=""
|
||
|
|
IN_WAYLAND=0
|
||
|
|
if [ -n "${WAYLAND_DISPLAY:-}" ] || [ "${XDG_SESSION_TYPE:-}" = "wayland" ]; then
|
||
|
|
IN_WAYLAND=1
|
||
|
|
BACKEND_ARGS="--backend wayland"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# HDR only relevant for DRM path generally
|
||
|
|
HDR_FLAG=""
|
||
|
|
if [[ "$HDR_ENABLED" == "1" || "$HDR_ENABLED" == "true" || "$HDR_ENABLED" == "yes" ]]; then
|
||
|
|
HDR_FLAG="--hdr-enabled"
|
||
|
|
echo " HDR flag added: --hdr-enabled"
|
||
|
|
else
|
||
|
|
echo " HDR disabled, no HDR flag added"
|
||
|
|
fi
|
||
|
|
|
||
|
|
WIDTH="${RESOLUTION%x*}"
|
||
|
|
HEIGHT="${RESOLUTION#*x}"
|
||
|
|
|
||
|
|
if [ "$IN_WAYLAND" -eq 0 ]; then
|
||
|
|
DRM_ARGS="-O \"$OUTPUT_CONNECTOR\" -r \"$FRAMERATE\" $HDR_FLAG"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "Final Configuration Summary:"
|
||
|
|
echo " Backend: $([ "$IN_WAYLAND" -eq 1 ] && echo Wayland || echo DRM/KMS)"
|
||
|
|
echo " Output Connector: ${OUTPUT_CONNECTOR}"
|
||
|
|
echo " Framerate: ${FRAMERATE}Hz"
|
||
|
|
echo " Resolution: ${RESOLUTION}"
|
||
|
|
echo " HDR: $([ -n "$HDR_FLAG" ] && echo "enabled" || echo "disabled")"
|
||
|
|
echo " MangoHUD: enabled"
|
||
|
|
echo " Steam Mode: SteamOS3"
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "Launching gamescope session..."
|
||
|
|
echo "Full command:"
|
||
|
|
echo " gamescope $BACKEND_ARGS $DRM_ARGS --mangoapp -w $WIDTH -h $HEIGHT -e -- /usr/bin/steamos"
|
||
|
|
echo ""
|
||
|
|
echo "========================================="
|
||
|
|
|
||
|
|
LOGDIR="${HOME}/.local/logs"
|
||
|
|
mkdir -p "$LOGDIR"
|
||
|
|
echo "[$(date --iso-8601=seconds)] Launching (backend: $([ "$IN_WAYLAND" -eq 1 ] && echo wayland || echo drm)): gamescope $BACKEND_ARGS $DRM_ARGS --mangoapp -w $WIDTH -h $HEIGHT -e -- /usr/bin/steamos" >>"$LOGDIR/gamescope-launch.log"
|
||
|
|
exec bash -lc "gamescope $BACKEND_ARGS $DRM_ARGS --mangoapp -w $WIDTH -h $HEIGHT -e -- /usr/bin/steamos"
|