Steam client version (build number or date): beta 1695679261
Distribution (e.g. Ubuntu): Arch, updated 2023-10-02
Opted into Steam client beta?: yes
Have you checked for system updates?: yes
Steam Logs:
GPU: Nvidia
Please describe your issue in as much detail as possible:
In games that run under one of the Steam Linux Runtime container-based compatibility tools (CS2, Dota 2 or any modern version of Proton), the container's xdg-open command is a Steam-specific thing (steam-runtime-urlopen internally) which communicates URLs to Steam by doing the equivalent of:
Repeat the same command as in step 1. Nothing happens.
A less direct way of achieving the same result would be to run xdg-open three times from a containerized game, or the debug shell that can be opened by running a containerized game with PRESSURE_VESSEL_SHELL=instead in the environment, passing http://example.com the first time a very long URL the second time, and then http://example.com again the third time.
Expected result
The URL opens in my default browser.
The very long URL opens in my default browser (in practice, it will be a 404 error).
The URL opens in my default browser.
Actual result
As expected. ~/.steam/root/logs/console_log.txt says ExecCommandLine: "steam steam://openurl/http://example.com".
Nothing happens. A new ExecCommandLine does not appear in the log.
Your system information
Please describe your issue in as much detail as possible:
In games that run under one of the Steam Linux Runtime container-based compatibility tools (CS2, Dota 2 or any modern version of Proton), the container's
xdg-opencommand is a Steam-specific thing (steam-runtime-urlopeninternally) which communicates URLs to Steam by doing the equivalent of:If I write a very long URL into
~/.steam/steam.pipe, this mechanism stops working.Steps for reproducing this issue:
echo "steam steam://openurl/http://example.com" > ~/.steam/steam.pipe. It works; the URL is opened in my default browser.echo "steam steam://openurl/http://example.com/$(perl -e 'print ("a" x 4097)."\n"')" > ~/.steam.pipe. Nothing happens.A less direct way of achieving the same result would be to run
xdg-openthree times from a containerized game, or the debug shell that can be opened by running a containerized game withPRESSURE_VESSEL_SHELL=insteadin the environment, passinghttp://example.comthe first time a very long URL the second time, and thenhttp://example.comagain the third time.Expected result
Actual result
~/.steam/root/logs/console_log.txtsaysExecCommandLine: "steam steam://openurl/http://example.com".ExecCommandLinedoes not appear in the log.