Giter Club home page Giter Club logo

docker-steam-headless's Introduction

Headless Steam Service

Remote Game Streaming Server.

Play your games either in the browser with audio or via Steam Link or Moonlight. Play from another Steam Client with Steam Remote Play.

Easily deploy a Steam Docker instance in seconds.

Features:

  • Steam Client configured for running on Linux with Proton
  • Moonlight compatible server for easy remote desktop streaming
  • One click installation of EmeDeck, Heroic and Lutris
  • Full video/audio noVNC web access to a Xfce4 Desktop
  • NVIDIA, AMD and Intel GPU support
  • Full controller support
  • Support for Flatpak and Appimage installation
  • Root access
  • Based on Debian Bookworm

Notes:

ADDITIONAL SOFTWARE:

If you wish to install additional applications, you can generate a script inside the ~/init.d directory ending with ".sh". This will be executed on the container startup.

STORAGE PATHS:

Everything that you wish to save in this container should be stored in the home directory or a docker container mount that you have specified. All files that are store outside your home directory are not persistent and will be wiped if there is an update of the container or you change something in the template.

GAMES LIBRARY:

It is recommended that you mount your games library to /mnt/games and configure Steam to add that path.

AUTO START APPLICATIONS:

In this container, Steam is configured to automatically start. If you wish to add additional services to automatically start, add them under Applications > Settings > Session and Startup in the WebUI.

NETWORK MODE:

If you want to use the container as a Steam Remote Play (previously "In Home Streaming") host device you should create a custom network and assign this container it's own IP, if you don't do this the traffic will be routed through the internet since Steam thinks you are on a different network.

USING HOST X SERVER:

If your host is already running X, you can just use that. To do this, be sure to configure:

  • DISPLAY=:0
    (Variable) - Configures the sceen to use the primary display. Set this to whatever your host is using
  • MODE=secondary
    (Variable) - Configures the container to not start an X server of its own
  • HOST_DBUS=true
    (Variable) - Optional - Configures the container to use the host dbus process
  • /run/dbus:/run/dbus:ro
    (Mount) - Optional - Configures the container to use the host dbus process

Installation:


Running locally:

For a development environment, I have created a script in the devops directory.


TODO:

  • Remove SSH
  • Require user to enter password for sudo
  • Document how to run this container:
    • Other server OS
    • TrueNAS Scale

docker-steam-headless's People

Contributors

21st-centuryman avatar aethercollective avatar alansari avatar chaitan3 avatar db3000 avatar deviantintegral avatar josh5 avatar karbowiak avatar sfxworks avatar tnielsen2 avatar yourjelly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-steam-headless's Issues

[Bug]: No GPU Found, when using Arc A380 (Or Any Arc i would imagine)

Describe the Bug

The bug is that no Intel GPU is found at startup, when not running an Intel CPU - and having an Arc GPU (in this case A380)

A possible fix could be here https://github.com/Steam-Headless/docker-steam-headless/blob/master/overlay/etc/cont-init.d/60-configure_gpu_driver.sh#L20

Instead of lscpu | grep 'Model name:' | grep -i intel | cut -d':' -f2 | xargs

Use something like..

lspci | grep -i "VGA compatible controller: Intel" | cut -d':' -f3 | xargs

Should yield:
Intel Corporation DG2 [Arc A380] (rev 05) from 2f:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A380] (rev 05)

Steps to Reproduce

  1. Have an Arc GPU (A380, A750, A770..)

Expected Behavior

Working similarly to nVidia / AMD

Screenshots

image

Relevant Settings

No response

Version

Build: [2023-05-13 02:41:17] [master] [9b96258]

Platform

UnRAID 6.12.0-rc5

Relevant log output

none

[Bug]: Steam does not close when clicking "Close" icon in Moonlight

Describe the Bug

Application is not closing after trying to close it with Moonlight. I guess its some permissions issue with sunshine as a parent process.

Steps to Reproduce

  1. Start Steam with moonlight
  2. Quit the stream
  3. Try to close steam with Moonlight

Expected Behavior

Steam is closed and only thing is launched inside the container is Xorg server and sunshine with noVNC

Screenshots

No response

Relevant Settings

No response

Version

latest

Platform

Ubuntu 22.04
5.15.0-56-generic x86_64 x86_64 GNU/Linux
Docker version 20.10.22, build 3a2c30b
Docker Compose version v2.14.1

Relevant log output

No response

[Bug]: Steam play with proton games crash

Describe the Bug

Started a new container, installed a game after turning on steamplay and selecting proton experimental. Components download, game installs, but when I launch the game, the button goes back to the "play" state with the game never launching.

Linux native games work just fine.

Steps to Reproduce

Install fresh container
Configure steam to use any version of proton (tested with experimental, 8, and 7)
Launch a game that requires proton

Expected Behavior

The game launches

Screenshots

No response

Relevant Settings

No response

Version

Build: [2023-07-08 05:16:36] [master] [8d43f93]

Platform

Distribution: Arch Linux
Linux Kernel: 6.4.2-arch1-1
GPU Driver versions: 535.54.03
Docker: 24.0.2, build cb74dfcd85
Docker-compose: 2.19.1

Relevant log output

Steam output when launching fron console:

[default@CloudBrain ~]$ flatpak run com.valvesoftware.Steam
INFO:root:https://github.com/flathub/com.valvesoftware.Steam/wiki
INFO:root:Will set XDG dirs prefix to /home/default/.var/app/com.valvesoftware.Steam
DEBUG:root:Checking input devices permissions
INFO:root:Overriding TZ to Etc/UTC
steam.sh[3]: Running Steam on org.freedesktop.platform 22.08 64-bit
steam.sh[3]: STEAM_RUNTIME is enabled automatically
setup.sh[78]: Updating Steam runtime environment...

(zenity:89): dbind-WARNING **: 07:02:32.302: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
setup.sh[78]: Forced use of runtime version for 32-bit libgtk-x11-2.0.so.0
setup.sh[78]: Forced use of runtime version for 32-bit libcurl.so.4
setup.sh[78]: Forced use of runtime version for 32-bit libdbusmenu-gtk.so.4
setup.sh[78]: Found newer runtime version for 32-bit libvulkan.so.1. Host: 1.3.224 Runtime: 1.3.239
setup.sh[78]: Forced use of runtime version for 32-bit libcurl-gnutls.so.4
setup.sh[78]: Found newer runtime version for 32-bit libSDL2-2.0.so.0. Host: 0.2400.0 Runtime: 0.2600.5
setup.sh[78]: Forced use of runtime version for 32-bit libdbusmenu-glib.so.4
setup.sh[78]: Forced use of runtime version for 64-bit libcurl-gnutls.so.4
setup.sh[78]: Found newer runtime version for 64-bit libvulkan.so.1. Host: 1.3.224 Runtime: 1.3.239
setup.sh[78]: Forced use of runtime version for 64-bit libcurl.so.4
setup.sh[78]: Found newer runtime version for 64-bit libSDL2-2.0.so.0. Host: 0.2400.0 Runtime: 0.2600.5
steam.sh[3]: Steam client's requirements are satisfied
[2023-07-08 07:02:33] Startup - updater built Jun 21 2023 21:17:38
[2023-07-08 07:02:33] Startup - Steam Client launched with: '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam' '-no-cef-sandbox'
07/08 07:02:33 Init: Installing breakpad exception handler for appid(steam)/version(1687386907)/tid(952)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2023-07-08 07:02:33] Loading cached metrics from disk (/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/package/steam_client_metrics.bin)
[2023-07-08 07:02:33] Using the following download hosts for Public, Realm steamglobal
[2023-07-08 07:02:33] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2023-07-08 07:02:33] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2023-07-08 07:02:33] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-07-08 07:02:33] Checking for update on startup
[2023-07-08 07:02:33] Checking for available updates...
[2023-07-08 07:02:33] Downloading manifest: https://client-update.akamai.steamstatic.com/steam_client_ubuntu12
[2023-07-08 07:02:33] Manifest download: send request
[2023-07-08 07:02:33] Manifest download: waiting for download to finish
[2023-07-08 07:02:34] Manifest download: finished
[2023-07-08 07:02:34] Download skipped: /steam_client_ubuntu12 version 1687386907, installed version 1687386907, existing pending version 0
[2023-07-08 07:02:34] Nothing to do
[2023-07-08 07:02:34] Verifying installation...
[2023-07-08 07:02:34] Performing checksum verification of executable files
[2023-07-08 07:02:35] Verification complete

(process:952): GLib-GObject-CRITICAL **: 07:02:35.072: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(process:952): GLib-GObject-CRITICAL **: 07:02:35.072: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf05318f0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf05301c0
GetWin32Stats: display was not open yet, good
Loaded SDL version 3.0.0-1782-g214d5daa3
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[960]: Runtime for steamwebhelper: defaulting to /home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[960]: Running under Flatpak, disabling sandbox
steamwebhelper.sh[960]: CEF sandbox already disabled
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Warning: failed to set thread priority: set failed for priority 8
Warning: support for elevated priorities is most likely unavailable, suppressing future warnings
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
CreateBoundSocket: failed to create socket, error EAFNOSUPPORT (97)
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
CAppInfoCacheReadFromDiskThread took 49 milliseconds to initialize
Failed to init SteamVR because it isn't installed

(steam:952): Gtk-WARNING **: 07:02:46.149: gtk_disable_setlocale() must be called before gtk_init()
BRefreshApplicationsInLibrary 1: 2ms
roaming config store loaded successfully - 306 bytes.
migrating temporary roaming config store

(steam:952): GLib-GObject-CRITICAL **: 07:02:47.489: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:02:47.489: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
System startup time: 12.52 seconds

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): LIBDBUSMENU-GLIB-WARNING **: 07:02:47.602: Trying to remove a child that doesn't believe we're it's parent.

(steam:952): GLib-GObject-CRITICAL **: 07:02:47.603: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:02:47.603: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
BuildCompleteAppOverviewChange: 398 apps
RegisterForAppOverview 1: 13ms
RegisterForAppOverview 2: 13ms
ExecCommandLine: "'/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam' '-no-cef-sandbox'"

(steam:952): GLib-GObject-CRITICAL **: 07:02:48.141: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:02:48.141: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to UnlockingH264 with ""
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 1313140, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 1313140, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
/bin/sh\0-c\0/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1313140 -- /home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Cult of the Lamb/Cult Of The Lamb.exe'\0
Game process added : AppID 1313140 "/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1313140 -- /home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Cult of the Lamb/Cult Of The Lamb.exe'", ProcID 1171, IP 0.0.0.0:0
chdir "/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Cult of the Lamb"
ERROR: ld.so: object '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
pressure-vessel-wrap[1172]: E: pressure-vessel (SteamLinuxRuntime) cannot be run in Flatpak 1.10.x or older. For Proton 5.13+, unofficial community builds that do not use pressure-vessel are available.
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and 
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""

(steam:952): GLib-GObject-CRITICAL **: 07:03:14.314: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:03:14.314: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
GameAction [AppID 1313140, ActionID 1] : LaunchApp changed task to Completed with ""
WARNING: discarding _NET_WM_PID 1212 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1221 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 8953 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1212 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1221 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 8953 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1212 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 1221 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 8953 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
Game process removed: AppID 1313140 "/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1313140 -- /home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Cult of the Lamb/Cult Of The Lamb.exe'", ProcID 1171 
ThreadGetProcessExitCode: no such process 1173
ThreadGetProcessExitCode: no such process 1172
Uploaded AppInterfaceStats to Steam

(steam:952): GLib-GObject-CRITICAL **: 07:03:14.809: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:03:14.809: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:03:15.673: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:03:15.673: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:03:17.200: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

(steam:952): GLib-GObject-CRITICAL **: 07:03:17.200: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

Automatically Restart Steam

Is your feature request related to a problem?

The purpose of this container is running steam (hence the name steam-headless). However, steam may stop running either because it crashed, or it was manually closed.

What is your feature request?

The container should do whatever it takes to restart Steam automatically if it is no longer running.

Are there any workarounds?

No response

Additional Context

No response

[Bug]: using 'runtime: nvidia' in docker compose results in "container exited with code 8"

Describe the Bug

I have Nvidia driver version 520.61.05 installed on my host, and I have installed the nvidia-docker2 package on the host as well. This mounts the matching Nvidia driver into the container for me and removes the need to install the driver again inside the container.

The problem is, the 60-configure_gpu_driver.sh init script in the container tries to download the matching driver from http://download.nvidia.com/XFree86/Linux-x86_64 and my particular version is not available there. The wget call fails with exit code 8 because of the 404 error. Interestingly, in the script there is some error handling that should output "Error downloading driver. Exit!" but I don't see that and instead the container just stops right there. Heres the last few lines from the log:

