Hi all.
I have a NixOS desktop with an NVIDIA graphics card that I use for both work and gaming that I would like to be able to login remotely and use as gaming server when on another device (eg, my laptop).
I intend to be able to launch steam remotely and use-it to run a game locally and stream to another device (that also has steam installed).
I already have Wake on LAN and ssh setup with X forwarding enabled, however steam is unable to be launched just with remote ssh access.
steam.sh[4236]: Running Steam on nixos 25.05 64-bit
steam.sh[4236]: STEAM_RUNTIME is enabled automatically
setup.sh[4284]: Steam runtime environment up-to-date!
steam.sh[4236]: Using supervisor /home/dvalinn/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
steam.sh[4236]: Steam client's requirements are satisfied
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2025-02-05 17:47:34] Startup - updater built Jan 28 2025 00:50:36
[2025-02-05 17:47:34] Startup - Steam Client launched with: '/home/dvalinn/.local/share/Steam/ubuntu12_32/steam' '-srt-logger-opened'
02/05 17:47:34 minidumps folder is set to /tmp/dumps
02/05 17:47:34 Init: Installing breakpad exception handler for appid(steam)/version(1738026274)/tid(4352)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2025-02-05 17:47:35] Loading cached metrics from disk (/home/dvalinn/.local/share/Steam/package/steam_client_metrics.bin)
[2025-02-05 17:47:35] Using the following download hosts for Public, Realm steamglobal
[2025-02-05 17:47:35] 1. https://client-update.fastly.steamstatic.com, /, Realm 'steamglobal', weight was 900, source = 'update_hosts_cached.vdf'
[2025-02-05 17:47:35] 2. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2025-02-05 17:47:35] 3. https://client-update.steamstatic.com, /, Realm 'steamglobal', weight was 1, source = 'baked in'
[2025-02-05 17:47:35] Checking for update on startup
[2025-02-05 17:47:35] Checking for available updates...
[2025-02-05 17:47:35] Downloading manifest: https://client-update.fastly.steamstatic.com/steam_client_ubuntu12
[2025-02-05 17:47:35] Manifest download: send request
[2025-02-05 17:47:35] Manifest download: waiting for download to finish
[2025-02-05 17:47:35] Manifest download: finished
[2025-02-05 17:47:35] Download skipped: /steam_client_ubuntu12 version 1738026274, installed version 1738026274, existing pending version 0
[2025-02-05 17:47:35] Nothing to do
[2025-02-05 17:47:35] Verifying installation...
[2025-02-05 17:47:35] Performing checksum verification of executable files
[2025-02-05 17:47:36] Verification complete
UpdateUI: skip show logo
Steam logging initialized: directory: /home/dvalinn/.local/share/Steam/logs
OpenGL GLX extension not supported by display
OpenGL GLX extension not supported by displaysrc/steamUI/spewmanager.cpp (184) : Assertion Failed: Error: OpenGL GLX extension not supported by display
src/steamUI/spewmanager.cpp (184) : Assertion Failed: Error: OpenGL GLX extension not supported by display
02/05 17:47:36 Init: Installing breakpad exception handler for appid(steam)/version(1738026274)/tid(4352)
assert_20250205174736_7.dmp[4362]: Uploading dump (out-of-process)
/tmp/dumps/assert_20250205174736_7.dmp
assert_20250205174736_7.dmp[4362]: Finished uploading minidump (out-of-process): success = no
assert_20250205174736_7.dmp[4362]: error: Could not resolve hostname
assert_20250205174736_7.dmp[4362]: file ''/tmp/dumps/assert_20250205174736_7.dmp'', upload no: ''Could not resolve hostname''
Xlib: extension "RANDR" missing on display "localhost:10.0".
Xlib: extension "RANDR" missing on display "localhost:10.0".
Xlib: extension "XInputExtension" missing on display "localhost:10.0".
Xlib: extension "RANDR" missing on display "localhost:10.0".
Xlib: extension "XInputExtension" missing on display "localhost:10.0".
steamwebhelper.sh[4370]: Using supervisor /home/dvalinn/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
steamwebhelper.sh[4370]: Starting steamwebhelper under bootstrap sniper steam runtime via /home/dvalinn/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sh
steamwebhelper.sh[4370]: Using CEF sandbox \(try with -no-cef-sandbox if this fails\)
steamwebhelper.sh[4370]: Starting steamwebhelper with Sniper steam runtime at /home/dvalinn/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/_v2-entry-point
src/vgui2/src/surface_linux.cpp (1954) : glXChooseVisual failed
src/vgui2/src/surface_linux.cpp (1954) : glXChooseVisual failed
src/vgui2/src/surface_linux.cpp (1954) : Fatal assert; application exiting
src/vgui2/src/surface_linux.cpp (1954) : Fatal assert; application exiting
02/05 17:47:42 Init: Installing breakpad exception handler for appid(steam)/version(1738026274)/tid(4352)
assert_20250205174742_11.dmp[4413]: Uploading dump (out-of-process)
/tmp/dumps/assert_20250205174742_11.dmp
assert_20250205174742_11.dmp[4413]: Finished uploading minidump (out-of-process): success = no
assert_20250205174742_11.dmp[4413]: error: Could not resolve hostname
assert_20250205174742_11.dmp[4413]: file ''/tmp/dumps/assert_20250205174742_11.dmp'', upload no: ''Could not resolve hostname''
I have also tried to setup sunshine in the past, but to no success as I could not get the video stream to work, only audio and inputs (both for remote desktop and specific application streaming).
I have found some configurations for nix headless servers online and was wondering if some sort of setup can be created with a normal graphical user and a separate one for “headless” access.