6.2-PRE, AGP X800, and Modular Xorg == No DRI?

Isaac Waldron isaac.waldron at gmail.com
Sun Dec 17 08:30:12 PST 2006


Yongjhen,

Your patch worked for me.  This is the patch I applied to get
radeon_drv to report that it couldn't find drmAvailable:

--- src/radeon_dri.c.orig	Tue Oct  3 10:49:13 2006
+++ src/radeon_dri.c	Sun Dec 17 10:57:43 2006
@@ -1215,8 +1215,18 @@
     /* Check that the GLX, DRI, and DRM modules have been loaded by testing
      * for known symbols in each module.
      */
-    if (!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) return FALSE;
-    if (!xf86LoaderCheckSymbol("drmAvailable"))        return FALSE;
+    if (!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) {
+      xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+		 "[dri] RADEONDRIGetVersion failed (libglx.a too old)\n"
+		 "[dri] Disabling DRI.\n");
+      return FALSE;
+    }
+    if (!xf86LoaderCheckSymbol("drmAvailable")) {
+      xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+		 "[dri] RADEONDRIGetVersion failed (libdrm.a too old)\n"
+		 "[dri] Disabling DRI.\n");
+      return FALSE;
+    }
     if (!xf86LoaderCheckSymbol("DRIQueryVersion")) {
       xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 		 "[dri] RADEONDRIGetVersion failed (libdri.a too old)\n"

Isaac

On 12/17/06, Yong-Jhen Hong <yongjhen at alqualonde.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Isaac Waldron wrote:
> > Upon further debugging, it appears that RADEONDRIGetVersion is failing
> > due to symbol "drmAvailable" not being found.  This was silently
> > failing, so I added a call to xf86DrvMsg to make it speak up.
> >
> > Now, drmAvailable appears to be part of the libdrm port, of which I
> > have version 2.3.0 installed.  Apparently, Xorg is not loading
> > libdrm.so for some reason?  libdrm.so is located in /usr/local/lib, is
> > there something special I need to do to get Xorg to pull this in?
> >
> > Isaac
> >
>
> I have similar problem.
> I find that after X server dlopen(3) the extension libdri.so with
> option RTLD_GLOBAL, the symbols in libdrm.so which it depends on
> cannot be accessed using dlsym(3), neither via the reference to
> libdri.so, nor the reference to the global scope.
>
> I have this little patch to make it work, but it seems not a best
> way to do so.
>
> - --- hw/xfree86/loader/dlloader.c.orig   Sun Dec 10 20:07:20 2006
> +++ hw/xfree86/loader/dlloader.c        Sun Dec 10 20:07:38 2006
> @@ -120,7 +120,7 @@
>      }
>
>      if (!global_scope)
> - -       global_scope = dlopen(NULL, DLOPEN_LAZY | DLOPEN_GLOBAL);
> +       global_scope = RTLD_DEFAULT;
>
>      if (global_scope)
>         return dlsym(global_scope, name);
>
>
> Regards,
> yongjhen
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (FreeBSD)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFFhTEIMczB8rP/pbkRAu7jAJ4+QLaYkNNZyGnWZh0xsG2vk4C3TgCfWvn+
> v3rOMZIBs1CFlOaKDID8WU0=
> =odwC
> -----END PGP SIGNATURE-----
>


-- 
Isaac Waldron
isaac.waldron at gmail.com
home: 781-365-0272
mobile: 1-508-353-3453


More information about the freebsd-x11 mailing list