Documentazione di Steamworks
Come caricare ed eseguire i giochi su Steam Deck

Introduzione

Per aiutare gli sviluppatori a lavorare con Steam Deck, stiamo fornendo due strumenti: SteamOS Devkit Client e SteamOS Devkit Service. Questi strumenti consentono di trasferire le build dei giochi direttamente dal computer di sviluppo al dev kit di Steam Deck (o ad un computer Linux), nonché di effettuare altre attività di sviluppo.
Importante:
prima di caricare e testare il tuo titolo utilizzando le istruzioni in basso, consigliamo di installare ed eseguire un altro titolo da Steam che utilizza Steam Play (Proton) sul dev kit di Steam Deck. Ciò serve per garantire l'installazione di Proton e di tutte le sue dipendenze.

Strumenti di installazione

Configurazione del client (sul PC di sviluppo)

  • Lo strumento SteamOS Devkit Client viene eseguito sul tuo PC di sviluppo e consente agli sviluppatori di connettersi a Steam Deck o a un sistema Linux per effettuare la distribuzione e il debug del software.
  • Installa SteamOS Devkit Client da Steam. Ecco il link di installazione diretto.
  • È possibile avviare lo strumento dalla categoria Software della Libreria di Steam oppure tramite riga di comando:
    • Su Windows, esegui windows-client/devkit-gui.exe
    • Su Linux, esegui python3.9 ./devkit-gui-cp39.pyz nella directory linux-client

Configurazione del server (su Steam Deck)

  • Lo strumento SteamOS Devkit Service viene eseguito su Steam Deck o sul sistema Linux selezionato e consente agli sviluppatori di connettersi da un altro PC per effettuare la distribuzione e il debug del proprio software.
  • Se hai un dev kit di Steam Deck, lo strumento SteamOS Devkit Service risulterà già installato e in esecuzione, pertanto non saranno necessari ulteriori passaggi.
  • Se non hai uno Steam Deck e stai effettuando dei test dal tuo sistema Linux, lo strumento SteamOS Devkit Service dovrà essere installato manualmente. Ecco un link di installazione diretto per lo strumento (questo servizio è disponibile soltanto sui PC con Manjaro in esecuzione, come spiegato qui).

Connessione al Deck

Sul tuo PC di sviluppo, avvia SteamOS Dev-kit Client. Per poter essere rilevato ed elencato, il dev kit/sistema Linux dovrà essere connesso ad una rete locale che consente il Multicast DNS con l'host di sviluppo. È possibile utilizzare una connessione Wi-Fi o Ethernet (tramite un hub USB-C).

  • Assicurati che il tuo Steam Deck sia connesso alla rete e che tutti gli aggiornamenti siano stati applicati (Impostazioni > Sistema)
  • Sul tuo Steam Deck: vai su Impostazioni > Sistema e seleziona Abilita modalità sviluppatore nella sezione Impostazioni di sistema. Poi vai su Impostazioni > Sviluppatore e seleziona Associa nuovo host nella sezione Dev kit.
  • Sul tuo PC di sviluppo: cerca il tuo sistema Linux all'interno dello strumento del dev kit (i dev kit EV2 appariranno come "callistoXXX", mentre le unità più recenti come "Valve Aerith"). Clicca sul pulsante Registra a destra per registrare questo dev kit con lo strumento (verrà impostata una chiave SSH sul dispositivo e se ne avrà pieno controllo).
  • Sul tuo Steam Deck: approva la richiesta di associazione del tuo PC.
  • Se nell'interfaccia dello strumento non compare nulla, assicurati che il tuo PC di sviluppo e il tuo dev kit siano connessi alla stessa rete LAN. A seconda del tuo ambiente, potresti dover usare il campo Add by IP.

dev-kit_landing.png

Nello screenshot qui sopra, callisto530 è un dev kit registrato.

Caricamento di una build di gioco su Steam Deck

Clicca sulla scheda Title Upload per configurare il caricamento di un gioco dal tuo PC di sviluppo al dev kit di Steam Deck. Dopo aver completato tutti i campi, la schermata avrà questo aspetto:

title-upload-20211111.png

Questo screenshot mostra il caricamento di una build Windows per un gioco di prova sul dev kit.
  • Local Folder: la directory di base che contiene tutti i file necessari all'esecuzione del tuo gioco.
  • Upload filtering: il processo di caricamento utilizza rsync tramite SSH, in modo da accelerare il caricamento ripetuto di contenuti con piccole variazioni.

    Ci sono tre opzioni per controllare cosa viene caricato:

    Exclude only considera una lista separata da virgole di espressioni da escludere dal caricamento.
    Include only caricherà solamente file e directory che coincidono con le espressioni specificate, ignorando tutto il resto.
    Rsync args consente agli utenti avanzati di specificare direttamente i parametri di rsync tramite riga di comando.

    Per ulteriori dettagli sulle espressioni di filtraggio, consulta questa pagina.

  • Clean upload: abilita questa funzione per eliminare tutti i file presenti sul dev kit e non in Local Folder una volta applicate le espressioni da escludere.
  • Start Command: imposta questo parametro sull'eseguibile binario del gioco (e tutti gli argomenti che vuoi aggiungere).
  • Steam Play: seleziona questa opzione se stai caricando dei binari di Windows che dovranno essere eseguiti tramite Steam Play usando Proton.
  • Steam Play debug: selezionare la casella del servizio di debug ti consentirà di analizzare la tua build C++ su Visual Studio.

Se hai già un appID per il tuo gioco e stai utilizzando l'API di Steamworks, ti consigliamo di includere il file steam_appid.txt (che dovrebbe contenere soltanto il tuo appID) nella cartella principale superiore del tuo caricamento e insieme al tuo eseguibile. Per saperne di più, consulta l'articolo Inizializzazione e arresto dell'API di Steamworks.

Esecuzione delle build caricate

Sul tuo dev kit di Steam Deck, apri la Libreria e seleziona "Devkit Game: " per avviarlo.
Come menzionato all'inizio dell'articolo, prima di caricare e testare il tuo gioco, consigliamo innanzitutto di installare sul dev kit di Steam Deck un altro titolo di Steam che fa utilizzo di Steam Play (Proton) e di eseguirlo. Ciò serve per garantire la corretta installazione di Proton e di tutte le sue dipendenze.

Console del client di Steam

Se lo sviluppo del tuo titolo richiede l'esecuzione di comandi dalla console del client di Steam, questi saranno disponibili tramite la console CEF.

Con lo strumento SteamOS Devkit Client in esecuzione e collegato al tuo Deck, clicca sul pulsante Console CEF nella sezione Devkit. Così facendo, nel tuo browser si aprirà una scheda collegata al client CEF del tuo dispositivo Steam Deck. Da questa pagina, clicca su SP per aprire una scheda specifica per l'interfaccia principale di Steam Deck. Questa include una console di debug CEF nella parte destra della pagina.

Una volta aperta la finestra di debug CEF, nella scheda Console, abilità l'output di Steam Console eseguendo il comando EnableSteamConsole(). Dopo aver eseguito questo comando, l'output normalmente mostrato nella scheda Console del client di Steam (quando avviato con console) verrà visualizzato qui ed evidenziato con l'etichetta SteamClient.

Per eseguire i comandi dalla console, effettua una chiamata a SteamClient.Console.ExecCommand() passando come parametro il comando stesso racchiuso tra virgolette. L'esempio qui sotto mostra due di queste chiamate, una per abilitare il testing della sincronizzazione dinamica del Cloud per l'applicazione 480 e quella seguente per disabilitarlo:

deck_cef_client_console_example.png