www/notes/steam.md
Paul W. 2bc9f45976
Consolidate steam notes
Signed-off-by: Paul W. <lambdapaul@protonmail.com>
2024-12-28 16:42:00 -05:00

5.3 KiB

Steam

Resources

Third-party Resources

  • SteamDB
    • tracks depot changes, price history, everything steam
  • gg.deals
    • tracks game deals for steam, steam key stores and other platforms
  • IsThereAnyDeal
    • similar to gg.deals except it does not support key seller tracking
  • SteamGifts
    • giveaway Steam keys or take part in giveaways
  • SteamTradeMatcher
    • one-to-one trading of items on Steam
  • ArchiSteamFarm
    • useful bot written in C# to farm trading cards for owned games that can be sold
  • SteamGridDB
    • custom video game assets for games available and not available on Steam
  • ProtonDB
    • community-sourced Linux and Steam Deck compatibility tracker

Steam Client

Accessing the Console

  • Use the following URIs on a browser or a file manager to open GUI client with the console:
    • steam://nav/console
    • steam://open/console
      • will not work if the Steam client is running in the background
  • The -console flag can be used with the client executable
  • Alternatively, SteamCMD, a command-line only version of the Steam client, can be used

Downloading Older Depots

Download a single depot (used to download older versions of applications/games):

download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>][<depot flags filter>]

SteamDB can be used to find the required argument values.

Steam Deck

Third-party Software

Console-like Youtube in Gaming Mode

  • Using Chromium's undocumented command-line options, the user agent can be changed to PlayStation's, Xbox's or Tizen's (Samsung's TV OS) and the application can be launched in full screen by using the --kiosk flag. The following XDG Desktop Configuration, for example, can be used and added as a non-Steam game while in Desktop mode for access in gaming mode
#!/usr/bin/env xdg-open
[Desktop]
Version=1.0
Type=Application
Name=YouTube TV
GenericName=Online Video Platform
Comment=An online video-sharing, social media platform
Exec=/usr/bin/flatpak run --branch=master --arch=x86_64 --file-forwarding org.chromium.Chrome @@ %F @@ --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02' --kiosk 'https://www.youtube.com/tv'
Terminal=false
MimeType=text/plain;
# $XDG_PATH contains the paths used to fetch icons, extensions for supported formats are optional Icon=com.youtube.tv
  • Firefox can also be used however the supported command-line options are limited
  • The URL for the TV user interface is https://www.youtube.com/tv
  • Without the user agent change, the above URL is inaccessible and will redirect you to the desktop version of the website
  • Adblockers like uBlock Origin, AdBlock Plus (both tested) do not remove ads even if they work with the desktop version
  • Choosing an Xbox user agent is recommended as button prompts match the Steam Deck's ABXY button layout
  • The Electron framework can be used to build a wrapper for the URL
    • This is the preferable method as it supports exiting from within the application, while browsers only support manual termination from the Steam menu.
    • Sample code for the electron app (assuming you can build linux binaries for the target platform):
      // sample code to get started
      const { app, BrowserWindow } = require('electron');
      app
        .whenReady()
        .then(() => {
          const win = new BrowserWindow({
            backgroundColor: '#2e2c29',
            kiosk: true,
          });
          win.maximize();
          win.loadURL('https://youtube.com/tv');
          win.webContents.userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) '
          + 'AppleWebKit/537.36 (KHTML, like Gecko) '
          + 'Chrome/48.0.2564.82 Safari/537.36 Edge/20.02';
        })
        .catch(() => { });
    

Miscellaneous

  • When using a dock or a hub to connect to an external display, ensure the display supports the refresh rate set on the device; some TVs and some monitors only support refresh rates that are multiples of 30Hz