<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Sat, Jun 15, 2013 at 8:05 PM, Carl Worth <span dir="ltr"><<a href="mailto:cworth@cworth.org" target="_blank">cworth@cworth.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">José Fonseca <<a href="mailto:jfonseca@vmware.com">jfonseca@vmware.com</a>> writes:<br>

> FYI, with<br>
> <a href="https://github.com/apitrace/apitrace/commit/7700f74f294a28e57860487b917c8807156b3ad1" target="_blank">https://github.com/apitrace/apitrace/commit/7700f74f294a28e57860487b917c8807156b3ad1</a><br>
> apitrace no longer crashes with Steam overlay.<br>
<br>
</div>Thanks, José! This will be quite handy. And it's a fix I'd been hoping<br>
to make for apitrace, but hadn't gotten around to.<br>
<br>
It's also nice to see that you got __libc_dlsym working. When I wrote a<br>
similar dlsym wrapper for fips I think I tried that but didn't get it to<br>
work for some reason. (I ended up with something that feels more fragile<br>
by calling dlvsym to find "dlsym".) So I'll revisit this with the<br>
apitrace code in mind.<br>
<div class="im"><br>
> But the overlay's rendering is not shown/captured when when apitrace<br>
> uses LD_PRELOAD.<br>
<br>
</div>Do you know why this is? <br></blockquote><div><br></div><div style>No, I don't have a clear understanding.</div><div style><br></div><div style>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.</div>
<div><br></div><div style>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.</div><div style><br></div><div style>But I get the feeling that something is triggering the Steam overlay to not activate at all.</div>
<div style><br></div><div style>> I'd definitely be interested in making apitrace work more transparently here.<br></div><div style><br></div><div style>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.</div>
<div><br></div><div style>Jose</div></div></div></div>