Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 531990 - [gamerlay overlay] games-util/steam-launcher with app-admin/eselect-opengl-1.3.0 - libGL error: No matching fbConfigs or visuals found
Summary: [gamerlay overlay] games-util/steam-launcher with app-admin/eselect-opengl-1....
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Vadim A. Misbakh-Soloviov (mva)
URL: https://github.com/ValveSoftware/stea...
Whiteboard:
Keywords:
: 567200 (view as bug list)
Depends on:
Blocks: 531842
  Show dependency tree
 
Reported: 2014-12-08 16:28 UTC by nE0sIghT
Modified: 2015-12-06 06:52 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Screenshot (Selection_002.png,16.08 KB, image/png)
2014-12-08 16:28 UTC, nE0sIghT
Details
strace -f steam | grep -C 5 libGL (steam-libGL.grep,180.57 KB, text/plain)
2014-12-08 19:41 UTC, nE0sIghT
Details
/etc/ld.so.conf (ld.so.conf,528 bytes, text/plain)
2014-12-08 19:48 UTC, nE0sIghT
Details
Patch against steam-launcher-1.0.0.47-r1.ebuild (steam-launcher-1.0.0.49.patch,524 bytes, patch)
2014-12-08 21:07 UTC, nE0sIghT
Details | Diff
ld.so.conf-steam-launcher-1.0.0.49.patch (ld.so.conf-steam-launcher-1.0.0.49.patch,492 bytes, patch)
2014-12-13 09:36 UTC, nE0sIghT
Details | Diff
ld.so.conf-steam-launcher-1.0.0.49.patch (ld.so.conf-steam-launcher-1.0.0.49.patch,846 bytes, patch)
2014-12-13 10:03 UTC, nE0sIghT
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description nE0sIghT 2014-12-08 16:28:35 UTC
Created attachment 391228 [details]
Screenshot

glxinfo | grep -i direct
direct rendering: Yes

emerge --info
Portage 2.2.14 (python 2.7.7-final-0, default/linux/amd64/13.0, gcc-4.8.3, glibc-2.19-r1, 3.16.5-gentoo x86_64)
=================================================================
System uname: Linux-3.16.5-gentoo-x86_64-Intel-R-_Core-TM-_i5-2400_CPU_@_3.10GHz-with-gentoo-2.2
KiB Mem:    16391276 total,  13599044 free
KiB Swap:    2095100 total,   2095100 free
Timestamp of tree: Mon, 08 Dec 2014 14:45:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.7, 3.3.5-r1, 3.4.1
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6-r1, 1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.7.3-r1, 4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.3-r2
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo vortex systemd qutim
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=native -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O3 -march=native -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/vortex /var/lib/layman/systemd /var/lib/layman/qutim"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="7zip X a-like-o a52 aac aacplus aacs aalib acl acpi alsa amd64 apng applet archive artworkextra audacious audiofile automount avx bazaar berkdb bidi bittorrent bittorrent-external bluray branding bsf bzip2 cairo caps chardet chdir cjk cli collada colord cover cracklib crypt css cuda cue cupsddk curl cvs cxx dbus dconf device-mapper dga dhcp dhcpcd dht diff dirac disk-partition divx djvu dnsretry dos drawing dri dv eap-tls enca encode exif experimental extensions extras facedetect fat fbcondecor ffmpeg fftw fileinfo firefox firmware flac fontconfig fortran frei0r fts3 fuse g3dvl gd gdbm gdm geoip gif glade glib glitz gnome gnome-keyring gnome-online-accounts gnome-shell gphoto2 gpm graphite grp grub gstreamer gtk gtk3 gtkstyle gudev gzip hddtemp highlight histman hog hvm hwdb iconsets iconv icq id3tag idle idn infinality inifile intl introspection ioemu ipv6 iso jabber java javascript jingle joystick jpeg jpeg2k kate keymap kinetic kvm ladspa lame lcms libass libcaca libkms libnotify libsamplerate libsecret libtiger lights lm_sensors loop-aes lto lucene lyrics lzma lzo mad matroska melt mercurial minizip mmx mmxext mng modules mp2 mp3 mp4 mp4live mpeg mpeg2 mpg123 mplayer mpris mpu401 mtp mudflap multilib multimedia musepack mvl mysql mysqli nautilus ncurses netplay network nls nptl nsplugin nss ntfs ntfsprogs nvidia offensive ofx ogg ogm oodict openal opencore-amr opengl openmp openssl opensslcrypt optimization optimized-qmake oscar pam parse-clocks pcf pch pcre pcre16 pdf pdo pgo php pipelight player plugins png policykit ppds pppd projectm psf pulseaudio purple qml qpak quicktime rar readline realmedia realtime reiserfs resolvconf romio rtsp ru-dv ru-g ru-i ru-k sasl scale0tilt screen screenshot sdl secure-delete sendto session skins slp smp sndfile socialweb sound sounds speex spell sqlite sqlite3 sse sse2 sse2_4way sse3 sse4 sse4_1 sse4_2 ssl ssse3 startup-notification stream stroke strong-optimization subtitles subversion svg system-cairo system-icu system-jpeg system-sqlite systemd t1lib taglib tcpd textures theora threads thunderbird tiff tint2conf tk tls toolbar trayicon truetype tta tweak-mode twolame udev udisks unicode unzip upower usb utils uvm v4l2 vaapi vala vamp vdpau verse vkontakte vorbis vorbis-psy vpx wad wav wavpack webgl webkit webp webphoto whiteboarding winbind wma wmp x264 x265 xanim xattr xcb xcomposite xhtml xinetd xkb xml xmlreader xmlrpc xmlwriter xorg xosd xpm xsl xslt xulrunner xv xvfb xvid zip zlib" ABI_X86="32 64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="plymouth systemd" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru ru_RU en" NETBEANS_MODULES="apisupport cnd enterprise harness ide j2ee java nb php profiler webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5 php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 nE0sIghT 2014-12-08 16:42:48 UTC
Console output