steam  | [ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
steam  | **** Found NVIDIA device 'NVIDIA GeForce GTX 1050' ****
steam  | Downloading driver v520.61.05
steam exited with code 8

I'm not really sure why the error handling is not working there.

But more than that, would it be possible to add a flag that tells this init script to not bother with trying to download and install the drivers at all?

Thanks!

Steps to Reproduce

No response

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

Build: [2022-11-05 03:35:09] [master] [9b96258]

Platform

Distribution: Debian GNU/Linux - 11 (bullseye)
Linux Kernel: 5.15.64-1-pve unknown unknown GNU/Linux
GPU Driver versions: NVIDIA-SMI 520.61.05 Driver Version: 520.61.05 CUDA Version: 11.8
Docker: Docker version 20.10.21, build baeda1f
Docker-compose: Docker Compose version v2.12.2

Relevant log output

steam  | [ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
steam  | **** Found NVIDIA device 'NVIDIA GeForce GTX 1050' ****
steam  | Downloading driver v520.61.05
steam exited with code 8

[Bug]: dind cannot start

Describe the Bug

Dind cannot start

Steps to Reproduce

docker-compose up -d
See logs

Expected Behavior

Runs properly

Relevant Settings

docker-compose.yml
services:
  steam-headless:
    image: josh5/steam-headless:latest
    restart: unless-stopped
    runtime: ${DOCKER_RUNTIME}
    ## NOTE: Requires privileged access to host to be able to access the required devices
    privileged: true
    shm_size: ${SHM_SIZE}
    ipc: host # Could also be set to 'shareable'
    ulimits:
      nofile:
        soft: 1024
        hard: 524288

    # NETWORK:
    ## NOTE:  Steam headless always requires the use of the host network.
    ##        If we do not use the host network, then device input is not possible
    ##        and your controllers will not work in steam games.
    network_mode: host
    hostname: ${NAME}
    extra_hosts:
      - "${NAME}:127.0.0.1"

    # ENVIRONMENT:
    ## Read all config variables from the .env file
    env_file: .env

    # VOLUMES:
    volumes:
      - ./games/:/mnt/games/:rw

Version

Build: [2022-10-29 03:45:45] [master] [9b96258]

Platform

MacOS 12.5.1
Docker version 20.10.20, build 9fdeb9c
Docker Compose version v2.12.1

Relevant log output

docker.log
[ /etc/cont-init.d/10-setup_user.sh: executing... ]
**** Configure default user ****
Setting default user uid=1000(default) gid=1000(default)
usermod: no changes
Adding default user to video, audio, input and pulse groups
Adding default user to any additional required device groups
Setting umask to 000
Create the user XDG_RUNTIME_DIR path '/tmp/.X11-unix/run'
Adding default home directory template
Setting ownership of all log files in '/home/default/.cache/log'
Setting root password
Setting user password
DONE

[ /etc/cont-init.d/20-configre_sshd.sh: executing... ]
**** Configure SSH server ****
Disable SSH server
DONE

[ /etc/cont-init.d/30-configure_dbus.sh: executing... ]
**** Configure container dbus ****
Container configured to run its own dbus
DONE

[ /etc/cont-init.d/30-configure_udev.sh: executing... ]
**** Configure container to run udev management ****
**** Ensure the default user has permission to r/w on input devices ****
DONE

[ /etc/cont-init.d/40-setup_locale.sh: executing... ]
**** Locales already set correctly to en_US.UTF-8 UTF-8 ****
DONE

[ /etc/cont-init.d/50-configure_pulseaudio.sh: executing... ]
**** Configure pulseaudio ****
Configure pulseaudio to pipe audio to a socket
DONE

[ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
**** No NVIDIA device found ****
**** No Intel device found ****
**** No AMD device found ****
DONE

[ /etc/cont-init.d/70-configure_xorg.sh: executing... ]
**** Generate default xorg.conf ****
Configure Xwrapper.config
Configure container as primary the X server
Enabling evdev input class on pointers, keyboards, touchpads, touch screens, etc.
'/usr/share/X11/xorg.conf.d/10-evdev.conf' -> '/etc/X11/xorg.conf.d/10-evdev.conf'
No monitors connected. Installing dummy xorg.conf
'/templates/xorg/xorg.dummy.conf' -> '/etc/X11/xorg.conf'
DONE

[ /etc/cont-init.d/80-configure-dind.sh: executing... ]
**** Configure Dockerd ****
Enable Dockerd daemon
Add user 'default' to docker group for sudoless execution
DONE

[ /etc/cont-init.d/90-configure_neko.sh: executing... ]
**** Configure Neko ****
Disable Neko server
DONE
cat: '/sys/class/drm/card*/status': No such file or directory

[ /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 '32036'
Configure noVNC service port '32037'
Configure audio websocket port '32038'
Configure pulseaudio encoded stream port '32039'
Enable VNC server
Patching noVNC with audio websocket
DONE

[ /etc/cont-init.d/95-configure_secondary.sh: executing... ]
DONE

**** Starting supervisord ****
Logging all root services to '/var/log/supervisor/'
Logging all user services to '/home/default/.cache/log/'

2022-11-05 05:54:18,004 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2022-11-05 05:54:18,005 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2022-11-05 05:54:18,005 INFO Included extra file "/etc/supervisor.d/dind.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/sshd.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2022-11-05 05:54:18,006 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2022-11-05 05:54:18,006 INFO Set uid to user 0 succeeded
2022-11-05 05:54:18,016 INFO RPC interface 'supervisor' initialized
2022-11-05 05:54:18,017 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2022-11-05 05:54:18,017 INFO supervisord started with pid 1
2022-11-05 05:54:19,035 INFO spawned: 'dbus' with pid 574
2022-11-05 05:54:19,046 INFO spawned: 'udev' with pid 576
2022-11-05 05:54:19,053 INFO spawned: 'dind' with pid 578
2022-11-05 05:54:19,059 INFO spawned: 'xorg' with pid 580
2022-11-05 05:54:19,067 INFO spawned: 'audiostream' with pid 581
2022-11-05 05:54:19,073 INFO spawned: 'novnc' with pid 583
2022-11-05 05:54:19,078 INFO spawned: 'pulseaudio' with pid 585
2022-11-05 05:54:19,083 INFO spawned: 'vncproxy' with pid 586
2022-11-05 05:54:19,091 INFO spawned: 'x11vnc' with pid 590
2022-11-05 05:54:19,099 INFO spawned: 'audiowebsock' with pid 594
2022-11-05 05:54:19,113 INFO spawned: 'desktop' with pid 596
2022-11-05 05:54:19,164 INFO success: vncproxy entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
PULSEAUDIO: Starting pulseaudio service
2022-11-05 05:54:19,433 INFO reaped unknown pid 657 (exit status 0)
2022-11-05 05:54:20,208 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,208 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,208 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,208 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,208 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,208 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,209 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,209 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,209 INFO success: audiowebsock entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,209 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:20,209 INFO exited: dind (exit status 4; not expected)
2022-11-05 05:54:20,213 INFO spawned: 'dind' with pid 801
2022-11-05 05:54:21,240 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:22,877 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:23,086 INFO spawned: 'dind' with pid 1015
2022-11-05 05:54:24,119 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:25,770 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:26,776 INFO spawned: 'dind' with pid 1136
2022-11-05 05:54:27,775 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:29,413 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:29,478 INFO spawned: 'dind' with pid 1241
2022-11-05 05:54:30,563 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:31,676 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:33,540 INFO spawned: 'dind' with pid 1406
2022-11-05 05:54:34,599 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:36,225 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:37,230 INFO spawned: 'dind' with pid 1513
2022-11-05 05:54:38,265 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:39,884 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:40,888 INFO spawned: 'dind' with pid 1618
2022-11-05 05:54:41,918 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:43,545 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:44,554 INFO spawned: 'dind' with pid 1724
2022-11-05 05:54:45,579 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:47,192 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:48,201 INFO spawned: 'dind' with pid 1829
2022-11-05 05:54:49,217 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:50,843 INFO exited: dind (exit status 1; not expected)
2022-11-05 05:54:50,846 INFO spawned: 'dind' with pid 1934
2022-11-05 05:54:51,858 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-05 05:54:53,489 INFO exited: dind (exit status 1; not expected)

[Bug]: Docker not starting. Black screen

Describe the Bug

The docker launches but vnc stays dark.

Log:



WARNING: Unable to locate/open X configuration file.

DONE

[ /etc/cont-init.d/70-configure_desktop.sh: executing... ]
**** Configure Desktop ****
Enable Desktop service.
Ensure home directory template is owned by the default user.
DONE

[ /etc/cont-init.d/70-configure_xorg.sh: executing... ]
**** Generate NVIDIA xorg.conf ****
Configure Xwrapper.config
Configure container as primary the X server
Leaving evdev inputs disabled
Configuring X11 with GPU ID: 'GPU-0a14bdef-c793-ae90-9149-495ee9dae863'
Configuring X11 with PCI bus ID: 'PCI:1:0:0'
Writing X11 config with Modeline "1600x900R"  201.00  1600 1648 1680 1760  900 903 908 953 +hsync -vsync
Option "ProbeAllGpus" "False" added to Screen "Screen0".
Option "BaseMosaic" "False" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
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 ****
Enable Sunshine server
DONE

[ /etc/cont-init.d/90-configure_vnc.sh: executing... ]
**** Configure VNC ****
Configure VNC service port '32037'
Configure pulseaudio encoded stream port '32038'
Enable VNC server
Disable audio stream
Disable audio websock
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/'

2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/wol-power-manager.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2023-09-18 23:41:34,229 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2023-09-18 23:41:34,229 INFO Set uid to user 0 succeeded
2023-09-18 23:41:34,231 INFO RPC interface 'supervisor' initialized
2023-09-18 23:41:34,231 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-09-18 23:41:34,231 INFO supervisord started with pid 1
2023-09-18 23:41:35,233 INFO spawned: 'dbus' with pid 373
2023-09-18 23:41:35,234 INFO spawned: 'udev' with pid 374
2023-09-18 23:41:35,236 INFO spawned: 'xorg' with pid 375
2023-09-18 23:41:35,237 INFO spawned: 'frontend' with pid 376
2023-09-18 23:41:35,238 INFO spawned: 'pulseaudio' with pid 379
2023-09-18 23:41:35,240 INFO spawned: 'x11vnc' with pid 383
2023-09-18 23:41:35,241 INFO spawned: 'desktop' with pid 385
2023-09-18 23:41:35,242 INFO spawned: 'sunshine' with pid 393
PULSEAUDIO: Starting pulseaudio service
2023-09-18 23:41:35,251 INFO reaped unknown pid 407 (exit status 0)
2023-09-18 23:41:35,399 WARN exited: desktop (exit status 23; not expected)
2023-09-18 23:41:36,261 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:36,261 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:36,261 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:36,261 INFO success: frontend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:36,261 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:36,261 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:36,261 INFO success: sunshine entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:37,245 INFO spawned: 'desktop' with pid 446
2023-09-18 23:41:38,670 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 23:41:39,550 INFO reaped unknown pid 463 (exit status 0)
2023-09-18 23:41:39,697 WARN exited: desktop (exit status 23; not expected)
2023-09-18 23:41:40,250 INFO spawned: 'desktop' with pid 471
2023-09-18 23:41:40,260 INFO reaped unknown pid 477 (exit status 0)
2023-09-18 23:41:40,408 WARN exited: desktop (exit status 23; not expected)
2023-09-18 23:41:41,631 INFO spawned: 'desktop' with pid 493
2023-09-18 23:41:41,640 INFO reaped unknown pid 499 (exit status 0)
2023-09-18 23:41:41,787 WARN exited: desktop (exit status 23; not expected)
2023-09-18 23:41:43,790 INFO spawned: 'desktop' with pid 508
2023-09-18 23:41:43,799 INFO reaped unknown pid 514 (exit status 0)
2023-09-18 23:41:43,946 WARN exited: desktop (exit status 23; not expected)
2023-09-18 23:41:47,390 INFO spawned: 'desktop' with pid 609
2023-09-18 23:41:47,401 INFO reaped unknown pid 615 (exit status 0)
2023-09-18 23:41:47,548 WARN exited: desktop (exit status 23; not expected)
2023-09-18 23:41:48,550 INFO gave up: desktop entered FATAL state, too many start retries too quickly
2023-09-18 23:42:10,574 WARN exited: sunshine (exit status 11; not expected)
2023-09-18 23:42:10,575 INFO spawned: 'sunshine' with pid 645
2023-09-18 23:42:11,577 INFO success: sunshine entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)```

### Steps to Reproduce

1. install docker on unraid
2. start container

### Expected Behavior

flawless startup

### Screenshots

_No response_

### Relevant Settings

_No response_

### Version

latest

### Platform

Unraid

### Relevant log output

_No response_

[Bug]: Steam not installable into docker container in `latest` tag

Describe the Bug

Steam is not installed in the container, nor can I install/see it using VNC. I am unable to install using the scripts due to what appears to be a missing user/home.

Steps to Reproduce

Followed exact instructions here:
https://github.com/Steam-Headless/docker-steam-headless/blob/master/docs/docker-compose.md

Container launches and I can remote into it using VNC with no issues, however the steam application is missing.

Docker logs:

sudo docker logs d08d99e0f082
Build: [2023-07-09 01:27:11] [master] [0b600108f7447fdbd1017b76887d5da2cb26aff8]

[ /etc/cont-init.d/10-setup_user.sh: executing... ]
**** Configure default user ****
Setting default user uid=1000(default) gid=1000(default)
usermod: no changes
Adding default user to video, audio, input and pulse groups
Adding default user to any additional required device groups
Adding user 'default' to group: 'input' for device: /dev/input/event0
Adding user 'default' to group: 'video' for device: /dev/dri/card0
Setting umask to 000
Create the user XDG_RUNTIME_DIR path '/tmp/.X11-unix/run'
Adding default home directory template
Setting ownership of all log files in '/home/default/.cache/log'
Setting root password
Setting user password
DONE

[ /etc/cont-init.d/20-configre_sshd.sh: executing... ]
**** Configure SSH server ****
Disable SSH server
DONE

[ /etc/cont-init.d/30-configure_dbus.sh: executing... ]
**** Configure container dbus ****
Container configured to run its own dbus
DONE

[ /etc/cont-init.d/30-configure_udev.sh: executing... ]
**** Configure container to run udev management ****
**** Ensure the default user has permission to r/w on input devices ****
DONE

[ /etc/cont-init.d/40-setup_locale.sh: executing... ]
**** Locales already set correctly to en_US.UTF-8 UTF-8 ****
DONE

[ /etc/cont-init.d/50-configure_pulseaudio.sh: executing... ]
**** Configure pulseaudio ****
Configure pulseaudio to pipe audio to a socket
DONE

[ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
**** Found NVIDIA device 'NVIDIA GeForce GTX 1070' ****
Installing NVIDIA driver v525.125.06 to match what is running on the host
**** Found Intel device 'Intel(R) Xeon(R) CPU E5520 @ 2.27GHz' ****
Install Intel vulkan driver
**** No AMD device found ****
DONE

[ /etc/cont-init.d/70-configure_xorg.sh: executing... ]
**** Generate NVIDIA xorg.conf ****
Configure Xwrapper.config
Configure container as primary the X server
Enabling evdev input class on pointers, keyboards, touchpads, touch screens, etc.
'/usr/share/X11/xorg.conf.d/10-evdev.conf' -> '/etc/X11/xorg.conf.d/10-evdev.conf'
Configuring X11 with GPU ID: 'GPU-3c32df75-fba7-9725-d7c3-b0c54d063e6a'
Configuring X11 with PCI bus ID: 'PCI:6:0:0'
Writing X11 config with Modeline "1600x900R"  201.00  1600 1648 1680 1760  900 903 908 953 +hsync -vsync

WARNING: Unable to locate/open X configuration file.

Package xorg-server was not found in the pkg-config search path.
Perhaps you should add the directory containing `xorg-server.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xorg-server' found
Option "ProbeAllGpus" "False" added to Screen "Screen0".
Option "BaseMosaic" "False" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
New X configuration file written to '/etc/X11/xorg.conf'

DONE

[ /etc/cont-init.d/80-configure-dind.sh: executing... ]
**** Configure Dockerd ****
Enable Dockerd daemon
Add user 'default' to docker group for sudoless execution
DONE

[ /etc/cont-init.d/90-configure_neko.sh: executing... ]
**** Configure Neko ****
Disable Neko server
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 '32036'
Configure noVNC service port '32037'
Configure audio websocket port '32038'
Configure pulseaudio encoded stream port '32039'
Enable VNC server
Patching noVNC with audio websocket
DONE

[ /etc/cont-init.d/95-configure_secondary.sh: executing... ]
DONE

**** Starting supervisord ****
Logging all root services to '/var/log/supervisor/'
Logging all user services to '/home/default/.cache/log/'

2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/dind.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/sshd.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2023-07-09 19:41:58,371 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2023-07-09 19:41:58,371 INFO Set uid to user 0 succeeded
2023-07-09 19:41:58,375 INFO RPC interface 'supervisor' initialized
2023-07-09 19:41:58,376 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-07-09 19:41:58,376 INFO supervisord started with pid 1
2023-07-09 19:41:59,378 INFO spawned: 'dbus' with pid 357
2023-07-09 19:41:59,380 INFO spawned: 'udev' with pid 358
2023-07-09 19:41:59,382 INFO spawned: 'dind' with pid 359
2023-07-09 19:41:59,384 INFO spawned: 'xorg' with pid 360
2023-07-09 19:41:59,386 INFO spawned: 'audiostream' with pid 361
2023-07-09 19:41:59,388 INFO spawned: 'novnc' with pid 362
2023-07-09 19:41:59,390 INFO spawned: 'pulseaudio' with pid 364
2023-07-09 19:41:59,392 INFO spawned: 'vncproxy' with pid 366
2023-07-09 19:41:59,394 INFO spawned: 'x11vnc' with pid 367
2023-07-09 19:41:59,397 INFO spawned: 'audiowebsock' with pid 370
2023-07-09 19:41:59,400 INFO spawned: 'desktop' with pid 377
PULSEAUDIO: Starting pulseaudio service
2023-07-09 19:41:59,401 INFO success: vncproxy entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2023-07-09 19:41:59,424 INFO reaped unknown pid 419 (exit status 0)
2023-07-09 19:41:59,426 INFO exited: dind (exit status 4; not expected)
2023-07-09 19:42:00,417 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,417 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,417 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,417 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,417 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,417 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,417 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,418 INFO success: audiowebsock entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:00,418 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-09 19:42:01,412 INFO spawned: 'dind' with pid 453
2023-07-09 19:42:01,996 INFO reaped unknown pid 531 (exit status 1)
2023-07-09 19:42:02,628 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Error when trying to install steam:

Error: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.PackageKit: Permission denied

Expected Behavior

Steam is installed and runnable.

Screenshots

image

Relevant Settings

compose file:

---
services:
  steam-headless:
    image: josh5/steam-headless:latest
    restart: unless-stopped
    runtime: nvidia
    ## NOTE: Requires privileged access to host to be able to access the required devices
    privileged: true
    shm_size: ${SHM_SIZE}
    ipc: host # Could also be set to 'shareable'
    ulimits:
      nofile:
        soft: 1024
        hard: 524288

    # NETWORK:
    ## NOTE:  Steam headless always requires the use of the host network.
    ##        If we do not use the host network, then device input is not possible
    ##        and your controllers will not work in steam games.
    network_mode: host
    hostname: ${NAME}
    extra_hosts:
      - "${NAME}:127.0.0.1"

    # ENVIRONMENT:
    ## Read all config variables from the .env file
    env_file: .env

    # VOLUMES:
    volumes:
      # The location of your home directory.
      - /opt/container-data/steam-headless/home/:/home/default/:rw
      # The location where all games should be installed.
      # This path needs to be set as a library path in Steam after logging in.
      # Otherwise, Steam will store games in the home directory above.
      - /mnt/games/:/mnt/games/:rw
      # Input devices used for mouse and joypad support inside the container.
      - /dev/input/:/dev/input/:ro
      # The Xorg socket. This will be shared with other containers so they can access the X server.
      - /opt/container-data/steam-headless/.X11-unix/:/tmp/.X11-unix/:rw
      # Pulse audio socket. This will be shared with other containers so they can access the audio sink.
      - /opt/container-data/steam-headless/pulse/:/tmp/pulse/:rw
      # Store dind var files in a volume
      - steam-headless-var-lib-docker:/var/lib/docker/:rw
      # Store flatpak var files in a volume
      - steam-headless-var-lib-flatpak:/var/lib/flatpak/:rw

volumes:
  steam-headless-var-lib-docker:
  steam-headless-var-lib-flatpak:

env file:

#  ____            _
# / ___| _   _ ___| |_ ___ _ __ ___
# \___ \| | | / __| __/ _ \ '_ ` _ \
#  ___) | |_| \__ \ ||  __/ | | | | |
# |____/ \__, |___/\__\___|_| |_| |_|
#        |___/
#
NAME='SteamHeadless'
TZ='UTC'
USER_LOCALES='en_US.UTF-8 UTF-8'
DISPLAY=':55'
SHM_SIZE='8G'

## DOCKER_RUNTIME:
##      Options:        ['runc', 'nvidia']
##      Description:    The name of an implementation of OCI Runtime Spec
##                      Available runtimes are listed when you run `docker info`.
##                      Your system may have other options available. As a simple rule, if you are
##                      using an NVIDIA GPU, set this to 'nvidia' for anything else, set this to 'runc'.
DOCKER_RUNTIME='nvidia'

#  ____        __             _ _     _   _
# |  _ \  ___ / _| __ _ _   _| | |_  | | | |___  ___ _ __
# | | | |/ _ \ |_ / _` | | | | | __| | | | / __|/ _ \ '__|
# | |_| |  __/  _| (_| | |_| | | |_  | |_| \__ \  __/ |
# |____/ \___|_|  \__,_|\__,_|_|\__|  \___/|___/\___|_|
#
#
PUID='1000'
PGID='1000'
UMASK='000'
USER_PASSWORD='password'

#  ____                  _
# / ___|  ___ _ ____   _(_) ___ ___  ___
# \___ \ / _ \ '__\ \ / / |/ __/ _ \/ __|
#  ___) |  __/ |   \ V /| | (_|  __/\__ \
# |____/ \___|_|    \_/ |_|\___\___||___/
#
#
# Mode
## MODE:
##      Options:        ['primary', 'secondary']
##      Description:    Steam Headless containers can run in a secondary mode that will only start
##                      a Steam process that will then use the X server of either the host or another
##                      Steam Headless container running in 'primary' mode.
MODE='primary'

# Web UI
## WEB_UI_MODE:
##      Options:        ['vnc', 'neko', 'none']
##      Description:    Configures the WebUI to use for accessing the virtual desktop.
WEB_UI_MODE='vnc'
## ENABLE_VNC_AUDIO:
##      Options:        ['true', 'false']
##      Description:    Enables audio over for the VNC Web UI if 'WEB_UI_MODE' is set to 'vnc'.
ENABLE_VNC_AUDIO='true'
## PORT_NOVNC_WEB:
##      Description:    Configure the port to use for the WebUI.
PORT_NOVNC_WEB='8083'
## NEKO_NAT1TO1:
##      Description:    Configure nat1to1 for the neko WebUI if it is enabled by setting 'WEB_UI_MODE' to 'neko'. This will need to be the IP address of the host.
NEKO_NAT1TO1=''

# Sunshine
## ENABLE_SUNSHINE:
##      Options:        ['true', 'false']
##      Description:    Enable Sunshine streaming service.
ENABLE_SUNSHINE='false'
## SUNSHINE_USER:
##      Description:    Set the Sunshine service username.
#SUNSHINE_USER='admin'
## SUNSHINE_PASS:
##      Description:    Set the Sunshine service password.
#SUNSHINE_PASS='admin'

# Xorg
## ENABLE_EVDEV_INPUTS:
##      Options:        ['true', 'false']
##      Description:    Enable Keyboard and Mouse Passthrough. This will configure the Xorg server to catch all evdev events for Keyboard, Mouse, etc.
ENABLE_EVDEV_INPUTS='true'

# Nvidia specific config (not required for non Nvidia GPUs)
## NVIDIA_DRIVER_CAPABILITIES:
##      Options:        ['all', 'compute', 'compat32', 'graphics', 'utility', 'video', 'display']
##      Description:    Controls which driver libraries/binaries will be mounted inside the container.
NVIDIA_DRIVER_CAPABILITIES='all'
## NVIDIA_DRIVER_CAPABILITIES:
##      Options:        ['all', 'none', '<GPU UUID>']
##      Description:    Controls which GPUs will be made accessible inside the container.
NVIDIA_VISIBLE_DEVICES='all'

Version

Build: [2023-07-09 01:27:11] [master] [0b60010]

Platform

  • Ubuntu - 22.04.1 LTS (Jammy Jellyfish)
  • 5.15.0-76-generic x86_64 x86_64 GNU/Linux
  • | NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |
  • Docker version 24.0.4, build 3713ee1
  • docker-compose version 1.29.2, build unknown

Relevant log output

Error: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.PackageKit: Permission denied

Modify Refresh Rate

Is your feature request related to a problem?

No response

What is your feature request?

Thanks for your amazing work! Is is possible to change the maximum refresh rate? Now it's only allowed to set as 60 Hz.

Are there any workarounds?

No response

Additional Context

No response

[Bug]: Big Picture Mode invisible

Describe the Bug

When launched in Big Picture Mode the steam interface is not visible. The desktop is inaccessible as steam seams to have focus and the mouse or controller is in its window. Moving around the mouse makes sounds seeming to indicated that big picture is running just not visible.

Steps to Reproduce

  1. Open the Steam interface.
  2. Click View -> Big Picture Mode
  3. Big Picture Mode appears in the task bar but is not visible.

Expected Behavior

Big Picture Mode should open.

Screenshots

image

Relevant Settings

No response

Version

Build: [2023-02-18 02:56:11] [master] [9b96258]

Platform

  • UNRAID
  • 5.10.28-Unraid
  • No nvidia driver
  • Docker version 20.10.5, build 55c4c88

Relevant log output

No response

[Bug]: Steam App will Not Load in NoVNC

Describe the Bug

I attempt to load the Steam app within the NoVNC instance, and Steam will not load. All other apps load fine, just Steam is not loading. I have a gif of this issue occurring, as well as a screenshot of my docker container settings:

https://i.postimg.cc/kX4hqmRR/Clean-Shot-2023-02-03-at-15-57-41.png
https://i.postimg.cc/05Jb36cz/Clean-Shot-2023-02-03-at-15-54-29.gif

Steps to Reproduce

  1. Open NoVNC
  2. Attempt to open Steam
  3. Steam won't load

Expected Behavior

Steam loads

Screenshots

CleanShot 2023-02-03 at 15 54 29
CleanShot 2023-02-03 at 15 57 41

Relevant Settings

No response

Version

lastest

Platform

Unraid 6.11.5 w/ Latest Steam-Headless via Docker Container.

Relevant log output

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
E: Unable to correct problems, you have held broken packages.
sed: can't read /usr/share/applications/net.lutris.Lutris.desktop: No such file or directory
bash: line 1: protonup-ng: command not found
bash: line 1: protonup-ng: command not found
[ USER:/home/default/init.d/install_lutris.sh: executing... ]
deb http://download.opensuse.org/repositories/home:/strycore/Debian_10/ ./
OK
Hit:1 http://deb.debian.org/debian bullseye InRelease
Hit:2 https://nvidia.github.io/libnvidia-container/stable/debian10/amd64  InRelease
Hit:3 http://deb.debian.org/debian-security bullseye-security InRelease
Hit:4 https://nvidia.github.io/nvidia-container-runtime/stable/debian10/amd64  InRelease
Hit:5 https://nvidia.github.io/nvidia-docker/debian10/amd64  InRelease
Hit:6 http://deb.debian.org/debian bullseye-updates InRelease
Get:7 http://download.opensuse.org/repositories/home:/strycore/Debian_10 ./ InRelease [1,497 B]
Fetched 1,497 B in 1s (1,287 B/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 lutris : Depends: gir1.2-webkit2-4.1 but it is not installable
          Recommends: python3-evdev but it is not going to be installed
          Recommends: gvfs-backends
          Recommends: libwine-development but it is not installable
          Recommends: winetricks but it is not going to be installed

[ USER:/home/default/init.d/install_protonup.sh: executing... ]
Requirement already satisfied: protonup-ng in /usr/local/lib/python3.9/dist-packages (0.2.1)
Requirement already satisfied: requests in /usr/local/lib/python3.9/dist-packages (from protonup-ng) (2.28.2)
Requirement already satisfied: configparser in /usr/local/lib/python3.9/dist-packages (from protonup-ng) (5.3.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.9/dist-packages (from requests->protonup-ng) (3.0.1)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/dist-packages (from requests->protonup-ng) (2022.12.7)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.9/dist-packages (from requests->protonup-ng) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->protonup-ng) (1.26.5)

**** Starting supervisord ****
Logging all root services to '/var/log/supervisor/'
Logging all user services to '/home/default/.cache/log/'

2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/dind.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/sshd.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2023-02-03 10:31:08,374 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2023-02-03 10:31:08,374 INFO Set uid to user 0 succeeded
2023-02-03 10:31:08,379 INFO RPC interface 'supervisor' initialized
2023-02-03 10:31:08,379 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-02-03 10:31:08,379 INFO supervisord started with pid 1
2023-02-03 10:31:09,381 INFO spawned: 'dbus' with pid 1773
2023-02-03 10:31:09,384 INFO spawned: 'udev' with pid 1774
2023-02-03 10:31:09,388 INFO spawned: 'dind' with pid 1775
2023-02-03 10:31:09,391 INFO spawned: 'xorg' with pid 1776
2023-02-03 10:31:09,396 INFO spawned: 'audiostream' with pid 1780
2023-02-03 10:31:09,400 INFO spawned: 'novnc' with pid 1782
2023-02-03 10:31:09,403 INFO spawned: 'pulseaudio' with pid 1783
2023-02-03 10:31:09,407 INFO spawned: 'vncproxy' with pid 1785
2023-02-03 10:31:09,411 INFO spawned: 'x11vnc' with pid 1789
2023-02-03 10:31:09,417 INFO spawned: 'audiowebsock' with pid 1794
2023-02-03 10:31:09,423 INFO spawned: 'desktop' with pid 1802
2023-02-03 10:31:09,424 INFO reaped unknown pid 1767 (exit status 127)
PULSEAUDIO: Starting pulseaudio service
2023-02-03 10:31:09,427 INFO success: vncproxy entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2023-02-03 10:31:09,551 INFO reaped unknown pid 1828 (exit status 0)
2023-02-03 10:31:10,434 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: audiowebsock entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:10,435 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-03 10:31:12,982 INFO reaped unknown pid 2039 (exit status 1)
2023-02-03 10:36:15,149 INFO reaped unknown pid 2064 (exit status 0)
2023-02-03 15:54:54,615 INFO reaped unknown pid 2648 (exit status 0)
2023-02-03 15:55:13,540 INFO reaped unknown pid 2649 (exit status 0)

[Bug]: No mouse or keyboard with Sunshine / Moonlight

Describe the Bug

The mouse or keyboard will not respond on Sunshine / Moonlight. They do work however with noVNC & Steam Remote.

Using the lastest docker update, and I have the ENABLE_SUNSHINE:true variable and ENABLE_EVDEV_INPUTS:true.

Steps to Reproduce

  1. Open Moonlight on OSX
  2. Connect to desktop with the following settings : 1440p and 120hz.
  3. See the desktop
  4. Mouse or keyboard will not respond with Moonlight

Expected Behavior

Mouse or keyboard work on Moonlight

Screenshots

No response

Relevant Settings

  • I'm using Moonlight 4.3.1 on a Mac M1 with OSX Ventura 13.4
  • Using a Nvidia Geforce 3090 RTX with a dummy displayport dongle connected.
  • Mouse or keyboard are connected to the Unraid computer, but most of the time attached to a Ubuntu VM.

Version

5746f6ad0f97

Platform

Unraid OS 6.11.5

Relevant log output

No response

[Bug]: Black screen on launch

Describe the Bug

After the last update, I have a black screen on launch. The cursor does show up though. I tried downgrading the GPU driver version, but I still have the same issue.

In the logs, it seems like the desktop process is trying to launch, but fails. It then loops infinitely trying to launch it again.

Steps to Reproduce

No response

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

latest

Platform

  • Distribution: Debian GNU/Linux - 11 (bullseye)
  • Linux Kernel: 6.1.36-Unraid unknown unknown GNU/Linux
  • GPU Driver versions: 535.54.03
  • Docker: 20.10.18, build b40c2f6
  • Docker-compose:20.10.18, build b40c2f6

Relevant log output

2023-07-07 15:47:51,170 INFO supervisord started with pid 1
2023-07-07 15:47:52,172 INFO spawned: 'dbus' with pid 265
2023-07-07 15:47:52,175 INFO spawned: 'udev' with pid 266
2023-07-07 15:47:52,178 INFO spawned: 'dind' with pid 267
2023-07-07 15:47:52,181 INFO spawned: 'xorg' with pid 269
2023-07-07 15:47:52,185 INFO spawned: 'novnc' with pid 271
2023-07-07 15:47:52,188 INFO spawned: 'pulseaudio' with pid 274
2023-07-07 15:47:52,192 INFO spawned: 'vncproxy' with pid 280
2023-07-07 15:47:52,195 INFO spawned: 'x11vnc' with pid 282
2023-07-07 15:47:52,199 INFO spawned: 'desktop' with pid 287
2023-07-07 15:47:52,200 INFO reaped unknown pid 259 (exit status 127)
PULSEAUDIO: Starting pulseaudio service
2023-07-07 15:47:52,202 INFO success: vncproxy entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2023-07-07 15:47:52,219 INFO exited: dind (exit status 4; not expected)
2023-07-07 15:47:52,219 INFO reaped unknown pid 317 (exit status 0)
2023-07-07 15:47:53,213 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:53,213 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:53,214 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:53,214 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:53,214 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:53,214 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:53,214 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:54,205 INFO spawned: 'dind' with pid 344
2023-07-07 15:47:54,237 INFO exited: dind (exit status 4; not expected)
2023-07-07 15:47:55,067 INFO exited: desktop (exit status 1; not expected)
2023-07-07 15:47:55,476 INFO spawned: 'desktop' with pid 369
2023-07-07 15:47:55,494 INFO reaped unknown pid 373 (exit status 0)
2023-07-07 15:47:56,772 INFO spawned: 'dind' with pid 385
2023-07-07 15:47:56,773 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:58,467 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-07-07 15:47:59,522 INFO exited: desktop (exit status 1; not expected)
2023-07-07 15:48:00,528 INFO spawned: 'desktop' with pid 539

[Bug]: lutris install no longer works

Describe the Bug

when installing lutris and restarting the container, the following error appears in the logs.

The following packages have unmet dependencies:
 lutris : Depends: gir1.2-webkit2-4.1 but it is not installable
          Recommends: python3-evdev but it is not going to be installed
          Recommends: gvfs-backends
          Recommends: libwine-development but it is not installable
          Recommends: winetricks but it is not going to be installed

I also found that work around online:
https://www.reddit.com/r/linuxquestions/comments/zatlba/comment/izgxmzc/?utm_source=reddit&utm_medium=web2x&context=3

doing this (by removing the part from the /home/default/init.d/install_lutris.sh), lutris did install and I was able to run it.

echo "deb http://download.opensuse.org/repositories/home:/strycore/Debian_10/ ./" | tee /etc/apt/sources.list.d/lutris.list 

Steps to Reproduce

  1. connect to the x desktop of steam-headless container using vnc
  2. click on install lutris from the menü
  3. restart container
  4. show docker log from starting container
  5. lutris is not installed in the container

Expected Behavior

lutris should be available after the documented steps

Screenshots

No response

Relevant Settings

No response

Version

josh5/steam-headless:latest

Platform

Distribution: Slackware 15.0 (Linux 5.19.17-Unraid x86_64
Linux Kernel: 5.19.17-Unraid
GPU Driver versions: NVIDIA-SMI 525.60.13 Driver Version: 525.60.13 CUDA Version: 12.0
Docker: Docker version 20.10.21, build baeda1f
Docker-compose: -

Relevant log output

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 lutris : Depends: gir1.2-webkit2-4.1 but it is not installable
          Recommends: python3-evdev but it is not going to be installed
          Recommends: gvfs-backends
          Recommends: libwine-development but it is not installable
          Recommends: winetricks but it is not going to be installed

Remove 'Notes:' section from main README

Description

Better to add overview details to the main README.md file and move the more in-depth details to other documentation within the project.

At any rate, the current "Notes" section is now out-of-date and incomplete.

Image perm tweaks and process

Is your feature request related to a problem?

No

What is your feature request?

I have been working on a steamOS image https://github.com/linuxserver/docker-steamos/tree/initial and discovered a bunch by the process.
The core tech I use for rendering is a virtual framebuffer using KasmVNC which only supports DRI3 (AMD/Intel ARC) so it will never have feature parity with your image, but more concentrating on the development side of making stuff for the Deck without having a Deck. In any case I discovered that privileged is not needed among other things for remote play.

--security-opt seccomp=unconfined
--security-opt apparmor=unconfined
--cap-add=NET_ADMIN
-p 27031-27036:27031-27036/udp 
-p 27031-27036:27031-27036
-v /dev/input:/dev/input
-v /run/udev/data:/run/udev/data
--device /dev/dri:/dev/dri
--hostname UNDERLYINGHOSTHOSTNAME
-e HOST_IP=UNDERLYINGHOSTIP

apparmor is only on debian systems, input mounts are for controller support, the hostname and ip need to be combined with in container logic that performs this on init: (where net admin comes into play)

ip route delete default
ip route add UNDERLYINGHOSTIP dev eth0
ip route add default via UNDERLYINGHOSTIP

This is needed for the broadcast packets to make it out of the docker subnet for remote play comms on a local network. And the hostname setting is needed to ensure they make it back. Piped through Valve servers when fully remote still works with these settings in place.

There is a bunch of other logic at play here for render device perms etc, but this is the basics and reduces the complexity for the user, especially networking. Also makes dbus much easier to run inside a non priv container. Unfortunately multi tennent servers is still not possible due to the hard coded port range Steam uses.

Do you have a discord or something like that? I would love to pick your brain on what can be done here to improve the container, I am always on the LSIO discord.

Are there any workarounds?

No response

Additional Context

No response

[Bug]: Nvidia Configure Flatpak loop

Describe the Bug

i get this error in loop when trying to run docker container, it restarts forever.

[ /etc/cont-init.d/80-configure_flatpak.sh: executing... ]
**** Configure Flatpak ****
mount: /proc: none already mounted or mount point busy.
dmesg(1) may have more information after failed mount system call.

Steps to Reproduce

  1. have an gtx 1080 with 530 driver. (idk if its relevant) (edit: same error happens with rtx 3060 ti too)
  2. try to run docker

Expected Behavior

it should continue installation

Screenshots

No response

Relevant Settings

  • docker-ce and nvidia-container-runtime
  • edited .env docker runtime nvidia instead of runc

Version

Build: [2023-07-22 02:43:14] [master] [af1c17f] [debian]

Platform

Distribution: Ubuntu - 18.04.6 LTS (Bionic Beaver)
Linux Kernel: 5.4.0-150-generic x86_64 x86_64 GNU/Linux
GPU Driver versions: NVIDIA-SMI 530.41.03 Driver Version: 530.41.03 CUDA Version: 12.1 |
Docker: Docker version 24.0.2, build cb74dfc

Relevant log output

No response

Add KasmVNC

Is your feature request related to a problem?

No response

What is your feature request?

Is it possible to support KasmVNC instead of only novnc?
The reason is that kasmvnc has a gaming mode to grab the mouse and it's possible to add this image directly as a streamed container to Kasm Workspaces and launch this container very easily for any user

Are there any workarounds?

No response

Additional Context

No response

[Bug]: Problem after upgrading to RX6500XT

Describe the Bug

So I was running this fine on my RX560 until I recently upgraded to RX6500XT on Ubuntu server. There is no screen displayed and this is what I can see in the Xorg logs:
[ 828.746] (II) AMDGPU(0): Setting screen physical size to 677 x 285
[ 828.754] (EE)
[ 828.754] (EE) Backtrace:
[ 828.754] (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x135) [0x557404be48e5]
[ 828.754] (EE) 1: /lib/x86_64-linux-gnu/libpthread.so.0 (funlockfile+0x50) [0x7fb783554140]
[ 828.755] (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (gsignal+0x141) [0x7fb7833a2ce1]
[ 828.755] (EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (abort+0x123) [0x7fb78338c537]
[ 828.755] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 828.755] (EE) 4: /lib/x86_64-linux-gnu/libc.so.6 (?+0x0) [0x7fb78338c40f]
[ 828.755] (EE) 5: /lib/x86_64-linux-gnu/libc.so.6 (__assert_fail+0x42) [0x7fb78339b662]
[ 828.756] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 828.756] (EE) 6: /usr/lib/xorg/modules/drivers/amdgpu_drv.so (?+0x0) [0x7fb782c09fd3]
[ 828.756] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 828.756] (EE) 7: /usr/lib/xorg/modules/drivers/amdgpu_drv.so (?+0x0) [0x7fb782c0a33a]
[ 828.756] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 828.756] (EE) 8: /usr/lib/xorg/modules/drivers/amdgpu_drv.so (?+0x0) [0x7fb782c1634d]
[ 828.756] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 828.756] (EE) 9: /usr/lib/xorg/modules/drivers/amdgpu_drv.so (?+0x0) [0x7fb782c1846a]
[ 828.756] (EE) unw_get_proc_name failed: no unwind info found [-10]
[ 828.757] (EE) 10: /usr/lib/xorg/modules/drivers/amdgpu_drv.so (?+0x0) [0x7fb782c1a127]
[ 828.757] (EE) 11: /usr/lib/xorg/Xorg (MapWindow+0x23c) [0x557404aace5c]
[ 828.757] (EE) 12: /usr/lib/xorg/Xorg (InitFonts+0x355) [0x557404a84535]
[ 828.757] (EE) 13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xea) [0x7fb78338dd0a]
[ 828.757] (EE) 14: /usr/lib/xorg/Xorg (_start+0x2a) [0x557404a6dd2a]

Steps to Reproduce

No response

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

Build: [2023-03-11 02:48:04] [master] [9b96258]

Platform

Ubuntu 22.10
5.19.0-35-generic x86_64 x86_64 GNU/Linux
Docker version 23.0.1, build a5ee5b1

Relevant log output

No response

VNC Password Authentication

Is your feature request related to a problem?

Sometimes, we need to log into the server to do admin things, such as logging back into Steam in case it decides to log out of the account, restart Steam in case it crashes, etc. noVNC is a reliable and accessible way to manage the server. However, currently anyone on the local network can access the host through noVNC.

What is your feature request?

When VNC is enabled, we should have the option to set a password.

Are there any workarounds?

No response

Additional Context

No response

[Bug]: Sunshine is broken

Describe the Bug

Sunshine no longer works with the latest image

root@epyc-gigabyte:/home/default/.cache/log# cat sunshine.err.log
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found
/usr/bin/start-sunshine.sh: line 43: sunshine: command not found

Steps to Reproduce

Enable sunshine

Expected Behavior

Sunshine starts

Screenshots

No response

Relevant Settings

No response

Version

3be80a9

Platform

your latest version

Relevant log output

No response

reemo.io for streaming

Is your feature request related to a problem?

No response

What is your feature request?

An alternative to any vnc connect or game streaming can we add reemo https://reemo.io/download
pre-installed reemo and by just add an option to enter personal key which would automatically display the running node in our reemo dashboard account

please have a look its free for individuals this would be best streaming platform to use

Are there any workarounds?

No response

Additional Context

No response

[Bug]: Desktop not loading, various errors trying to load and quickly crashing.

Describe the Bug

When trying to use my garbage Nvidia card just to test this thing I get a whole slew of errors. Funny enough, when I removed my GPU and said use the Intel, it worked just fine.

2023-02-19T18:17:49.993545323Z Build: [2023-02-18 02:56:11] [master] [9b96258]
2023-02-19T18:17:49.994539823Z
2023-02-19T18:17:49.994567561Z [ /etc/cont-init.d/10-setup_user.sh: executing... ]
2023-02-19T18:17:49.999756533Z **** Configure default user ****
2023-02-19T18:17:49.999784187Z Setting default user uid=99(default) gid=100(default)
2023-02-19T18:17:50.664985507Z Adding default user to video, audio, input and pulse groups
2023-02-19T18:17:50.750415872Z Adding default user to any additional required device groups
2023-02-19T18:17:50.763221428Z Adding user 'default' to group: 'kvm' for device: /dev/input/event0
2023-02-19T18:17:50.971356158Z Adding user 'default' to group: 'video' for device: /dev/dri/card0
2023-02-19T18:17:50.997774469Z Adding user 'default' to group: 'netdev' for device: /dev/dri/renderD128
2023-02-19T18:17:51.054472941Z Setting umask to 000
2023-02-19T18:17:51.054998174Z Create the user XDG_RUNTIME_DIR path '/tmp/.X11-unix/run'
2023-02-19T18:17:51.115613461Z Adding default home directory template
2023-02-19T18:17:51.240368675Z Setting ownership of all log files in '/home/default/.cache/log'
2023-02-19T18:17:51.246458592Z Setting root password
2023-02-19T18:17:51.316139816Z Setting user password
2023-02-19T18:17:51.395101221Z DONE
2023-02-19T18:17:51.395132837Z
2023-02-19T18:17:51.395139744Z [ /etc/cont-init.d/20-configre_sshd.sh: executing... ]
2023-02-19T18:17:51.400296490Z **** Configure SSH server ****
2023-02-19T18:17:51.400319142Z Disable SSH server
2023-02-19T18:17:51.409468670Z DONE
2023-02-19T18:17:51.409495700Z
2023-02-19T18:17:51.409525602Z [ /etc/cont-init.d/30-configure_dbus.sh: executing... ]
2023-02-19T18:17:51.416127141Z **** Configure container dbus ****
2023-02-19T18:17:51.416157532Z Container configured to run its own dbus
2023-02-19T18:17:51.448638133Z DONE
2023-02-19T18:17:51.448667048Z
2023-02-19T18:17:51.448675126Z [ /etc/cont-init.d/30-configure_udev.sh: executing... ]
2023-02-19T18:17:51.478209549Z **** Configure container to run udev management ****
2023-02-19T18:17:51.504897324Z **** Ensure the default user has permission to r/w on input devices ****
2023-02-19T18:17:51.507059374Z DONE
2023-02-19T18:17:51.507084688Z
2023-02-19T18:17:51.507446105Z [ /etc/cont-init.d/40-setup_locale.sh: executing... ]
2023-02-19T18:17:51.520092682Z **** Locales already set correctly to en_US.UTF-8 UTF-8 ****
2023-02-19T18:17:51.520120054Z DONE
2023-02-19T18:17:51.520127116Z
2023-02-19T18:17:51.520133383Z [ /etc/cont-init.d/50-configure_pulseaudio.sh: executing... ]
2023-02-19T18:17:51.525626549Z **** Configure pulseaudio ****
2023-02-19T18:17:51.527469499Z Configure pulseaudio to pipe audio to a socket
2023-02-19T18:17:51.587934703Z DONE
2023-02-19T18:17:51.587963396Z
2023-02-19T18:17:51.587985567Z [ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
2023-02-19T18:17:51.970051583Z **** Found NVIDIA device 'Quadro M620' ****
2023-02-19T18:17:51.989728501Z Installing NVIDIA driver v525.85.05 to match what is running on the host
2023-02-19T18:18:57.926933047Z **** Found Intel device 'Intel(R) Core(TM) i7-7700T CPU @ 2.90GHz' ****
2023-02-19T18:18:57.926973853Z Install Intel vulkan driver
2023-02-19T18:18:57.926982203Z **** No AMD device found ****
2023-02-19T18:18:57.926988726Z DONE
2023-02-19T18:18:57.926994880Z
2023-02-19T18:18:57.927001049Z [ /etc/cont-init.d/70-configure_xorg.sh: executing... ]
2023-02-19T18:18:58.041423929Z **** Generate NVIDIA xorg.conf ****
2023-02-19T18:18:58.048159980Z Configure Xwrapper.config
2023-02-19T18:18:58.070164973Z Configure container as primary the X server
2023-02-19T18:18:58.074038824Z Leaving evdev inputs disabled
2023-02-19T18:18:58.088172449Z Configuring X11 with GPU ID: 'GPU-69b52336-b527-aac2-af17-9a543caf6144'
2023-02-19T18:18:58.120528899Z Configuring X11 with PCI bus ID: 'PCI:1:0:0'
2023-02-19T18:18:58.132590410Z Writing X11 config with Modeline "1600x900R" 97.50 1600 1648 1680 1760 900 903 908 926 +hsync -vsync
2023-02-19T18:18:58.140484631Z
2023-02-19T18:18:58.140512543Z WARNING: Unable to locate/open X configuration file.
2023-02-19T18:18:58.140553259Z
2023-02-19T18:18:58.177486101Z Package xorg-server was not found in the pkg-config search path.
2023-02-19T18:18:58.177541976Z Perhaps you should add the directory containing `xorg-server.pc'
2023-02-19T18:18:58.177550724Z to the PKG_CONFIG_PATH environment variable
2023-02-19T18:18:58.177557593Z No package 'xorg-server' found
2023-02-19T18:18:58.183114539Z Option "ProbeAllGpus" "False" added to Screen "Screen0".
2023-02-19T18:18:58.183142699Z Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
2023-02-19T18:18:58.183150955Z New X configuration file written to '/etc/X11/xorg.conf'
2023-02-19T18:18:58.183157633Z
2023-02-19T18:18:58.193414205Z DONE
2023-02-19T18:18:58.193451236Z
2023-02-19T18:18:58.193697018Z [ /etc/cont-init.d/80-configure-dind.sh: executing... ]
2023-02-19T18:18:58.201651888Z **** Configure Dockerd ****
2023-02-19T18:18:58.206642954Z Enable Dockerd daemon
2023-02-19T18:18:58.228524700Z Add user 'default' to docker group for sudoless execution
2023-02-19T18:18:58.363787665Z DONE
2023-02-19T18:18:58.363827807Z
2023-02-19T18:18:58.363850515Z [ /etc/cont-init.d/90-configure_neko.sh: executing... ]
2023-02-19T18:18:58.373737567Z **** Configure Neko ****
2023-02-19T18:18:58.382368337Z Disable Neko server
2023-02-19T18:18:58.382414062Z DONE
2023-02-19T18:18:58.382421437Z
2023-02-19T18:18:58.382427667Z [ /etc/cont-init.d/90-configure_sunshine.sh: executing... ]
2023-02-19T18:18:58.393472667Z **** Configure Sunshine ****
2023-02-19T18:18:58.395126835Z Disable Sunshine server
2023-02-19T18:18:58.395405516Z DONE
2023-02-19T18:18:58.395602495Z
2023-02-19T18:18:58.395766507Z [ /etc/cont-init.d/90-configure_vnc.sh: executing... ]
2023-02-19T18:18:58.406839626Z **** Configure VNC ****
2023-02-19T18:18:58.705648339Z Configure VNC service port '32036'
2023-02-19T18:18:58.705695591Z Configure noVNC service port '32037'
2023-02-19T18:18:58.712012832Z Configure audio websocket port '32038'
2023-02-19T18:18:58.712266597Z Configure pulseaudio encoded stream port '32039'
2023-02-19T18:18:58.714214662Z Enable VNC server
2023-02-19T18:18:58.748159902Z Patching noVNC with audio websocket
2023-02-19T18:18:58.792974880Z DONE
2023-02-19T18:18:58.793004119Z
2023-02-19T18:18:58.793012976Z [ /etc/cont-init.d/95-configure_secondary.sh: executing... ]
2023-02-19T18:18:58.806242687Z DONE
2023-02-19T18:18:58.869422182Z
2023-02-19T18:18:58.869450270Z **** Starting supervisord ****
2023-02-19T18:18:58.869457735Z Logging all root services to '/var/log/supervisor/'
2023-02-19T18:18:58.869464247Z Logging all user services to '/home/default/.cache/log/'
2023-02-19T18:18:58.869470373Z
2023-02-19T18:18:59.370626507Z 2023-02-20 07:18:59,370 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2023-02-19T18:18:59.370825730Z 2023-02-20 07:18:59,370 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2023-02-19T18:18:59.370870029Z 2023-02-20 07:18:59,370 INFO Included extra file "/etc/supervisor.d/dind.ini" during parsing
2023-02-19T18:18:59.370945771Z 2023-02-20 07:18:59,370 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2023-02-19T18:18:59.371057804Z 2023-02-20 07:18:59,370 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2023-02-19T18:18:59.371156411Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/sshd.ini" during parsing
2023-02-19T18:18:59.371258715Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2023-02-19T18:18:59.371361028Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2023-02-19T18:18:59.371450981Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2023-02-19T18:18:59.371533591Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2023-02-19T18:18:59.371633439Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2023-02-19T18:18:59.371725407Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2023-02-19T18:18:59.371807240Z 2023-02-20 07:18:59,371 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2023-02-19T18:18:59.371884102Z 2023-02-20 07:18:59,371 INFO Set uid to user 0 succeeded
2023-02-19T18:18:59.386619203Z 2023-02-20 07:18:59,385 INFO RPC interface 'supervisor' initialized
2023-02-19T18:18:59.386645177Z 2023-02-20 07:18:59,385 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-02-19T18:18:59.386653612Z 2023-02-20 07:18:59,386 INFO supervisord started with pid 1
2023-02-19T18:19:00.393633600Z 2023-02-20 07:19:00,390 INFO spawned: 'dbus' with pid 386
2023-02-19T18:19:00.393665854Z 2023-02-20 07:19:00,393 INFO spawned: 'udev' with pid 387
2023-02-19T18:19:00.396467797Z 2023-02-20 07:19:00,396 INFO spawned: 'dind' with pid 388
2023-02-19T18:19:00.401167203Z 2023-02-20 07:19:00,399 INFO spawned: 'xorg' with pid 389
2023-02-19T18:19:00.403987063Z 2023-02-20 07:19:00,403 INFO spawned: 'audiostream' with pid 390
2023-02-19T18:19:00.420706798Z 2023-02-20 07:19:00,420 INFO spawned: 'novnc' with pid 394
2023-02-19T18:19:00.427452186Z 2023-02-20 07:19:00,427 INFO spawned: 'pulseaudio' with pid 396
2023-02-19T18:19:00.438821811Z 2023-02-20 07:19:00,438 INFO spawned: 'vncproxy' with pid 397
2023-02-19T18:19:00.452804583Z 2023-02-20 07:19:00,451 INFO spawned: 'x11vnc' with pid 399
2023-02-19T18:19:00.469189906Z 2023-02-20 07:19:00,468 INFO spawned: 'audiowebsock' with pid 408
2023-02-19T18:19:00.478416670Z 2023-02-20 07:19:00,478 INFO spawned: 'desktop' with pid 410
2023-02-19T18:19:00.499307519Z PULSEAUDIO: Starting pulseaudio service
2023-02-19T18:19:00.507310659Z 2023-02-20 07:19:00,507 INFO success: vncproxy entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2023-02-19T18:19:00.794810763Z 2023-02-20 07:19:00,794 INFO reaped unknown pid 433 (exit status 0)
2023-02-19T18:19:00.822290788Z 2023-02-20 07:19:00,821 INFO exited: dind (exit status 4; not expected)
2023-02-19T18:19:01.522687204Z 2023-02-20 07:19:01,522 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.522827293Z 2023-02-20 07:19:01,522 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.522839024Z 2023-02-20 07:19:01,522 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.522931471Z 2023-02-20 07:19:01,522 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.522958413Z 2023-02-20 07:19:01,522 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.523050297Z 2023-02-20 07:19:01,522 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.523059880Z 2023-02-20 07:19:01,522 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.523148439Z 2023-02-20 07:19:01,523 INFO success: audiowebsock entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:01.523226988Z 2023-02-20 07:19:01,523 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:02.441684408Z 2023-02-20 07:19:02,441 INFO spawned: 'dind' with pid 482
2023-02-19T18:19:02.584555144Z 2023-02-20 07:19:02,583 INFO exited: xorg (exit status 1; not expected)
2023-02-19T18:19:02.741452881Z 2023-02-20 07:19:02,741 INFO spawned: 'xorg' with pid 503
2023-02-19T18:19:03.014596562Z 2023-02-20 07:19:03,013 INFO exited: xorg (exit status 1; not expected)
2023-02-19T18:19:04.155994606Z 2023-02-20 07:19:04,152 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:04.156037565Z 2023-02-20 07:19:04,154 INFO spawned: 'xorg' with pid 528
2023-02-19T18:19:04.815203305Z 2023-02-20 07:19:04,815 INFO exited: xorg (exit status 1; not expected)
2023-02-19T18:19:05.508784170Z 2023-02-20 07:19:05,508 INFO exited: pulseaudio (exit status 1; not expected)
2023-02-19T18:19:05.546526228Z 2023-02-20 07:19:05,545 INFO spawned: 'pulseaudio' with pid 621
2023-02-19T18:19:05.557607291Z PULSEAUDIO: Starting pulseaudio service
2023-02-19T18:19:06.558082970Z 2023-02-20 07:19:06,557 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:07.563148976Z 2023-02-20 07:19:07,561 INFO spawned: 'xorg' with pid 639
2023-02-19T18:19:07.652500035Z 2023-02-20 07:19:07,651 INFO exited: xorg (exit status 1; not expected)
2023-02-19T18:19:10.654516831Z 2023-02-20 07:19:10,654 INFO spawned: 'xorg' with pid 667
2023-02-19T18:19:10.786483710Z 2023-02-20 07:19:10,786 INFO exited: xorg (exit status 1; not expected)
2023-02-19T18:19:11.699300175Z 2023-02-20 07:19:11,698 INFO gave up: xorg entered FATAL state, too many start retries too quickly
2023-02-19T18:19:31.341220634Z 2023-02-20 07:19:31,341 INFO exited: x11vnc (exit status 11; not expected)
2023-02-19T18:19:31.427129676Z 2023-02-20 07:19:31,422 INFO spawned: 'x11vnc' with pid 894
2023-02-19T18:19:31.427176553Z 2023-02-20 07:19:31,423 INFO exited: desktop (exit status 11; not expected)
2023-02-19T18:19:31.427184605Z 2023-02-20 07:19:31,426 INFO spawned: 'desktop' with pid 895
2023-02-19T18:19:32.430182058Z 2023-02-20 07:19:32,429 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:32.430223349Z 2023-02-20 07:19:32,429 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:19:32.430253763Z 2023-02-20 07:19:32,429 INFO reaped unknown pid 901 (exit status 0)
2023-02-19T18:20:01.995903556Z 2023-02-20 07:20:01,995 INFO exited: desktop (exit status 11; not expected)
2023-02-19T18:20:02.081762052Z 2023-02-20 07:20:02,075 INFO spawned: 'desktop' with pid 1141
2023-02-19T18:20:02.081820355Z 2023-02-20 07:20:02,076 INFO exited: x11vnc (exit status 11; not expected)
2023-02-19T18:20:02.081829693Z 2023-02-20 07:20:02,079 INFO spawned: 'x11vnc' with pid 1142
2023-02-19T18:20:03.081599923Z 2023-02-20 07:20:03,081 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:20:03.081757835Z 2023-02-20 07:20:03,081 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:20:03.081860368Z 2023-02-20 07:20:03,081 INFO reaped unknown pid 1147 (exit status 0)
2023-02-19T18:20:32.782384199Z 2023-02-20 07:20:32,780 INFO exited: x11vnc (exit status 11; not expected)
2023-02-19T18:20:32.785888478Z 2023-02-20 07:20:32,784 INFO spawned: 'x11vnc' with pid 1388
2023-02-19T18:20:32.816708209Z 2023-02-20 07:20:32,816 INFO exited: desktop (exit status 11; not expected)
2023-02-19T18:20:32.820244579Z 2023-02-20 07:20:32,819 INFO spawned: 'desktop' with pid 1391
2023-02-19T18:20:33.827595430Z 2023-02-20 07:20:33,827 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:20:33.827708739Z 2023-02-20 07:20:33,827 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:20:33.827828717Z 2023-02-20 07:20:33,827 INFO reaped unknown pid 1395 (exit status 0)
2023-02-19T18:21:03.375885339Z 2023-02-20 07:21:03,375 INFO exited: x11vnc (exit status 11; not expected)
2023-02-19T18:21:03.378645725Z 2023-02-20 07:21:03,378 INFO spawned: 'x11vnc' with pid 1635
2023-02-19T18:21:03.483491098Z 2023-02-20 07:21:03,483 INFO exited: desktop (exit status 11; not expected)
2023-02-19T18:21:04.486195110Z 2023-02-20 07:21:04,485 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:21:04.488772210Z 2023-02-20 07:21:04,488 INFO spawned: 'desktop' with pid 1642
2023-02-19T18:21:05.491417258Z 2023-02-20 07:21:05,491 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-02-19T18:21:05.491576959Z 2023-02-20 07:21:05,491 INFO reaped unknown pid 1646 (exit status 0)
2023-02-19T18:21:33.920041128Z 2023-02-20 07:21:33,919 INFO exited: x11vnc (exit status 11; not expected)

Steps to Reproduce

Created this in Portainer. Followed the steps. One thing to note, without the device: section in compose, it was only using the Intel GPU -- when I added the device in to tell it to use the Nvidia, I got this. In fact when games launched with just the Intel it was all buggy and you couldn't make heads or tails what was going on screen-wise.

Expected Behavior

Looks like it is missing some things from the script to setup the environment. This could be caused by the latest drivers; as it does have many people using older ones. Unfortunately I am on the latest Ubuntu so rolling back is not really going to happen.

Screenshots

No response

Relevant Settings

No response

Version

Build: [2023-02-18 02:56:11] [master] [9b96258]

Platform

Ubuntu - 22.10 (Kinetic Kudu)
6.0.0-060000-generic x86_64 x86_64 GNU/Linux
| NVIDIA-SMI 525.85.05 Driver Version: 525.85.05 CUDA Version: 12.0 |
Docker version 20.10.16, build 20.10.16-0ubuntu1
Docker version 20.10.16, build 20.10.16-0ubuntu1

Relevant log output

No response

[Bug]: Mtu issues when using ubisoft games

Describe the Bug

we should add a line to the scripts that changes the mtu to 1500. For some reason ubisoft connect will not work unless this value is setup. This is quite common on the steam deck as well

https://steamcommunity.com/app/1675200/discussions/0/3789255198744319602/
https://www.reddit.com/r/SteamDeck/comments/v6bbcn/cant_get_ubisoft_connect_games_working/

I am not sure if this is a arch only issue or if its the same on debian

Steps to Reproduce

  1. Start a ubisoft game on steam
  2. fail to login since you will not be abel to connect

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

master

Platform

I do not think this will be relevant

Relevant log output

No response

WoL support

Is your feature request related to a problem?

Running a Steam Headless container can take up a bit of RAM. I would like to reduce the container use when it is not doing anything.

What is your feature request?

I believe we could check for running processes on the desktop. If nothing is running (no Steam games or Moonlight connections), then we can safely assume that the container is "idle". When it is idle for a set period of time, perhaps an hour, we could stop all processes supervisord is running and put the container to sleep with the exception of a small WoL listener service.
When this Listener service is triggered by either Moonlight or Steam Link, it can "wake up" the services again and restart the desktop.

We could either do this completely internally within the container, or we could pass the host Docker socket to the container and have it issue restart commands to itself.

Are there any workarounds?

We can sort of do this already if the container is run in "host" mode and we use an external WoL listener service to trigger commands. But this will not work if we are using any other Docker network type.

Additional Context

No response

[Bug]: Installing NVIDIA drivers fails: /tmp is not executable

Describe the Bug

I tried to setup steam-headless on my system but get an error after "Installing NVIDIA driver v525.105.17 to match what is running on the host".

Looking into the log from the nvidia script it says ERROR: Temporary directory /tmp is not executable - use the --tmpdir option to specify a different one.

Steps to Reproduce

  1. Preare docker compose setup as described
  2. docker compose up

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

Build: [2023-05-22 09:57:47] [master] [d4e7048]

Platform

Distribution: Ubuntu - 22.04.2 LTS (Jammy Jellyfish)
Linux Kernel: 5.15.0-72-generic x86_64 x86_64 GNU/Linux
GPU Driver versions: | NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
Docker: Docker version 24.0.1, build 6802122
Docker-compose: Docker Compose version v2.18.1

Relevant log output

steam-headless-steam-headless-1  | [ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
steam-headless-steam-headless-1  | **** Found NVIDIA device 'NVIDIA GeForce GTX 970' ****
steam-headless-steam-headless-1  | Installing NVIDIA driver v525.105.17 to match what is running on the host
steam-headless-steam-headless-1 exited with code 1

x11vnc keeps crashing

First of all, thank you for doing this!
Never thought this was possible in a Container 😊

After configuring the unRAID template I get te following logging with the x11vnc that is stopping.
Is there something I'm missing?

[ /scripts/10-setup_user.sh: executing... ]
**** Configure default user ****
Setting run user uid=100(default) gid=99(default)
Setting umask to 000
Adding default home directory template
Setting root password
Setting user password
DONE

[ /scripts/20-configre_sshd.sh: executing... ]
DONE

[ /scripts/30-configure_system_paths.sh: executing... ]
**** Configure system paths ****
Configure dbus
Configure X Windows context
Configure X Windows session
Remove old lockfiles
DONE

[ /scripts/40-setup_locale.sh: executing... ]
**** Locales already set correctly to en_US.UTF-8 UTF-8 ****
DONE

[ /scripts/50-configure_audio.sh: executing... ]
**** Configure pulseaudio socket ****
**** Patching noVNC with audio websocket ****
DONE

[ /scripts/80-configure_nvidia_driver.sh: executing... ]
**** Found NVIDIA device 'Quadro P2200' ****
Installing driver

DONE

[ /scripts/90-configure_xorg.sh: executing... ]
**** Generate NVIDIA xorg.conf ****
Configure Xwrapper.config
Configuring X11 with GPU ID: 'GPU-28824ced-469b-d340-0083-a71be9d0d298'
Configuring X11 with PCI bus ID: 'PCI:33:0:0'
Writing X11 config with Modeline "1600x900R" 97.50 1600 1648 1680 1760 900 903 908 926 +hsync -vsync

WARNING: Unable to locate/open X configuration file.

Package xorg-server was not found in the pkg-config search path.
Perhaps you should add the directory containing `xorg-server.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xorg-server' found
Option "ProbeAllGpus" "False" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
New X configuration file written to '/etc/X11/xorg.conf'

DONE

[ /scripts/90-configure_xorg.sh: executing... ]
**** Generate NVIDIA xorg.conf ****
Configure Xwrapper.config
Configuring X11 with GPU ID: 'GPU-28824ced-469b-d340-0083-a71be9d0d298'
Configuring X11 with PCI bus ID: 'PCI:33:0:0'
Writing X11 config with Modeline "1600x900R" 97.50 1600 1648 1680 1760 900 903 908 926 +hsync -vsync

WARNING: Unable to locate/open X configuration file.

Package xorg-server was not found in the pkg-config search path.
Perhaps you should add the directory containing `xorg-server.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xorg-server' found
Option "ProbeAllGpus" "False" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
New X configuration file written to '/etc/X11/xorg.conf'

DONE
**** Starting supervisord ****
2022-01-10 14:42:12,427 INFO Included extra file "/etc/supervisor/conf.d/services.conf" during parsing
2022-01-10 14:42:12,427 INFO Set uid to user 0 succeeded
2022-01-10 14:42:12,437 INFO RPC interface 'supervisor' initialized
2022-01-10 14:42:12,437 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2022-01-10 14:42:12,437 INFO supervisord started with pid 1
2022-01-10 14:42:13,440 INFO spawned: 'audiostream' with pid 170
2022-01-10 14:42:13,442 INFO spawned: 'audiowebsock' with pid 171
2022-01-10 14:42:13,444 INFO spawned: 'dbus' with pid 172
2022-01-10 14:42:13,446 INFO spawned: 'pulseaudio' with pid 173
2022-01-10 14:42:13,448 INFO spawned: 'ssh' with pid 174
2022-01-10 14:42:13,450 INFO spawned: 'xorg' with pid 175
2022-01-10 14:42:13,452 INFO spawned: 'x11vnc' with pid 176
2022-01-10 14:42:13,455 INFO spawned: 'de' with pid 177
2022-01-10 14:42:13,457 INFO spawned: 'novnc' with pid 178
2022-01-10 14:42:13,514 INFO exited: xorg (exit status 1; not expected)
2022-01-10 14:42:13,558 INFO reaped unknown pid 219 (exit status 0)
2022-01-10 14:42:13,572 INFO exited: de (exit status 1; not expected)
2022-01-10 14:42:14,473 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,473 INFO success: audiowebsock entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,473 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,473 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,473 INFO success: ssh entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,473 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,473 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:14,474 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:14,502 INFO spawned: 'x11vnc' with pid 235
2022-01-10 14:42:15,265 INFO spawned: 'xorg' with pid 237
2022-01-10 14:42:15,267 INFO spawned: 'de' with pid 238
2022-01-10 14:42:15,302 INFO exited: xorg (exit status 1; not expected)
2022-01-10 14:42:15,336 INFO reaped unknown pid 247 (exit status 0)
2022-01-10 14:42:15,337 INFO exited: de (exit status 1; not expected)
2022-01-10 14:42:15,513 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:15,515 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:16,518 INFO spawned: 'x11vnc' with pid 248
2022-01-10 14:42:17,279 INFO reaped unknown pid 218 (exit status 1)
2022-01-10 14:42:17,531 INFO spawned: 'xorg' with pid 249
2022-01-10 14:42:17,531 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:17,533 INFO spawned: 'de' with pid 250
2022-01-10 14:42:17,533 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:17,535 INFO spawned: 'x11vnc' with pid 251
2022-01-10 14:42:17,567 INFO exited: xorg (exit status 1; not expected)
2022-01-10 14:42:17,600 INFO reaped unknown pid 260 (exit status 0)
2022-01-10 14:42:17,601 INFO exited: de (exit status 1; not expected)
2022-01-10 14:42:18,547 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:18,547 INFO reaped unknown pid 246 (exit status 1)
2022-01-10 14:42:18,548 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:18,584 INFO spawned: 'x11vnc' with pid 261
2022-01-10 14:42:19,595 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:19,596 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:20,599 INFO spawned: 'xorg' with pid 262
2022-01-10 14:42:20,601 INFO spawned: 'x11vnc' with pid 263
2022-01-10 14:42:20,603 INFO spawned: 'de' with pid 264
2022-01-10 14:42:20,603 INFO reaped unknown pid 259 (exit status 1)
2022-01-10 14:42:20,636 INFO exited: xorg (exit status 1; not expected)
2022-01-10 14:42:20,668 INFO gave up: xorg entered FATAL state, too many start retries too quickly
2022-01-10 14:42:20,668 INFO reaped unknown pid 273 (exit status 0)
2022-01-10 14:42:20,669 INFO exited: de (exit status 1; not expected)
2022-01-10 14:42:21,361 INFO gave up: de entered FATAL state, too many start retries too quickly
2022-01-10 14:42:21,611 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:21,613 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:22,616 INFO spawned: 'x11vnc' with pid 274
2022-01-10 14:42:23,627 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:23,629 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:24,633 INFO spawned: 'x11vnc' with pid 275
2022-01-10 14:42:24,633 INFO reaped unknown pid 272 (exit status 1)
2022-01-10 14:42:25,644 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:25,645 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:26,649 INFO spawned: 'x11vnc' with pid 276
2022-01-10 14:42:26,649 INFO spawned: 'x11vnc' with pid 276
2022-01-10 14:42:27,661 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:27,663 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:28,666 INFO spawned: 'x11vnc' with pid 277
2022-01-10 14:42:29,677 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:29,679 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:30,682 INFO spawned: 'x11vnc' with pid 278
2022-01-10 14:42:31,693 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:31,695 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:32,698 INFO spawned: 'x11vnc' with pid 279
2022-01-10 14:42:33,709 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:33,711 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:34,714 INFO spawned: 'x11vnc' with pid 280
2022-01-10 14:42:35,725 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:35,727 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:36,730 INFO spawned: 'x11vnc' with pid 281
2022-01-10 14:42:37,740 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:37,742 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:38,745 INFO spawned: 'x11vnc' with pid 282
2022-01-10 14:42:39,756 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:39,758 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:40,761 INFO spawned: 'x11vnc' with pid 283
2022-01-10 14:42:41,773 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:41,774 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:42,776 INFO spawned: 'x11vnc' with pid 284
2022-01-10 14:42:43,788 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:43,789 INFO exited: x11vnc (exit status 1; not expected)
2022-01-10 14:42:44,792 INFO spawned: 'x11vnc' with pid 285
2022-01-10 14:42:45,552 WARN received SIGTERM indicating exit request
2022-01-10 14:42:45,552 INFO waiting for audiostream, audiowebsock, dbus, pulseaudio, ssh, x11vnc, novnc to die
2022-01-10 14:42:45,571 INFO stopped: novnc (exit status 143)
2022-01-10 14:42:45,571 INFO reaped unknown pid 198 (exit status 0)
2022-01-10 14:42:45,802 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-10 14:42:45,803 INFO stopped: x11vnc (terminated by SIGQUIT)
2022-01-10 14:42:46,806 INFO stopped: ssh (exit status 255)
2022-01-10 14:42:46,807 INFO stopped: pulseaudio (terminated by SIGQUIT)
2022-01-10 14:42:46,810 INFO stopped: dbus (terminated by SIGQUIT)
2022-01-10 14:42:46,813 INFO stopped: audiowebsock (terminated by SIGQUIT)
2022-01-10 14:42:46,813 INFO stopped: audiostream (terminated by SIGQUIT)

[Bug]: No Audio in Sunshine

Describe the Bug

There is no audio in sunshine. The audio works fine if i connected via vnc.

Steps to Reproduce

Load container using default settings
Connect via moonlight
Video is fine, No audio.
Log confirms no audio will be used

Expected Behavior

Audio to be used

Screenshots

No response

Relevant Settings

____ _

/ ___| _ _ __| | ___ _ __ ___

___ | | | / __| _/ _ \ ' ` _ \

_) | || _ \ || __/ | | | | |

|/ _, |/____|| || ||

|___/

NAME='SteamHeadless'
TZ='Europe/London'
USER_LOCALES='en_US.UTF-8 UTF-8'
DISPLAY=':55'
SHM_SIZE='2G'

DOCKER_RUNTIME:

Options: ['runc', 'nvidia']

Description: The name of an implementation of OCI Runtime Spec

Available runtimes are listed when you run docker info.

Your system may have other options available. As a simple rule, if you are

using an NVIDIA GPU, set this to 'nvidia' for anything else, set this to 'runc'.

DOCKER_RUNTIME='nvidia'

____ __ _ _ _ _

| _ \ ___ / | __ _ _ | | | | | | |__ ___ _ __

| | | |/ _ \ |_ / _` | | | | | __| | | | / |/ _ \ '|

| || | __/ | (| | || | | |_ | || _ \ __/ |

|/ ___|| _,|_,||_| _/|/___|_|

PUID='1000'
PGID='1000'
UMASK='000'
USER_PASSWORD='libreelec'

____ _

/ ___| ___ _ ____ () ___ ___ ___

___ \ / _ \ '__\ \ / / |/ __/ _ / __|

__) | __/ | \ V /| | (| _/_ \

|/ ___|| _/ ||__||_/

Mode

MODE:

Options: ['primary', 'secondary']

Description: Steam Headless containers can run in a secondary mode that will only start

a Steam process that will then use the X server of either the host or another

Steam Headless container running in 'primary' mode.

MODE='primary'

Web UI

WEB_UI_MODE:

Options: ['vnc', 'neko', 'none']

Description: Configures the WebUI to use for accessing the virtual desktop.

WEB_UI_MODE='vnc'

ENABLE_VNC_AUDIO:

Options: ['true', 'false']

Description: Enables audio over for the VNC Web UI if 'WEB_UI_MODE' is set to 'vnc'.

ENABLE_VNC_AUDIO='true'

PORT_NOVNC_WEB:

Description: Configure the port to use for the WebUI.

PORT_NOVNC_WEB='8083'

NEKO_NAT1TO1:

Description: Configure nat1to1 for the neko WebUI if it is enabled by setting 'WEB_UI_MODE' to 'neko'. This will need to be the IP address of the host.

NEKO_NAT1TO1=''

Sunshine

ENABLE_SUNSHINE:

Options: ['true', 'false']

Description: Enable Sunshine streaming service.

ENABLE_SUNSHINE='false'

SUNSHINE_USER:

Description: Set the Sunshine service username.

#SUNSHINE_USER='admin'

SUNSHINE_PASS:

Description: Set the Sunshine service password.

#SUNSHINE_PASS='admin'

Xorg

ENABLE_EVDEV_INPUTS:

Options: ['true', 'false']

Description: Enable Keyboard and Mouse Passthrough. This will configure the Xorg server to catch all evdev events for Keyboard, Mouse, etc.

ENABLE_EVDEV_INPUTS='true'

Nvidia specific config (not required for non Nvidia GPUs)

NVIDIA_DRIVER_CAPABILITIES:

Options: ['all', 'compute', 'compat32', 'graphics', 'utility', 'video', 'display']

Description: Controls which driver libraries/binaries will be mounted inside the container.

NVIDIA_DRIVER_CAPABILITIES='all'

NVIDIA_DRIVER_CAPABILITIES:

Options: ['all', 'none', '']

Description: Controls which GPUs will be made accessible inside the container.

NVIDIA_VISIBLE_DEVICES='all'


services:
steam-headless:
image: josh5/steam-headless:latest
restart: unless-stopped
runtime: nvidia
## NOTE: Requires privileged access to host to be able to access the required devices
privileged: true
shm_size: ${SHM_SIZE}
ipc: host # Could also be set to 'shareable'
ulimits:
nofile:
soft: 1024
hard: 524288

# NETWORK:
## NOTE:  Steam headless always requires the use of the host network.
##        If we do not use the host network, then device input is not possible
##        and your controllers will not work in steam games.
network_mode: host
hostname: ${NAME}
extra_hosts:
  - "${NAME}:127.0.0.1"

# ENVIRONMENT:
## Read all config variables from the .env file
env_file: .env

# VOLUMES:
volumes:
  # The location of your home directory.
  - /srv/dev-disk-by-uuid-bbea844e-d179-4ab4-bd2e-0cff7dfc1414/steam/home/:/home/default/:rw
  # The location where all games should be installed.
  # This path needs to be set as a library path in Steam after logging in.
  # Otherwise, Steam will store games in the home directory above.
  - /srv/dev-disk-by-uuid-0650f0a0-14fa-4db3-a677-e6aac7d40cfa/Games/:/mnt/games/:rw
  # Input devices used for mouse and joypad support inside the container.
  - /dev/input/:/dev/input/:ro
  # The Xorg socket. This will be shared with other containers so they can access the X server.
  - /srv/dev-disk-by-uuid-bbea844e-d179-4ab4-bd2e-0cff7dfc1414/steam/.X11-unix/:/tmp/.X11-unix/:rw
  # Pulse audio socket. This will be shared with other containers so they can access the audio sink.
  - /srv/dev-disk-by-uuid-bbea844e-d179-4ab4-bd2e-0cff7dfc1414/steam/pulse/:/tmp/pulse/:rw
  # Store dind var files in a volume
  - steam-headless-var-lib-docker:/var/lib/docker/:rw
  # Store flatpak var files in a volume
  - steam-headless-var-lib-flatpak:/var/lib/flatpak/:rw

volumes:
steam-headless-var-lib-docker:
steam-headless-var-lib-flatpak:

Version

master

Platform

Debian GNU/Linux - 11 (bullseye)
5.19.17-2-pve
NVIDIA-SMI 525.116.04 Driver Version: 525.116.04 CUDA Version: 12.0
Docker version 24.0.4, build 3713ee1

Relevant log output

[2023:07:11:13:35:46]: Error: Couldn't connect to pulseaudio: Access denied
[2023:07:11:13:35:46]: Warning: There will be no audio
[2023:07:11:13:35:46]: Error: Unable to initialize audio capture. The stream will not have audio.

[Bug]: Steam window won't open in container

Describe the Bug

I was able to login, but the window never came up afterwards. Now I cannot open the steam window. It's running, I can interact with the menu in the top right bar. I can even install games via the mobile app, and run them remotely on another pc. But I cannot open the window to change the settings or install games manually!

Steps to Reproduce

  1. Run container on Unraid
  2. Open container
  3. Login to steam

That's all 🤷

Expected Behavior

I can open the window.

Screenshots

image

Click button ->

image

Relevant Settings

Just the standard docker settings

docker run
  -d
  --name='steam-headless'
  --net='host'
  --privileged=true
  -e TZ="Europe/Paris"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="TheBox"
  -e HOST_CONTAINERNAME="steam-headless"
  -e 'USER_PASSWORD'='[PASSWORD]'
  -e 'TZ'='Europe/Copenhagen'
  -e 'USER_LOCALES'='en_US.UTF-8 UTF-8'
  -e 'WEB_UI_MODE'='vnc'
  -e 'NVIDIA_VISIBLE_DEVICES'='all'
  -e 'NVIDIA_DRIVER_CAPABILITIES'='all'
  -e 'DISPLAY'=':55'
  -e 'MODE'='primary'
  -e 'PORT_NOVNC_WEB'='8083'
  -e 'ENABLE_VNC_AUDIO'='false'
  -e 'ENABLE_EVDEV_INPUTS'='false'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:8083]/'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/Josh5/docker-steam-headless/master/images/steam-icon.png'
  -v '/mnt/user/appdata/steam-headless':'/home/default':'rw'
  -v '/mnt/user/MiscMedia/Games/Steam':'/mnt/games':'rw'
  --hostname='SteamHeadless'
  --add-host='SteamHeadless:127.0.0.1'
  --restart=unless-stopped
  --shm-size=2G
  --ipc="host"
  -v '/tmp/.X11-unix':'/tmp/.X11-unix':'rw'
  -v '/tmp/tmp/pulse':'/tmp/tmp/pulse':'rw'
  -v '/dev/input':'/dev/input':'ro'
  --ulimit nofile=1024:524288 'josh5/steam-headless:latest'
37ebdf771e5a08dc53c6b63df007fd697a767a30dc71f6fc0b719a22d8544706

Version

Build: [2023-08-19 02:34:59] [master] [d2b4d2c] [debian]

Platform

  • Slackware - 15.0
  • 5.19.17-Unraid 12th Gen Intel(R) Core(TM) i5-12500 GenuineIntel GNU/Linux
  • Docker version 20.10.21, build baeda1f
  • Docker Compose version v2.17.3
    • Instructions say docker compose -v but it was actually docker compose version
  • 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290/390] (rev 80) (prog-if 00 [VGA controller])
    Subsystem: Micro-Star International Co., Ltd. [MSI] Hawaii PRO [Radeon R9 290/390]
    Flags: bus master, fast devsel, latency 0, IRQ 155, IOMMU group 16
    Memory at 4000000000 (64-bit, prefetchable) [size=256M]
    Memory at 4010000000 (64-bit, prefetchable) [size=8M]
    I/O ports at 7000 [size=256]
    Memory at 86100000 (32-bit, non-prefetchable) [size=256K]
    Expansion ROM at 86140000 [disabled] [size=128K]
    Capabilities: [48] Vendor Specific Information: Len=08 Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010
    Capabilities: [150] Advanced Error Reporting
    Capabilities: [200] Physical Resizable BAR
    Capabilities: [270] Secondary PCI Express
    Capabilities: [2b0] Address Translation Service (ATS)
    Capabilities: [2c0] Page Request Interface (PRI)
    Capabilities: [2d0] Process Address Space ID (PASID)
    Kernel driver in use: radeon
    Kernel modules: radeon, amdgpu
    • AMD GPU instead of NVIDIA

Relevant log output

No response

Remove the Nginx proxy

I think the proxy has introduced too much latency and seems to be causing issues with the audio and/or random disconnects.

Since introducing a dynamic port allocation during container startup, the reverse proxy is sort of redundant.

I think I should remove the Nginx proxy, and revert things back to how it was with the exception of making the audio websocket dynamically allocated on startup.

Version:

Build: [10/08/22 03:09:26] [master] [477e25f]

[Bug]: NVIDIA Driver v470 fails to install due to incorrect parameter name

Describe the Bug

The name of the parameter for not installing the kernel modules for the NVIDIA drivers changed between versions 470 and 535.

root# /tmp/NVIDIA.run -A | grep no-kernel && /tmp/NVIDIA.run -v | grep version
  --no-kernel-modules
  --no-kernel-module-source
nvidia-installer:  version 535.98

root# ./NVIDIA_470.199.02.run -A | grep no-kernel && ./NVIDIA_470.199.02.run -v | grep version
  --no-kernel-module
  --no-kernel-module-source
nvidia-installer:  version 470.199.0

The script has --no-kernel-modules hardcoded (here) which causes it to fail for drivers v470 with the following log message:

root# cat steam/Downloads/nvidia_gpu_install.log 
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux 470.199.02..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
./nvidia-installer: unrecognized option: "--no-kernel-modules"

ERROR: Invalid commandline, please run `./nvidia-installer --help` for usage information.

Steps to Reproduce

  1. Install the Nvidia Driver plugin for unraid. Selecting v470.199.02 as the preferred driver version.
  2. Install the docker-steam-headless container leaving everything as the default other than the mounts and the extra parameters.
  3. Adjust the extra parameters to add --runtime=nvidia
  4. Run the container and obseve it crash looping with no logs. Review the logs in $(Appdata)/Downloads/nvidia_gpu_install.log and observe the error about the incorrect/unknown parameter.

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

Build: [2023-08-06 03:07:36] [master] [d2b4d2c] [debian]

Platform

Distribution: Slackware v15.0.
Kernel: 6.1.38-Unraid Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz GenuineIntel GNU/Linux
GPU Drivers: NVIDIA-SMI 470.199.02 Driver Version: 470.199.02 CUDA Version: 11.4
Docker version 20.10.24, build 297e128

Relevant log output

....
**** Found NVIDIA device 'NVIDIA 660' ****
Downloading driver v470.199.02 to match what is running on the host
# script then crashes with no further docker logs

Related Reports

https://forums.unraid.net/topic/118390-support-josh5-steam-headless/?do=findComment&comment=1198242

Are there no installation instructions?

Description

On lines 100 and 101 of run_server.sh, I get the error

Error response from daemon: No such container: steam-s
Error: No such container: steam-s

every time I run the script as sudo.
I think this is because there's no step in the installation instructions to actually download/install/build/something-else the docker container.
Is there a complete documentation to go from a fresh install of any debian/ubuntu-based OS -> install docker using Docker's instructions -> "install"/download this git repo -> configure the /opt/container-services/steam-headless/.env file-> ?????? -> Steam running inside a docker container?

Integrate xone kernel driver for Xbox Controller Wireless Adapter for PC support

Is your feature request related to a problem?

No response

What is your feature request?

With this kernel module, using a steam link with virtualhere installed, you would be able to pass through an xbox wireless controller dongle to the docker

Are there any workarounds?

latest versions of unraid are incompatible with uinput and it seems the xbox wireless controller dongle does not work in this docker in the latest unraid version.

Additional Context

No response

[Bug]: Cannot use the /mnt/games

Describe the Bug

I did a fresh install, it grabbed the newest client and now I cannot add the /mnt/games path.

I have tried the flatpak "fix" -- but this doesn't appear to be a flatpak, nor did it work. I can verify I see the directory within the OS, but I cannot simply add it when clicking + in the Storage setting.

Steps to Reproduce

No response

Expected Behavior

No response

Screenshots

No response

Relevant Settings

No response

Version

Latest

Platform

Docker

Relevant log output

No response

[Bug]: Uncompressing nvidia driver

Describe the Bug

I'm stuck uncompressing the NVidia driver. It worked great until last nights changes.
The log says:
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 470.182.03.........................................

Terminal is stuck in a loop, with the following message:
**** Found NVIDIA device 'NVIDIA GeForce GTX 1050 Ti' ****
steam-steam-headless-1 | Installing NVIDIA driver v470.182.03 to match what is running on the host
steam-steam-headless-1 exited with code 1

This results in the container being unable to start.

Steps to Reproduce

1, .env created
2, docker-compose.yml created
3, docker-compose up command issued
4, stuck at steam-steam-headless-1 | Installing NVIDIA driver v470.182.03 to match what is running on the host
steam-steam-headless-1 exited with code 1

Expected Behavior

How the container to boot into steam.

Screenshots

No response

Relevant Settings

No response

Version

master

Platform

Debian 11
5.19.17-2-pve:
NVIDIA-SMI 470.182.03 Driver Version: 470.182.03 CUDA Version: 11.4
Docker version 24.0.4, build 3713ee1

Relevant log output

steam-steam-headless-1  | usermod: no changes
steam-steam-headless-1  | Adding default user to video, audio, input and pulse groups
steam-steam-headless-1  | Adding default user to any additional required device groups
steam-steam-headless-1  | Adding user 'default' to group: 'systemd-resolve' for device: /dev/input/event0
steam-steam-headless-1  | Adding user 'default' to group: 'video' for device: /dev/dri/card1
steam-steam-headless-1  | Adding user 'default' to group: 'input' for device: /dev/dri/renderD129
steam-steam-headless-1  | Setting umask to 000
steam-steam-headless-1  | Create the user XDG_RUNTIME_DIR path '/tmp/.X11-unix/run'
steam-steam-headless-1  | Adding default home directory template
steam-steam-headless-1  | Setting ownership of all log files in '/home/default/.cache/log'
steam-steam-headless-1  | Setting root password
steam-steam-headless-1  | Setting user password
steam-steam-headless-1  | DONE
steam-steam-headless-1  |
steam-steam-headless-1  | [ /etc/cont-init.d/20-configre_sshd.sh: executing... ]
steam-steam-headless-1  |
steam-steam-headless-1  | **** Configure SSH server ****
steam-steam-headless-1  | Disable SSH server
steam-steam-headless-1  | DONE
steam-steam-headless-1  |
steam-steam-headless-1  | [ /etc/cont-init.d/30-configure_dbus.sh: executing... ]
steam-steam-headless-1  |
steam-steam-headless-1  | **** Configure container dbus ****
steam-steam-headless-1  | Container configured to run its own dbus
steam-steam-headless-1  | DONE
steam-steam-headless-1  |
steam-steam-headless-1  | [ /etc/cont-init.d/30-configure_udev.sh: executing... ]
steam-steam-headless-1  |
steam-steam-headless-1  | **** Configure container to run udev management ****
steam-steam-headless-1  | **** Ensure the default user has permission to r/w on input devices ****
steam-steam-headless-1  | DONE
steam-steam-headless-1  |
steam-steam-headless-1  | [ /etc/cont-init.d/40-setup_locale.sh: executing... ]
steam-steam-headless-1  |
steam-steam-headless-1  | **** Locales already set correctly to en_US.UTF-8 UTF-8 ****
steam-steam-headless-1  | DONE
steam-steam-headless-1  |
steam-steam-headless-1  | [ /etc/cont-init.d/50-configure_pulseaudio.sh: executing... ]
steam-steam-headless-1  |
steam-steam-headless-1  | **** Configure pulseaudio ****
steam-steam-headless-1  | Configure pulseaudio to pipe audio to a socket
steam-steam-headless-1  | DONE
steam-steam-headless-1  |
steam-steam-headless-1  | [ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
steam-steam-headless-1  |
steam-steam-headless-1  | **** Found NVIDIA device 'NVIDIA GeForce GTX 1050 Ti' ****
steam-steam-headless-1  | Installing NVIDIA driver v470.182.03 to match what is running on the host

[Bug]: AMD drivers not properly installed

Describe the Bug

Using noVNC i was trying to call vainfo on my AMD APU - but got an error:
(no driver)
image
after calling apt update && apt install -y mesa-*
and vainfo --display drm --device /dev/dri/renderD128
i get a proper output
image

but with vainfo its still
image

Steps to Reproduce

  1. docker compose up -d
  2. vainfo
  3. apt updatee && apt install -y mesa-*
  4. vainfo --display drm --device /dev/dri/renderD128
  5. vainfo

Expected Behavior

AMD driver works and sunshine uses Encoding propperly

Screenshots

No response

Relevant Settings

No response

Version

latest

Platform

Ubuntu 22.04
5.15.0-56-generic x86_64 x86_64 GNU/Linux
Docker version 20.10.22, build 3a2c30b
Docker Compose version v2.14.1

Relevant log output

No response

audiostream

Hi

Challenging issue. Did initially work, and now have clear down the Appdata and started again, but still the same.

Also cannot stop the container...have to hard restart the server. :-(

Any thoughts?

From log.

2022-01-15 20:21:26,225 INFO spawned: 'audiostream' with pid 368
2022-01-15 20:21:28,520 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-15 20:21:30,824 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:35,479 INFO spawned: 'audiostream' with pid 369
2022-01-15 20:21:37,773 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-15 20:21:38,070 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:40,070 INFO spawned: 'audiostream' with pid 370
2022-01-15 20:21:42,366 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-15 20:21:42,366 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:42,368 INFO spawned: 'audiostream' with pid 371
2022-01-15 20:21:44,662 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-15 20:21:44,959 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:44,960 INFO spawned: 'audiostream' with pid 372
2022-01-15 20:21:46,958 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-15 20:21:49,256 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:49,258 INFO spawned: 'audiostream' with pid 373
2022-01-15 20:21:51,552 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-01-15 20:21:53,849 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:53,851 INFO spawned: 'audiostream' with pid 374
2022-01-15 20:21:54,167 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:55,170 INFO spawned: 'audiostream' with pid 375
2022-01-15 20:21:55,194 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:21:57,198 INFO spawned: 'audiostream' with pid 376
2022-01-15 20:21:57,221 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:22:00,227 INFO spawned: 'audiostream' with pid 377
2022-01-15 20:22:00,249 INFO exited: audiostream (exit status 111; not expected)
2022-01-15 20:22:00,250 INFO gave up: audiostream entered FATAL state, too many start retries too quickly

Allow multiple registered custom resolutions for the virtual display

Is your feature request related to a problem?

No response

What is your feature request?

Currently, you can override the display resolution + refresh rate via the DISPLAY_SIZEW + DISPLAY_SIZEH + DISPLAY_REFRESH env variables. However, I'd like to connect from multiple devices that have different resolutions, and therefore would like to register more than one custom resolution into xrandr so that Moonlight can request those resolution changes upon connecting.

I'm happy to try and hack this in myself and raise a PR if you're happy with that, but just might be faster for you to do it since you're obviously way more familiar with the current scripts + how you'd like it done 😄

Are there any workarounds?

~Dump the required nvidia-xconfig calls into the "startup" scripts to /init.d. But that only solves it for me and I can imagine that if you have a hosted headless gaming server, it might not just be me that wants to access it from more than one device which may have differing resolutions.

edit: actually, I thought that would work, but tried doing this manually as well and didn't seem to work. current workaround is to just change the env vars each time manually and then reboot the container. or perhaps run two steam-headless instances with different configurations.

Additional Context

No response

Controller support // Cyberpunk 2077

I'm trying to run Cyberpunk 2077 from a Steam deck, but cyberpunk makes a keyboard assumption.

When I try to stream it from my PC however, Cyberpunk sees the Steam Deck as a controller.

I figured I'd post an issue here to see if anyone has any ideas?

Playing games on a connected monitor to the GPU via HDMI/DisplayPort

Is your feature request related to a problem?

Hi, love the project, trying to figure out the nuances. I have done extensive research and have not found a way to have one of my GPU's display ports (HDMI/DisplayPort) output games to my connected monitor.

I don't even know if this is possible, but would love to know, as having the ability to stream over the network as well as play directly connected at 144hz would be a dream.

Running unraid 6.11.1

Any help or guidance would be appreciated, and if this is not a feature currently, would love it to be a feature :)

Cheers

What is your feature request?

have one of my GPU's display ports (HDMI/DisplayPort) output games to my connected monitor.

Are there any workarounds?

None that I am aware of.

Additional Context

No response

[Bug]: No Screens Found Error after Nvidia 530.41.03

Describe the Bug

I've switched steam headless from some old Nvidia 1070s to newer Nvidia A2000s. Getting this error now. I've tried plugging in displays as a test. Honestly one cable may be bad, so waiting on fake dongles. Though I thought it could run headless?

Steps to Reproduce

  1. Run steam headless with Nvidia a2000
  2. Watch it startup

Expected Behavior

X starts

Screenshots

No response

Relevant Settings

No response

Version

Build: [2023-06-24 03:10:18] [master] [6a2d551]

Platform

docker
6.1.35-1-lts
530
k8s with nvidia container toolkit

Relevant log output

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Debian
Current Operating System: Linux epyc-gigabyte 6.1.35-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 21 Jun 2023 15:54:02 +0000 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=5a04216e-d5fa-4737-971f-db34ed7c2552 rw loglevel=3 quiet
Build Date: 23 March 2023  10:25:56AM
xorg-server 2:1.20.11-1+deb11u6 (https://www.debian.org/support)
Current version of pixman: 0.40.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.55.log", Time: Sat Jun 24 05:55:05 2023
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.55.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Debian
Current Operating System: Linux epyc-gigabyte 6.1.35-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 21 Jun 2023 15:54:02 +0000 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=5a04216e-d5fa-4737-971f-db34ed7c2552 rw loglevel=3 quiet
Build Date: 23 March 2023  10:25:56AM
xorg-server 2:1.20.11-1+deb11u6 (https://www.debian.org/support)
Current version of pixman: 0.40.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.55.log", Time: Sat Jun 24 05:55:07 2023
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.55.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.

X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Debian
Current Operating System: Linux epyc-gigabyte 6.1.35-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 21 Jun 2023 15:54:02 +0000 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=5a04216e-d5fa-4737-971f-db34ed7c2552 rw loglevel=3 quiet
Build Date: 23 March 2023  10:25:56AM
xorg-server 2:1.20.11-1+deb11u6 (https://www.debian.org/support)
Current version of pixman: 0.40.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.55.log", Time: Sat Jun 24 05:55:09 2023
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.55.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.




X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[   371.789] Build Operating System: linux Debian
[   371.789] Current Operating System: Linux epyc-gigabyte 6.1.35-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 21 Jun 2023 15:54:02 +0000 x86_64
[   371.789] Kernel command line: BOOT_IMAGE=/vmlinuz-linux-lts root=UUID=5a04216e-d5fa-4737-971f-db34ed7c2552 rw loglevel=3 quiet
[   371.789] Build Date: 23 March 2023  10:25:56AM
[   371.789] xorg-server 2:1.20.11-1+deb11u6 (https://www.debian.org/support)
[   371.789] Current version of pixman: 0.40.0
[   371.789]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[   371.789] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   371.789] (==) Log file: "/var/log/Xorg.55.log", Time: Sat Jun 24 05:55:48 2023
[   371.789] (==) Using config file: "/etc/X11/xorg.conf"
[   371.789] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   371.789] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   371.790] (==) ServerLayout "Layout0"
[   371.790] (**) |-->Screen "Screen0" (0)
[   371.790] (**) |   |-->Monitor "Monitor0"
[   371.790] (**) |   |-->Device "Device0"
[   371.790] (**) |-->Input Device "Keyboard0"
[   371.790] (**) |-->Input Device "Mouse0"
[   371.790] (==) Automatically adding devices
[   371.790] (==) Automatically enabling devices
[   371.790] (==) Automatically adding GPU devices
[   371.790] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   371.790] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   371.790]    Entry deleted from font path.
[   371.790] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/100dpi/:unscaled,
        /usr/share/fonts/X11/75dpi/:unscaled,
        /usr/share/fonts/X11/Type1,
        /usr/share/fonts/X11/100dpi,
        /usr/share/fonts/X11/75dpi,
        built-ins
[   371.790] (==) ModulePath set to "/usr/lib/xorg/modules"
[   371.790] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[   371.790] (WW) Disabling Keyboard0
[   371.790] (WW) Disabling Mouse0
[   371.790] (II) Loader magic: 0x55c20c64ce40
[   371.790] (II) Module ABI versions:
[   371.790]    X.Org ANSI C Emulation: 0.4
[   371.790]    X.Org Video Driver: 24.1
[   371.790]    X.Org XInput driver : 24.1
[   371.790]    X.Org Server Extension : 10.0
[   371.790] (++) using VT number 7

[   371.790] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[   371.791] (II) xfree86: Adding drm device (/dev/dri/card1)
[   371.791] (II) xfree86: Adding drm device (/dev/dri/card2)
[   371.791] (II) xfree86: Adding drm device (/dev/dri/card0)
[   371.798] (--) PCI:*(129@0:0:0) 10de:2531:10de:151d rev 161, Mem @ 0xf2000000/16777216, 0x20030000000/268435456, 0x20040000000/33554432, I/O @ 0x00002000/128, BIOS @ 0x????????/524288
[   371.798] (--) PCI: (193@0:0:0) 10de:2531:10de:151d rev 161, Mem @ 0x9b000000/16777216, 0x18000000000/268435456, 0x18010000000/33554432, I/O @ 0x0000f000/128, BIOS @ 0x????????/524288
[   371.798] (--) PCI: (197@0:0:0) 1a03:2000:1458:1000 rev 65, Mem @ 0x98000000/33554432, 0x9a000000/131072, I/O @ 0x0000d000/128, BIOS @ 0x????????/131072
[   371.798] (II) LoadModule: "glx"
[   371.799] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   371.799] (II) Module glx: vendor="X.Org Foundation"
[   371.799]    compiled for 1.20.11, module version = 1.0.0
[   371.799]    ABI class: X.Org Server Extension, version 10.0
[   371.799] (II) LoadModule: "nvidia"
[   371.799] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[   371.799] (II) Module nvidia: vendor="NVIDIA Corporation"
[   371.800]    compiled for 1.6.99.901, module version = 1.0.0
[   371.800]    Module class: X.Org Video Driver
[   371.800] (II) NVIDIA dlloader X Driver  535.54.03  Tue Jun  6 22:23:02 UTC 2023
[   371.800] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   371.800] (II) Loading sub module "fb"
[   371.800] (II) LoadModule: "fb"
[   371.800] (II) Loading /usr/lib/xorg/modules/libfb.so
[   371.800] (II) Module fb: vendor="X.Org Foundation"
[   371.800]    compiled for 1.20.11, module version = 1.0.0
[   371.800]    ABI class: X.Org ANSI C Emulation, version 0.4
[   371.800] (II) Loading sub module "wfb"
[   371.800] (II) LoadModule: "wfb"
[   371.800] (II) Loading /usr/lib/xorg/modules/libwfb.so
[   371.800] (II) Module wfb: vendor="X.Org Foundation"
[   371.800]    compiled for 1.20.11, module version = 1.0.0
[   371.800]    ABI class: X.Org ANSI C Emulation, version 0.4
[   371.800] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[   371.800] (==) NVIDIA(0): RGB weight 888
[   371.800] (==) NVIDIA(0): Default visual is TrueColor
[   371.800] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[   371.800] (**) NVIDIA(0): Option "ModeValidation" "NoMaxPClkCheck, NoEdidMaxPClkCheck, NoMaxSizeCheck, NoHorizSyncCheck, NoVertRefreshCheck, NoVirtualSizeCheck, NoExtendedGpuCapabilitiesCheck, NoTotalSizeCheck, NoDualLinkDVICheck, NoDisplayPortBandwidthCheck, AllowNon3DVisionModes, AllowNonHDMI3DModes, AllowNonEdidModes, NoEdidHDMI2Check, AllowDpInterlaced"
[   371.800] (**) NVIDIA(0): Option "ProbeAllGpus" "False"
[   371.800] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration" "True"
[   371.800] (**) NVIDIA(0): Option "ConnectedMonitor" "DFP"
[   371.800] (**) NVIDIA(0): Enabling 2D acceleration
[   371.800] (**) NVIDIA(0): ConnectedMonitor string: "DFP"
[   371.800] (II) Loading sub module "glxserver_nvidia"
[   371.800] (II) LoadModule: "glxserver_nvidia"
[   371.800] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[   371.806] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[   371.806]    compiled for 1.6.99.901, module version = 1.0.0
[   371.806]    Module class: X.Org Server Extension
[   371.806] (II) NVIDIA GLX Module  535.54.03  Tue Jun  6 22:23:41 UTC 2023
[   371.806] (II) NVIDIA: The X server supports PRIME Render Offload.
[   371.942] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:129:0:0
[   371.942] (--) NVIDIA(0):     DFP-0
[   371.942] (--) NVIDIA(0):     DFP-1
[   371.942] (--) NVIDIA(0):     DFP-2
[   371.942] (--) NVIDIA(0):     DFP-3
[   371.942] (--) NVIDIA(0):     DFP-4
[   371.942] (--) NVIDIA(0):     DFP-5 (boot)
[   371.942] (--) NVIDIA(0):     DFP-6
[   371.942] (--) NVIDIA(0):     DFP-7
[   371.943] (**) NVIDIA(0): Using ConnectedMonitor string "DFP-0".
[   371.944] (II) NVIDIA(0): NVIDIA GPU NVIDIA RTX A2000 (GA106GL-A) at PCI:129:0:0
[   371.944] (II) NVIDIA(0):     (GPU-0)
[   371.944] (--) NVIDIA(0): Memory: 6285312 kBytes
[   371.944] (--) NVIDIA(0): VideoBIOS: 94.06.2c.00.01
[   371.944] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[   371.953] (--) NVIDIA(GPU-0): DFP-0: connected
[   371.953] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[   371.953] (--) NVIDIA(GPU-0): DFP-0: 2670.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-1: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[   371.953] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-2: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[   371.953] (--) NVIDIA(GPU-0): DFP-2: 2670.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-3: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[   371.953] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-4: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[   371.953] (--) NVIDIA(GPU-0): DFP-4: 2670.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-5: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[   371.953] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-6: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[   371.953] (--) NVIDIA(GPU-0): DFP-6: 2670.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (--) NVIDIA(GPU-0): DFP-7: disconnected
[   371.953] (--) NVIDIA(GPU-0): DFP-7: Internal TMDS
[   371.953] (--) NVIDIA(GPU-0): DFP-7: 165.0 MHz maximum pixel clock
[   371.953] (--) NVIDIA(GPU-0):
[   371.953] (**) NVIDIA(GPU-0): Mode Validation Overrides for DFP-0:
[   371.953] (**) NVIDIA(GPU-0):     NoMaxSizeCheck
[   371.953] (**) NVIDIA(GPU-0):     NoVirtualSizeCheck
[   371.953] (**) NVIDIA(GPU-0):     NoMaxPClkCheck
[   371.953] (**) NVIDIA(GPU-0):     NoEdidMaxPClkCheck
[   371.953] (**) NVIDIA(GPU-0):     NoHorizSyncCheck
[   371.953] (**) NVIDIA(GPU-0):     NoVertRefreshCheck
[   371.953] (**) NVIDIA(GPU-0):     NoExtendedGpuCapabilitiesCheck
[   371.953] (**) NVIDIA(GPU-0):     NoTotalSizeCheck
[   371.953] (**) NVIDIA(GPU-0):     NoDualLinkDVICheck
[   371.953] (**) NVIDIA(GPU-0):     NoDisplayPortBandwidthCheck
[   371.953] (**) NVIDIA(GPU-0):     AllowNon3DVisionModes
[   371.953] (**) NVIDIA(GPU-0):     AllowNonEdidModes
[   371.953] (**) NVIDIA(GPU-0):     AllowNonHDMI3DModes
[   371.953] (**) NVIDIA(GPU-0):     NoEdidHDMI2Check
[   371.953] (**) NVIDIA(GPU-0):     AllowDpInterlaced
[   371.954] (EE) NVIDIA(GPU-0): Unable to add conservative default mode "nvidia-auto-select".
[   371.954] (EE) NVIDIA(GPU-0): Unable to add "nvidia-auto-select" mode to ModePool.
[   371.954] (WW) NVIDIA(0): No valid modes for "DFP-0:1920x1080R"; removing.
[   371.954] (WW) NVIDIA(0):
[   371.954] (WW) NVIDIA(0): Unable to validate any modes; falling back to the default mode
[   371.954] (WW) NVIDIA(0):     "nvidia-auto-select".
[   371.954] (WW) NVIDIA(0):
[   371.954] (WW) NVIDIA(0): No valid modes for "DFP-0:nvidia-auto-select"; removing.
[   371.954] (EE) NVIDIA(0): Unable to use default mode "nvidia-auto-select".
[   371.954] (EE) NVIDIA(0): Failing initialization of X screen
[   372.086] (II) UnloadModule: "nvidia"
[   372.086] (II) UnloadSubModule: "glxserver_nvidia"
[   372.086] (II) Unloading glxserver_nvidia
[   372.086] (II) UnloadSubModule: "wfb"
[   372.086] (II) UnloadSubModule: "fb"
[   372.086] (**) NVIDIA(G0): Depth 24, (--) framebuffer bpp 32
[   372.086] (==) NVIDIA(G0): RGB weight 888
[   372.086] (==) NVIDIA(G0): Default visual is TrueColor
[   372.086] (==) NVIDIA(G0): Using gamma correction (1.0, 1.0, 1.0)
[   372.086] (**) NVIDIA(G0): Option "ProbeAllGpus" "False"
[   372.086] (**) NVIDIA(G0): Option "AllowEmptyInitialConfiguration" "True"
[   372.086] (**) NVIDIA(G0): Enabling 2D acceleration
[   372.086] (II) NVIDIA: The X server supports PRIME Render Offload.
[   372.275] (--) NVIDIA(0): Valid display device(s) on GPU-1 at PCI:193:0:0
[   372.275] (--) NVIDIA(0):     DFP-0
[   372.275] (--) NVIDIA(0):     DFP-1
[   372.275] (--) NVIDIA(0):     DFP-2
[   372.275] (--) NVIDIA(0):     DFP-3
[   372.275] (--) NVIDIA(0):     DFP-4
[   372.275] (--) NVIDIA(0):     DFP-5 (boot)
[   372.275] (--) NVIDIA(0):     DFP-6
[   372.275] (--) NVIDIA(0):     DFP-7
[   372.276] (II) NVIDIA(G0): NVIDIA GPU NVIDIA RTX A2000 (GA106GL-A) at PCI:193:0:0
[   372.276] (II) NVIDIA(G0):     (GPU-1)
[   372.276] (--) NVIDIA(G0): Memory: 6285312 kBytes
[   372.276] (--) NVIDIA(G0): VideoBIOS: 94.06.2c.00.01
[   372.276] (II) NVIDIA(G0): Detected PCI Express Link width: 16X
[   372.276] (--) NVIDIA(GPU-1): DFP-0: disconnected
[   372.276] (--) NVIDIA(GPU-1): DFP-0: Internal DisplayPort
[   372.276] (--) NVIDIA(GPU-1): DFP-0: 2670.0 MHz maximum pixel clock
[   372.276] (--) NVIDIA(GPU-1):
[   372.277] (--) NVIDIA(GPU-1): DFP-1: disconnected
[   372.277] (--) NVIDIA(GPU-1): DFP-1: Internal TMDS
[   372.277] (--) NVIDIA(GPU-1): DFP-1: 165.0 MHz maximum pixel clock
[   372.277] (--) NVIDIA(GPU-1):
[   372.277] (--) NVIDIA(GPU-1): DFP-2: disconnected
[   372.277] (--) NVIDIA(GPU-1): DFP-2: Internal DisplayPort
[   372.277] (--) NVIDIA(GPU-1): DFP-2: 2670.0 MHz maximum pixel clock
[   372.277] (--) NVIDIA(GPU-1):
[   372.277] (--) NVIDIA(GPU-1): DFP-3: disconnected
[   372.277] (--) NVIDIA(GPU-1): DFP-3: Internal TMDS
[   372.277] (--) NVIDIA(GPU-1): DFP-3: 165.0 MHz maximum pixel clock
[   372.277] (--) NVIDIA(GPU-1):
[   372.277] (--) NVIDIA(GPU-1): DFP-4: disconnected
[   372.277] (--) NVIDIA(GPU-1): DFP-4: Internal DisplayPort
[   372.277] (--) NVIDIA(GPU-1): DFP-4: 2670.0 MHz maximum pixel clock
[   372.277] (--) NVIDIA(GPU-1):
[   372.375] (--) NVIDIA(GPU-1): Tech Concepts 75R635 (DFP-5): connected
[   372.375] (--) NVIDIA(GPU-1): Tech Concepts 75R635 (DFP-5): Internal TMDS
[   372.375] (--) NVIDIA(GPU-1): Tech Concepts 75R635 (DFP-5): 165.0 MHz maximum pixel clock
[   372.375] (--) NVIDIA(GPU-1):
[   372.375] (--) NVIDIA(GPU-1): DFP-6: disconnected
[   372.375] (--) NVIDIA(GPU-1): DFP-6: Internal DisplayPort
[   372.375] (--) NVIDIA(GPU-1): DFP-6: 2670.0 MHz maximum pixel clock
[   372.375] (--) NVIDIA(GPU-1):
[   372.375] (--) NVIDIA(GPU-1): DFP-7: disconnected
[   372.375] (--) NVIDIA(GPU-1): DFP-7: Internal TMDS
[   372.375] (--) NVIDIA(GPU-1): DFP-7: 165.0 MHz maximum pixel clock
[   372.375] (--) NVIDIA(GPU-1):
[   372.459] (II) NVIDIA(G0): Validated MetaModes:
[   372.459] (II) NVIDIA(G0):     "NULL"
[   372.459] (II) NVIDIA(G0): Virtual screen size determined to be 640 x 480
[   372.794] (++) NVIDIA(G0): DPI set to (96, 96); computed from -dpi X commandline option
[   372.794] (EE) Screen(s) found, but none have a usable configuration.
[   372.794] (EE)
Fatal server error:
[   372.794] (EE) no screens found(EE)
[   372.794] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[   372.794] (EE) Please also check the log file at "/var/log/Xorg.55.log" for additional information.
[   372.794] (EE)
[   372.794] (EE) Server terminated with error (1). Closing log file.




Build: [2023-06-24 03:10:18] [master] [6a2d55196b5253fef520ca883391d783716b4d06]

[ /etc/cont-init.d/10-setup_user.sh: executing... ]
**** Configure default user ****
Setting default user uid=1000(default) gid=1000(default)
usermod: no changes
Adding default user to video, audio, input and pulse groups
Adding default user to any additional required device groups
Adding user 'default' to group: 'user-gid-994' for device: /dev/input/event0
Adding user 'default' to group: 'user-gid-985' for device: /dev/dri/card0
Adding user 'default' to group: 'user-gid-989' for device: /dev/dri/renderD128
Setting umask to 000
Create the user XDG_RUNTIME_DIR path '/tmp/.X11-unix/run'
Adding default home directory template
Setting ownership of all log files in '/home/default/.cache/log'
Setting root password
Setting user password
DONE

[ /etc/cont-init.d/20-configre_sshd.sh: executing... ]
**** Configure SSH server ****
Disable SSH server
DONE

[ /etc/cont-init.d/30-configure_dbus.sh: executing... ]
**** Configure container dbus ****
Container configured to run its own dbus
DONE

[ /etc/cont-init.d/30-configure_udev.sh: executing... ]
**** Configure container to run udev management ****
**** Ensure the default user has permission to r/w on input devices ****
DONE

[ /etc/cont-init.d/40-setup_locale.sh: executing... ]
**** Locales already set correctly to en_US.UTF-8 UTF-8 ****
DONE

[ /etc/cont-init.d/50-configure_pulseaudio.sh: executing... ]
**** Configure pulseaudio ****
Configure pulseaudio to pipe audio to a socket
DONE

[ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
**** Found NVIDIA device 'NVIDIA RTX A2000' ****
Installing NVIDIA driver v535.54.03 to match what is running on the host
**** No Intel device found ****
**** No Intel device found ****
**** No AMD device found ****
DONE

[ /etc/cont-init.d/70-configure_xorg.sh: executing... ]
**** Generate NVIDIA xorg.conf ****
Configure Xwrapper.config
Configure container as primary the X server
Enabling evdev input class on pointers, keyboards, touchpads, touch screens, etc.
'/usr/share/X11/xorg.conf.d/10-evdev.conf' -> '/etc/X11/xorg.conf.d/10-evdev.conf'
Configuring X11 with GPU ID: 'GPU-d5495a99-109e-5f19-05d9-d718f1b35596'
Configuring X11 with PCI bus ID: 'PCI:129:0:0'
Writing X11 config with Modeline "1920x1080R"  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync

WARNING: Unable to locate/open X configuration file.

Package xorg-server was not found in the pkg-config search path.
Perhaps you should add the directory containing `xorg-server.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xorg-server' found
Option "ProbeAllGpus" "False" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
New X configuration file written to '/etc/X11/xorg.conf'

DONE

[ /etc/cont-init.d/80-configure-dind.sh: executing... ]
**** Configure Dockerd ****
Enable Dockerd daemon
Add user 'default' to docker group for sudoless execution
DONE

[ /etc/cont-init.d/90-configure_neko.sh: executing... ]
**** Configure Neko ****
Disable Neko server
DONE

[ /etc/cont-init.d/90-configure_sunshine.sh: executing... ]
**** Configure Sunshine ****
Enable Sunshine server
DONE

[ /etc/cont-init.d/90-configure_vnc.sh: executing... ]
**** Configure VNC ****
Configure VNC service port '32036'
Configure noVNC service port '32037'
Configure audio websocket port '32038'
Configure pulseaudio encoded stream port '32039'
Enable VNC server
Patching noVNC with audio websocket
DONE

[ /etc/cont-init.d/95-configure_secondary.sh: executing... ]
DONE

**** Starting supervisord ****
Logging all root services to '/var/log/supervisor/'
Logging all user services to '/home/default/.cache/log/'

2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/dind.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/sshd.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2023-06-24 05:53:55,765 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2023-06-24 05:53:55,765 INFO Set uid to user 0 succeeded
2023-06-24 05:53:55,768 INFO RPC interface 'supervisor' initialized
2023-06-24 05:53:55,768 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-06-24 05:53:55,768 INFO supervisord started with pid 1
2023-06-24 05:53:56,770 INFO spawned: 'dbus' with pid 391
2023-06-24 05:53:56,771 INFO spawned: 'udev' with pid 392
2023-06-24 05:53:56,772 INFO spawned: 'dind' with pid 393
2023-06-24 05:53:56,773 INFO spawned: 'xorg' with pid 394
2023-06-24 05:53:56,774 INFO spawned: 'audiostream' with pid 395
2023-06-24 05:53:56,776 INFO spawned: 'novnc' with pid 396
2023-06-24 05:53:56,777 INFO spawned: 'pulseaudio' with pid 397
2023-06-24 05:53:56,779 INFO spawned: 'vncproxy' with pid 399
2023-06-24 05:53:56,780 INFO spawned: 'x11vnc' with pid 400
2023-06-24 05:53:56,781 INFO spawned: 'audiowebsock' with pid 402
2023-06-24 05:53:56,782 INFO spawned: 'desktop' with pid 404
2023-06-24 05:53:56,784 INFO spawned: 'sunshine' with pid 406
2023-06-24 05:53:56,784 INFO success: vncproxy entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
PULSEAUDIO: Starting pulseaudio service
2023-06-24 05:53:56,820 INFO reaped unknown pid 433 (exit status 0)
2023-06-24 05:53:57,809 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,809 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,809 INFO success: dind entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,809 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,809 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,809 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,810 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,810 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,810 INFO success: audiowebsock entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,810 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:57,810 INFO success: sunshine entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:53:59,802 INFO exited: xorg (exit status 1; not expected)
2023-06-24 05:54:00,804 INFO spawned: 'xorg' with pid 1053
2023-06-24 05:54:01,803 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:54:01,815 INFO exited: xorg (exit status 1; not expected)
2023-06-24 05:54:01,820 INFO spawned: 'xorg' with pid 1062
2023-06-24 05:54:02,833 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:54:02,833 INFO exited: xorg (exit status 1; not expected)
2023-06-24 05:54:03,836 INFO spawned: 'xorg' with pid 1085
2023-06-24 05:54:04,849 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:54:04,903 INFO exited: xorg (exit status 1; not expected)
2023-06-24 05:54:05,906 INFO spawned: 'xorg' with pid 1105
2023-06-24 05:54:06,931 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-24 05:54:06,955 INFO exited: xorg (exit status 1; not expected)

[Bug]: Final Fantasy X/X-2 HD Remastered will not load

Describe the Bug

Final Fantasy X/X-2 HD Remastered runs fine on Linux using proton generally (e.g. on Fedora and Steam deck), but not in the SteamHeadless container.

The stack trace from Steam is attached.

Steps to Reproduce

  1. Enable Proton Experimental
  2. Install Final Fantasy X/X-2 HD Remastered
  3. Start game
  4. Game crashes. Launcher does not load. The above stack trace is printed to console if Steam was launched using the terminal.

Expected Behavior

  1. Enable Proton Experimental
  2. Install Final Fantasy X/X-2 HD Remastered
  3. Launcher loads

Screenshots

No response

Relevant Settings

  • Container is running in unRAID
  • NVIDIA GPU passthrough enabled. GTX 980 Ti.
  • Other games work fine.

Version

Build: [2023-03-11 02:48:04] [master] [9b96258]

Platform

  • Distribution: unRAID 6.11.5
  • GPU Driver: NVIDIA v530.30.02
  • Docker version: 20.10.21

Relevant log output

Unhandled Exception:
System.ArgumentException: The requested FontFamily could not be found [GDI+ status: FontFamilyNotFound]
  at System.Drawing.GDIPlus.CheckStatus (System.Drawing.Status status) [0x001ce] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.FontFamily..ctor (System.Drawing.Text.GenericFontFamilies genericFamily) [0x0004d] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.FontFamily..ctor(System.Drawing.Text.GenericFontFamilies)
  at System.Drawing.FontFamily.get_GenericSansSerif () [0x00000] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.Font.CreateFont (System.String familyName, System.Single emSize, System.Drawing.FontStyle style, System.Drawing.GraphicsUnit unit, System.Byte charSet, System.Boolean isVertical) [0x00011] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.Font..ctor (System.String familyName, System.Single emSize, System.Drawing.FontStyle style, System.Drawing.GraphicsUnit unit, System.Byte gdiCharSet, System.Boolean gdiVerticalFont) [0x00011] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.Font..ctor (System.String familyName, System.Single emSize, System.String systemName) [0x00000] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.Font..ctor(string,single,string)
  at System.Drawing.SystemFonts.get_DefaultFont () [0x00000] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Windows.Forms.Control.get_DefaultFont () [0x0000e] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.Control.GetDefaultFontHandleWrapper () [0x0000e] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.Control.get_FontHandle () [0x00149] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.GetFontAutoScaleDimensions () [0x00032] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.get_CurrentAutoScaleDimensions () [0x00026] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.get_AutoScaleFactor () [0x00001] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.PerformAutoScale (System.Boolean includedBounds, System.Boolean excludedBounds) [0x0003d] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.PerformNeededAutoScaleOnLayout () [0x00027] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.OnLayoutResuming (System.Boolean performLayout) [0x00001] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.Control.ResumeLayout (System.Boolean performLayout) [0x0002f] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at GameLauncher.MainForm.InitializeComponent () [0x000b7] in <830b8ed0270b4c7e9af7aba2bb662e63>:0 
  at GameLauncher.MainForm..ctor () [0x00178] in <830b8ed0270b4c7e9af7aba2bb662e63>:0 
  at (wrapper remoting-invoke-with-check) GameLauncher.MainForm..ctor()
  at GameLauncher.Program.Main () [0x000d5] in <830b8ed0270b4c7e9af7aba2bb662e63>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: The requested FontFamily could not be found [GDI+ status: FontFamilyNotFound]
  at System.Drawing.GDIPlus.CheckStatus (System.Drawing.Status status) [0x001ce] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.FontFamily..ctor (System.Drawing.Text.GenericFontFamilies genericFamily) [0x0004d] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.FontFamily..ctor(System.Drawing.Text.GenericFontFamilies)
  at System.Drawing.FontFamily.get_GenericSansSerif () [0x00000] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.Font.CreateFont (System.String familyName, System.Single emSize, System.Drawing.FontStyle style, System.Drawing.GraphicsUnit unit, System.Byte charSet, System.Boolean isVertical) [0x00011] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.Font..ctor (System.String familyName, System.Single emSize, System.Drawing.FontStyle style, System.Drawing.GraphicsUnit unit, System.Byte gdiCharSet, System.Boolean gdiVerticalFont) [0x00011] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Drawing.Font..ctor (System.String familyName, System.Single emSize, System.String systemName) [0x00000] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.Font..ctor(string,single,string)
  at System.Drawing.SystemFonts.get_DefaultFont () [0x00000] in <fc2ea6474c6d4315858618f13de6e72a>:0 
  at System.Windows.Forms.Control.get_DefaultFont () [0x0000e] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.Control.GetDefaultFontHandleWrapper () [0x0000e] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.Control.get_FontHandle () [0x00149] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.GetFontAutoScaleDimensions () [0x00032] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.get_CurrentAutoScaleDimensions () [0x00026] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.get_AutoScaleFactor () [0x00001] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.PerformAutoScale (System.Boolean includedBounds, System.Boolean excludedBounds) [0x0003d] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.PerformNeededAutoScaleOnLayout () [0x00027] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.ContainerControl.OnLayoutResuming (System.Boolean performLayout) [0x00001] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at System.Windows.Forms.Control.ResumeLayout (System.Boolean performLayout) [0x0002f] in <d22f8be2dd674c49bd49b314423240b8>:0 
  at GameLauncher.MainForm.InitializeComponent () [0x000b7] in <830b8ed0270b4c7e9af7aba2bb662e63>:0 
  at GameLauncher.MainForm..ctor () [0x00178] in <830b8ed0270b4c7e9af7aba2bb662e63>:0 
  at (wrapper remoting-invoke-with-check) GameLauncher.MainForm..ctor()

Pre-installed MangoHud and GOverlay

Is your feature request related to a problem?

No response

What is your feature request?

Hi guys,

As per our conversation on discord, I'd love to see MangoHud and GOverlay prepacked with the image.

MangoHud is essentially the closest thing to RTSS (Riva Tuner Statistics Server) available for Linux and GOverlay is a GUI used to manage it and other Vulkan/OpenGL overlays without using command line for everything.

Just one of the biggest advantages of MangoHud is the ability to cap framerate for stable frames on less demanding games and perhaps most importantly in our case, matching framerate to streaming clients through Sunshine/Moonlight to ensure a buttery smooth stream where other avenues for this aren't available.

MangoHud is already installable through a currently unselected option in what I believe is the already pre-packaged Freedesktop Platform flatpack from the Software application, along with vkBasalt which is one of the dependencies for GOverlay. The rest of its dependencies can be found at the following links.

MangoHud: https://github.com/flightlessmango/MangoHud

GOverlay: https://github.com/benjamimgois/goverlay

As mentioned, GOverlay's dependencies will also bring with it vkBasalt which is essentially Reshade and can use Reshade Fx shaders, and also brings ReplaySorcery which is an instant replay solution. All in a single, neat GUI.

All that to me sounds VERY exciting 😁. Thanks for your consideration on this!

If I had the time and know-how, I would PR it myself. But sadly, I have neither of these.

Are there any workarounds?

No response

Additional Context

No response

This docker is pure magic

Is your feature request related to a problem?

No response

What is your feature request?

This might not be the place for this but I wanted to thank you for all your work this is the coolest docker I have ever seen. I need you to know it’s greatly appreciated.

Are there any workarounds?

No response

Additional Context

No response

[Bug]: CS:GO mouse problem

Describe the Bug

In CSGO (menu work good, in game problem) if start move mouse, crosshair (itself) moving to right bottom. On host pc, if start move mouse, crosshair moving correctly (without problem)

Steps to Reproduce

Run csgo, start game (any mode) and problem start

Expected Behavior

Correct move crosshair

Screenshots

No response

Relevant Settings

default settings

Version

last

Platform

  • Ubuntu - 23.04 (Lunar Lobster)
  • 6.2.0-26-generic x86_64 x86_64 GNU/Linux
  • Docker version 24.0.5, build ced0996
  • Docker Compose version v2.20.2

Relevant log output

No response

Some examples of scripts for installing software at startup

Description

“If you wish to install additional applications, you can generate a script inside the ~/init.d directory ending with ".sh". This will be executed on the container startup.”

Are there any examples of how this would look? I am not familiar with Debian, and I can’t find anything in the documentation.

[Bug]:

Describe the Bug

I'm currently facing multiple issues and problems with my setup. I've tried various solutions, including reinstalls and different distributions, but I'm still encountering issues.

I've now settled on using Fedora CoreOS for my host, as it works well with my GPU and provides a minimal environment without a desktop environment (DE). I'm using this container headlessly via SSH, and my ultimate goal is to use Moonlight on my Firestick.

I previously managed to get the NoVNC desktop environment to work both on the NoVNC web UI and my Firestick using a combination of CHATGPT and my own Docker knowledge. However, even though it seemed to work better, it didn't actually work correctly in the end. Steam wouldn't start or function properly, and Big Screen mode wouldn't initiate despite launching and then crashing.

Now, I've switched to Fedora CoreOS, and I'm facing similar issues. I can't even get the web UI to work or have the Moonlight app detect this container.

Request: Please provide your .env and compose file examples so I can compare them with mine and identify what might be causing the issues. Feel free to redact any sensitive information.

Thanks in advance!

# Set the parent network device.
NETWORK_PARTENT=enp4s0
# Name this whatever you like, but ensure you update the `.env` file below to match.
NETWORK_NAME=steam-headless-vlan
# Choose a network subnet and gateway that matches your host network
NETWORK_SUBNET=192.168.1.0/24
NETWORK_GATEWAY=192.168.1.1
# Execute the docker network create command
sudo docker network create -d macvlan \
    --subnet=${NETWORK_SUBNET:?} \
    --gateway=${NETWORK_GATEWAY:?} \
    -o parent=${NETWORK_PARTENT:?} \
    ${NETWORK_NAME:?}

    
```yaml
# Configuration for steam-headless-container

# General settings
NAME='steam-headless-container'
TZ='America/Phoenix'
USER_LOCALES='en_US.UTF-8 UTF-8'
DISPLAY=':55'
SHM_SIZE='2G'
CONTAINER_IP_ADDRESS='192.168.1.249'
NETWORK_NAME='steam-headless-vlan'
DOCKER_RUNTIME='runc'

# User settings
PUID='1001'
PGID='1001'
UMASK='000'
USER_PASSWORD='password(redacted) not sure if changing this causes problems'

# Steam Headless mode
MODE='primary'

# Web UI settings
WEB_UI_MODE='vnc'
ENABLE_VNC_AUDIO='true'
PORT_NOVNC_WEB='8083'
NEKO_NAT1TO1='192.168.1.64'

# Steam settings
ENABLE_STEAM='true'
# STEAM_ARGS='-silent -bigpicture'

# Sunshine streaming service
ENABLE_SUNSHINE='true'
# SUNSHINE_USER='admin'
# SUNSHINE_PASS='admin'

# Xorg settings
ENABLE_EVDEV_INPUTS='true'

# Nvidia specific config (not required for non-Nvidia GPUs)
# NVIDIA_DRIVER_CAPABILITIES='all'
# NVIDIA_VISIBLE_DEVICES='all'


```yaml
services:
  steam-headless:
    image: josh5/steam-headless:latest
    restart: unless-stopped
    runtime: ${DOCKER_RUNTIME}
    shm_size: ${SHM_SIZE}
    ipc: host # Could also be set to 'shareable'
    ulimits:
      nofile:
        soft: 1024
        hard: 524288
    cap_add:
      - NET_ADMIN
      - SYS_ADMIN
      - SYS_NICE
    security_opt:
      - seccomp:unconfined
      - apparmor:unconfined

    # NETWORK:
    hostname: ${NAME}
    extra_hosts:
      - "${NAME}:127.0.0.1"
    networks:
      external-macvlan:
        ipv4_address: ${CONTAINER_IP_ADDRESS}

    # ENVIRONMENT:
    ## Read all config variables from the .env file
    env_file: .env

    # DEVICES:
    devices:
      # Use the host fuse device.
      - /dev/fuse
      # Add the host uinput device.
      - /dev/uinput
      # Add AMD/Intel HW accelerated video encoding/decoding devices (optional)
      - /dev/dri
    # Ensure container access to devices 13:*
    device_cgroup_rules:
      - 'c 13:* rmw'

    # VOLUMES:
    volumes:
      # The location of your home directory.
      - /opt/container-data/steam-headless/home/:/home/default/:rw

      # The location where all games should be installed.
      # This path needs to be set as a library path in Steam after logging in.
      # Otherwise, Steam will store games in the home directory above.
      - /media/games/:/media/games/:rw

      # The Xorg socket. This will be shared with other containers so they can access the X server.
      # Select only one option or leave commented out to not share the Xorg socket with any other Docker containers.
      #   Option #1) Start a X server in the container to share with any other containers.
      #- /opt/container-data/steam-headless/.X11-unix/:/tmp/.X11-unix/:rw
      #   Option #2) Use an existing X server running on the host.
      #- /tmp/.X11-unix/:/tmp/.X11-unix/:rw

      # Pulse audio socket. This will be shared with other containers so they can access the audio sink.
      # Leave commented out to not share the pulse socket with any other Docker containers.
      #- /opt/container-data/steam-headless/pulse/:/tmp/pulse/:rw

      # Input devices used for mouse and joypad support inside the container.
      - /dev/input/:/dev/input/:ro
      # Host udev data required for input devices
      - /run/udev/data/:/run/udev/data/:ro

      # Store flatpak var files in a volume.
      - steam-headless-var-lib-flatpak:/var/lib/flatpak/:rw

volumes:
  steam-headless-var-lib-flatpak:

networks:
  external-macvlan:
    external: true
    name: ${NETWORK_NAME}


### Version

Build: [2023-09-18 04:13:03] [master] [7552680a0179e6373c61034f46e645f0928032ae] [debian]

### Platform

Fedora CoreOS

docker version:
Client:
 Version:           20.10.23
 API version:       1.41
 Go version:        go1.20rc3
 Git commit:        %{shortcommit_cli}
 Built:             Sun Jan 29 17:25:05 2023
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.23
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.20rc3
  Git commit:       %{shortcommit_moby}
  Built:            Sun Jan 29 17:25:05 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.19
  GitCommit:        
 runc:
  Version:          1.1.7
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        

[goffy59@steamy steam-headless]$ uname -r
6.4.7-200.fc38.x86_64

[goffy59@steamy steam-headless]$ docker-compose --version
docker-compose version 1.29.2, build unknown

⬢[goffy59@toolbox ~]$ lspci -v | grep -i VGA
lspci: Unable to load libkmod resources: error -2
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7) (prog-if 00 [VGA controller])


