Files
NebulaBrowser/README-linux-upload.md
T
2026-01-21 10:46:23 +13:00

3.4 KiB

Linux / SteamOS Build Upload Guide (SteamCMD)

This guide explains how to upload the Linux / SteamOS build of Nebula Browser to Steam using SteamCMD. It is tailored to the current project layout on Steam Deck / Linux.


App & Depot IDs

  • App ID: 4290110
  • Windows Depot: 4290111
  • Linux / SteamOS Depot: 4290112

This guide covers Linux only (4290112).


Current Folder Layout

Home directory layout expected by this guide:

/home/deck/
├── steamcmd/
│   └── steamcmd.sh
└── steam_build/
    ├── Nebula_SteamOS/
    │   ├── nebula-browser
    │   └── ...other runtime files...
    ├── output/
    └── app_4290110.vdf

Step 1: Verify Executable Permissions

The main Linux binary must be executable.

cd ~/steam_build/Nebula_SteamOS
ls -la

Identify the main binary (for example nebula-browser) and run:

chmod +x nebula-browser

Optional quick test:

./nebula-browser

Step 2: App Build VDF Configuration

Ensure app_4290110.vdf exists at:

/home/deck/steam_build/app_4290110.vdf

Its contents should be exactly:

"AppBuild"
{
  "AppID" "4290110"
  "Desc" "Nebula SteamOS build"
  "BuildOutput" "output/"
  "ContentRoot" "."
  "Preview" "0"

  "Depots"
  {
    "4290112"
    {
      "FileMapping"
      {
        "LocalPath" "Nebula_SteamOS/*"
        "DepotPath" "."
        "recursive" "1"
      }
    }
  }
}

Notes:

  • ContentRoot "." maps to /home/deck/steam_build
  • Nebula_SteamOS/* uploads everything inside that folder
  • Depot 4290112 is the Linux / SteamOS depot

Step 3: Launch SteamCMD

cd ~/steamcmd
./steamcmd.sh

You should now see:

Steam>

Step 4: Log In

Inside SteamCMD:

login YOUR_STEAM_USERNAME

If Steam Guard is enabled, enter the code when prompted.


Step 5: Upload the Linux Build

Inside SteamCMD, run with full path (no ~):

run_app_build /home/deck/steam_build/app_4290110.vdf

Expected behavior:

  • Content scan starts
  • Files upload to depot 4290112
  • A BuildID is printed on success

Step 6: Exit SteamCMD

quit

Step 7: Assign Build to a Branch (Required)

After upload completes:

  1. Open Steamworks
  2. Go to Nebula Browser → Builds
  3. Find the new Build ID
  4. Assign it to a branch (internal, beta, or default)

If this step is skipped, Steam Deck installs 0 bytes even though upload succeeded.


Common Issues

App build file does not exist

  • SteamCMD does not expand ~
  • Always use /home/deck/... absolute paths

0 bytes uploaded

  • LocalPath is wrong
  • Build not assigned to a branch
  • Executable missing or filtered out

Build installs but does not launch

  • Binary not executable
  • Missing runtime libraries
  • Incorrect launch configuration in Steamworks

Logs

If something fails, check:

tail -n 200 /home/deck/.local/share/Steam/logs/stderr.txt
tail -n 200 /home/deck/.local/share/Steam/logs/bootstrap_log.txt

Notes for Steam Deck

  • Test in Desktop Mode first
  • Then test in Gaming Mode
  • Steam Input and sandboxing differ between modes
  • Avoid absolute paths inside the app

Status

This process uploads Linux / SteamOS depot 4290112 only. Windows builds should be uploaded separately using depot 4290111.