diff mbox series

[v2] mesa-tools-native: Add dependency on libdrm-native for panfront tools

Message ID 20260325163842.2672762-1-khem.raj@oss.qualcomm.com
State New
Headers show
Series [v2] mesa-tools-native: Add dependency on libdrm-native for panfront tools | expand

Commit Message

Khem Raj March 25, 2026, 4:38 p.m. UTC
From: Changqing Li <changqing.li@windriver.com>

Fix do_compile failure:
../sources/mesa-26.0.1/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal error: xf86drm.h: No such file or directory

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Quentin Schulz <quentin.schulz@cherry.de>
---
 meta/recipes-graphics/mesa/mesa.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Quentin Schulz March 25, 2026, 5 p.m. UTC | #1
Hi Khem,

On 3/25/26 5:38 PM, Khem Raj wrote:
> From: Changqing Li <changqing.li@windriver.com>
> 
> Fix do_compile failure:
> ../sources/mesa-26.0.1/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal error: xf86drm.h: No such file or directory
> 

Hold on a second. In v1 you patched mesa-tools-native and I based the 
whole discussion on that but the error message is actually about target 
mesa? You also said in v1 you're building mesa-gl so the error message 
is also not related. The commit title also is wrong now as you're 
changing mesa.inc.

What's actually going on. How do I reproduce? Also mesa-26.0.1 may be 
**before** mesa-tools-native was even introduced.

The gallium PACKAGECONFIG should bring this dependency in. If vulkan is 
selected, libdrm will be a required dependency and it should fail the 
build if we don't find it and try to build Vulkan panfrost (panvk). I'm 
suspecting we need to add libdrm to vulkan PACKAGECONFIG but maybe it's 
not required for *all* drivers (though all vulkan drivers currently in 
mesa do seem to require it for some shared/static libs so maybe that's 
fine there).

So we would only be missing this dependency for the panfrost (possibly 
others) tools. Then, this needs to be put in TOOLS_DEPS like I suggested 
in v1.

> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Quentin Schulz <quentin.schulz@cherry.de>
> ---
>   meta/recipes-graphics/mesa/mesa.inc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
> index a95adfc960..ecd3b3780e 100644
> --- a/meta/recipes-graphics/mesa/mesa.inc
> +++ b/meta/recipes-graphics/mesa/mesa.inc
> @@ -111,7 +111,7 @@ PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
>   PACKAGECONFIG[intel] = ""
>   PACKAGECONFIG[lima] = ""
>   PACKAGECONFIG[nouveau] = ""
> -PACKAGECONFIG[panfrost] = ""
> +PACKAGECONFIG[panfrost] = ",,libdrm-native"

Also, I'm pretty sure it should be libdrm and not libdrm-native, as 
what's gonna happen when a user requests building the tools for a target 
package? It needs to be the same architecture as the one you're building 
for, hence not forced to native.

Cheers,
Quentin
Khem Raj March 26, 2026, 12:36 a.m. UTC | #2
On Wed, Mar 25, 2026 at 10:00 AM Quentin Schulz via lists.openembedded.org
<quentin.schulz=cherry.de@lists.openembedded.org> wrote:

> Hi Khem,
>
> On 3/25/26 5:38 PM, Khem Raj wrote:
> > From: Changqing Li <changqing.li@windriver.com>
> >
> > Fix do_compile failure:
> > ../sources/mesa-26.0.1/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal
> error: xf86drm.h: No such file or directory
> >
>
> Hold on a second. In v1 you patched mesa-tools-native and I based the
> whole discussion on that but the error message is actually about target
> mesa? You also said in v1 you're building mesa-gl so the error message
> is also not related. The commit title also is wrong now as you're
> changing mesa.inc.
>
> What's actually going on. How do I reproduce? Also mesa-26.0.1 may be
> **before** mesa-tools-native was even introduced.
>
> The gallium PACKAGECONFIG should bring this dependency in. If vulkan is
> selected, libdrm will be a required dependency and it should fail the
> build if we don't find it and try to build Vulkan panfrost (panvk). I'm
> suspecting we need to add libdrm to vulkan PACKAGECONFIG but maybe it's
> not required for *all* drivers (though all vulkan drivers currently in
> mesa do seem to require it for some shared/static libs so maybe that's
> fine there).
>
> So we would only be missing this dependency for the panfrost (possibly
> others) tools. Then, this needs to be put in TOOLS_DEPS like I suggested
> in v1.
>
> > Signed-off-by: Changqing Li <changqing.li@windriver.com>
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > Cc: Quentin Schulz <quentin.schulz@cherry.de>
> > ---
> >   meta/recipes-graphics/mesa/mesa.inc | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-graphics/mesa/mesa.inc
> b/meta/recipes-graphics/mesa/mesa.inc
> > index a95adfc960..ecd3b3780e 100644
> > --- a/meta/recipes-graphics/mesa/mesa.inc
> > +++ b/meta/recipes-graphics/mesa/mesa.inc
> > @@ -111,7 +111,7 @@ PACKAGECONFIG[imagination] =
> "-Dimagination-srv=true,-Dimagination-srv=false"
> >   PACKAGECONFIG[intel] = ""
> >   PACKAGECONFIG[lima] = ""
> >   PACKAGECONFIG[nouveau] = ""
> > -PACKAGECONFIG[panfrost] = ""
> > +PACKAGECONFIG[panfrost] = ",,libdrm-native"
>
> Also, I'm pretty sure it should be libdrm and not libdrm-native, as
> what's gonna happen when a user requests building the tools for a target
> package? It needs to be the same architecture as the one you're building
> for, hence not forced to native.
>

Well my build failure was in mesa-tools-native which is in chain of
dependencies for mesa-gl/mesa which tries to build panfrost-tools

../sources/mesa-26.0.2/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal error:
xf86drm.h: No such file or directory
    7 | #include <xf86drm.h>
      |          ^~~~~~~~~~~

mesa is not built for opengl ( no-x11 no-wayland ) case with mali driver on
mesa-gl is used and that builds ok.


>
> Cheers,
> Quentin
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#233929):
> https://lists.openembedded.org/g/openembedded-core/message/233929
> Mute This Topic: https://lists.openembedded.org/mt/118504425/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index a95adfc960..ecd3b3780e 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -111,7 +111,7 @@  PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
 PACKAGECONFIG[intel] = ""
 PACKAGECONFIG[lima] = ""
 PACKAGECONFIG[nouveau] = ""
-PACKAGECONFIG[panfrost] = ""
+PACKAGECONFIG[panfrost] = ",,libdrm-native"
 PACKAGECONFIG[rocket] = ""
 PACKAGECONFIG[svga] = ""
 PACKAGECONFIG[tegra] = ""