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 <<a href=3D"mailto:[email protected]= ">[email protected]</a>> 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 <<a href=3D"mailto:[email protected]" target= =3D"_blank">[email protected]</a>><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 "Gallium crocus driver"<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 "Gallium iris driver"<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 "intel-virtio"<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==--