----- Original Message ----- > > Thinking about this yesterday, I think the biggest question is the > > one > > that Dave posed. If glXMakeCurrent() is killing the WebGL tests, > > then > > this would imply that glxinfo also shows the same bug, since glxinfo > > is almost entirely composed of getting a GL context and pulling > > strings and limits from it. However, nothing so far has indicated > > that > > glxinfo is broken on these systems. So, what are Fx and Chromium > > doing > > differently or *besides* glXMakeCurrent, that causes these bugs to > > be > > exposed? > > Actually, a Google search for 'glxinfo crash' gives lots of results: > > http://www.google.ca/search?q=glxinfo+crash > > I get 143,000 results; restricting to the past year, I still get > 11,500; and even if it turned out that glxinfo crashes had disappeared > on current versions, I would still need a way of identifying these new > versions.
To be more specific and reproducible, here are various bug reports about glxinfo crashes, from this google search: https://bugzilla.redhat.com/show_bug.cgi?id=658285 https://bugzilla.redhat.com/show_bug.cgi?id=656308 https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/555158 http://ubuntuforums.org/showthread.php?s=60bc14919a13367ba32a2f6b48489d18&t=1046585 https://defect.opensolaris.org/bz/show_bug.cgi?id=5447 https://defect.opensolaris.org/bz/show_bug.cgi?id=5493 Benoit > > It now seems to me that our best bet is to follow Brian's advice and > create a tiny "glxinfo-like" app, to be run as a separate process at > Firefox startup. > > Cheers, > Benoit > > > > > ~ C. > > > > On Fri, Feb 4, 2011 at 3:29 PM, Zhenyao Mo <z...@google.com> wrote: > > > I have to agree with Benoit here. The capability to obtain driver > > > information safely in linux is important. It's surprising that > > > there > > > is no way we can do it at the moment (at least not that I am aware > > > of, > > > and I've asked around quite a few linux experts here at Google > > > already). > > > > > > Zhenyao > > > > > > On Fri, Feb 4, 2011 at 3:26 PM, Benoit Jacob <bja...@mozilla.com> > > > wrote: > > >> > > >> > > >> ----- Original Message ----- > > >>> On Fre, 2011-02-04 at 14:21 -0800, Benoit Jacob wrote: > > >>> > > > >>> > ----- Original Message ----- > > >>> > > Benoit Jacob wrote: > > >>> > > > ----- Original Message ----- > > >>> > > >> On Thu, Feb 3, 2011 at 4:37 PM, Benoit Jacob > > >>> > > >> <bja...@mozilla.com> > > >>> > > >> wrote: > > >>> > > >>> I'm trying to see how to implement selective > > >>> > > >>> whitelisting/blacklisting of driver versions on X11 (my > > >>> > > >>> use > > >>> > > >>> case > > >>> > > >>> is > > >>> > > >>> to whitelist drivers for Firefox). The naive approach > > >>> > > >>> consists > > >>> > > >>> in > > >>> > > >>> creating an OpenGL context and calling glGetString(), > > >>> > > >>> however > > >>> > > >>> that > > >>> > > >>> is not optimal for me, for these reasons: > > >>> > > >>> * This has been enough to trigger crashes in the past. > > >>> > > >>> > > >>> > > >>> Ideally I want to be able to know the driver name, > > >>> > > >>> driver > > >>> > > >>> version, > > >>> > > >>> Mesa version, and any other thing that you think may be > > >>> > > >>> relevant. > > >>> > > >>> I > > >>> > > >>> need to get that information in a fast and safe way. > > >>> > > >>> > > >>> > > >> There is no other way than glGetString if you ever > > >>> > > >> experienced > > >>> > > >> crash > > >>> > > >> with it, it would be because you are doing something > > >>> > > >> terribly > > >>> > > >> wrong > > >>> > > >> like using it without current context. > > >>> > > > > > >>> > > > It's not glGetString that's crashing, it's glXMakeCurrent. > > >>> > > > > > >>> > > > I forwarded a bug report from a user, though he's not been > > >>> > > > able > > >>> > > > to > > >>> > > > reproduce since: > > >>> > > > > > >>> > > > https://bugs.freedesktop.org/show_bug.cgi?id=32238 > > >>> > > > > > >>> > > > A search in Mesa's bugzilla confirms that I'm not alone: > > >>> > > > > > >>> > > > https://bugs.freedesktop.org/show_bug.cgi?id=30557 > > >>> > > > > >>> > > This latter bug looks like an i915 driver bug, as opposed to > > >>> > > a > > >>> > > MakeCurrent bug. > > >>> > > > > >>> > > > Since the glGetString way will at best be slow, especially > > >>> > > > if we > > >>> > > > have > > >>> > > > to XSync and check for errors, could you consider exposing > > >>> > > > this > > >>> > > > information as new glXGetServerString / glXGetClientString > > >>> > > > strings? > > >>> > > > > >>> > > ? I don't understand the logic here. > > >>> > > > > >>> > > You're hitting a bug in glXCreateContext or MakeCurrent or > > >>> > > something > > >>> > > like that. So you'd like to add an entire new way to query > > >>> > > the > > >>> > > same > > >>> > > information a driver already provides, just to provide an > > >>> > > alternate > > >>> > > path > > >>> > > that hopefully doesn't exhibit the bug? > > >>> > > > > >>> > > Just fix the bug! There's no reason for glX extensions to > > >>> > > add > > >>> > > new > > >>> > > functions here. > > >>> > > > >>> > My point is just that bugs exist. > > >>> > > > >>> > Since bugs exist, I am trying to implement a driver blacklist. > > >>> > > > >>> > My problem is that with GLX it's tricky because I can't get > > >>> > answer > > >>> > to > > >>> > the question "should I avoid creating GL contexts on this > > >>> > driver" > > >>> > without creating a GL context. > > >>> > > > >>> > I proposed to allow handling this in > > >>> > glXQuery(Server|Client)String > > >>> > because these functions are known to be non-crashy. > > >>> > > >>> What you're asking for is not possible, because the information > > >>> you > > >>> need > > >>> depends on the context which is current. No shortcuts here I'm > > >>> afraid. :) > > >> > > >> We're doing driver blacklists on all platforms, and it tends to > > >> be > > >> quite easy on other platforms. For example, on Windows, we just > > >> read all the driver information from the registry. Couldn't X > > >> drivers likewise have some metadata stored on disk, that could be > > >> queried via some new API? I proposed GLX because > > >> glXQueryServerString already knows about at least the driver > > >> vendor. But I don't mind having it exposed elsewhere than in GLX > > >> if > > >> that makes more sense :) > > >> > > >> Please take this request seriously: driver blacklists are useful, > > >> not limited to Firefox, and certainly not limited to X11. As I > > >> say, > > >> we blacklist drivers on all platforms, and we'd never have been > > >> able to make Firefox 4 releasable without blacklisting many > > >> Windows > > >> drivers. Zhenyao Mo, in CC, is working on similar features in > > >> Chromium. > > >> > > >> Cheers, > > >> Benoit > > >> > > >>> > > >>> > > >>> -- > > >>> Earthling Michel Dänzer | http://www.vmware.com > > >>> Libre software enthusiast | Debian, X and DRI developer > > >> > > > _______________________________________________ > > > mesa-dev mailing list > > > mesa-dev@lists.freedesktop.org > > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > > > > > > > -- > > When the facts change, I change my mind. What do you do, sir? ~ > > Keynes > > > > Corbin Simpson > > <mostawesomed...@gmail.com> > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev