Check out our Monthly Survey Page to see what our users are running.

If you're using Arch Linux or anything based on it (or other rolling update distributions) and you've recently run updates that included freetype2, you might unfortunately notice that Steam is now quite broken.

When loading any part of the Steam client that depends on web views, it will just give you a rather unhelpful black screen. This is obviously a big problem and makes it all quite unusable. So what can you do? Well, if you're comfortable with your package managing you could downgrade freetype2 back to version 2.10.4 but that can then end up breaking future updates that depend on the newer version. Valve are hot on the issue though and they've already put up a fresh Steam Beta with a fix.

Valve contractor Timothee Besset commented on GitHub to say it's "Today's beta update comes with a fairly significant change to the way we setup the runtime environment for the web views. Please test that this addresses the issue on all affected distributions!". So if you're seeing the black-screen issues, try out the latest Steam Beta. Doing so is easy by just loading up Steam settings and then look for the red boxed area shown below:

Arch Linux does at times have issues like this, because updates are constantly rolling so issues end up being found much quicker - which also means by the time other distributions upgrade (like Ubuntu every 6 months) the issues are likely solved by then.

Article taken from
Tags: Apps, Beta, Meta, Steam
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
Page: «5/6»
  Go to:

furaxhornyx 5 Sep, 2021
View PC info
  • Supporter
Quoting: Rob-RetroManjaro (Stable) got updated and now has this problem, Steam Beta fixed it, so thanks for the heads up:)

Thanks for the warning, I was about to update too, I just left the freetype2 ; I will update it when things will be sorted out
Grogan 5 Sep, 2021
The "regression" is all Steam, not Arch. It's not even freetype that was (still is, on non-beta) the problem, it was their own stupidly bundled libharfbuzz in steam-runtime-heavy and linux runtime soldier. See, the new freetype is no longer compatible with the old harfbuzz API. This is Valve's mistake... what do they think is going to happen? System freetype, old bundled harfbuzz. That's even a circular dependency, freetype linked against harfbuzz, harfbuzz linked against freetype.

The clue was this:

steamwebhelper: symbol lookup error: /usr/lib/ undefined symbol: hb_ot_tags_from_script_and_language

That's a harfbuzz symbol. Note that with later beta clients updates, it didn't print this error anywhere on console, so I was lucky to get this clue when the problem first surfaced.

I had upgraded to freetype 2.11 long before Arch did. I keep my systems binary compatible because I compile some things to run on all my systems, so when my other systems (LFS, Slackware) get an upgrade for something like that, all do.

I tried forcing Steam to load my libharfbuzz with LD_PRELOAD and it worked for the UI and the client worked correctly, but bombed out on Proton because it was being overridden in the runtime soldier bwrap container.

So what I ended up doing was dropping in the previous from my freetype 2.10.4 package and setting LD_LIBRARY_PATH. That worked until Valve finally fixed it with a somewhat newer libharfbuzz (from Dec. 2019 lol... they are still trying to support old Ubuntu) and probably a recompile of the embedded Chrome.

Also note, it was only the 64 bit parts of Steam that had this problem. I used lsof to help me solve this problem and Steam was correctly hooking both lib32-freetype and lib32-harfbuzz from /usr/lib32 and the Steam client does not bundle them.

I think that everyone using Steam on Linux should be using the beta client (to ensure the latest proton bits etc.) but anyone not, that wants to fix this, instead of downgrading freetype, could simply stick their previous (copy the real library and rename or symlink) to a directory that doesn't have any other libraries and start Steam with "LD_LIBRARY_PATH=/path/to/directory steam" or better yet, to the wrapper script used to start it (e.g. /usr/bin/steam), "export LD_LIBRARY_PATH=/path/to/directory" which is how I did it.

Last edited by Grogan on 6 September 2021 at 11:41 pm UTC
slaapliedje 5 Sep, 2021
View PC info
  • Supporter Plus
Otherwise, short version: if they are going to package one library and leave it old, they should package the other libraries that they depend on.... or just use the system libraries... who would have thought that was a thing?
JVargas 6 Sep, 2021
Is there a way to set up this manually?
steam settings seems to not be available on my menu for some weird reason.
steam settings
whizse 6 Sep, 2021
  • Supporter
Quoting: JVargasIs there a way to set up this manually?
steam settings seems to not be available on my menu for some weird reason.
steam settings
Family Control enabled maybe?
tomaszg 6 Sep, 2021
The fix broke Steam for me... It requires libcups now for some reason. Issue first reported here
anewson 6 Sep, 2021
This is exactly what I googled for, thanks GoL
bioemiliano 7 Sep, 2021
Thanks dude, I am on manjaro kde and had this problem
pskosinski 8 Sep, 2021
Quoting: RaabenI kinda brace myself since some people love to point fingers at things like this and claim that Arch is a bad/buggy/difficult distro. I ran it for many years and something big like this happened maybe once or twice a year and always had a simple fix; it's darn solid. I am pretty sure I had more problems with my distro of choice's last upgrade than my entire Arch days..
Lucky you. I run Arch for a few years and it crashes seriously about once a week. Seriously as in: I'm not able to connect to network, run X or run a kernel at all.

Last edited by pskosinski on 8 September 2021 at 12:05 am UTC
drumfreak13 8 Sep, 2021
Thank you very much for sharing this workaround. It saved my day
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.