Hello, first I acknowledge this isn't an issue, just a help request given how niche it is.
Please feel free to close this any time.
I migrated to Linux some recent years ago and started to dig my way through making everything standalone whenever I gain new knowledge, the relevant part is that I want to run my non-Steam games using the steam container runtime but without the full Steam client.
I don't know how to set ths env var STEAMVIDEOTOKEN, and its actual value is some random number + a UID, and there seems to be no docs for it, so I wanted to ask how should I set this?
The long story is that I've been using the non-Steam games feature of the store for quite some time now, but I stumbled upon this magnificent dev guide Launching non-Steam games in a Steam Linux Runtime container which does exactly what I really needed for a long time since all other online stores are really bad on Linux and without official support.
I noticed that all in-game videos are playing the fallback RGB-test video, and GStreamer log always shows failure loading opus plugin
0:00:00.007230065 71603 0xcda8d4f0 WARN WINE unixlib.c:124:find_element_factories: Failed to find any element factory matching type 64x, caps audio/x-opus, layout=(string)interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, codec_data=(buffer)4f707573486561640102380180bb0000000000, channel-mapping-family=(int)0, block_align=(int)0, depth=(int)0, bitrate=(int)0 / audio/x-opus, parsed=(boolean)true.
But if I run the same non-Steam game inside the Steam client all videos work.
To debug this, first I spawned a shell inside the container
PRESSURE_VESSEL_SHELL=instead %command%
And tried to mimic what proton does manually by prepending ubuntu12_32/video/ and Proton 11.0/files/lib/i386-linux-gnu/ dir to LD_LIBRARY_PATH and ran something this to make sure the .so files will load
ldd '<PROTON_PATH>/files/lib/i386-linux-gnu/gstreamer-1.0/libgstopus.so' | grep -i found
This works fine and to confirm it, I removed the LD_LIBRARY_PATH override and got some failure, so next I dumped all env vars to compare them against my bare environemnt
And also modified proton script to dump all env vars before spawning wine
...
g_session.init_session(sys.argv[1] != "runinprefix")
# custom code BEGIN
with open('/home/myuser/Desktop/py-proton.json', 'w', encoding='utf-8') as fff:
fff.write(json.dumps(g_session.env, indent=2, sort_keys=True, ensure_ascii=False))
# custom code END
#determine mode
rc = 0
if sys.argv[1] == "run":
...
And what I discovered eventually is that this env var STEAMVIDEOTOKEN is what makes the ffmpeg plugins which live in ~/.steam/steam/ubuntu12_*/video/ load properly and finally the videos work without the Steam client.
Adding a dummy value to this env var doesn't work and I can't find any dev docs for it.
Any guidance would be appreciated.
Hello, first I acknowledge this isn't an issue, just a help request given how niche it is.
Please feel free to close this any time.
I migrated to Linux some recent years ago and started to dig my way through making everything standalone whenever I gain new knowledge, the relevant part is that I want to run my non-Steam games using the steam container runtime but without the full Steam client.
I don't know how to set ths env var
STEAMVIDEOTOKEN, and its actual value is some random number + a UID, and there seems to be no docs for it, so I wanted to ask how should I set this?The long story is that I've been using the non-Steam games feature of the store for quite some time now, but I stumbled upon this magnificent dev guide Launching non-Steam games in a Steam Linux Runtime container which does exactly what I really needed for a long time since all other online stores are really bad on Linux and without official support.
I noticed that all in-game videos are playing the fallback RGB-test video, and GStreamer log always shows failure loading opus plugin
But if I run the same non-Steam game inside the Steam client all videos work.
To debug this, first I spawned a shell inside the container
And tried to mimic what
protondoes manually by prependingubuntu12_32/video/andProton 11.0/files/lib/i386-linux-gnu/dir toLD_LIBRARY_PATHand ran something this to make sure the .so files will loadThis works fine and to confirm it, I removed the
LD_LIBRARY_PATHoverride and got some failure, so next I dumped all env vars to compare them against my bare environemntAnd also modified
protonscript to dump all env vars before spawningwine... g_session.init_session(sys.argv[1] != "runinprefix") # custom code BEGIN with open('/home/myuser/Desktop/py-proton.json', 'w', encoding='utf-8') as fff: fff.write(json.dumps(g_session.env, indent=2, sort_keys=True, ensure_ascii=False)) # custom code END #determine mode rc = 0 if sys.argv[1] == "run": ...And what I discovered eventually is that this env var
STEAMVIDEOTOKENis what makes the ffmpeg plugins which live in~/.steam/steam/ubuntu12_*/video/load properly and finally the videos work without the Steam client.Adding a dummy value to this env var doesn't work and I can't find any dev docs for it.
Any guidance would be appreciated.