LANG=C steam 
Running Steam on gentoo  64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1417829162)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Installing breakpad exception handler for appid(steam)/version(1417829162)

(steam:30949): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

(steam:30949): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Adwaita/gtk-2.0/gtkrc:1137: error: unexpected identifier `direction', expected character `}'

(steamwebhelper:30983): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",

(steamwebhelper:30983): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Adwaita/gtk-2.0/gtkrc:1137: error: unexpected identifier `direction', expected character `}'
Installing breakpad exception handler for appid(steamwebhelper)/version(20141205165716)
Installing breakpad exception handler for appid(steamwebhelper)/version(1417798636)
[1208/194101:ERROR:nss_util.cc(1018)] Failed to load NSS libraries.
Installing breakpad exception handler for appid(steamwebhelper)/version(20141205165716)
Installing breakpad exception handler for appid(steamwebhelper)/version(1417798636)
Installing breakpad exception handler for appid(steamwebhelper)/version(1417798636)
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number
Installing breakpad exception handler for appid(steam)/version(1417829162)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Error: OpenGL GLX context is not using direct rendering, which may cause performance problems.

For more information visit https://support.steampowered.com/kb_article.php?ref=9938-EYZB-7457.
Installing breakpad exception handler for appid(steam)/version(1417829162)
Installing breakpad exception handler for appid(steam)/version(1417829162)
Installing breakpad exception handler for appid(steam)/version(1417829162)
Installing breakpad exception handler for appid(steam)/version(1417829162)
Installing breakpad exception handler for appid(steam)/version(1417829162)
Installing breakpad exception handler for appid(steam)/version(1417829162)
FillInMachineIDInfo took a total of 0 milliseconds
Installing breakpad exception handler for appid(steam)/version(1417829162)
Installing breakpad exception handler for appid(steam)/version(1417829162)

** (steam:30949): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Unit dbus-org.freedesktop.NetworkManager.service failed to load: No such file or directory.

** (steam:30949): WARNING **: Error enabling/disabling networking: Unit dbus-org.freedesktop.NetworkManager.service failed to load: No such file or directory.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-12-08 19:16:55 UTC
Did you actually update your environment before running that?
Comment 3 nE0sIghT 2014-12-08 19:17:59 UTC
(In reply to Jeroen Roovers from comment #2)
> Did you actually update your environment before running that?

I restarted PC
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-08 19:27:03 UTC
Could you try running 'lddtree' on the steam executable? Or at least 'readelf -d' for a start. Just make sure to run it on the real executable, not some wrapper :).
Comment 5 nE0sIghT 2014-12-08 19:29:09 UTC
ne0sight@vortex ~> export LANG=C
ne0sight@vortex ~> lddtree ~/.local/share/Steam/ubuntu12_32/steam
steam => /home/ne0sight/.local/share/Steam/ubuntu12_32/steam (interpreter => /lib/ld-linux.so.2)
    libX11.so.6 => /usr/lib32/libX11.so.6
        libxcb.so.1 => /usr/lib32/libxcb.so.1
            libXau.so.6 => /usr/lib32/libXau.so.6
            libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6
    librt.so.1 => /lib32/librt.so.1
    libm.so.6 => /lib32/libm.so.6
    libdl.so.2 => /lib32/libdl.so.2
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/32/libstdc++.so.6
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/32/libgcc_s.so.1
    libpthread.so.0 => /lib32/libpthread.so.0
    libc.so.6 => /lib32/libc.so.6
ne0sight@vortex ~> readelf -d ~/.local/share/Steam/ubuntu12_32/steam

