ValveSoftware / ValveSoftware/steam-runtime
[Feature Request] Add support for logging stdout/stderr to file
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 1.5k
- Forks
- 97
- PR merge metrics
- No merged PRs in 30d
Description
One of Proton's more successful features is the ability to quickly generate a log file via a single environment variable, PROTON_LOG. For native games the amount of logging can vary per-application unlike Wine which has its own log filtering system, however it is reasonable to at least try to see if the game's console output provides useful information for developers to investigate. Customers have generally done an excellent job at providing Proton log files, so it makes sense to try and expand this to native games.
This would have been a tall order for the original Scout runtime, but now that we have a system where games are run inside a proper container this is at least a little bit more realistic to attempt inside something like run-in-sniper without the Steam client itself having to invade on where app output goes.
This may even have benefits for Proton as well; while the monolithic log has been useful in the general case, it may be nice for the app output to be separate from Wine's internal logging; from both a customer's and developer's point of view it's currently interleaved and it may not be immediately obvious what log lines are coming from where. The challenge in this area would be preserving the timeline that PROTON_LOG provides by having the monolithic system; this may have to be a tradeoff if it's nontrivial to track time independently for multiple logging endpoints.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the run-in-sniper entry point and tracing how PROTON_LOG is handled for Proton and native games. Determine the intended destination and format for stdout/stderr, then verify that a native game's output is captured without losing the existing logging timeline or changing unrelated runtime behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100