-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xnine missing access to d3dadapter9.so in Steam Linux Runtime 1.0 (scout) #700
Comments
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
An option in the Steam settings to return to the previous behavior would be welcome, because we don't know when the command line |
@ViNi-Arco: Are there any special steps or workarounds that you have taken to run Left 4 Dead 2 using Xnine, like perhaps using Currently the supported way to run Left 4 Dead 2 on Linux is in the Steam Linux Runtime 1.0 (scout) container, with its included copy of DXVK Native, If you are using a The difference between the old LD_LIBRARY_PATH-based scout runtime and the newer Steam Linux Runtime container (which are both "scout") is that in the container runtime, the majority of libraries come from the container, with only the graphics drivers (and their dependencies, if newer than the container's versions) taken from the host system. Mesa's |
I use Mike's recommendation Forcing the Scout runtime globally without a guaranteed option that won't be removed in future updates doesn't give us users any assurance that everything will work hopefully. Others also have problems with the Steam runtime, for example I myself had to remove libz from |
Expanding on this a little: the relevant change in the 2024-11-05 Steam update (previously in betas since 2024-10-17) is that previously, "most" native Linux titles would run in the legacy LD_LIBRARY_PATH-based scout runtime on desktop, and the newer Steam Linux Runtime container on Steam Deck. Now, "most" native Linux titles run in the SLR container on both desktop and Deck. We hope that most apps and games run equally successfully in the legacy LD_LIBRARY_PATH-based runtime and in the newer SLR container (and Valve's compatibility testing on Steam Deck has demonstrated that, in practice, a reasonable number of them do). If that's the case, then the SLR container maximizes the chance that they will still be working in 2034 - it's more predictable and less of a moving target than the legacy LD_LIBRARY_PATH runtime. The scope of issues like this one is to identify titles that worked in the legacy LD_LIBRARY_PATH runtime, but do not work in the SLR container, so that we can find solutions for them - either asking the app/game developer to fix the app/game, or enhancing the container runtime so that the app/game works in it. To do that, we will need to separate different apps/games and different failure modes into different issues, because if we try to solve every problem via one issue report, we'll just get a low signal-to-noise ratio and an issue that can never be fully resolved. (But, if there are families of games that have a common factor and fail in the same way - like for example "every Source Engine 1 title crashes with error message foobar" - then we can concentrate on fixing one member of the family and hope that the solution works for all of them.) I expect that the most common failure mode will be that the app/game has a dependency on an application-level library that is not included in the runtime, and is also not bundled with the game. With the legacy LD_LIBRARY_PATH runtime, titles in this situation might work by coincidence as a result of libraries that you happen to have installed on the host system, but equally they could stop working at any time if nothing on your host system needs that library any more. A good example of this is Valheim, which needs
This is unlikely to happen as a global thing: the whole point of the container runtime is to take games that work in 2024 and try to make sure they'll still work in 2034. The previous behaviour was not stable, because it depended on the set of libraries that happen to have been installed on your host system, and that's something that is going to change on a regular basis, particularly if you use Arch. It's possible that the legacy LD_LIBRARY_PATH runtime might come back as something that you can select in the Compatibility tab of an individual game's properties, which would leave that specific game running in an unpredictable environment, but without affecting the rest of your games. (I know that there's at least one unsupported third-party implementation of this.)
Please report a separate issue with details of what was happening without this workaround. We want to fix compatibility problems, but we can't do that if nobody reports them! |
This comment was marked as off-topic.
This comment was marked as off-topic.
There's no particular significance to this path: Xnine has two hard-coded paths (for 32- and 64-bit Arch library directories), and tries one followed by the other. If they both fail, the error message shown is for the last one it tried. |
It looks as though this is likely to be added in a future Steam beta, perhaps with a name like "Legacy Runtime 1.0". |
Glad to know it, thanks |
Steam version: 1730853027
With this Steam update that forces the use of the Scout runtime, Left 4 Dead 2 no longer starts with Xnine, because it's trying to load the 64-bit lib d3dadapter9.so, this message:
The directory should be
/usr/lib32/d3d/
Is there a way to go back to the old behavior, to run Left 4 Dead 2 without Scout? I'd appreciate it
The text was updated successfully, but these errors were encountered: