Open Enygma2002 opened 7 years ago
This is going to be a tough one since it's something specific to your system but there's no clear suggestion of what. Hopefully somebody else will have a similar problem and we can try and see what's common between things.
Hello @Enygma2002, given the timeline you have described my best guess is that the 2017-01-19 steam client update exposed a broken system configuration with the then new default to prefer system libraries. You should be able test this by completely closing steam, then running STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam
from a terminal.
If this helps, great, but since this issue does not occur with a fresh install of Fedora 25, the most I can contribute to troubleshooting the actual cause of this issue is to provide a manifest of installed packages on my Fedora 25 test box, that is if you want it.
Running STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam
I get:
/bin/bash: relocation error: /usr/lib64/primus/libGL.so.1: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
This happens even when I try to run CSGO (which works with steams bundled libs, i.e. without setting that variable).
In terms of installed packages, I have:
$ dnf list installed *primus* *bumblebee* *mesa* *libstdc*
Last metadata expiration check: 17 days, 15:55:10 ago on Tue Feb 21 21:21:38 2017.
Installed Packages
bumblebee.x86_64 3.2.1-13.fc25 @@commandline
bumblebee-nonfree-release.noarch 1.2-1 @System
bumblebee-nvidia.x86_64 375.39-2.fc25 @bumblebee-nonfree
bumblebee-release.noarch 1.2-1 @System
libstdc++.i686 6.3.1-1.fc25 @@commandline
libstdc++.x86_64 6.3.1-1.fc25 @@commandline
libstdc++-devel.x86_64 6.3.1-1.fc25 @@commandline
libstdc++-static.i686 6.3.1-1.fc25 @updates
libstdc++-static.x86_64 6.3.1-1.fc25 @updates
mesa-dri-drivers.i686 13.0.4-1.fc25 @updates
mesa-dri-drivers.x86_64 13.0.4-1.fc25 @updates
mesa-filesystem.i686 13.0.4-1.fc25 @updates
mesa-filesystem.x86_64 13.0.4-1.fc25 @updates
mesa-libEGL.i686 13.0.4-1.fc25 @updates
mesa-libEGL.x86_64 13.0.4-1.fc25 @updates
mesa-libGL.i686 13.0.4-1.fc25 @updates
mesa-libGL.x86_64 13.0.4-1.fc25 @updates
mesa-libGLES.x86_64 13.0.4-1.fc25 @updates
mesa-libGLU.i686 9.0.0-10.fc24 @@commandline
mesa-libGLU.x86_64 9.0.0-10.fc24 @@commandline
mesa-libOSMesa.i686 13.0.4-1.fc25 @updates
mesa-libOSMesa.x86_64 13.0.4-1.fc25 @updates
mesa-libgbm.i686 13.0.4-1.fc25 @updates
mesa-libgbm.x86_64 13.0.4-1.fc25 @updates
mesa-libglapi.i686 13.0.4-1.fc25 @updates
mesa-libglapi.x86_64 13.0.4-1.fc25 @updates
mesa-libwayland-egl.i686 13.0.4-1.fc25 @updates
mesa-libwayland-egl.x86_64 13.0.4-1.fc25 @updates
mesa-libxatracker.x86_64 13.0.4-1.fc25 @updates
primus.i686 1.1.03282015-4.fc25 @@commandline
primus.x86_64 1.1.03282015-4.fc25 @@commandline
Any help in debugging this issue (even if at a system configuration level) would be highly appreciated both by myself, and by anyone else experiencing this problem.
This error message is telling you that the steam runtime provided libstdc++ is too old to be used with the system built optirun. Something like LD_PRELOAD="libpthread.so.0 libGL.so.1" optirun -b primus %command%
may help with that error, otherwise you may need to either LD_PRELOAD libstdc++ or remove it (libstdc++) from the steam runtime so that the system variant is used.
As for the font issue, it's more likely that an incompatible mix of system and steam runtime provided 64 bit pango and related libraries are being used with Dota 2 and I suspect you need to get the related libraries as a set to load up together, either a full set from the system or from the steam runtime.
@kisak-valve, using LD_PRELOAD="libpthread.so.0 libGL.so.1" optirun -b primus %command%
as launch options gets the game started, but it brings me to the same point I was to begin with, the missing fonts problem (and pango error in the logs).
Any suggestion on how I could synchronize the used libraries (system vs steam)? Would a steam full reinstall be an option?
I personally do not much more insight to give on this matter. Hopefully a more experienced Fedora user will have an idea. Here's the manifest: Fedora 25 test box package manifest
I've tried reinstalling steam completely:
...same result.
I've also looked at the package list you've provided and diffed it with my installed packages, for all packages containing font
in their name. Came up with this list of packages missing from my system and installed them:
...no change either. Removed them back.
For reference, here is a list of my installed packages: Fedora_25_my_installed_packages.txt (note that I'm also using KDE, not sure if it matters)
Thanks for your help so far, @kisak-valve.
Any help on this would be highly appreciated!
Still unable to enjoy the game :(
Is there anyone that could point me in the right direction?
What about the pango-related error? How could I find out which one is the problematic font? Any debug mode I could activate to get more information?
I'd recommend asking in places devoted to Fedora 25. There may be other people having a similar issue there.
Hello folks,
Finally, (about 2 weeks ago) I have managed to fix my problem and would like to take the time to share with anyone interested the solution that worked for me.
After updating my system's libpango (pango-1.40.5-1.fc25.i686
) I have linked the following dota static libraries to my system's:
<home>/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/:
libpango-1.0.so -> /usr/lib64/libpango-1.0.so.0
libpangoft2-1.0.so -> /usr/lib64/libpangoft2-1.0.so.0
librenderdoc.so -> /usr/lib64/librenderdoc.so
Additionally, I also had a warning in the logs about invalid font configuration (saying that the test
tag does not accept multiple values):
<home>/.local/share/Steam/steamapps/common/dota 2 beta/game/core/panorama/fonts/conf.d/41-repl-os-win.conf
So I've fixed the file and left the DejaVu Sans
value (from the 2 existing ones). There were about 2 such cases AFAIR.
Finally, I also had an error about not finding librenderdoc so I've installed that (renderdoc-0.33-3.mga6.x86_64
) as well to get rid of the message.
Now I can successfully see the fonts in the game as my system's Pango seems to do its job and no longer see the errors in the console.
However, as you can see from the screenshot, my fonts are a bit ugly, probably using the DejaVu Sans
from the config file that I've "fixed" as the last step, but I would guess that with my system Pango, this "fix" might not be necessary (and I don't have a copy of the original file to revert my change and test).
So my request would be to please review and try to update the statically bundled Pango dependency which might help in fixing this problem.
Thanks.
On Fedora 27, symlinking these two files were enough for me:
libpango-1.0.so -> /usr/lib64/libpango-1.0.so.0
libpangoft2-1.0.so -> /usr/lib64/libpangoft2-1.0.so.0
This issue happens on both a bumblebee and PRIME setup. The only alternative workaround that doesn't include messing with game files is running dota2 on Vulkan with the PRIME setup.
I had this issue today after updating my system, and I can confirm that the linking @monotykamary suggests worked. Here is my sysnfo from neofetch
██████████████████ ████████ seth@home
██████████████████ ████████ ------------
██████████████████ ████████ OS: Manjaro Linux x86_64
██████████████████ ████████ Host: All Series
████████ ████████ Kernel: 5.0.7-1-MANJARO
████████ ████████ ████████ Uptime: 1 hour, 45 mins
████████ ████████ ████████ Packages: 1408 (pacman)
████████ ████████ ████████ Shell: zsh 5.7.1
████████ ████████ ████████ Resolution: 1920x1080, 1680x1050
████████ ████████ ████████ DE: KDE
████████ ████████ ████████ WM: KWin
████████ ████████ ████████ Theme: Breeze Dark [KDE], Breath [GTK2/3]
████████ ████████ ████████ Icons: breeze-dark [KDE], maia [GTK2/3]
████████ ████████ ████████ Terminal: konsole
Terminal Font: Noto Mono 10
CPU: Intel i7-4790K (8) @ 4.400GHz
GPU: NVIDIA GeForce GTX 970
Memory: 3308MiB / 15982MiB
All I did was
$ cd <Steam Root>/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/
$ mkdir backup && mv libpango-1.0.so libpangoft2-1.0.so backup/
$ ln -s /usr/lib64/libpango-1.0.so libpango-1.0.so
$ ln -s /usr/lib64/libpangoft2-1.0.so libpangoft2-1.0.so
Make sure you set the steam root appropriately, this is commonly $HOME/.local/share/Steam
but different in my case because I keep games on a different mount.
Thx everyone. Had the same problem in manjaro and this worked. (applied @Setheck solution) Only thing, I see letters a little different from before. But at least I see some letters jejej. Thx!!
My solution was to install this https://aur.archlinux.org/packages/libselinux/ However it makes the game have a very ugly font
Since about a month ago, Dota2 started not displaying text in the UI: Main Menu: Settings:
I've googled the issue many times but never found the exact symptoms I'm experiencing.
I am not experiencing this problem in other games, such as CSGO.
I have also done a distribution update recently to Fedora 25, so it might be related to that as well, not sure.
I've read in some issue about making sure to install the
ttf-liberation
(Ubuntu) fonts, so I made sure that I installed the Fedora equivalents, but that does not help either:While running steam in the console and starting the game, I have a lot of such error messages:
Steam System Information:
Note, that steam is started regularly, while Dota2 is started with primusrun, using the Launch Options
vblank_mode=0 primusrun %command%
Graphics details: Intel chip:
NVidia chip (using primus):
I'm available to provide any information needed to debug the problem.
Thanks for your help!