-
Notifications
You must be signed in to change notification settings - Fork 175
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
Steam native beta webhelper issue #6156
Comments
I'm having the same problem. In addition to the store being broken, I can't access any of the steam community pages (inventory, activity, etc) and can't even open my friends list and chat windows. March 20 2019, at 18:38:53 |
Looks like libpcre.so.3 (instead of libpcre.so.1) is a Debian-ism. It should be safe to symlink Reference: https://steamcommunity.com/app/214490/discussions/0/154644705028020291/#c154644705028103197 |
Symlinking to libpcre.so.3 gets rid of that error, but then I get |
Both
If those are not getting picked up maybe you are running a steam setup modified by your distribution, which we don't support or encourage. If that's not the case, please add a quick diagnostic to
|
This is using the steam native launcher from the arch package, using the runtime option works fine. So I'm guessing this should probably be reported to the Arch maintainer instead? |
Yes. I missed that important detail when looking at this. Closing - not our bug. |
Bug report already exists, for those that want to follow: https://bugs.archlinux.org/index.php?do=details&task_id=62095 |
@TTimo, I'm working on this from Arch side. Unfortunately, we do not package libselinux on main arch repositories and also the pcre version we have is not using the same numbering system. But, it seems there's also an issue with the steamwebhelper script itself. Can you please take a look at this comment: https://bugs.archlinux.org/task/62095#comment178387 Looks like the LD_LIBRARY_PATH is incorrect. |
@TTimo this is indeed a issue in the steamwebhelper script that is part of the users private HOME files. it should not prepend Otherwise it will always override system libs with the local steam libs, which doesn't sound much like "native runtime" hence can't also be worked around by providing native system libraries that link properly. Without fixing the prepended DIR=`dirname $0`
cd ${DIR}
export LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}:${DIR}" so the script changes the CWD to DIR, which basically means LD_LIBRARY_PATH looks like this: |
We do not support or encourage the use of a "native runtime". This is done by the distributions against our advice, and attempts to alter or replace the official steam runtime that Valve provides to ensure full backwards binary compatibility for older titles, and best integration with the Steam Client. This causes unnecessary support headaches for us and is of no benefits to end users. We would much rather see these efforts invested in testing and improving the official runtime. |
@TTimo as pointed out above this is a bug in the steamwebhelper, i don't see why we can't get this fixed just beucase. There is zero issues with running native as long as the script doesn't try to override this behavior. |
The libraries provided alongside |
Hi @TTimo, it looks like valve does offer support to native runtime. The steam.sh script even checks for this, through the STEAM_RUNTIME variable. It behaves very differently depending on it being set or not. Perhaps it would be the case of adding checking for runtime into the steamwebhelper as well. As for the order, the steamwebhelper script is including . twice on the LD_LIBRARY_PATH for starters. One literal . at the beginning and one second . through the usage of dirname $0. I have manually edited Arch Linux's steam-native, steam.sh and steamwebhelper.sh scripts to echo the LD_LIBRARY_PATH through the process and the ordering is not correct. I understand that valve won't give support to actually using native, but it doesn't mean that it should cripple the actual possibility of using that in the first place. We usually handle steam-native requests directly on our bug tracker. We tell our users to open a bug request first with us and only if necessary we open it here. |
Valve have every right and reason to focus on the environments they intend to support and not worry about the rest except maybe throw them a bone when it's easy. If they rely on libselinux and libsepol then that's that. This is a packaging error: the Arch |
Hi @jthill, as I said, it's perfectly understandable that valve is willing to only focus and give support for environments they have tested steam on. The issue here is not about support, but rather about breaking the STEAM_RUNTIME behavior by intentionally not respecting the system libraries when asked to. The simple patch below allows for the behavior valve intend, while also respecting the system libraries when asked to. The steam.sh script has a similar behavior, it is not hard to add the same behavior to the steamwebhelper.sh script as well. @TTimo, do you think this can be incorporated on the steamwebhelper script? From bc80b4f190375d6865f6a2d0843c432c5a108d7c Mon Sep 17 00:00:00 2001
From: anthraxx <levente@leventepolyak.net>
Date: Thu, 11 Apr 2019 00:29:00 +0200
Subject: [PATCH] prepend system library path in case of running in native mode
This gives precedence to system libraries but otherwise keeps
the intended search order intact.
SYSTEM_LD_LIBRARY_PATH is exported in steam.sh for the purpose
of using the original library path whenever needed.
---
steamwebhelper.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/steamwebhelper.sh b/steamwebhelper.sh
index f002eee..0658c6e 100755
--- a/steamwebhelper.sh
+++ b/steamwebhelper.sh
@@ -2,4 +2,8 @@
DIR=`dirname $0`
cd ${DIR}
export LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}:${DIR}"
+# Give precedence to system libraries when running in native mode
+if [[ "${STEAM_RUNTIME}" = "0" && -n "${SYSTEM_LD_LIBRARY_PATH}" ]]; then
+ export LD_LIBRARY_PATH="${SYSTEM_LD_LIBRARY_PATH:-}:${LD_LIBRARY_PATH}"
+fi
./steamwebhelper "$@"
--
2.21.0 |
I can see how STEAM_RUNTIME could be misinterpreted as an implicit endorsement of distributions modifying how steam is meant to be installed and executed on a Linux system. That was never the intention. It is strictly a flag to facilitate development and debugging internally, along with other environment variables such as DEBUGGER etc. While we are not intentionally making distribution alterations harder, we will not add extra design and testing load to our development processes to support such modifications, as we feel they are ultimately detrimental to the end user. We are planning significant additions to the runtime functionality of the Steam Client in the near future. This means that distribution alterations will continue to break and lag behind. |
This is a darn simple 3 line patch and not rocket science |
Hi @TTimo. I don't think Arch Linux is looking for endorsement of running steam with native libraries or not. I certainly ain't asking for that and it's perfectly acceptable to turn users away when they report issues and are using the native variant. Also, I was not aware that STEAM_RUNTIME was meant for internal usage only, when it gives users precisely what they need to override the shipped libraries. As for extra design, the change we are seeking is to make steamwebhelper.sh to have the same behavior or it's steam.sh counterpart. I understand this involves testing, but this is not a change that is introducing anything to the default steam behavior. And, since you don't test nor support native, it is a win-win situation for all. Also, I'm very interested to know more about changes you are planning to make to the runtime. Having said that, your last statement about the distro changes lagging behind simply do not hold, at least, not for Arch. I think all the libraries we have are more up to date than the steam supplied runtime libraries. Even steam itself tells me so when running steam-runtime for the first time, it shows a comparison list between versions on runtime and the distribution. |
I'm a regular Steam user who has just switched to Linux and the way Valve is handling this is shocking. As mentioned by both @grazzolini and @anthraxx, this isn't rocket science, and this will fix the problems you have in code. Fixing it won't do anything in the supported distros.
I agree with the first part. But I disagree with the rest. I don't want to install selinux just for the sake of running Steam and playing games, because it's an advanced tool for advanced users and any wrong configuration may mess up your whole system.
I wish this was true, but even Debian, one of the most stable distros, has some problems with the Valve runtime. If the current runtime was perfect, native wouldn't exist in the first place and it would certainly be less of a headache for you.
It's certainly no benefit for us, users, if you just refuse to patch it. As stated by the others, this won't affect the supported distros. And about "unnecessary support headaches", well, you already have it because some people will just ignore their distro's bug tracker and will go straight to Valve's, asking for support for something they don't recommend. It won't spark an increase in the number of reports for unsupported runtimes. I'd like to add that while Arch ships both official and native runtimes, some games will run better with the native runtime, others will run much better with the official one.
You don't need, we (users) are doing that for you. Just like we do when you release a new weapon in CS:GO without testing it first, a new hero in Dota 2, new items, etc. Both games have a testing client yet the developers just refuse to test new features. It's demotivating to see this kind of attitude. |
It is too late for this beta cycle, but we will consider a solution for the next iteration. @RockyTV - the steam client does not require selinux on the host system. If you've found this to be incorrect please open an issue and we will look into it. |
Hi @TTimo, thanks for your response and consideration. Do you know where we can track these changes, so we know when to apply the same to our steam-native script? We will have to add some paths in there too. |
The best time is whenever we start a new Steam Client beta cycle, we can iterate changes more easily at that time. If you mean getting some sort of heads up / notification you could monitor this: https://steamcommunity.com/groups/SteamClientBeta#announcements We're still figuring this out internally, but we definitely want to improve how we provide support for Linux users, in particular with regards to testing and evolving the runtime system. |
@grazzolini would you mind reaching out directly over email? We've noticed a few other things with arch's steam packaging that may be worth discussing (ttimo@valvesoftware.com). |
Hello @shoober420, while it's fine to disagree with how issues are handled, it's against the Conduct of this issue tracker to use it as a pretense to insult someone. You've earned a 24 hour timeout for your last comment. It's been made clear that the libraries in question are provided by the steam runtime, Arch's steam-native-runtime package is outside the scope of support, and more work is being considered after the current beta client is stabilized. Dev bashing is not going to help make progress happen. Addition: Timeout extended to 1 week due to carbon copy repost. Please do not make me ban you. |
My comment is causing some confusion so maybe further explanation is warranted:
The Steam Client does not use the library however, nor does it expect to find a working SELinux module on the host system. Should the Steam Runtime be updated to remove It may technically be possible to remove it, but that's not a good idea, for several reasons:
Some distributions may decide to pickup the slack and "do this for us". But they should be wary of ignoring or missing any of the points above. |
Your system information
Store in steam native doesn't work, just black screen.
Message from log:
Works fine with built-in runtime.
I installed
pcre
,pcre2
,lib32-pcre
andlib32-pcre2
, this didn't solve issue.Is this steam issue or should i write to arch maintainers?
The text was updated successfully, but these errors were encountered: