On Sat, Jun 15, 2013 at 8:05 PM, Carl Worth <cwo...@cworth.org> wrote:

> José Fonseca <jfons...@vmware.com> writes:
> > FYI, with
> >
> https://github.com/apitrace/apitrace/commit/7700f74f294a28e57860487b917c8807156b3ad1
> > apitrace no longer crashes with Steam overlay.
>
> Thanks, José! This will be quite handy. And it's a fix I'd been hoping
> to make for apitrace, but hadn't gotten around to.
>
> It's also nice to see that you got __libc_dlsym working. When I wrote a
> similar dlsym wrapper for fips I think I tried that but didn't get it to
> work for some reason. (I ended up with something that feels more fragile
> by calling dlvsym to find "dlsym".) So I'll revisit this with the
> apitrace code in mind.
>
> > But the overlay's rendering is not shown/captured when when apitrace
> > uses LD_PRELOAD.
>
> Do you know why this is?
>

No, I don't have a clear understanding.

There are many ways where multiple LD_PRELOAD objects can interfere with
each other (beyond the problem found). If all preload .so did
dlsym(RTLD_NEXT, "foo") then they would probably nest safely. But given we
need to intercept dlsym and/or dlpen, plus functions like glxGetProcAddress.

Even if they nested properly, depending on the ordering of apitrace vs
overlay one might get the overlay working but not actually recorded on file.

But I get the feeling that something is triggering the Steam overlay to not
activate at all.

> I'd definitely be interested in making apitrace work more transparently
here.

Me too. But there are so many apps that only work well with
LD_LIBRARY_PATH, that make think that the best way forward is not to keep
adding hacks for LD_PRELOAD to work, but rather making apitrace seemingly
use LD_LIBRARY_PATH out of the box.

Jose
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to