#!/usr/bin/bash

IMAGE_INFO="/usr/share/ublue-os/image-info.json"
IMAGE_NAME=$(jq -r '."image-name"' < $IMAGE_INFO)

LAUNCH_OPTIONS=""

# If Steam has been launched before we can safely launch with -steamdeck
# to maintain the gamemode update branch
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegame" ]]; then
  if [ -f $HOME/.local/share/Steam/ubuntu12_32/steamui.so ]; then
    LAUNCH_OPTIONS="-steamdeck"
  fi
fi

if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then
  # https://github.com/Supreeeme/extest
  # Extest is a drop in replacement for the X11 XTEST extension.
  # It creates a virtual device with the uinput kernel module.
  # It's been primarily developed for allowing the desktop functionality
  # on the Steam Controller to work while Steam is open on Wayland.
  # Also supports Steam Input as a whole.
  env LD_PRELOAD=/usr/lib/extest/libextest.so /usr/bin/steam "$LAUNCH_OPTIONS" "$@"
else
  /usr/bin/steam "$LAUNCH_OPTIONS" "$@"
fi