Re: [Buildroot] [PATCH] package/mesa3d: add intel-virtio host native context config

Adam Ford <[email protected]> Fri, 31 Jul 2026 16:04:07 -0500
Newsgroups net.busybox.buildroot
Message-ID <CAHCN7xL4dgE=SPS5Y92eHi=q2MSk1gK4kotbsONTWeiPExaYbA@mail.gmail.com>
--===============8089078866546034587==
Content-Type: multipart/alternative; boundary="0000000000002793dc0657ee8868"

--0000000000002793dc0657ee8868
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 10, 2026 at 8:32=E2=80=AFAM Adam Ford <[email protected]> wrot=
e:

> Add BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_INTEL in the same
> pattern as amdgpu-virtio. When enabled, -Dintel-virtio-experimental=3Dtru=
e
> defines HAVE_INTEL_VIRTIO so the guest-side Intel native context
> (i915 and xe context types) is compiled in. This is the guest half
> of the Intel vDRM GPU passthrough path, usable by the crocus/iris
> (OpenGL) and ANV (Vulkan) drivers.
>
> Note that this is an experimental Mesa feature (the upstream meson
> option is named intel-virtio-experimental) and is disabled by default.
>
> Signed-off-by: Adam Ford <[email protected]>
>
>
Gentle nudge on this.

adam


> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index e184039150..ad02b5e829 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -130,6 +130,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS
>         bool "Gallium crocus driver"
>         depends on BR2_i386 || BR2_x86_64
>         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
> +       select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER
>         help
>           Mesa driver for gen4-7 Intel GPUs.
>
> @@ -167,6 +168,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
>         bool "Gallium iris driver"
>         depends on BR2_PACKAGE_MESA3D_LLVM
>         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
> +       select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER
>         select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
>         select BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER
>         help
> @@ -393,6 +395,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
>         depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
>         depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
>         depends on BR2_PACKAGE_MESA3D_LLVM
> +       select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER
>         select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
>         select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
>         help
> @@ -459,6 +462,22 @@ config
> BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_FREEDRENO
>           Select this when running Mesa inside a virtual machine
>           with virtio-gpu host native context support.
>
> +config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_INTEL
> +       bool "intel-virtio"
> +       depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS || \
> +               BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS || \
> +               BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
> +       help
> +         Enable VirtIO support for Intel native contexts
> +         used by the crocus/iris (OpenGL) and ANV (Vulkan)
> +         drivers.
> +
> +         This is an experimental Mesa feature and is disabled
> +         by default.
> +
> +         Select this when running Mesa inside a virtual machine
> +         with virtio-gpu host native context support.
> +
>  config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER
>         bool
>
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 8e6c2ee5b8..87377b7ce4 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -164,6 +164,12 @@ else
>  MESA3D_CONF_OPTS +=3D -Damdgpu-virtio=3Dfalse
>  endif
>
> +ifeq ($(BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_INTEL),y)
> +MESA3D_CONF_OPTS +=3D -Dintel-virtio-experimental=3Dtrue
> +else
> +MESA3D_CONF_OPTS +=3D -Dintel-virtio-experimental=3Dfalse
> +endif
> +
>  ifneq
> ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO)$(BR2_PACKAGE_MESA3D_VULKA=
N_DRIVER_FREEDRENO),)
>  MESA3D_FREEDRENO_KMDS =3D msm
>  ifeq ($(BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_FREEDRENO),y)
> --
> 2.53.0
>
>

--0000000000002793dc0657ee8868
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote g=
mail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Jul 10,=
 2026 at 8:32=E2=80=AFAM Adam Ford &lt;<a href=3D"mailto:[email protected]=
">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex">Add BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_INTEL=
 in the same<br>
