Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Josh5 - Steam (Headless)

Featured Replies

also I just noticed my Unraid restart showing nVidia driver could not locate?

IMG_4607.jpeg

  • Replies 796
  • Views 278.2k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Over the past month I have been slowly improving various aspects of Steam Headless. Here are some of the recently added updates: - Added neko as an optional alternative to noVNC (This must ne con

  • @ich777 was just telling me that apparently some games do not like some of the magic that exists in our Linux file systems and one possibly solution is to use a direct path to the disk rather than the

  • its already included - just set a docker environment variable ENABLE_SUNSHINE to true   it should be available after the container start at: https://[unraid-ip]:47990/ (where you can also en

Posted Images

4 hours ago, WilliamLi said:

Hi everyone,

if anyone could help me🥲.

I’m trying to understand why Steam Headless isn’t running anymore. It was working perfectly before but I can’t start it now. I’ve reinstalled all my Steam Headless and downgraded the Nvidia driver restart in Unraid.  The first time I tried starting Steam Headless it worked normally and I could connect to VNC after a few seconds but then it disconnected.  I’ve checked the logs and they always show a result of 11 indicating an error opening the X file.

thanks.

[ /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.
  - Configuring X11 with GPU ID: 'GPU-826c22a7-f2e8-4ce0-009e-23d5ff923c58'
  - 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
ERROR: driverInitFileInfo 578 result=11ERROR: init 664 result=11ERROR: init 250 result=11
WARNING: Unable to locate/open X configuration file.

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'

After that, I’ll see X11vnc and Sunshine exit and restart in a loop.

026-05-05 11:17:41,656 INFO reaped unknown pid 44355 (exit status 1)
2026-05-05 11:17:41,663 INFO reaped unknown pid 44371 (exit status 1)
2026-05-05 11:17:41,664 INFO reaped unknown pid 44388 (exit status 1)
2026-05-05 11:17:41,664 INFO reaped unknown pid 44452 (exit status 1)
2026-05-05 11:17:41,664 INFO reaped unknown pid 44550 (exit status 1)
2026-05-05 11:17:41,664 INFO reaped unknown pid 44460 (exit status 1)
2026-05-05 11:17:41,733 WARN exited: sunshine (exit status 134; not expected)
2026-05-05 11:17:41,765 INFO spawned: 'sunshine' with pid 44759
2026-05-05 11:17:41,784 WARN exited: x11vnc (exit status 3; not expected)
2026-05-05 11:17:41,787 INFO spawned: 'x11vnc' with pid 44764
2026-05-05 11:17:41,794 INFO reaped unknown pid 44278 (exit status 0)
2026-05-05 11:17:41,794 INFO reaped unknown pid 44769 (exit status 0)
2026-05-05 11:17:42,805 INFO spawned: 'xorg' with pid 44816
2026-05-05 11:17:42,806 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-05 11:17:42,806 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-05 11:17:42,806 INFO success: sunshine entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-05 11:17:43,842 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-05 11:17:43,942 INFO reaped unknown pid 44350 (exit status 0)
2026-05-05 11:17:44,009 INFO reaped unknown pid 44907 (exit status 1)

Sorry I can't be of any help, but wanted to let you know that I'm having the same problem. Just found Steam Headless, and thought it'd be an excellent addition, but it just keeps going in this loop. This is with all default settings (not that I'd have any idea what to change).

Edited by CraziFuzzy

My goodness! I’m getting it!

I spend my afternoons chatting with Google AI and problem-solving.

  1. Edit the Steam-Headless Template:

    • Extra Parameters: remove --runtime=nvidia

  2. Add the "CDI" Device:

    • Scroll to the bottom and click Add another Path, Port, Variable, Label or Device.

    • Config Type: Device

    • Name: Nvidia GPU

    • Value: nvidia.com/gpu=all

After playing for two hours, my game froze. I restarted the stream headless and log show, showing x11vnc xorg and sunshine exit and restarted the loop and couldn’t play anymore.

🥲

Edited by WilliamLi

I have had to work away for a week but will get back to it when I return. Thankyou very much for all the advice so far 🙂

On 5/5/2026 at 4:48 AM, WilliamLi said:

My goodness! I’m getting it!

I spend my afternoons chatting with Google AI and problem-solving.

  1. Edit the Steam-Headless Template:

    • Extra Parameters: remove --runtime=nvidia

  2. Add the "CDI" Device:

    • Scroll to the bottom and click Add another Path, Port, Variable, Label or Device.

    • Config Type: Device

    • Name: Nvidia GPU

    • Value: nvidia.com/gpu=all

You need the --runtime=nvidia in extra parameters. Also make sure you have the nvidia visible devices, and nvidia driver capabilities parameters.

I personally had to uninstall sunshine via the command line, and reinstall it via the software center from within the docker container.

9 minutes ago, Mrtj18 said:

You need the --runtime=nvidia in extra parameters. Also make sure you have the nvidia visible devices, and nvidia driver capabilities parameters.

I personally had to uninstall sunshine via the command line, and reinstall it via the software center from within the docker container.

Could you please share how to do it?

Right now, I’m having trouble VNC in to the Steam headless. How do I install it?

I did have the NVIDIA driver installed. I checked in the unraid command line and nvidia-smi shows it’s working. My Steam headless was working perfectly before but now it’s not. I can’t figure out what happened; I haven’t updated or restarted Unraid.

First make sure you have the correct parameters and the nvidia driver installed from this link.

Next make sure you can get the docker container to constantly run. Mine was attempting to open and kept force closing. Due to the same error everone was reporting here. ( I had to uninstall and reinstall the container)

Then I opened the console and did sudo apt remove sunshine. To remove sunshine, so the error would stop in the logs. (make sure you can enter the container from the webUI at this point)

Lastly I opened up the software option within the container (Applications-System-Software) and installed the Flathub User option to reinstall sunshine. Then the container started working correctly for me.

I still get the xorg11 errors, but the container starts correctly, and I can connect to the docker container from my steam deck and phone like usuall.

Hope this helps

Screenshot 2026-05-06 200455.png

Screenshot 2026-05-06 201148.png

Welp, container was running correctly yesterday, but now w/ the update to the Nvidia-plugin this morning, I'm getting the modesetting issue again. After the update, I tested steam-headless and got the below error. Steps to attempt to fix:

Uninstalled nvidia-driver

Reboot

Disabled Docker

Reboot

Reinstalled nvidia-driver

Reboot

Re-enabled Docker

Reboot

Removed the steam-headless container and renamed appdata configuration folder

Reinstalled steam-headless from previous apps

Tested w/ downloaded driver (595.71.05 production) - issue below

Downgraded driver to open source (595.71.05)

Reboot

Tested w/ OS 595.71.05 - issue below

Downgraded to 580.151.03

Reboot

Tested w/ 580.151.03 - issue below

According to ich777 the --device=nvidia.com/gpu=all should be switched back to --runtime=nvida as that should load CDI the way it used to do and you no longer needed to use --device=nvidia.com/gpu=all. Tried both ways each time. Yesterday the container would get me to a desktop at least, but Steam would never show up. Verified via console_log.txt in ~/.steam/steam/logs/ that it was running at least. Not sure how to get over this modesetting error now when at least I had a desktop yesterday even if it wasn't working. FYI, and not that it really relates, but I was able to get to a desktop yesterday by putting in the variable ENABLE_SUNSHINE=false into my configuration. Not really sure where to go from here. My video card is a RTX 3060.

image.png

(--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
(--) NVIDIA(0):     DFP-0 (boot)
(--) NVIDIA(0):     DFP-1
(--) NVIDIA(0):     DFP-2
(--) NVIDIA(0):     DFP-3
(--) NVIDIA(0):     DFP-4
(--) NVIDIA(0):     DFP-5
(--) NVIDIA(0):     DFP-6
(**) NVIDIA(0): Using ConnectedMonitor string "DFP-0".
(II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce RTX 3060 (GA106-A) at PCI:1:0:0
(II) NVIDIA(0):     (GPU-0)
(--) NVIDIA(0): Memory: 12582912 kBytes
(--) NVIDIA(0): VideoBIOS: 94.06.25.00.63
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(EE) NVIDIA(GPU-0): Failed to acquire modesetting permission.
(EE) NVIDIA(0): Failing initialization of X screen
(II) Unloading glxserver_nvidia
(EE) Screen(s) found, but none have a usable configuration.

Edited by chesh

1 hour ago, chesh said:

Welp, container was running correctly yesterday, but now w/ the update to the Nvidia-plugin this morning, I'm getting the modesetting issue again. After the update, I tested steam-headless and got the below error. Steps to attempt to fix:

Uninstalled nvidia-driver

Reboot

Disabled Docker

Reboot

Reinstalled nvidia-driver

Reboot

Re-enabled Docker

Reboot

Removed the steam-headless container and renamed appdata configuration folder

Reinstalled steam-headless from previous apps

Tested w/ downloaded driver (595.71.05 production) - issue below

Downgraded driver to open source (595.71.05)

Reboot

Tested w/ OS 595.71.05 - issue below

Downgraded to 580.151.03

Reboot

Tested w/ 580.151.03 - issue below

According to ich777 the --device=nvidia.com/gpu=all should be switched back to --runtime=nvida as that should load CDI the way it used to do and you no longer needed to use --device=nvidia.com/gpu=all. Tried both ways each time. Yesterday the container would get me to a desktop at least, but Steam would never show up. Verified via console_log.txt in ~/.steam/steam/logs/ that it was running at least. Not sure how to get over this modesetting error now when at least I had a desktop yesterday even if it wasn't working. FYI, and not that it really relates, but I was able to get to a desktop yesterday by putting in the variable ENABLE_SUNSHINE=false into my configuration. Not really sure where to go from here. My video card is a RTX 3060.

image.png

(--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
(--) NVIDIA(0):     DFP-0 (boot)
(--) NVIDIA(0):     DFP-1
(--) NVIDIA(0):     DFP-2
(--) NVIDIA(0):     DFP-3
(--) NVIDIA(0):     DFP-4
(--) NVIDIA(0):     DFP-5
(--) NVIDIA(0):     DFP-6
(**) NVIDIA(0): Using ConnectedMonitor string "DFP-0".
(II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce RTX 3060 (GA106-A) at PCI:1:0:0
(II) NVIDIA(0):     (GPU-0)
(--) NVIDIA(0): Memory: 12582912 kBytes
(--) NVIDIA(0): VideoBIOS: 94.06.25.00.63
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(EE) NVIDIA(GPU-0): Failed to acquire modesetting permission.
(EE) NVIDIA(0): Failing initialization of X screen
(II) Unloading glxserver_nvidia
(EE) Screen(s) found, but none have a usable configuration.

drop to the 580 and test again.

there is also a known driver issues withteh lattest builkd jub to nvdia not having the vulkan drivers.

1 hour ago, bmartino1 said:

drop to the 580 and test again.

there is also a known driver issues withteh lattest builkd jub to nvdia not having the vulkan drivers.

Downgraded to v580.159.03, deleted appdata directory for steam-headless, uninstalled steam-headless, and rebooted. Installed steam-headless when it came back up and started it. Same error:

image.png

xorg.err.log:

X.Org X Server 1.21.1.16
X Protocol Version 11, Revision 0
Current Operating System: Linux SteamHeadless 6.12.85-Unraid #1 SMP PREEMPT_DYNAMIC Thu Apr 30 11:24:09 PDT 2026 x86_64
Kernel command line: BOOT_IMAGE=/bzimage initrd=/bzroot,/bzroot-gui mitigations=off
xorg-server 2:21.1.16-1.3+deb13u1 (https://www.debian.org/support) 
Current version of pixman: 0.44.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: Thu May  7 16:21:49 2026
(==) 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"
(==) ServerLayout "Layout0"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Device0"
(**) |-->Input Device "Keyboard0"
(**) |-->Input Device "Mouse0"
(**) Allowing byte-swapped clients
(==) Automatically adding devices
(==) Automatically enabling devices
(**) Not automatically adding GPU devices
(==) Automatically binding GPU devices
(==) Max clients allowed: 256, resource mask: 0x1fffff
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
	Entry deleted from font path.
(==) 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
(==) ModulePath set to "/usr/lib/xorg/modules"
(WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
(WW) Disabling Keyboard0
(WW) Disabling Mouse0
(++) using VT number 7

(II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
(II) xfree86: Adding drm device (/dev/dri/card1)
(II) Platform probe for /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1
(II) xfree86: Adding drm device (/dev/dri/card0)
(II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0
(--) PCI:*(0@0:2:0) 8086:4680:1043:8882 rev 12, Mem @ 0x60fd000000/16777216, 0x4000000000/268435456, I/O @ 0x00008000/64, BIOS @ 0x????????/131072
(--) PCI: (1@0:0:0) 10de:2504:3842:3656 rev 161, Mem @ 0x84000000/16777216, 0x60e0000000/268435456, 0x60f0000000/33554432, I/O @ 0x00007000/128, BIOS @ 0x????????/524288
(II) Loading /usr/lib/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="X.Org Foundation"
	compiled for 1.21.1.16, module version = 1.0.0
(II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
	compiled for 1.6.99.901, module version = 1.0.0
(II) NVIDIA dlloader X Driver  580.159.03  Fri Apr 24 05:51:43 UTC 2026
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Loading /usr/lib/xorg/modules/libwfb.so
(II) Module wfb: vendor="X.Org Foundation"
	compiled for 1.21.1.16, module version = 1.0.0
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Enabling 2D acceleration
(**) NVIDIA(0): ConnectedMonitor string: "DFP"
(II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
(II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
	compiled for 1.6.99.901, module version = 1.0.0
(II) NVIDIA GLX Module  580.159.03  Fri Apr 24 05:54:57 UTC 2026
(II) NVIDIA: The X server supports PRIME Render Offload.
(--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
(--) NVIDIA(0):     DFP-0 (boot)
(--) NVIDIA(0):     DFP-1
(--) NVIDIA(0):     DFP-2
(--) NVIDIA(0):     DFP-3
(--) NVIDIA(0):     DFP-4
(--) NVIDIA(0):     DFP-5
(--) NVIDIA(0):     DFP-6
(**) NVIDIA(0): Using ConnectedMonitor string "DFP-0".
(II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce RTX 3060 (GA106-A) at PCI:1:0:0
(II) NVIDIA(0):     (GPU-0)
(--) NVIDIA(0): Memory: 12582912 kBytes
(--) NVIDIA(0): VideoBIOS: 94.06.25.00.63
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(EE) NVIDIA(GPU-0): Failed to acquire modesetting permission.
(EE) NVIDIA(0): Failing initialization of X screen
(II) Unloading glxserver_nvidia
(EE) Screen(s) found, but none have a usable configuration.
(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.

Steam-headless container logs:

2026-05-07 16:21:49,939 INFO success: dbus entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: udev entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: polkit entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: accounts-daemon entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: xorg entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: frontend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: pulseaudio entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,939 INFO success: desktop entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-05-07 16:21:49,985 WARN exited: xorg (exit status 1; not expected)
2026-05-07 16:21:50,030 INFO spawned: 'xorg' with pid 768
2026-05-07 16:21:50,077 WARN exited: xorg (exit status 1; not expected)
2026-05-07 16:21:51,971 INFO spawned: 'xorg' with pid 845
2026-05-07 16:21:52,028 WARN exited: xorg (exit status 1; not expected)
2026-05-07 16:21:54,954 INFO spawned: 'xorg' with pid 1044
2026-05-07 16:21:55,016 WARN exited: xorg (exit status 1; not expected)
2026-05-07 16:21:58,019 INFO spawned: 'xorg' with pid 1243
2026-05-07 16:21:58,084 WARN exited: xorg (exit status 1; not expected)
2026-05-07 16:21:58,955 INFO gave up: xorg entered FATAL state, too many start retries too quickly
2026-05-07 16:22:19,151 WARN exited: x11vnc (exit status 11; not expected)
2026-05-07 16:22:19,151 WARN exited: desktop (exit status 11; not expected)

Edited by chesh

Please post a diag file. Make sure that the GPU isn't being vfo bound and is not pulled to any other service such as a VM that may have may not have taken the device.

And that no other dockers are using or accessing that card at this time for testing.

Otherwise, there's a potential grub of boot edit that we can try, but without diags to verify other information. This looks like a cardisan use elsewhere before this Docker started. As such, a screen x session could not be implemented on the card.

20 minutes ago, bmartino1 said:

Please post a diag file. Make sure that the GPU isn't being vfo bound and is not pulled to any other service such as a VM that may have may not have taken the device.

And that no other dockers are using or accessing that card at this time for testing.

Otherwise, there's a potential grub of boot edit that we can try, but without diags to verify other information. This looks like a cardisan use elsewhere before this Docker started. As such, a screen x session could not be implemented on the card.

Well, darn, you just reminded me that I had a fix implemented that is probably the reason for this issue since I just upgraded to 7.2.5. I have an iGPU and an Nvidia in my system and use unRAID GUI. I'm supposed to do a:

sed -i "/disable_xconfig=/c\disable_xconfig=true" /boot/config/plugins/nvidia-driver/settings.cfg

from SSH to get the GUI back onto the iGPU after an upgrade and I had totally forgotten about it. Is there any way w/ user scripts to make sure this is persistent between upgrades that you know of? I just applied the fix, but it's going to be a sec before I can reboot. I'll post an edit as soon as I reboot in about 20mins.


Edit: Yep, that was it. Just started it up, got to the desktop and Steam is installing now and signing in. Thanks for reminding me about that fix I had in place. Going to put it in as a start array and stop array script just so an extra reboot after upgrade should make the setting change and get X on the correct graphics card/framebuffer.

Edited by chesh

17 hours ago, chesh said:

Well, darn, you just reminded me that I had a fix implemented that is probably the reason for this issue since I just upgraded to 7.2.5. I have an iGPU and an Nvidia in my system and use unRAID GUI. I'm supposed to do a:

sed -i "/disable_xconfig=/c\disable_xconfig=true" /boot/config/plugins/nvidia-driver/settings.cfg

from SSH to get the GUI back onto the iGPU after an upgrade and I had totally forgotten about it. Is there any way w/ user scripts to make sure this is persistent between upgrades that you know of? I just applied the fix, but it's going to be a sec before I can reboot. I'll post an edit as soon as I reboot in about 20mins.


Edit: Yep, that was it. Just started it up, got to the desktop and Steam is installing now and signing in. Thanks for reminding me about that fix I had in place. Going to put it in as a start array and stop array script just so an extra reboot after upgrade should make the setting change and get X on the correct graphics card/framebuffer.

if this is a working comand to fix this:

sed -i "/disable_xconfig=/c\disable_xconfig=true" /boot/config/plugins/nvidia-driver/settings.cfg

then yes we can add a

sleep 10
sed -i "/disable_xconfig=/c\disable_xconfig=true" /boot/config/plugins/nvidia-driver/settings.cfg

to the usb /boot/config/go

or at startup cron first array start with the user script plugin
sed -i "/disable_xconfig=/c\disable_xconfig=true" /boot/config/plugins/nvidia-driver/settings.cfg

those are the 2 locations I'm aware of that can run the script at boot.

Hi, I tried your method, but after installing Sunshine from the App Store when I open it. the log will show up org and desktop, x11vnc exit, but sunshine didn't open it. after x11vnc will come back I can vnc in to my steam headless.

On 5/7/2026 at 11:18 AM, Mrtj18 said:

First make sure you have the correct parameters and the nvidia driver installed from this link.

Next make sure you can get the docker container to constantly run. Mine was attempting to open and kept force closing. Due to the same error everone was reporting here. ( I had to uninstall and reinstall the container)

Then I opened the console and did sudo apt remove sunshine. To remove sunshine, so the error would stop in the logs. (make sure you can enter the container from the webUI at this point)

Lastly I opened up the software option within the container (Applications-System-Software) and installed the Flathub User option to reinstall sunshine. Then the container started working correctly for me.

I still get the xorg11 errors, but the container starts correctly, and I can connect to the docker container from my steam deck and phone like usuall.

Hope this helps

Screenshot 2026-05-06 200455.png

Screenshot 2026-05-06 201148.png

Screenshot 2026-05-10 at 16.51.29.png

Screenshot 2026-05-10 at 16.50.21.png

I can use Steam Link to play the game with Steam Headless. I think the issue is that Sunshine can’t open. When I open Sunshine, org and Desktop, X11vnc exits.  I try restarting Steam Headless but the log shows Sunshine exiting multiple times.

Screenshot 2026-05-10 at 17.01.25.png

On 5/10/2026 at 1:39 AM, WilliamLi said:

I can use Steam Link to play the game with Steam Headless. I think the issue is that Sunshine can’t open. When I open Sunshine, org and Desktop, X11vnc exits.  I try restarting Steam Headless but the log shows Sunshine exiting multiple times.

Screenshot 2026-05-10 at 17.01.25.png

Add ENABLE_SUNSHINE=false as a variable to your container. This is currently a known issue. You can use Steam Link to play on your remote devices until it gets fixed.

https://github.com/Steam-Headless/docker-steam-headless/issues/231

Hi,

I had that crash loop issue too, and here is what seams to be the real root cause.

The start-dumb-udev.sh script contain a supervisorctl restart xorg command. Every time udev events occurred (like Sunshine creating its virtual mouse/keyboard devices), udev restarted Xorg, causing a cascading crash.

Sunshine created its virtual input devices → udev detected them → restarted xorg → crash loop.

Those Unraid Shell commands fixed the issue for me :

docker exec steam-headless sed -i 's|supervisorctl restart xorg|true # disabled|' /usr/bin/start-dumb-udev.sh

docker exec steam-headless supervisorctl restart udev

But a restart lose the modifications, so to make the fix permanent, you have to use those commands in Unraid's shell:

# This will copy the modified script from the container to the appdata folder, so you have to have executed the 2 previous commands first

docker cp steam-headless:/usr/bin/start-dumb-udev.sh \

/mnt/user/appdata/steam-headless/start-dumb-udev.sh

# Verify that the fix is indeed there

grep "restart xorg\|disabled" \

/mnt/user/appdata/steam-headless/start-dumb-udev.sh

And this is an Extra Parameters you have to add in the docker image, telling it to use the modified file previously copied on your appdata folder :

"-v '/mnt/user/appdata/steam-headless/start-dumb-udev.sh':'/usr/bin/start-dumb-udev.sh':'ro'"

Restart the container and now it should boot cleanly without a crash loop on the first boot.

Hope that it will help.

On 5/13/2026 at 1:58 AM, Edgard666 said:

Hi,

I had that crash loop issue too, and here is what seams to be the real root cause.

The start-dumb-udev.sh script contain a supervisorctl restart xorg command. Every time udev events occurred (like Sunshine creating its virtual mouse/keyboard devices), udev restarted Xorg, causing a cascading crash.

Sunshine created its virtual input devices → udev detected them → restarted xorg → crash loop.

Those Unraid Shell commands fixed the issue for me :

docker exec steam-headless sed -i 's|supervisorctl restart xorg|true # disabled|' /usr/bin/start-dumb-udev.sh

docker exec steam-headless supervisorctl restart udev

But a restart lose the modifications, so to make the fix permanent, you have to use those commands in Unraid's shell:

# This will copy the modified script from the container to the appdata folder, so you have to have executed the 2 previous commands first

docker cp steam-headless:/usr/bin/start-dumb-udev.sh \

/mnt/user/appdata/steam-headless/start-dumb-udev.sh

# Verify that the fix is indeed there

grep "restart xorg\|disabled" \

/mnt/user/appdata/steam-headless/start-dumb-udev.sh

And this is an Extra Parameters you have to add in the docker image, telling it to use the modified file previously copied on your appdata folder :

"-v '/mnt/user/appdata/steam-headless/start-dumb-udev.sh':'/usr/bin/start-dumb-udev.sh':'ro'"

Restart the container and now it should boot cleanly without a crash loop on the first boot.

Hope that it will help.

Thanks for the instructions on making it persistent. I was just dealing w/ using Steam Link instead. Seems to be working fine now that I did your extra commands.

  • 2 weeks later...
On 5/13/2026 at 9:58 AM, Edgard666 said:

Hi,

I had that crash loop issue too, and here is what seams to be the real root cause.

The start-dumb-udev.sh script contain a supervisorctl restart xorg command. Every time udev events occurred (like Sunshine creating its virtual mouse/keyboard devices), udev restarted Xorg, causing a cascading crash.

Sunshine created its virtual input devices → udev detected them → restarted xorg → crash loop.

Those Unraid Shell commands fixed the issue for me :

docker exec steam-headless sed -i 's|supervisorctl restart xorg|true # disabled|' /usr/bin/start-dumb-udev.sh

docker exec steam-headless supervisorctl restart udev

But a restart lose the modifications, so to make the fix permanent, you have to use those commands in Unraid's shell:

# This will copy the modified script from the container to the appdata folder, so you have to have executed the 2 previous commands first

docker cp steam-headless:/usr/bin/start-dumb-udev.sh \

/mnt/user/appdata/steam-headless/start-dumb-udev.sh

# Verify that the fix is indeed there

grep "restart xorg\|disabled" \

/mnt/user/appdata/steam-headless/start-dumb-udev.sh

And this is an Extra Parameters you have to add in the docker image, telling it to use the modified file previously copied on your appdata folder :

"-v '/mnt/user/appdata/steam-headless/start-dumb-udev.sh':'/usr/bin/start-dumb-udev.sh':'ro'"

Restart the container and now it should boot cleanly without a crash loop on the first boot.

Hope that it will help.

This solved my xorg crash loop issue as well. Thanks for sharing!

  • 1 month later...

Hi, I had Steam Headless running for a while but now it's stopped working.

My machine is running an AMD 5600g APU, 32GB DDR4, Unraid 7.2.4.

The last thing I remember doing was updating Steam Headless itself.

Other than reinstalling, I'm not sure where to go from here.

I looked through the logs, this one stood out to me:

X.Org X Server 1.21.1.16

X Protocol Version 11, Revision 0

Current Operating System: Linux SteamHeadless 6.12.54-Unraid #1 SMP PREEMPT_DYNAMIC Tue Oct 21 15:58:46 PDT 2025 x86_64

Kernel command line: BOOT_IMAGE=/bzimage initrd=/bzroot

xorg-server 2:21.1.16-1.3+deb13u2 (https://www.debian.org/support)

Current version of pixman: 0.44.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.1.log", Time: Fri Jul 3 11:14:05 2026

(==) Using config directory: "/etc/X11/xorg.conf.d"

(==) Using system config directory "/usr/share/X11/xorg.conf.d"

(==) No Layout section. Using the first Screen section.

(==) No screen section available. Using defaults.

(**) |-->Screen "Default Screen Section" (0)

(**) | |-->Monitor "<default monitor>"

(==) No monitor specified for screen "Default Screen Section".

Using a default monitor configuration.

(**) Allowing byte-swapped clients

(==) Automatically adding devices

(==) Automatically enabling devices

(==) Automatically adding GPU devices

(==) Automatically binding GPU devices

(==) Max clients allowed: 256, resource mask: 0x1fffff

(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.

Entry deleted from font path.

(==) 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

(==) ModulePath set to "/usr/lib/xorg/modules"

(II) The server relies on udev to provide the list of input devices.

If no devices become available, reconfigure udev or disable AutoAddDevices.

(EE) systemd-logind: failed to get session: Launch helper exited with unknown return code 1

(II) xfree86: Adding drm device (/dev/dri/card0)

(II) Platform probe for /sys/devices/pci0000:00/0000:00:08.1/0000:30:00.0/drm/card0

(--) PCI:*(48@0:0:0) 1002:1638:1002:1636 rev 201, Mem @ 0xd0000000/268435456, 0xe0000000/2097152, 0xfca00000/524288, I/O @ 0x0000d000/256

(II) Loading /usr/lib/xorg/modules/extensions/libglx.so

(II) Module glx: vendor="X.Org Foundation"

compiled for 1.21.1.16, module version = 1.0.0

(==) Matched ati as autoconfigured driver 0

(==) Matched modesetting as autoconfigured driver 1

(==) Matched fbdev as autoconfigured driver 2

(==) Matched vesa as autoconfigured driver 3

(==) Assigned the driver to the xf86ConfigLayout

(II) Loading /usr/lib/xorg/modules/drivers/ati_drv.so

(II) Module ati: vendor="X.Org Foundation"

compiled for 1.21.1.9, module version = 22.0.0

(II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so

(II) Module radeon: vendor="X.Org Foundation"

compiled for 1.21.1.9, module version = 22.0.0

(II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so

(II) Module modesetting: vendor="X.Org Foundation"

compiled for 1.21.1.16, module version = 1.21.1

(II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so

(II) Module fbdev: vendor="X.Org Foundation"

compiled for 1.21.1.3, module version = 0.5.0

(II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so

(II) Module vesa: vendor="X.Org Foundation"

compiled for 1.21.1.15, module version = 2.6.0

(II) RADEON: Driver for ATI/AMD Radeon chipsets:

ATI Radeon Mobility X600 (M24), ATI FireMV 2400,

ATI Radeon Mobility X300 (M24), ATI FireGL M24 GL,

ATI Radeon X600 (RV380), ATI FireGL V3200 (RV380),

ATI Radeon IGP320 (A3), ATI Radeon IGP330/340/350 (A4),

ATI Radeon 9500, ATI Radeon 9600TX, ATI FireGL Z1, ATI Radeon 9800SE,

ATI Radeon 9800, ATI FireGL X2, ATI Radeon 9600, ATI Radeon 9600SE,

ATI Radeon 9600XT, ATI FireGL T2, ATI Radeon 9650, ATI FireGL RV360,

ATI Radeon 7000 IGP (A4+), ATI Radeon 8500 AIW,

ATI Radeon IGP320M (U1), ATI Radeon IGP330M/340M/350M (U2),

ATI Radeon Mobility 7000 IGP, ATI Radeon 9000/PRO, ATI Radeon 9000,

ATI Radeon X800 (R420), ATI Radeon X800PRO (R420),

ATI Radeon X800SE (R420), ATI FireGL X3 (R420),

ATI Radeon Mobility 9800 (M18), ATI Radeon X800 SE (R420),

ATI Radeon X800XT (R420), ATI Radeon X800 VE (R420),

ATI Radeon X850 (R480), ATI Radeon X850 XT (R480),

ATI Radeon X850 SE (R480), ATI Radeon X850 PRO (R480),

ATI Radeon X850 XT PE (R480), ATI Radeon Mobility M7,

ATI Mobility FireGL 7800 M7, ATI Radeon Mobility M6,

ATI FireGL Mobility 9000 (M9), ATI Radeon Mobility 9000 (M9),

ATI Radeon 9700 Pro, ATI Radeon 9700/9500Pro, ATI FireGL X1,

ATI Radeon 9800PRO, ATI Radeon 9800XT,

ATI Radeon Mobility 9600/9700 (M10/M11),

ATI Radeon Mobility 9600 (M10), ATI Radeon Mobility 9600 (M11),

ATI FireGL Mobility T2 (M10), ATI FireGL Mobility T2e (M11),

ATI Radeon, ATI FireGL 8700/8800, ATI Radeon 8500, ATI Radeon 9100,

ATI Radeon 7500, ATI Radeon VE/7000, ATI ES1000,

ATI Radeon Mobility X300 (M22), ATI Radeon Mobility X600 SE (M24C),

ATI FireGL M22 GL, ATI Radeon X800 (R423), ATI Radeon X800PRO (R423),

ATI Radeon X800LE (R423), ATI Radeon X800SE (R423),

ATI Radeon X800 XTP (R430), ATI Radeon X800 XL (R430),

ATI Radeon X800 SE (R430), ATI Radeon X800 (R430),

ATI FireGL V7100 (R423), ATI FireGL V5100 (R423),

ATI FireGL unknown (R423), ATI Mobility FireGL V5000 (M26),

ATI Mobility Radeon X700 XL (M26), ATI Mobility Radeon X700 (M26),

ATI Radeon X550XTX, ATI Radeon 9100 IGP (A5),

ATI Radeon Mobility 9100 IGP (U3), ATI Radeon XPRESS 200,

ATI Radeon XPRESS 200M, ATI Radeon 9250, ATI Radeon 9200,

ATI Radeon 9200SE, ATI FireMV 2200, ATI Radeon X300 (RV370),

ATI Radeon X600 (RV370), ATI Radeon X550 (RV370),

ATI FireGL V3100 (RV370), ATI FireMV 2200 PCIE (RV370),

ATI Radeon Mobility 9200 (M9+), ATI Mobility Radeon X800 XT (M28),

ATI Mobility FireGL V5100 (M28), ATI Mobility Radeon X800 (M28),

ATI Radeon X850, ATI unknown Radeon / FireGL (R480),

ATI Radeon X800XT (R423), ATI FireGL V5000 (RV410),

ATI Radeon X700 XT (RV410), ATI Radeon X700 PRO (RV410),

ATI Radeon X700 SE (RV410), ATI Radeon X700 (RV410),

ATI Radeon X1800, ATI Mobility Radeon X1800 XT,

ATI Mobility Radeon X1800, ATI Mobility FireGL V7200,

ATI FireGL V7200, ATI FireGL V5300, ATI Mobility FireGL V7100,

ATI FireGL V7300, ATI FireGL V7350, ATI Radeon X1600, ATI RV505,

ATI Radeon X1300/X1550, ATI Radeon X1550, ATI M54-GL,

ATI Mobility Radeon X1400, ATI Radeon X1550 64-bit,

ATI Mobility Radeon X1300, ATI Radeon X1300, ATI FireGL V3300,

ATI FireGL V3350, ATI Mobility Radeon X1450,

ATI Mobility Radeon X2300, ATI Mobility Radeon X1350,

ATI FireMV 2250, ATI Radeon X1650, ATI Mobility FireGL V5200,

ATI Mobility Radeon X1600, ATI Radeon X1300 XT/X1600 Pro,

ATI FireGL V3400, ATI Mobility FireGL V5250,

ATI Mobility Radeon X1700, ATI Mobility Radeon X1700 XT,

ATI FireGL V5200, ATI Radeon X2300HD, ATI Mobility Radeon HD 2300,

ATI Radeon X1950, ATI Radeon X1900, ATI AMD Stream Processor,

ATI RV560, ATI Mobility Radeon X1900, ATI Radeon X1950 GT, ATI RV570,

ATI FireGL V7400, ATI Radeon 9100 PRO IGP,

ATI Radeon Mobility 9200 IGP, ATI Radeon X1200, ATI RS740,

ATI RS740M, ATI Radeon HD 2900 XT, ATI Radeon HD 2900 Pro,

ATI Radeon HD 2900 GT, ATI FireGL V8650, ATI FireGL V8600,

ATI FireGL V7600, ATI Radeon 4800 Series, ATI Radeon HD 4870 x2,

ATI Radeon HD 4850 x2, ATI FirePro V8750 (FireGL),

ATI FirePro V7760 (FireGL), ATI Mobility RADEON HD 4850,

ATI Mobility RADEON HD 4850 X2, ATI FirePro RV770,

AMD FireStream 9270, AMD FireStream 9250, ATI FirePro V8700 (FireGL),

ATI Mobility RADEON HD 4870, ATI Mobility RADEON M98,

ATI FirePro M7750, ATI M98, ATI Mobility Radeon HD 4650,

ATI Radeon RV730 (AGP), ATI Mobility Radeon HD 4670,

ATI FirePro M5750, ATI RV730XT [Radeon HD 4670], ATI RADEON E4600,

ATI Radeon HD 4600 Series, ATI RV730 PRO [Radeon HD 4650],

ATI FirePro V7750 (FireGL), ATI FirePro V5700 (FireGL),

ATI FirePro V3750 (FireGL), ATI Mobility Radeon HD 4830,

ATI Mobility Radeon HD 4850, ATI FirePro M7740, ATI RV740,

ATI Radeon HD 4770, ATI Radeon HD 4700 Series, ATI RV610,

ATI Radeon HD 2400 XT, ATI Radeon HD 2400 Pro,

ATI Radeon HD 2400 PRO AGP, ATI FireGL V4000, ATI Radeon HD 2350,

ATI Mobility Radeon HD 2400 XT, ATI Mobility Radeon HD 2400,

ATI RADEON E2400, ATI FireMV 2260, ATI RV670, ATI Radeon HD3870,

ATI Mobility Radeon HD 3850, ATI Radeon HD3850,

ATI Mobility Radeon HD 3850 X2, ATI Mobility Radeon HD 3870,

ATI Mobility Radeon HD 3870 X2, ATI Radeon HD3870 X2,

ATI FireGL V7700, ATI Radeon HD3690, AMD Firestream 9170,

ATI Radeon HD 4550, ATI Radeon RV710, ATI Radeon HD 4350,

ATI Mobility Radeon 4300 Series, ATI Mobility Radeon 4500 Series,

ATI FirePro RG220, ATI Mobility Radeon 4330, ATI RV630,

ATI Mobility Radeon HD 2600, ATI Mobility Radeon HD 2600 XT,

ATI Radeon HD 2600 XT AGP, ATI Radeon HD 2600 Pro AGP,

ATI Radeon HD 2600 XT, ATI Radeon HD 2600 Pro, ATI Gemini RV630,

ATI Gemini Mobility Radeon HD 2600 XT, ATI FireGL V5600,

ATI FireGL V3600, ATI Radeon HD 2600 LE,

ATI Mobility FireGL Graphics Processor, ATI Radeon HD 3470,

ATI Mobility Radeon HD 3430, ATI Mobility Radeon HD 3400 Series,

ATI Radeon HD 3450, ATI Radeon HD 3430, ATI FirePro V3700,

ATI FireMV 2450, ATI Radeon HD 3600 Series, ATI Radeon HD 3650 AGP,

ATI Radeon HD 3600 PRO, ATI Radeon HD 3600 XT,

ATI Mobility Radeon HD 3650, ATI Mobility Radeon HD 3670,

ATI Mobility FireGL V5700, ATI Mobility FireGL V5725,

ATI Radeon HD 3200 Graphics, ATI Radeon 3100 Graphics,

ATI Radeon HD 3300 Graphics, ATI Radeon 3000 Graphics, SUMO, SUMO2,

ATI Radeon HD 4200, ATI Radeon 4100, ATI Mobility Radeon HD 4200,

ATI Mobility Radeon 4100, ATI Radeon HD 4290, ATI Radeon HD 4250,

AMD Radeon HD 6310 Graphics, AMD Radeon HD 6250 Graphics,

AMD Radeon HD 6300 Series Graphics,

AMD Radeon HD 6200 Series Graphics, PALM, CYPRESS,

ATI FirePro (FireGL) Graphics Adapter, AMD Firestream 9370,

AMD Firestream 9350, ATI Radeon HD 5800 Series,

ATI Radeon HD 5900 Series, ATI Mobility Radeon HD 5800 Series,

ATI Radeon HD 5700 Series, ATI Radeon HD 6700 Series,

ATI Mobility Radeon HD 5000 Series, ATI Mobility Radeon HD 5570,

ATI Radeon HD 5670, ATI Radeon HD 5570, ATI Radeon HD 5500 Series,

REDWOOD, ATI Mobility Radeon Graphics, CEDAR, ATI FirePro 2270,

ATI Radeon HD 5450, CAYMAN, AMD Radeon HD 6900 Series,

AMD Radeon HD 6900M Series, Mobility Radeon HD 6000 Series, BARTS,

AMD Radeon HD 6800 Series, AMD Radeon HD 6700 Series, TURKS, CAICOS,

ARUBA, TAHITI, PITCAIRN, VERDE, OLAND, HAINAN, BONAIRE, KABINI,

MULLINS, KAVERI, HAWAII

(II) modesetting: Driver for Modesetting Kernel Drivers: kms

(II) FBDEV: driver for framebuffer: fbdev

(II) VESA: driver for VESA chipsets: vesa

xf86EnableIO: failed to enable I/O ports 0000-03ff (Operation not permitted)

(EE) open /dev/dri/card0: No such file or directory

(WW) Falling back to old probe method for modesetting

(EE) open /dev/dri/card0: No such file or directory

(II) Loading /usr/lib/xorg/modules/libfbdevhw.so

(II) Module fbdevhw: vendor="X.Org Foundation"

compiled for 1.21.1.16, module version = 0.0.2

(EE) Unable to find a valid framebuffer device

(WW) Falling back to old probe method for fbdev

(II) Loading /usr/lib/xorg/modules/libfbdevhw.so

(II) Module fbdevhw: vendor="X.Org Foundation"

compiled for 1.21.1.16, module version = 0.0.2

(EE) open /dev/fb0: No such file or directory

vesa: Ignoring device with a bound kernel driver

(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support

(EE) Screen 0 deleted because of no matching config section.

(EE) Screen 0 deleted because of no matching config section.

(EE) Screen 0 deleted because of no matching config section.

(EE) Device(s) detected, but none match those in the config file.

(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.1.log" for additional information.

(EE)

(EE) Server terminated with error (1). Closing log file.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.