Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Dec 2006 11:30:08 -0500
From:      "Isaac Waldron" <isaac.waldron@gmail.com>
To:        freebsd-x11@freebsd.org
Subject:   Re: 6.2-PRE, AGP X800, and Modular Xorg == No DRI?
Message-ID:  <9c16502b0612170830i429441f7j78b955ffa1a50de4@mail.gmail.com>
In-Reply-To: <45853109.5040208@alqualonde.org>
References:  <9c16502b0612131708r365b8ccew72e936bc67dada60@mail.gmail.com> <4581AA17.3080501@gaspode.franken.de> <4581B846.50200@voicenet.com> <9c16502b0612141458o75c27495k4b72bd1f56b21f55@mail.gmail.com> <9c16502b0612160910g5eba0982sbc4c52306e0d1b89@mail.gmail.com> <45853109.5040208@alqualonde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@gmail.com
home: 781-365-0272
mobile: 1-508-353-3453



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9c16502b0612170830i429441f7j78b955ffa1a50de4>