pattern as amdgpu-virtio. When enabled, -Dintel-virtio-experimental=3Dtrue<=
br>
defines HAVE_INTEL_VIRTIO so the guest-side Intel native context<br>
(i915 and xe context types) is compiled in. This is the guest half<br>
of the Intel vDRM GPU passthrough path, usable by the crocus/iris<br>
(OpenGL) and ANV (Vulkan) drivers.<br>
<br>
Note that this is an experimental Mesa feature (the upstream meson<br>
option is named intel-virtio-experimental) and is disabled by default.<br>
<br>
Signed-off-by: Adam Ford &lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;<br>
<br></blockquote><div><br></div><div>Gentle nudge on this.</div><div><br></=
div><div>adam</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in<br>
index e184039150..ad02b5e829 100644<br>
--- a/package/mesa3d/Config.in<br>
+++ b/package/mesa3d/Config.in<br>
@@ -130,6 +130,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 bool &quot;Gallium crocus driver&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on BR2_i386 || BR2_x86_64<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_S=
UPPORTED_DRIVER<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 help<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Mesa driver for gen4-7 Intel GPUs.<br>
<br>
@@ -167,6 +168,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 bool &quot;Gallium iris driver&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on BR2_PACKAGE_MESA3D_LLVM<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_S=
UPPORTED_DRIVER<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILE=
R<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRI=
VER<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 help<br>
@@ -393,6 +395,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 =
# memfd.h<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, st=
atic_assert<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends on BR2_PACKAGE_MESA3D_LLVM<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_S=
UPPORTED_DRIVER<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILE=
R<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 help<br>
@@ -459,6 +462,22 @@ config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_F=
REEDRENO<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Select this when running Mesa inside a v=
irtual machine<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 with virtio-gpu host native context supp=
ort.<br>
<br>
+config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_INTEL<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0bool &quot;intel-virtio&quot;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CR=
OCUS || \<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0BR2_PACKAGE_MESA3D_=
GALLIUM_DRIVER_IRIS || \<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0BR2_PACKAGE_MESA3D_=
VULKAN_DRIVER_INTEL<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0help<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Enable VirtIO support for Intel native c=
ontexts<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0used by the crocus/iris (OpenGL) and ANV=
 (Vulkan)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0drivers.<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0This is an experimental Mesa feature and=
 is disabled<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0by default.<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Select this when running Mesa inside a v=
irtual machine<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0with virtio-gpu host native context supp=
ort.<br>
+<br>
=C2=A0config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 bool<br>
<br>
diff --git a/package/mesa3d/<a href=3D"http://mesa3d.mk" rel=3D"noreferrer"=
 target=3D"_blank">mesa3d.mk</a> b/package/mesa3d/<a href=3D"http://mesa3d.=
mk" rel=3D"noreferrer" target=3D"_blank">mesa3d.mk</a><br>
index 8e6c2ee5b8..87377b7ce4 100644<br>
--- a/package/mesa3d/<a href=3D"http://mesa3d.mk" rel=3D"noreferrer" target=
=3D"_blank">mesa3d.mk</a><br>
+++ b/package/mesa3d/<a href=3D"http://mesa3d.mk" rel=3D"noreferrer" target=
=3D"_blank">mesa3d.mk</a><br>
@@ -164,6 +164,12 @@ else<br>
=C2=A0MESA3D_CONF_OPTS +=3D -Damdgpu-virtio=3Dfalse<br>
=C2=A0endif<br>
<br>
+ifeq ($(BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_INTEL),y)<br>
+MESA3D_CONF_OPTS +=3D -Dintel-virtio-experimental=3Dtrue<br>
+else<br>
+MESA3D_CONF_OPTS +=3D -Dintel-virtio-experimental=3Dfalse<br>
+endif<br>
+<br>
=C2=A0ifneq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO)$(BR2_PACKAGE_ME=
SA3D_VULKAN_DRIVER_FREEDRENO),)<br>
=C2=A0MESA3D_FREEDRENO_KMDS =3D msm<br>
=C2=A0ifeq ($(BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_FREEDRENO),y)<b=
r>
-- <br>
2.53.0<br>
<br>
</blockquote></div></div>

--0000000000002793dc0657ee8868--

--===============8089078866546034587==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

--===============8089078866546034587==--