Bug 75751 - egl_gallium always requires libdrm
Summary: egl_gallium always requires libdrm
Status: NEW
Alias: None
Product: Mesa
Classification: Unclassified
Component: EGL (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-04 12:35 UTC by Christian Prochaska
Modified: 2014-03-04 18:44 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Prochaska 2014-03-04 12:35:31 UTC
(git master 1a568e0f2b65e4e1e1d19a6dece3a792a33da825)

I'm building Mesa with the following configuration:

./autogen.sh --enable-gles2 --disable-dri --enable-gallium-egl --with-egl-platforms=fbdev --with-gallium-drivers=swrast

This configuration should not depend on libdrm, but when libdrm is missing, the configure script aborts:

configure: error: egl_gallium requires libdrm >= 2.4.38

I think the check for libdrm in configure.ac should also depend on 'enable_dri'.
Comment 1 Christian Prochaska 2014-03-04 13:35:55 UTC
When I temporarily disabled the libdrm check, Mesa built fine with this configuration and the 'es2gears' demo ran without problems.

But there's another case related to this which doesn't seem right:

With the same configuration, if libdrm is available, it gets linked to libGLESv2.so and egl_gallium.so, even though it should not be needed.

In my understanding, if '--disable-dri' is given, libdrm should neither be a requirement of the configure script nor should it get linked/used if it is available.
Comment 2 Chia-I Wu 2014-03-04 15:03:40 UTC
(In reply to comment #1)
> When I temporarily disabled the libdrm check, Mesa built fine with this
> configuration and the 'es2gears' demo ran without problems.
Right, libdrm should not be needed in your configuration.

> But there's another case related to this which doesn't seem right:
> 
> With the same configuration, if libdrm is available, it gets linked to
> libGLESv2.so and egl_gallium.so, even though it should not be needed.
It looks like the dependency is brought in by libloader (src/loader/).  It is unnecessary for the configuration, but is no harm.  It is potentially useful when egl_gallium can do accelerated rendering on fbdev.
> In my understanding, if '--disable-dri' is given, libdrm should neither be a
> requirement of the configure script nor should it get linked/used if it is
> available.
--disable-dri disables DRI drivers.

I will leave the bug open as I might not be able to fix it anytime soon.  Patches are welcomed.
Comment 3 Christian Prochaska 2014-03-04 15:28:15 UTC
> > In my understanding, if '--disable-dri' is given, libdrm should neither be a
> > requirement of the configure script nor should it get linked/used if it is
> > available.
>
> --disable-dri disables DRI drivers.
> 

Currently, it also disables the DRM winsys for egl_gallium with the i915 driver (see bug 75286).

So it seems there are different interpretations about what '--disable-dri' actually means. 'configure --help' says 'enable DRI modules'. Perhaps 'modules' should get renamed to 'drivers' then and perhaps the option renamed to '--enable-dri-drivers' to make it more clear?
Comment 4 Kenneth Graunke 2014-03-04 18:44:10 UTC
That's what --with-dri-drivers='' does.  So presumably --disable-dri does something else.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.