### Relevant log output

```Shell
[goffy59@steamy steam-headless]$ docker logs steam-headless_steam-headless_1 
Build: [2023-09-18 04:13:03] [master] [7552680a0179e6373c61034f46e645f0928032ae] [debian]
[ /etc/cont-init.d/10-setup_user.sh: executing... ]
**** Configure default user ****
Setting default user uid=1001(default) gid=1001(default)
Adding default user to any additional required device groups
Adding user 'default' to group: 'video'
Adding user 'default' to group: 'audio'
Adding user 'default' to group: 'input'
Adding user 'default' to group: 'pulse'
Adding user 'default' to group: 'sgx' for device: /dev/input/event0
Adding user 'default' to group: 'irc' for device: /dev/dri/card1
Adding user 'default' to group: 'kvm' for device: /dev/dri/renderD128
Setting umask to 000
Create the user XDG_RUNTIME_DIR path '/tmp/.X11-unix/run'
Setting ownership of all log files in '/home/default/.cache/log'
Setting root password
Setting user password
DONE
[ /etc/cont-init.d/11-setup_sysctl_values.sh: executing... ]
**** Configure some system kernel parameters ****
NOTE: vm.max_map_count is already greater than '524288'
DONE
[ /etc/cont-init.d/30-configure_dbus.sh: executing... ]
**** Configure container dbus ****
Container configured to run its own dbus
DONE
[ /etc/cont-init.d/30-configure_udev.sh: executing... ]
**** Disable udev service due to privilege restrictions ****
**** Ensure the default user has permission to r/w on input devices ****
DONE
[ /etc/cont-init.d/40-setup_locale.sh: executing... ]
**** Locales already set correctly to en_US.UTF-8 UTF-8 ****
DONE
[ /etc/cont-init.d/50-configure_pulseaudio.sh: executing... ]
**** Configure pulseaudio ****
Enable pulseaudio service.
Configure pulseaudio to pipe audio to a socket
DONE
[ /etc/cont-init.d/60-configure_gpu_driver.sh: executing... ]
/etc/cont-init.d/60-configure_gpu_driver.sh: line 15: gpu_select: parameter null or not set
/etc/cont-init.d/60-configure_gpu_driver.sh: line 16: gpu_select: parameter null or not set
**** Found Intel device 'Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz' ****
Install Intel vulkan driver
**** Found AMD device '01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7)' ****
Install AMD vulkan driver
**** No NVIDIA device found ****
DONE
[ /etc/cont-init.d/70-configure_desktop.sh: executing... ]
**** Configure Desktop ****
Enable Desktop service.
Ensure home directory template is owned by the default user.
DONE
[ /etc/cont-init.d/70-configure_xorg.sh: executing... ]
**** Generate default xorg.conf ****
Configure Xwrapper.config
Configure container as primary the X server
Enabling evdev input class on pointers, keyboards, touchpads, touch screens, etc.
'/usr/share/X11/xorg.conf.d/10-evdev.conf' -> '/etc/X11/xorg.conf.d/10-evdev.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 ****
Enable Sunshine server
DONE
[ /etc/cont-init.d/90-configure_vnc.sh: executing... ]
**** Configure VNC ****
Configure VNC service port '32036'
Configure pulseaudio encoded stream port '32037'
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/'
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/dbus.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/desktop.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/neko.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/pulseaudio.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/steam.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/sunshine.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/udev.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/vnc-audio.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/vnc.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/wol-power-manager.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/xorg.ini" during parsing
2023-09-18 22:38:30,394 INFO Included extra file "/etc/supervisor.d/xvfb.ini" during parsing
2023-09-18 22:38:30,394 INFO Set uid to user 0 succeeded
2023-09-18 22:38:30,397 INFO RPC interface 'supervisor' initialized
2023-09-18 22:38:30,397 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-09-18 22:38:30,397 INFO supervisord started with pid 1
2023-09-18 22:38:31,399 INFO spawned: 'dbus' with pid 284
2023-09-18 22:38:31,400 INFO spawned: 'xorg' with pid 285
2023-09-18 22:38:31,402 INFO spawned: 'audiostream' with pid 286
2023-09-18 22:38:31,403 INFO spawned: 'frontend' with pid 287
2023-09-18 22:38:31,404 INFO spawned: 'pulseaudio' with pid 288
2023-09-18 22:38:31,405 INFO spawned: 'x11vnc' with pid 291
2023-09-18 22:38:31,407 INFO spawned: 'desktop' with pid 293
2023-09-18 22:38:31,408 INFO spawned: 'sunshine' with pid 295
PULSEAUDIO: Starting pulseaudio service
2023-09-18 22:38:31,643 INFO reaped unknown pid 335 (exit status 0)
2023-09-18 22:38:31,790 WARN exited: desktop (exit status 23; not expected)
2023-09-18 22:38:32,434 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:32,434 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:32,434 INFO success: audiostream entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:32,434 INFO success: frontend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:32,434 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:32,434 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:32,434 INFO success: sunshine entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-09-18 22:38:33,439 INFO spawned: 'desktop' with pid 354
2023-09-18 22:38:33,452 INFO reaped unknown pid 361 (exit status 0)
2023-09-18 22:38:33,578 WARN exited: desktop (exit status 23; not expected)
2023-09-18 22:38:35,581 INFO spawned: 'desktop' with pid 370
2023-09-18 22:38:35,596 INFO reaped unknown pid 376 (exit status 0)
2023-09-18 22:38:35,743 WARN exited: desktop (exit status 23; not expected)
2023-09-18 22:38:39,450 INFO spawned: 'desktop' with pid 394
2023-09-18 22:38:39,465 INFO reaped unknown pid 400 (exit status 0)
2023-09-18 22:38:39,591 WARN exited: desktop (exit status 23; not expected)

[Bug]: Unable to install games into /mnt/games mounted Docker volume

Describe the Bug

Problem: The container cannot write to the /mnt/games Docker volume mount, although permissions appear correct.

Upon fresh install of the container using docker-compose, everything works except the /mnt/games folder is not visible in the Steam client.

After following the troubleshooting steps here, I was then able to see the games folder named: "Mounted Games", but unable to read/write to the folder, being met with the following error:

An error occurred while installing <game>: "disk write error"

Steps to Reproduce

  1. sudo docker stop <container>
  2. sudo docker rm <container>
  3. sudo docker rmi <image>
  4. cd /opt/container-data/steam-headless/home
  5. sudo rm -rf ~/.local/share/flatpak
  6. cd /opt/container-services/steam-headless
  7. sudo docker-compose up -d --force-recreate

Expected Behavior

Being able to install games to the volume mount.

Screenshots

image
image
image
image

Relevant Settings

  • default docker compose file as per here.
  • ext4 file system for /mnt/games
  • Host /mnt/ permissions (user trent is 1000:1000):
trent@dell-e:/mnt$ ll
total 12
drwxr-xr-x  3 root  root  4096 Jul  9 19:19 ./
drwxr-xr-x 22 root  root  4096 Jul 10 14:18 ../
drwxrwxrwx  4 trent trent 4096 Jul 10 13:12 games/
  • Host games folder (and recursive) permissions:
trent@dell-e:/mnt/games$ ll
total 16
drwxrwxrwx 4 trent trent 4096 Jul 10 13:12 ./
drwxr-xr-x 3 root  root  4096 Jul  9 19:19 ../
drwxrwxrwx 3 trent trent 4096 Jul  9 19:59 GameLibrary/

docker-compose relevant mount config:

    # VOLUMES:
    volumes:
      # The location of your home directory.
      - /opt/container-data/steam-headless/home/:/home/default/:rw
      # The location where all games should be installed.
      # This path needs to be set as a library path in Steam after logging in.
      # Otherwise, Steam will store games in the home directory above.
      - /mnt/games/:/mnt/games/:rw
      # Input devices used for mouse and joypad support inside the container.
      - /dev/input/:/dev/input/:ro
      # The Xorg socket. This will be shared with other containers so they can access the X server.
      - /opt/container-data/steam-headless/.X11-unix/:/tmp/.X11-unix/:rw
      # Pulse audio socket. This will be shared with other containers so they can access the audio sink.
      - /opt/container-data/steam-headless/pulse/:/tmp/pulse/:rw
      # Store dind var files in a volume
      - steam-headless-var-lib-docker:/var/lib/docker/:rw
      # Store flatpak var files in a volume
      - steam-headless-var-lib-flatpak:/var/lib/flatpak/:rw

Version

Build: [2023-07-10 08:33:45] [master] [3be80a9] [debian]

Platform

  • Ubuntu - 22.04.1 LTS (Jammy Jellyfish)
  • 5.15.0-76-generic x86_64 x86_64 GNU/Linux
  • | NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |
  • Docker version 24.0.4, build 3713ee1
  • docker-compose version 1.29.2, build unknown

Relevant log output

No logs found in docker logs, and I was unable to see/find any logs in the steam app when attempting a game install.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.