Follow these instructions to install Steam Headless on Unraid
- Navigate to "APPS" tab.
- Search for "steam-headless"
- Select either Install or Actions > Install from the search result.
- Configure the template as required.
This container can use your dedicated GPU. In order for it to do this you need to have either the Nvidia-Driver or Radeon-Top plugin installed.
- Install the Nvidia-Driver Plugin by ich777. This will maintain an up-to-date NVIDIA driver installation on your Unraid server.
- Toggle the steam-headless Docker Container template editor to "Advanced View".
- In the "Extra Parameters" field, ensure that you have the "--runtime=nvidia" parameter added.
- (Optional - This step is only necessary if you only multiple NVIDIA GPUs. If you have a single GPU, then leaving this as "all" is fine.) Expand the Show more settings... section near the bottom of the template. In the Nvidia GPU UUID: (NVIDIA_VISIBLE_DEVICES) variable, copy your GPU UUID (can be found in the Unraid Nvidia Plugin. See that forum thread for details).
- Install the Radeon-Top Plugin by ich777.
- Profit
Unraid's Linux kernel by default does not have the modules required to support controller input. Steam requires these modules to be able to create the virtual "Steam Input Gamepad Emulation" device that it can then map buttons to.
ich777 has kindly offered to build and maintain the required modules for the Unraid kernel as he already has a CI/CD pipeline in place and a small number of other kernel modules that he is maintaining for other projects. So a big thanks to him for that!
Note
This may no longer be required with Unraid v6.11 release (TBD). The required uinput module should be added to the kernel for that release.
-
The container will not be able to receive kernel events from the host unless the Network Type: is set to "host". Ensure that you container is configured this way.
Warning
Be aware that, by default, this container requires at least 8083 available for the WebUI to work. It will also require any ports that Steam requires for Steam Remote Play.
You can override the default ports used by the container with these variables:
- PORT_NOVNC_WEB (Default: 8083)
- WEB_UI_MODE (Default: 'vnc' - Set to 'none' to disable the WebUI)
-
No server restart is required, however. Ensure that the steam-headless Docker container is recreated after installing the uinput plugin for it to be able to detect the newly added module.