Dynamic section at offset 0x2656e0 contains 31 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libX11.so.6]
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x12d78
 0x0000000d (FINI)                       0x1d357c
 0x00000019 (INIT_ARRAY)                 0x25f130
 0x0000001b (INIT_ARRAYSZ)               304 (bytes)
 0x00000004 (HASH)                       0x1ac
 0x00000005 (STRTAB)                     0x2ff0
 0x00000006 (SYMTAB)                     0x1530
 0x0000000a (STRSZ)                      5991 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x2667f8
 0x00000002 (PLTRELSZ)                   2496 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x123b8
 0x00000011 (REL)                        0x4c90
 0x00000012 (RELSZ)                      55080 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x00000018 (BIND_NOW)                   
 0x6ffffffb (FLAGS_1)                    Flags: NOW
 0x6ffffffe (VERNEED)                    0x4ab0
 0x6fffffff (VERNEEDNUM)                 6
 0x6ffffff0 (VERSYM)                     0x4758
 0x6ffffffa (RELCOUNT)                   6234
 0x00000000 (NULL)                       0x0
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-08 19:32:57 UTC
I don't see libGL there. I'm starting to be afraid that it uses some poor dlopen(). Could you maybe 'strace -f ... | grep -C 5 libGL' it a bit?
Comment 7 nE0sIghT 2014-12-08 19:41:12 UTC
Created attachment 391236 [details]
strace -f steam | grep -C 5 libGL
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-08 19:45:31 UTC
Could you paste your /etc/ld.so.conf then, please?
Comment 9 nE0sIghT 2014-12-08 19:48:50 UTC
Created attachment 391238 [details]
/etc/ld.so.conf
Comment 10 nE0sIghT 2014-12-08 19:56:08 UTC
I think there is problem with steam user wrapper.
It overrides LD_LIBRARY_PATH before running executable and return system variable after execution.
It looks like that: /home/ne0sight/.local/share/Steam/ubuntu12_32:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu:/home/ne0sight/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib::/usr/lib32

This wrapper is placed in ~/.local/share/Steam and automatically updated by steam.
Comment 11 nE0sIghT 2014-12-08 20:19:54 UTC
I look into steam wrappers (system and user) and think that proper solution would be to modify system steam wrapper (/usr/games/bin/steam) to define LD_LIBRARY_PATH from /etc/ld.so.conf while executing user steam wrapper.

User steam wrapper prepends steam runtime paths to LD_LIBRARY_PATH and appends /usr/lib32

For example this call: "LD_LIBRARY_PATH="/usr/lib32/opengl/nvidia/lib:/usr/lib64/opengl/nvidia/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib32:/usr/lib32:/usr/local/lib32:/lib:/usr/lib:/usr/local/lib:/usr/lib32/OpenCL/vendors/nvidia:/usr/lib64/OpenCL/vendors/nvidia:/usr/lib64/qt4:/usr/lib32/qt4:/usr/lib/qt4:/opt/nvidia-cg-toolkit/lib64:/opt/nvidia-cg-toolkit/lib32:/usr/games/lib64:/usr/games/lib32:/usr/games/lib:/opt/cuda/lib64:/opt/cuda/lib" steam" works for me.
Comment 12 nE0sIghT 2014-12-08 21:07:00 UTC
Created attachment 391242 [details, diff]
Patch against steam-launcher-1.0.0.47-r1.ebuild

Here is a patch
Comment 13 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-08 21:17:16 UTC
Argv. Honestly, it would be better if they didn't play with LD_LIBRARY_PATH like this. Especially if ld.so.conf has /usr/lib32 already...
Comment 14 nE0sIghT 2014-12-09 04:20:46 UTC
Reported upstream: https://github.com/ValveSoftware/steam-for-linux/issues/3624
Comment 15 Jeroen Roovers (RETIRED) gentoo-dev 2014-12-10 13:30:27 UTC
Comment on attachment 391242 [details, diff]
Patch against steam-launcher-1.0.0.47-r1.ebuild

