menuconfig BR2_PACKAGE_MESA3D bool "mesa3d" depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_1 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_EXPAT select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_GLPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 help Mesa 3D, an open-source implementation of the OpenGL specification. http://mesa3d.org if BR2_PACKAGE_MESA3D # inform the .mk file of gallium, dri or vulkan driver selection config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_MESA3D_DRIVER bool config BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_MESA3D_DRIVER select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO bool config BR2_PACKAGE_MESA3D_VULKAN_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_MESA3D_DRIVER bool config BR2_PACKAGE_MESA3D_NEEDS_XA bool comment "Gallium drivers" config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU bool "Gallium nouveau driver" depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_NOUVEAU select BR2_PACKAGE_MESA3D_NEEDS_XA help Supports all Nvidia GPUs. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 bool "Gallium Radeon R600 driver" depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_RADEON select BR2_PACKAGE_MESA3D_NEEDS_XA help Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA bool "Gallium vmware svga driver" depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_VMWGFX select BR2_PACKAGE_MESA3D_NEEDS_XA help This is a virtual GPU driver for VMWare virtual machines. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST bool "Gallium swrast driver" select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER help This is a software opengl implementation using the Gallium3D infrastructure. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 bool "Gallium vc4 driver" depends on BR2_arm select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_VC4 select BR2_PACKAGE_MESA3D_NEEDS_XA help Driver for Broadcom VC4 (rpi2/3) GPUs. It requires a vanilla 4.5+ kernel with drm vc4 (open) support. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL bool "Gallium virgl driver" select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_MESA3D_OPENGL_EGL help virgl is the 3D acceleration backend for the virtio-gpu shipping with qemu. comment "DRI drivers" config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST bool "DRI swrast driver" select BR2_PACKAGE_MESA3D_DRI_DRIVER help This is a software opengl implementation using the DRI infrastructure. config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915 bool "DRI i915 driver" depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_LIBDRM_INTEL help Support for i915-based Intel GPUs. config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 bool "DRI i965 driver" depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_LIBDRM_INTEL help Support for i965-based Intel GPUs. config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU bool "DRI nouveau driver" select BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_LIBDRM_NOUVEAU help Support for Nvidia-based GPUs. config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON bool "DRI radeon driver" select BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_LIBDRM_RADEON help Legacy Radeon driver for R100 series GPUs. comment "Vulkan drivers" config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL bool "Vulkan Intel driver" depends on BR2_i386 || BR2_x86_64 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert depends on BR2_PACKAGE_XORG7 # xproto_dri3proto # We need a SHA1 implementation. If either openssl or # libgcrypt are already part of the build, we'll use one of # them, otherwise, use the small libsha1 library. select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT) select BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER select BR2_PACKAGE_XPROTO_DRI3PROTO help Vulkan driver for Intel hardware from Ivy Bridge onward. comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.18" depends on BR2_i386 || BR2_x86_64 depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \ !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7 comment "Off-screen Rendering" config BR2_PACKAGE_MESA3D_OSMESA bool "OSMesa library" help The OSMesa API provides functions for making off-screen renderings. if BR2_PACKAGE_MESA3D_DRIVER comment "Additional API Support" config BR2_PACKAGE_MESA3D_OPENGL_EGL bool "OpenGL EGL" select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBEGL_WAYLAND help Use the Khronos EGL APIs. EGL is a window manager for OpenGL applications similar to GLX, for X, and WGL, for Windows. config BR2_PACKAGE_MESA3D_OPENGL_ES bool "OpenGL ES" select BR2_PACKAGE_HAS_LIBGLES help Use the Khronos OpenGL ES APIs. This is commonly used on embedded systems and represents a subset of the OpenGL API. endif # BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_PROVIDES_LIBGL default "mesa3d" if BR2_PACKAGE_XORG7 config BR2_PACKAGE_PROVIDES_LIBEGL default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL config BR2_PACKAGE_PROVIDES_LIBGLES default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES endif # BR2_PACKAGE_MESA3D comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_1