docker-steam-headless
docker-steam-headless copied to clipboard
[Bug]: Steam window not opening
Describe the Bug
I have the container running on an lxc in Proxmox, all working except Steam. All the apps work normally, even Firefox playing a video from Youtube shows gpu usage with nvtop on the host. It seems that Steam process is running, but the Steam window does not appear. I also have Ollama and ComfyUI using the same configuration, and both can use the gpu without a problem. I stopped all other containers using the gpu but the problem remains the same.
Steps to Reproduce
No response
Expected Behavior
No response
Screenshots
Relevant Settings
compose:
services:
steam-headless:
image: josh5/steam-headless:latest
restart: unless-stopped
shm_size: ${SHM_SIZE}
ipc: host
ulimits:
nofile:
soft: 1024
hard: 524288
cap_add:
- NET_ADMIN
- SYS_ADMIN
- SYS_NICE
security_opt:
- seccomp:unconfined
- apparmor:unconfined
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
device_ids: ["${NVIDIA_VISIBLE_DEVICES}"]
network_mode: host
hostname: ${NAME}
extra_hosts:
- "${NAME}:127.0.0.1"
environment:
# System
- TZ=${TZ}
- USER_LOCALES=${USER_LOCALES}
- DISPLAY=${DISPLAY}
# User
- PUID=${PUID}
- PGID=${PGID}
- UMASK=${UMASK}
- USER_PASSWORD=${USER_PASSWORD}
# Mode
- MODE=${MODE}
# Web UI
- WEB_UI_MODE=${WEB_UI_MODE}
- ENABLE_VNC_AUDIO=${ENABLE_VNC_AUDIO}
- PORT_NOVNC_WEB=${PORT_NOVNC_WEB}
- NEKO_NAT1TO1=${NEKO_NAT1TO1}
# Steam
- ENABLE_STEAM=${ENABLE_STEAM}
- STEAM_ARGS=${STEAM_ARGS}
# Sunshine
- ENABLE_SUNSHINE=${ENABLE_SUNSHINE}
- SUNSHINE_USER=${SUNSHINE_USER}
- SUNSHINE_PASS=${SUNSHINE_PASS}
# Xorg
- ENABLE_EVDEV_INPUTS=${ENABLE_EVDEV_INPUTS}
- FORCE_X11_DUMMY_CONFIG=${FORCE_X11_DUMMY_CONFIG}
# Nvidia specific config
- NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES}
- NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES}
devices:
- /dev/fuse
#- /dev/uinput
device_cgroup_rules:
- 'c 13:* rmw'
volumes:
- ${HOME_DIR}/:/home/default/:rw
- ${GAMES_DIR}/:/mnt/games/:rw
- ${SHARED_SOCKETS_DIR}/.X11-unix/:/tmp/.X11-unix/:rw
- ${SHARED_SOCKETS_DIR}/pulse/:/tmp/pulse/:rw
.env
NAME=SteamHeadless
TZ=America/Monterrey
USER_LOCALES=es_MX.UTF-8 UTF-8
DISPLAY=:55
SHM_SIZE=2G
HOME_DIR=/opt/container-data/steam-headless/home
SHARED_SOCKETS_DIR=/opt/container-data/steam-headless/sockets
GAMES_DIR=/mnt/games
PUID=1000
PGID=1000
UMASK=022
USER_PASSWORD=password
MODE=primary
WEB_UI_MODE=vnc
ENABLE_VNC_AUDIO=true
PORT_NOVNC_WEB=8083
NEKO_NAT1TO1=
ENABLE_STEAM=true
STEAM_ARGS=
ENABLE_SUNSHINE=false
SUNSHINE_USER=admin
SUNSHINE_PASS=admin
ENABLE_EVDEV_INPUTS=true
FORCE_X11_DUMMY_CONFIG=true
NVIDIA_DRIVER_CAPABILITIES=compute, compat32, graphics, utility, video
NVIDIA_VISIBLE_DEVICES=all
NVIDIA_DRIVER_VERSION=
Version
Build: [2024-09-28 03:00:24] [master] [0241c9f84583fb7b245fb45dbfae400153e8426c] [debian]
Platform
Distribution: Debian 12 (bookworm) Linux Kernel: 6.8.12-1-pve GPU: 4060 ti GPU Driver: 550.120 Docker: 27.3.1, build ce12230 Docker-compose: 2.29.7
Relevant log output
WARNING: No Layout specified, constructing implicit layout section using screen "Default Screen".
WARNING: Unable to find CorePointer in X configuration; attempting to add new CorePointer section.
WARNING: The CorePointer device was not specified explicitly in the layout; using the first mouse device.
WARNING: Unable to find CoreKeyboard in X configuration; attempting to add new CoreKeyboard section.
WARNING: The CoreKeyboard device was not specified explicitly in the layout; using the first keyboard device.
Using X configuration file: "/etc/X11/xorg.conf".
Option "ProbeAllGpus" "False" added to Screen "Default Screen".
Option "BaseMosaic" "False" added to Screen "Default Screen".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Default Screen".
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.nvidia-xconfig-original'
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.backup'
New X configuration file written to '/etc/X11/xorg.conf'
DONE
[ /etc/cont-init.d/80-configure_flatpak.sh: executing... ]
**** Configure Flatpak ****
- Flatpak configured for running inside a Docker container
DONE
[ /etc/cont-init.d/90-configure_neko.sh: executing... ]
**** Configure Neko ****
- Disable Neko server
DONE
[ /etc/cont-init.d/90-configure_steam.sh: executing... ]
**** Configure Steam ****
- Enable Steam auto-start script
DONE
[ /etc/cont-init.d/90-configure_sunshine.sh: executing... ]
**** Configure Sunshine ****
- Disable Sunshine server
DONE
[ /etc/cont-init.d/90-configure_vnc.sh: executing... ]
**** Configure VNC ****
- Configure VNC service port '32038'
- Configure pulseaudio encoded stream port '32039'
- Enable VNC server
DONE
[ /etc/cont-init.d/95-setup_wol.sh: executing... ]
**** Configure WoL Manager ****
- Disable WoL Manager service.
**** Starting supervisord ****
- Logging all root services to '/var/log/supervisor/'
- Logging all user services to '/home/default/.cache/log/'
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2024-10-04 00:37:43,662 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2024-10-04 00:37:43,663 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2024-10-04 00:37:43,663 INFO Included extra file "/etc/supervisor.d/wol-power-manager.ini" during parsing
2024-10-04 00:37:43,663 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2024-10-04 00:37:43,663 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2024-10-04 00:37:43,663 INFO Set uid to user 0 succeeded
2024-10-04 00:37:43,664 INFO RPC interface 'supervisor' initialized
2024-10-04 00:37:43,664 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2024-10-04 00:37:43,664 INFO supervisord started with pid 1
2024-10-04 00:37:44,666 INFO spawned: 'dbus' with pid 548
2024-10-04 00:37:44,667 INFO spawned: 'udev' with pid 549
2024-10-04 00:37:44,668 INFO spawned: 'xorg' with pid 550
2024-10-04 00:37:44,669 INFO spawned: 'audiostream' with pid 551
2024-10-04 00:37:44,670 INFO spawned: 'frontend' with pid 552
2024-10-04 00:37:44,671 INFO spawned: 'pulseaudio' with pid 555
2024-10-04 00:37:44,672 INFO spawned: 'x11vnc' with pid 557
2024-10-04 00:37:44,672 INFO spawned: 'desktop' with pid 558
PULSEAUDIO: Starting pulseaudio service
2024-10-04 00:37:44,681 INFO reaped unknown pid 573 (exit status 0)
2024-10-04 00:37:45,680 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: frontend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,680 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-10-04 00:37:45,808 INFO reaped unknown pid 627 (exit status 1)
2024-10-04 00:37:48,732 INFO reaped unknown pid 900 (exit status 0)
same
also having this issue as well, with steam complaining about steamwebhelper crashing and offering options, none of which work
I was able to fix what I was experiencing. I'm using a docker container for mine, in unraid. Apparently the setup needs the data location to be on an actual disk in the unraid. I used my cache disk(being the only disk I could provide) and it worked flawlessly.
I was having the same issue. A temporary workaround for me was to:
- Open terminal emulator inside the docker.
- Ran
flatpak run com.valvesoftware.Steam -forcesteamupdate -forcepackagedownload -overridepackageurl https://web.archive.org/web/20240210115543if_/http://media.steampowered.com/client -exitsteam - Ran
flatpak run com.valvesoftware.Steam - Profit (Although I am still having some issues I am working out on persistence)
The following thread helped tremendously. https://github.com/flathub/com.valvesoftware.Steam/issues/1318
Same issue here any work around? Tried gloworm17 I get: error: app/com.valvesoftware.Steam/x86_64/master not installed [default@SteamHeadless ~]$
Same issue here any work around? Tried gloworm17 I get: error: app/com.valvesoftware.Steam/x86_64/master not installed [default@SteamHeadless ~]$
same boat here, just installed steamwebhelper not working and "error: app/com.valvesoftware.Steam/x86_64/master not installed [default@SteamHeadless"
I fixed the Steam window not showing up by setting NVIDIA_DRIVER_CAPABILITIES=all, It had previously excluded display like in the OP. Still experimenting to see if that change still lets everything work as expected
UPDATE: Yeah, everything is working great.
Unfortunately, since I don't have X11 on the host, I cannot set NVIDIA_DRIVER_CAPABILITIES=all' - I need to omit display. As a result, Steam does not show up and I get the pathology described higher up int he thread.
According to https://github.com/Steam-Headless/docker-steam-headless/blob/master/docs/ubuntu-server.md . I have stopped lightdm and xrdp service, add my user to video,input group, change NVIDIA_DRIVER_CAPABILITIES=all, and it works. I have tried Europe Truck, and it works well.
sudo systemctl stop lightdm
sudo systemctl stop xrdp
sudo systemctl status dbus # optional, my is running
sudo usermod -aG video,input YOUR_USERNAME
USE: NVIDIA_DRIVER_CAPABILITIES=all
I've found the downloaded games is in .X11-unix folder, not games.
I was able to fix what I was experiencing. I'm using a docker container for mine, in unraid. Apparently the setup needs the data location to be on an actual disk in the unraid. I used my cache disk(being the only disk I could provide) and it worked flawlessly.
Can you expand on this a bit more @arabham? do we need to add a mount for /data? What do you mean by an "actual disk"? Not a share or folder? do we have to point it to /mnt/diskX?
@arabham does your workaround fix this? #202
Just coming back here to add some more file system information. Not sure if this is why @arabham solved his problem or not, but this is copied from my comment on #202
After I noticed the (UnRaid) docker updated I tried it again and it actually installed steam but was super slowly running against my btrfs cache drives when dealing with proton and installing games.
" I actually had an "unsafe" single SSD cache drive formatted in BTRFS. When I removed that cache pool, reformatted the drive to EXT4, mounted the drive in unassigned devices and mapped the home directory as the drive (not the unraid share) - I got MASSIVE performance gains for proton set up and installation of games.
According to chatGPT it's because Proton has to set up a whole windows file system for each game so when it says "reserving space" and steam -> docker overlay -> unraid share -> btrfs copy on write (CoW) -> disk was just MASSIVE overhead for the container to write the "thousands" of small files it needs to make for new game instllations.
So my new setup of just steam -> Docker overlay -> raw ext4 disk is literally orders of magnitude faster for installation of new games and proton runtimes. I couldn't believe something like a file system would make so much difference for me. "