1 menuconfig BR2_PACKAGE_MESA3D
3 depends on BR2_INSTALL_LIBSTDCPP
4 depends on !BR2_STATIC_LIBS
5 depends on BR2_TOOLCHAIN_HAS_SYNC_1
6 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
7 select BR2_PACKAGE_LIBDRM
8 select BR2_PACKAGE_EXPAT
9 select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
10 select BR2_PACKAGE_XPROTO_GLPROTO if BR2_PACKAGE_XORG7
11 select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
12 select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
13 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
14 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
15 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
16 select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
18 Mesa 3D, an open-source implementation of the OpenGL specification.
24 # inform the .mk file of gallium or dri driver selection
25 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
26 select BR2_PACKAGE_MESA3D_DRIVER
29 config BR2_PACKAGE_MESA3D_DRI_DRIVER
30 select BR2_PACKAGE_MESA3D_DRIVER
31 select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
32 select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO
33 select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO
36 config BR2_PACKAGE_PROVIDES_LIBGL
37 default "mesa3d" if BR2_PACKAGE_MESA3D_DRI_DRIVER && \
40 config BR2_PACKAGE_MESA3D_DRIVER
43 config BR2_PACKAGE_MESA3D_NEEDS_XA
46 comment "Gallium drivers"
48 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
49 bool "Gallium nouveau driver"
50 depends on BR2_i386 || BR2_x86_64
51 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
52 select BR2_PACKAGE_LIBDRM_NOUVEAU
53 select BR2_PACKAGE_MESA3D_NEEDS_XA
55 Supports all Nvidia GPUs.
57 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
58 bool "Gallium Radeon R600 driver"
59 depends on BR2_i386 || BR2_x86_64
60 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
61 select BR2_PACKAGE_LIBDRM_RADEON
62 select BR2_PACKAGE_MESA3D_NEEDS_XA
64 Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
66 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
67 bool "Gallium vmware svga driver"
68 depends on BR2_i386 || BR2_x86_64
69 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
70 select BR2_PACKAGE_LIBDRM_VMWGFX
71 select BR2_PACKAGE_MESA3D_NEEDS_XA
73 This is a virtual GPU driver for VMWare virtual machines.
75 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
76 bool "Gallium swrast driver"
77 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
79 This is a software opengl implementation using the Gallium3D
82 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
83 bool "Gallium vc4 driver"
85 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
86 select BR2_PACKAGE_LIBDRM_VC4
87 select BR2_PACKAGE_MESA3D_NEEDS_XA
89 Driver for Broadcom VC4 (rpi2/3) GPUs.
90 It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
92 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
93 bool "Gallium virgl driver"
94 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
95 select BR2_PACKAGE_MESA3D_OPENGL_EGL
97 virgl is the 3D acceleration backend for the virtio-gpu
100 comment "DRI drivers"
102 config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
103 bool "DRI swrast driver"
104 select BR2_PACKAGE_MESA3D_DRI_DRIVER
106 This is a software opengl implementation using the DRI
109 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
110 bool "DRI i915 driver"
111 depends on BR2_i386 || BR2_x86_64
112 select BR2_PACKAGE_MESA3D_DRI_DRIVER
113 select BR2_PACKAGE_LIBDRM_INTEL
115 Support for i915-based Intel GPUs.
117 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
118 bool "DRI i965 driver"
119 depends on BR2_i386 || BR2_x86_64
120 select BR2_PACKAGE_MESA3D_DRI_DRIVER
121 select BR2_PACKAGE_LIBDRM_INTEL
123 Support for i965-based Intel GPUs.
125 config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
126 bool "DRI nouveau driver"
127 select BR2_PACKAGE_MESA3D_DRI_DRIVER
128 select BR2_PACKAGE_LIBDRM_NOUVEAU
130 Support for Nvidia-based GPUs.
132 config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
133 bool "DRI radeon driver"
134 select BR2_PACKAGE_MESA3D_DRI_DRIVER
135 select BR2_PACKAGE_LIBDRM_RADEON
137 Legacy Radeon driver for R100 series GPUs.
139 comment "Off-screen Rendering"
141 config BR2_PACKAGE_MESA3D_OSMESA
142 bool "OSMesa library"
144 The OSMesa API provides functions for making off-screen renderings.
146 if BR2_PACKAGE_MESA3D_DRIVER
148 comment "Additional API Support"
150 config BR2_PACKAGE_MESA3D_OPENGL_EGL
152 select BR2_PACKAGE_HAS_LIBEGL
154 Use the Khronos EGL APIs. EGL is a window manager for OpenGL applications
155 similar to GLX, for X, and WGL, for Windows.
157 config BR2_PACKAGE_MESA3D_OPENGL_ES
159 select BR2_PACKAGE_HAS_LIBGLES
161 Use the Khronos OpenGL ES APIs. This is commonly used on embedded
162 systems and represents a subset of the OpenGL API.
164 endif # BR2_PACKAGE_MESA3D_DRIVER
166 config BR2_PACKAGE_PROVIDES_LIBEGL
167 default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
169 config BR2_PACKAGE_PROVIDES_LIBGLES
170 default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
172 endif # BR2_PACKAGE_MESA3D
174 comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
175 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
177 depends on BR2_TOOLCHAIN_HAS_SYNC_1