[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 21:05:41 PDT 2014


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:

diff --git a/configure.ac b/configure.ac
index 9c67a9b..88c26f7 100644
--- a/configure.ac
+++ b/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,9 +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_LIB_PRIV="$DLOPEN_LIBS"
-AC_SUBST([GBM_PC_REQ_PRIV])
 AC_SUBST([GBM_PC_LIB_PRIV])
 
 dnl
@@ -1426,11 +1420,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