docker-steam-headless icon indicating copy to clipboard operation
docker-steam-headless copied to clipboard

[Bug]: Steam window not opening

Open medinnna opened this issue 1 year ago • 12 comments

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

Screenshot 2024-10-04 at 1 02 17 a m Screenshot 2024-10-04 at 1 03 20 a m

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)

medinnna avatar Oct 04 '24 07:10 medinnna

same

arabham avatar Oct 04 '24 19:10 arabham

also having this issue as well, with steam complaining about steamwebhelper crashing and offering options, none of which work

jarjarfinks avatar Oct 10 '24 02:10 jarjarfinks

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.

arabham avatar Oct 10 '24 03:10 arabham

I was having the same issue. A temporary workaround for me was to:

  1. Open terminal emulator inside the docker.
  2. Ran flatpak run com.valvesoftware.Steam -forcesteamupdate -forcepackagedownload -overridepackageurl https://web.archive.org/web/20240210115543if_/http://media.steampowered.com/client -exitsteam
  3. Ran flatpak run com.valvesoftware.Steam
  4. 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

gloworm17 avatar Nov 03 '24 13:11 gloworm17

Same issue here any work around? Tried gloworm17 I get: error: app/com.valvesoftware.Steam/x86_64/master not installed [default@SteamHeadless ~]$

AmIBeingObtuse avatar Dec 13 '24 15:12 AmIBeingObtuse

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"

Oxika95 avatar Dec 31 '24 18:12 Oxika95

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.

csparker247 avatar Jan 19 '25 00:01 csparker247

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.

ccgauvin94 avatar Jan 27 '25 04:01 ccgauvin94

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.

Aincvy avatar Mar 23 '25 09:03 Aincvy

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?

NeoMatrixJR avatar Oct 20 '25 20:10 NeoMatrixJR

@arabham does your workaround fix this? #202

ShadyHippo avatar Nov 01 '25 03:11 ShadyHippo

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. "

ShadyHippo avatar Nov 18 '25 14:11 ShadyHippo