I'd be glad to guide you through installing and setting up Steam Headless on WSL2 with Docker Desktop for Steam Link remote play:
Prerequisites:
- WSL2: Ensure you have WSL2 (Windows Subsystem for Linux 2) installed and running on your Windows machine. You can follow the official Microsoft documentation for setup: https://docs.microsoft.com/en-us/windows/wsl/install
- Docker Desktop: Download and install Docker Desktop for Windows: https://www.docker.com/products/docker-desktop
- Steam Account: Sign in to your Steam account and ensure you have the games you want to stream installed.
Installation Steps:
-
Open WSL Terminal: Launch the WSL terminal (e.g., Ubuntu).
-
Update Package Lists: Run the following command to update the package lists:
sudo apt update
-
Install Docker Engine (if not already installed):
- Debian/Ubuntu:
sudo apt install docker.io docker-compose
- Other distributions: Refer to Docker's documentation for installation instructions specific to your distribution: https://docs.docker.com/engine/install/ubuntu/
- Debian/Ubuntu:
-
Create a Docker Network (optional but recommended): This step is optional but creates a dedicated network for Steam Headless to improve stability:
docker network create steam-headless-network
-
Run the Steam Headless Docker Container: We'll use the
linuxserver/steam-headlesscontainer image, which offers a pre-configured Steam client and headless functionality:docker run -d \ --name steam-headless \ -e STEAM_USER=<your_steam_username> \ -e STEAM_PASSWORD=<your_steam_password> \ -v /path/to/your/games:/home/steam/.local/share/Steam/steamapps \ # Mount your Steam games directory [optional] -v <host_directory>:/mnt/cache/appdata/steam-headless # Mount a persistent data directory (recommended) [optional] --network steam-headless-network # Use the created network linuxserver/steam-headless
Replace the placeholders:
<your_steam_username>: Your Steam username.<your_steam_password>: Your Steam password (caution: avoid storing sensitive information like passwords in plain text. Consider using environment variables or a password manager for better security)./path/to/your/games: The directory on your WSL file system where your Steam games are installed.- If your games are located within the Windows file system, you'll need to share that directory with WSL using
wsl --mountor a similar method.
- If your games are located within the Windows file system, you'll need to share that directory with WSL using
<host_directory>(optional): A directory on your Windows host machine to store persistent Steam data (e.g., save files, configurations). This ensures data isn't lost when the container restarts.- You'll need to create this directory on your Windows machine beforehand.
-
Check Container Status (optional):
docker ps
You should see the
steam-headlesscontainer running. -
Steam Link Setup:
- Launch the Steam Link app on your device (PC, TV, etc.).
- Follow the on-screen instructions to connect to your local network.
- Choose your computer from the list.
- Your Steam library should be available for streaming.
Additional Considerations:
- GPU Acceleration (optional):
- If your WSL2 instance and container have access to a dedicated GPU, you can enable GPU acceleration for improved performance. This can be more complex, so research specific instructions based on your GPU type.
- Network Connectivity:
- Ensure your Windows machine and the device running Steam Link are on the same local network.
- Firewall Rules (optional):
- If you encounter connectivity issues, you might need to adjust firewall rules on your Windows machine to allow traffic between WSL2 and the Steam Link device.
Troubleshooting:
- If you encounter issues with the container running, check the Docker logs using
docker logs steam-headless. - Ensure your Steam username and password are correct.
- Verify that your Steam Link device is connected to the same local network as your WSL instance.
By following these steps, you should be able to set up Steam Headless in your WSL2 environment and enjoy Steam Link remote play. If you have any further questions or encounter specific difficulties, feel free