anyc / steam-overlay

Gentoo overlay for Valve's Steam client and Steam-based games
GNU General Public License v2.0
202 stars 44 forks source link

Steam needs cairo with X support enabled #352

Closed Roger-Roger-debug closed 7 months ago

Roger-Roger-debug commented 7 months ago

I have "-X" in my global use flags.

Installing steam was fine with that setup, but when starting steam I'm getting the error

dlmopen steamui.so failed: /home/roger/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0: 
undefined symbol: cairo_xlib_surface_create_for_bitmap

Enabling X for cairo (and in return for cairomm) made everything work again.

chewi commented 7 months ago

I'm guessing what's happening here is you don't have x11-libs/gtk+:2 installed, so it picks that from the Steam runtime, but you do have x11-libs/cairo installed, so it picks that from your system. Rather than selectively add dependencies to cover cases like this, I should probably add everything that you get with USE=-steamruntime to ensure compatibility. The flag would then simply control whether Steam unpacks the runtime for libraries we don't have packaged or aren't needed for Steam itself. I need to think this over.

Roger-Roger-debug commented 7 months ago

You are correct in your assumption.

This is probably a pretty niche issue, that's also easy for the user to fix, so I'm unsure of how big of an issue this actually is.

My intention was slimming my system down a bit. If you have the same dependencies regardless of the steamruntime flag it introduces dependencies that aren't really needed to run steam.

That being said, your solution is probably the easiest way.