[Mesa-dev] [PATCH 2/4] loader: don't limit the non-udev path to only android

Jonathan Gray jsg at jsg.id.au
Fri Mar 21 22:09:35 PDT 2014


On Sat, Mar 22, 2014 at 03:05:41PM +1100, Jonathan Gray wrote:
> On Sat, Mar 22, 2014 at 12:10:26AM +0000, Emil Velikov wrote:
> > On 19/03/14 01:06, Jonathan Gray wrote:
> > > On Tue, Mar 18, 2014 at 07:56:21PM +0000, Emil Velikov wrote:
> > >> On 18/03/14 14:59, Jonathan Gray wrote:
> > >>> Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
> > >>> ---
> > >> Hi Jonathan
> > >>
> > >> While the summary covers what the patch does, the *ahem* commit message
> > >> fails to explain why it's needed. AFAICS this will cause some very nasty
> > >> breakage in some cases, which we want to avoid without a valid reason.
> > >>
> > >> -Emil
> > > 
> > > The summary is the commit message though?
> > > 
> > > Anyway without this I can't load dri drivers at all on OpenBSD
> > > with mesa 10.x.  FreeBSD/NetBSD/Solaris/etc would also be broken
> > > which strikes me as rather serious breakage...
> > > 
> > Kind of expecting to see a fraction of the above in the commit message,
> > maybe I was expecting too much.
> > 
> > Wrt "will cause some very nasty breakage" I take that back, as I've
> > missed the commit that enforces libudev on linux, which handles those
> > lovely scenarios.
> > 
> > FWIW For patches 1, 2 and 4.
> > Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
> 
> Thanks, I can send another patch with more explanation in the
> commit message if you like.
> 
> > 
> > Btw, if you're looking for egl, wayland, opencl etc. similar fixes to
> > patch 3 may be needed.
> 
> The sticking point for egl with non x11 platforms has been
> the udev dependency in gbm.  Though it seems the loader changes have
> removed this, the configure script still wants libudev to configure gbm.
> 
> The drm platform has the same issue issue with configure.
> 
> libgbm and drm platform support in egl seem to build and install fine
> with the following patch for example:

revised version that doesn't result in an unuseable .pc file

diff --git configure.ac configure.ac
index 9c67a9b..47c315b 100644
--- configure.ac
+++ configure.ac
@@ -1133,10 +1133,6 @@ if test "x$enable_gbm" = xauto; then
     esac
 fi
 if test "x$enable_gbm" = xyes; then
-    if test x"$have_libudev" != xyes; then
-        AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED])
-    fi
-
     if test "x$enable_dri" = xyes; then
         GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
         if test "x$enable_shared_glapi" = xno; then
@@ -1145,7 +1141,7 @@ if test "x$enable_gbm" = xyes; then
     fi
 fi
 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
-GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED"
+GBM_PC_REQ_PRIV=""
 GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
 AC_SUBST([GBM_PC_REQ_PRIV])
 AC_SUBST([GBM_PC_LIB_PRIV])
@@ -1426,11 +1422,6 @@ for plat in $egl_platforms; do
 		AC_MSG_ERROR([EGL platform '$plat' does not exist])
 		;;
 	esac
-
-        case "$plat$have_libudev" in
-                waylandno|drmno)
-                    AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED]) ;;
-        esac
 done
 
 # libEGL wants to default to the first platform specified in


More information about the mesa-dev mailing list