This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: X server 1.5.3-2 candidate


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Jon TURNEY wrote:
> Actually, this seems to be more complex than I first thought.  Running any of
> the mesa demo programs works fine locally, but causes a server segfault when I
> do it over ssh to a linux box....

Let me give you some background.  You're aware that X.Org was previously
embedding the Mesa sources into the server.  With 1.5, they moved away
from that model and now offer two options for GLX:

1) Use full-fledged DRI, which is Linux/*BSD specific;
2) Load the software rasterizer DRI module (/usr/lib/dri/swrast_dri.so)
and skip the hardware.

Of course, we only have the choice of the latter, but if swrast_dri.so
is missing, the GLX (and SGI-GLX) extension is disabled.  So I prepared
mesa-7.2-2 and tried building that module, but after fixing up the build
system, I found that it wasn't so simple.  The build only links the
module against libmesa.a (a convenience lib that becomes part of libGL),
leaving several undefined references:

_glapi_Context
_glapi_Dispatch
_glapi_add_dispatch
_glapi_check_multithread
_glapi_get_context
_glapi_get_dispatch_table_size
_glapi_noop_enable_warnings
_glapi_set_context
_glapi_set_dispatch
_glapi_set_warning_func

My understanding -- and I may be wrong -- is that these symbols are left
undefined on purpose, because they are meant to be resolved by whatever
loads the module.  That may be a DRI-enabled libGL, an X server, etc.
But that doesn't work for us because DLLs must have all references
resolved at link time.

So what to do?  All the X servers have GLX support, but if I were to
resolve these symbols against e.g. XWin, then the other servers will
crash trying to load it.  (Yes, I tried it.)  So while our libGL doesn't
actually use the module, the only neutral solution was to link against
all of libGL instead of just part of it, and at least on the surface it
appears to work.

While the local mesa demos run whether or not the GLX extension is
enabled, but I do see a major difference in xdpyinfo and glxinfo with
and without GLX enabled.  This is the only reassurance I have right now
that I may have picked a working solution.

Unfortunately I don't have a linux box to experiment with... :-(


Yaakov
Cygwin/X
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREIAAYFAkkc0IoACgkQpiWmPGlmQSMvDgCg0vbhFME215uUOCLSs17Uoq+v
yz8AnA/SDBJKcaCJkZS997PA2SQALUVt
=B8F8
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]