Hello @smcv, you can go to Steam -> Settings -> Steam Play -> check Enable Steam Play for all other titles and you should be able to download Windows-only demos and free to play games.
Afterwards, if you don't want to keep this setting enabled, you should be able to set the per-game Steam Play settings to keep Proton selected for that game and uncheck the global setting.
Enable Steam Play for all other titles
The wording of that option makes it sound as though it will apply to everything I haven't specifically overridden, including native Linux titles for which I wanted to use the LD_LIBRARY_PATH Steam Runtime.
Is it misleadingly-worded, and actually only active on Windows-only titles?
The native linux game variant is not overridden by Steam's global Steam Play setting.
The priority order goes: Per-game Steam Play override setting > Linux native games / whitelisted Windows games > Global Steam Play override setting.
OK, thanks. I think the only Steam issue here is that the wording of the global setting misled me, then - up to you whether you want to leave this issue open for that, or close it as user error.
I have to agree, I've never turned that setting on because it sounds like I'd be using Proton to play Linux games too.
I have to agree, I've never turned that setting on because it sounds like I'd be using Proton to play Linux games too.
If I'm not the only one who was confused/misled by this, then it seems worth repurposing this issue report into asking for clearer wording.
"Enable Steam Play for all other non-Linux titles" or "Enable Steam Play for all other Windows titles" would have made it more obvious to me that this was the option I should be using.
In addition to the points enumerated by @smcv above (user expectations, unfetchable demos, etc.), I wanted to add the following, as I believe this is not merely a semantic issue:
When this feature was in its infancy, native Linux ports were still mostly of the type that were contracted to dedicated porting studios by publishers and were more rigorously tested, with the occasional homebrew port, and could be expected to run reasonably well vis-a-vis what was then a very experimental Proton.
Today, contracted ports have largely fallen out of favor by publishers and Linux builds are more likely to be of the turnkey variety, with the developer exporting a cross-platform build with their engine of choice. Proton is also much more mature.
These latter-day native builds are often added as an afterthought, and are frequently:
The practical consequence of this is that many users now use Proton exclusively on all games for the OOTB experience it provides. This is not an argument for or against playing native builds or for the need to have logic to fall back to native, but merely an explanation of why an additional, optional user setting to always prefer Windows builds is not a marginal use case at this point in time.
Keeping in mind that some Linux builds simply exist as an unmaintained depot, if the user already intends to install the Windows depot from the beginning (such as reading a report a priori that the Linux build is broken), they have to effectively download the same game twice. If the game is very large (say 100G), this could consume significant time and bandwidth (and data caps) as they wait for the Linux depot to finish downloading, then force Proton compatibility, then redownload the Windows depot.
By design, the Linux client necessarily assumes that Non-Steam Games (shortcuts) are native Linux applications unless forced otherwise. In practice, this feature is frequently (arguably exclusively) used to add Windows executables pointing to outside games, freeware, demos, productivity software, etc. and run them through Proton. The likelihood of needing to add arbitrary Linux applications as shortcuts is low, since they can already be launched through the methods exposed by the user's distribution--and the likelihood of needing to add native Linux games here is even lower. Obviously, NSGs have no upstream Linux depot to speak of, so the user must manually force compatibility every time when adding Windows executables, which becomes unnecessarily complicated for users adding a significant number of NSGs.
This is not to say that the current implementation should be changed as the default behavior, but that a second feature could coexist: allow the user to optionally prefer to always fetch Windows depots and force a given Proton version on them.
This option has its fingers in too many places. Adding Demos to the library shouldn't be affected by this. This should only restrict itself to offer a default compatibility tool for applications in the library that aren't native to the system, nothing more.
The issue with demos was solved in a way that instead of trying to install when adding a demo, instead it offers the option to just add it to the library, cutting down the number of scenarios where this option would be relevant.
I agree that the wording of this feature is misleading. I set it under the assumption that native titles would be played with the given proton version, because games run under proton seem to work better in general than native games on my system.
Nothing extracted yet.
Your system information
Please describe your issue in as much detail as possible:
The wording of the option to "Enable Steam Play for all other titles" is misleading: I thought it would result in native Linux titles like Portal (which I assumed would be included in "other titles") being downloaded as a Windows version and run with Proton, which seemed like not what I wanted.
What it actually does is to set a default Steam Play compatibility tools for all other titles that have a Windows version but no native Linux version, which is a much more useful semantic.
(In both cases, "other" refers to titles that have not been whitelisted as working particularly well with a specific version of Proton; that part of the wording is fine.)
Original report
For paid-for Windows-only games that have not been whitelisted for Proton, I can right-click on a game in the Library and choose a Proton compat tool via Properties.
For free-to-play Windows-only games, I can get the game into my Library and then change its Properties in the same way, although it isn't completely obvious how.
However, for Windows-only demos, there doesn't seem to be a straightforward way to get the game into my Library, so I can't find out whether the game works under Proton to decide whether to buy it. [edited: it turns out I should have used "Enable Steam Play for all other titles".]
Steps for reproducing this issue:
Find a Windows game in the Steam store with a demo available that is not already in your Library; for example I tried Potion Craft (1210320), which does not have a full version yet, and Ghostrunner (1139900), which does.
Also find a free-to-play Windows game in the Steam store that is not already in your Library for comparison, for example Muck (1625450).
On the free-to-play game's Store page in the Steam UI, click "Play Game". Observe this error popup:
Switch to the Library tab. Muck is listed in the Library and I have the opportunity to right-click on it and select Properties -> Compatibility -> Force the use of a specific Steam Play compatibility tool. This flow isn't ideal, but it does work and seems good enough for early adopters.
Now try to do the same with the demo. On clicking Download, I get this popup:
It doesn't appear in my Library, so I have no opportunity to force use of a specific Proton version.