systems.rst revision 7ec681f3
17ec681f3SmrgPlatforms and Drivers
27ec681f3Smrg=====================
37ec681f3Smrg
47ec681f3SmrgMesa is primarily developed and used on Linux systems. But there's also
57ec681f3Smrgsupport for Windows, other flavors of Unix and other systems such as
67ec681f3SmrgHaiku. We're actively developing and maintaining several hardware and
77ec681f3Smrgsoftware drivers.
87ec681f3Smrg
97ec681f3SmrgThe primary API is OpenGL but there's also support for OpenGL ES, Vulkan,
107ec681f3SmrgEGL, OpenMAX, OpenCL, VDPAU, VA-API and XvMC.
117ec681f3Smrg
127ec681f3SmrgHardware drivers include:
137ec681f3Smrg
147ec681f3Smrg-  Intel GMA, HD Graphics, Iris. See `Intel's
157ec681f3Smrg   Website <https://01.org/linuxgraphics>`__
167ec681f3Smrg-  AMD Radeon series. See
177ec681f3Smrg   `RadeonFeature <https://www.x.org/wiki/RadeonFeature>`__
187ec681f3Smrg-  NVIDIA GPUs (Riva TNT and later). See `Nouveau
197ec681f3Smrg   Wiki <https://nouveau.freedesktop.org>`__
207ec681f3Smrg-  Qualcomm Adreno A2xx-A6xx. See :doc:`Freedreno
217ec681f3Smrg   <drivers/freedreno>`
227ec681f3Smrg-  Broadcom VideoCore 4 and 5. See :doc:`VC4 <drivers/vc4>` and
237ec681f3Smrg   :doc:`V3D <drivers/v3d>`
247ec681f3Smrg-  ARM Mali Utgard. See :doc:`Lima <drivers/lima>`
257ec681f3Smrg-  ARM Mali Midgard, Bifrost. See :doc:`Panfrost <drivers/panfrost>`
267ec681f3Smrg-  Vivante GCxxx. See `Etnaviv
277ec681f3Smrg   Wiki <https://github.com/laanwj/etna_viv/wiki>`__
287ec681f3Smrg-  NVIDIA Tegra (K1 and later).
297ec681f3Smrg
307ec681f3SmrgLayered driver include:
317ec681f3Smrg
327ec681f3Smrg-  :doc:`D3D12 <drivers/d3d12>` - driver providing OpenGL on top of
337ec681f3Smrg   Microsoft's Direct3D 12 API.
347ec681f3Smrg-  :doc:`SVGA3D <drivers/svga3d>` - driver for VMware virtual GPU
357ec681f3Smrg-  `VirGL <https://virgil3d.github.io/>`__ - research project for
367ec681f3Smrg   accelerated graphics for qemu guests
377ec681f3Smrg-  :doc:`Zink <drivers/zink>` - driver providing OpenGL on top of
387ec681f3Smrg   Khoronos' Vulkan API.
397ec681f3Smrg
407ec681f3SmrgSoftware drivers include:
417ec681f3Smrg
427ec681f3Smrg-  :doc:`LLVMpipe <drivers/llvmpipe>` - uses LLVM for x86 JIT code generation
437ec681f3Smrg   and is multi-threaded
447ec681f3Smrg-  Softpipe - a reference Gallium driver
457ec681f3Smrg-  :doc:`OpenSWR <drivers/openswr>` - x86-optimized software renderer
467ec681f3Smrg   for visualization workloads
477ec681f3Smrg
487ec681f3SmrgAdditional driver information:
497ec681f3Smrg
507ec681f3Smrg-  `DRI hardware drivers <https://dri.freedesktop.org/>`__ for the X
517ec681f3Smrg   Window System
527ec681f3Smrg-  :doc:`Xlib / swrast driver <xlibdriver>` for the X Window System
537ec681f3Smrg   and Unix-like operating systems
547ec681f3Smrg
557ec681f3SmrgDeprecated Systems and Drivers
567ec681f3Smrg------------------------------
577ec681f3Smrg
587ec681f3SmrgIn the past there were other drivers for older GPUs and operating
597ec681f3Smrgsystems. These have been removed from the Mesa source tree and
607ec681f3Smrgdistribution. If anyone's interested though, the code can be found in
617ec681f3Smrgthe Git repo. The list includes:
627ec681f3Smrg
637ec681f3Smrg-  3dfx Glide
647ec681f3Smrg-  3DLABS Gamma
657ec681f3Smrg-  ATI Mach 64
667ec681f3Smrg-  ATI Rage 128
677ec681f3Smrg-  DEC OpenVMS
687ec681f3Smrg-  Intel i810
697ec681f3Smrg-  Linux fbdev
707ec681f3Smrg-  Matrox
717ec681f3Smrg-  MS-DOS
727ec681f3Smrg-  S3 Savage
737ec681f3Smrg-  Silicon Integrated Systems
747ec681f3Smrg-  swrast
757ec681f3Smrg-  VIA Unichrome
76