That looks terrible. A proper unified diff would make this a lot easier on the eyes.
Comment 16 nE0sIghT 2014-12-13 08:47:42 UTC
CC'ing dev of steam-overlay as it also affected
Comment 17 nE0sIghT 2014-12-13 08:51:54 UTC
(In reply to Jeroen Roovers from comment #15)
> Comment on attachment 391242 [details, diff] [details, diff]
> Patch against steam-launcher-1.0.0.47-r1.ebuild
> 
> That looks terrible. A proper unified diff would make this a lot easier on
> the eyes.

This is just temporal workaround. Nothing more.
I do not know how to make it better. Except perhaps replace second sed with tr
Comment 18 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-13 08:52:26 UTC
Comment on attachment 391242 [details, diff]
Patch against steam-launcher-1.0.0.47-r1.ebuild

Nope, this patch won't do it. It needs to respect contents of ld.so.conf during run-time, not the one that was there during the build.

Does the wrapper do anything useful? Maybe we could just ignore it.
Comment 19 nE0sIghT 2014-12-13 09:01:58 UTC
(In reply to Michał Górny from comment #18)
> Comment on attachment 391242 [details, diff] [details, diff]
> Patch against steam-launcher-1.0.0.47-r1.ebuild
> 
> Does the wrapper do anything useful? Maybe we could just ignore it.

There is actually 2 wrappers.

1. System wrapper /usr/{games/}bin/steam - it just prepare actual stuff in user profile and call 2nd wrapper there
2. User wrapper ~/.local/share/Steam/steam.sh - it is part of "steam bootstrap" and automatically updated by Steam itself.

User wrapper contains LD_LIBRARY_PATH with /usr/lib32 and steam runtime dirs.
I do not think we could ignore it.
Comment 20 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-13 09:04:44 UTC
So for cheap solutions, I have two ideas. Either:

a. add an extra wrapper that does 'sed -i -e' on the user wrapper -- so that the line is always removed, even if the wrapper is updated upstream. However, if Steam auto-restarts it using the wrapper this won't be of help on upgrades,

b. add an extra wrapper that fills LD_LIBRARY_PATH in from ld.so.conf *in a readable* way. Just don't forget about ld.so.conf.d.
Comment 21 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-13 09:05:13 UTC
(if the system wrapper is in our control, we can add the extra code there)
Comment 22 nE0sIghT 2014-12-13 09:09:15 UTC
(In reply to Michał Górny from comment #20)
> So for cheap solutions, I have two ideas. Either:
> 
> a. add an extra wrapper that does 'sed -i -e' on the user wrapper -- so that
> the line is always removed, even if the wrapper is updated upstream.
> However, if Steam auto-restarts it using the wrapper this won't be of help
> on upgrades,

This will not work as user wrapper will detect changes and self-update.
Comment 23 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-13 09:13:50 UTC
Ok. Could you tell me if the system wrapper is /bin/sh or bash? I will prepare some clean code for ya.
Comment 24 nE0sIghT 2014-12-13 09:15:18 UTC
(In reply to Michał Górny from comment #23)
> Ok. Could you tell me if the system wrapper is /bin/sh or bash? I will
> prepare some clean code for ya.

It's bash
Comment 25 nE0sIghT 2014-12-13 09:36:45 UTC
Created attachment 391538 [details, diff]
ld.so.conf-steam-launcher-1.0.0.49.patch

I think it must look like this.

Ebuild patch:

--- ../../../../portage/layman/gamerlay/games-util/steam-launcher/steam-launcher-1.0.0.47-r1.ebuild	2014-12-08 19:49:45.860677134 +0300
+++ ./steam-launcher-1.0.0.49.ebuild	2014-12-13 12:28:56.933075754 +0300
@@ -54,12 +54,16 @@
 S=${WORKDIR}/steam/
 
 src_prepare() {
+	epatch "${FILESDIR}"/ld.so.conf-${P}.patch
+
 	# we use our ebuild functions to install the files
 	rm Makefile
 
 	sed -i \
 		-e "s:/usr/bin/steam:${GAMES_BINDIR}/steam:" \
-		${S}/steam.desktop || die "sed failed" 
+		${S}/steam.desktop || die "sed failed"
+
+	epatch_user
 }
 
 src_install() {
Comment 26 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-13 09:50:48 UTC
Nope, ugly and incorrect. You should read ldconfig.c in glibc, then you'd know how to read the file format :P.

But seriously, something much simpler:

# Steam appends /usr/lib32 to LD_LIBRARY_PATH. We need to make sure that
# OpenGL implementation dir goes before that, so we need to append it
# to user's LD_LIBRARY_PATH ourselves. But that's needed only with
# the new eselect-opengl that uses 000opengl file.
if [ -f /etc/env.d/000opengl ]; then
	. /etc/env.d/000opengl
	# Append only when LDPATH is non-empty -- i.e. using nvidia or ati.
	if [ -n "${LDPATH}" ]; then
		export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${LD_LIBRARY_PATH+:}${LDPATH}
	fi
fi

Solves the specific issues.
Comment 27 nE0sIghT 2014-12-13 10:03:00 UTC
Created attachment 391542 [details, diff]
ld.so.conf-steam-launcher-1.0.0.49.patch

(In reply to Michał Górny from comment #26)
> But seriously, something much simpler:

Thanks for proper solution! Works good for me
Comment 28 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-12-06 06:52:46 UTC
*** Bug 567200 has been marked as a duplicate of this bug. ***