Mesa Frequently Asked Questions
+Frequently Asked Questions
Last updated: 19 September 2018@@ -29,11 +29,9 @@ Last updated: 19 September 2018
+
1. High-level Questions and Answers
- -1. High-level Questions and Answers
- -1.1 What is Mesa?
+1.1 What is Mesa?
Mesa is an open-source implementation of the OpenGL specification.
OpenGL is a programming library for writing interactive 3D applications.
@@ -180,17 +178,17 @@ popular and feature-complete.
-
2. Compilation and Installation Problems
+2. Compilation and Installation Problems
-2.1 What's the easiest way to install Mesa?
+2.1 What's the easiest way to install Mesa?
If you're using a Linux-based system, your distro CD most likely already has Mesa packages (like RPM or DEB) which you can easily install.
-2.2 I get undefined symbols such as bgnpolygon, v3f, etc...
+2.2 I get undefined symbols such as bgnpolygon, v3f, etc...
You're application is written in IRIS GL, not OpenGL. IRIS GL was the predecessor to OpenGL and is a different thing (almost) @@ -199,7 +197,7 @@ Mesa's not the solution.
-2.3 Where is the GLUT library?
+2.3 Where is the GLUT library?
GLUT (OpenGL Utility Toolkit) is no longer in the separate MesaGLUT-x.y.z.tar.gz file. If you don't already have GLUT installed, you should grab @@ -207,7 +205,7 @@ If you don't already have GLUT installed, you should grab
-2.4 Where is the GLw library?
+2.4 Where is the GLw library?
GLw (OpenGL widget library) is now available from a separate git repository. Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
@@ -253,9 +251,9 @@ and then install withsudo ninja install.
-
3. Runtime / Rendering Problems
+3. Runtime / Rendering Problems
-3.1 Rendering is slow / why isn't my graphics hardware being used?
+3.1 Rendering is slow / why isn't my graphics hardware being used?
If Mesa can't use its hardware accelerated drivers it falls back on one of its software renderers. (eg. classic swrast, softpipe or llvmpipe) @@ -276,7 +274,7 @@ If your DRI-based driver isn't working, go to the
-3.2 I'm seeing errors in depth (Z) buffering. Why?
+3.2 I'm seeing errors in depth (Z) buffering. Why?
Make sure the ratio of the far to near clipping planes isn't too great. Look @@ -291,7 +289,7 @@ If you need a deeper you can modify the parameters to
-3.3 Why Isn't depth buffering working at all?
+3.3 Why Isn't depth buffering working at all?
Be sure you're requesting a depth buffered-visual. If you set the MESA_DEBUG environment variable it will warn you about trying to enable depth testing @@ -306,14 +304,14 @@ alpha channels too.
-3.4 Why does glGetString() always return NULL?
+3.4 Why does glGetString() always return NULL?
Be sure you have an active/current OpenGL rendering context before calling glGetString.
-3.5 GL_POINTS and GL_LINES don't touch the right pixels
+3.5 GL_POINTS and GL_LINES don't touch the right pixels
If you're trying to draw a filled region by using GL_POINTS or GL_LINES
and seeing holes or gaps it's because of a float-to-int rounding problem.
@@ -327,9 +325,9 @@ will fix the problem.
-
4. Developer Questions
+4. Developer Questions
-4.1 How can I contribute?
+4.1 How can I contribute?
First, join the mesa-dev mailing list. That's where Mesa development is discussed. @@ -343,7 +341,7 @@ You should read it. extensions, writing hardware drivers (for the DRI), and code optimization.
-4.2 How do I write a new device driver?
+4.2 How do I write a new device driver?
Unfortunately, writing a device driver isn't easy. It requires detailed understanding of OpenGL, the Mesa code, and your @@ -367,7 +365,7 @@ the archives) is a good way to get information.
-4.3 Why isn't GL_EXT_texture_compression_s3tc implemented in Mesa?
+4.3 Why isn't GL_EXT_texture_compression_s3tc implemented in Mesa?
Oh but it is! Prior to 2nd October 2017, the Mesa project did not include s3tc support due to intellectual property (IP) and/or patent issues around the s3tc diff --git a/docs/install.html b/docs/install.html index 036e1d8282f..4730a0c0bea 100644 --- a/docs/install.html +++ b/docs/install.html @@ -31,9 +31,9 @@ -
1. Prerequisites for building
+1. Prerequisites for building
-1.1 General
+1.1 General
Build system. @@ -114,7 +114,7 @@ the packaging tool used by your distro. ... # others -
2. Building with meson
+2. Building with meson
Meson is the latest build system in mesa, it is currently able to build for @@ -134,7 +134,7 @@ Please read the detailed meson instructions for more information
-3. Building with autoconf (Linux/Unix/X11)
+3. Building with autoconf (Linux/Unix/X11)
Autoconf support was removed in Mesa 19.1.0. Please use meson instead. @@ -142,7 +142,7 @@ for more information -
4. Building with SCons (Windows/Linux)
+4. Building with SCons (Windows/Linux)
To build Mesa with SCons on Linux or Windows do @@ -178,7 +178,7 @@ Additional information is available in README.WIN32. -
5. Building with AOSP (Android)
+5. Building with AOSP (Android)
Currently one can build Mesa for Android as part of the AOSP project, yet @@ -197,7 +197,7 @@ Android-x86 and/or other resources.
-6. Library Information
+6. Library Information
When compilation has finished, look in the top-level lib/
@@ -235,7 +235,7 @@ versions of libGL and device drivers.
7. Building OpenGL programs with pkg-config
+7. Building OpenGL programs with pkg-config
Running ninja install will install package configuration files
diff --git a/docs/intro.html b/docs/intro.html
index be164c883dd..47cc698bfe9 100644
--- a/docs/intro.html
+++ b/docs/intro.html
@@ -2,7 +2,7 @@
Project History
+Project History
The Mesa project was originally started by Brian Paul. @@ -185,7 +185,7 @@ of the OpenGL, OpenGL ES and Vulkan specifications. -
Major Versions
+Major Versions
This is a summary of the major versions of Mesa. @@ -194,7 +194,7 @@ of the OpenGL specification is implemented.
-Version 12.x features
+Version 12.x features
Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers support OpenGL 4.3. @@ -204,21 +204,21 @@ Initial support for Vulkan is also included.
-Version 11.x features
+Version 11.x features
Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers support OpenGL 4.1.
-Version 10.x features
+Version 10.x features
Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers support OpenGL 3.3.
-Version 9.x features
+Version 9.x features
Version 9.x of Mesa implements the OpenGL 3.1 API. While the driver for Intel Sandy Bridge and Ivy Bridge is the only @@ -233,7 +233,7 @@ tracker for OpenCL.
-Version 8.x features
+Version 8.x features
Version 8.x of Mesa implements the OpenGL 3.0 API. The developers at Intel deserve a lot of credit for implementing most @@ -242,14 +242,14 @@ the i965 driver.
-Version 7.x features
+Version 7.x features
Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature of OpenGL 2.x is the OpenGL Shading Language.
-Version 6.x features
+Version 6.x features
Version 6.x of Mesa implements the OpenGL 1.5 API with the following extensions incorporated as standard features: @@ -289,7 +289,7 @@ OpenGL specification for more details. -
Version 5.x features
+Version 5.x features
Version 5.x of Mesa implements the OpenGL 1.4 API with the following extensions incorporated as standard features: @@ -315,7 +315,7 @@ extensions incorporated as standard features: -
Version 4.x features
+Version 4.x features
Version 4.x of Mesa implements the OpenGL 1.3 API with the following @@ -334,7 +334,7 @@ extensions incorporated as standard features:
Version 3.x features
+Version 3.x features
Version 3.x of Mesa implements the OpenGL 1.2 API with the following @@ -350,7 +350,7 @@ features: -
Version 2.x features
+Version 2.x features
Version 2.x of Mesa implements the OpenGL 1.1 API with the following features. diff --git a/docs/license.html b/docs/license.html index 57d946cf3e5..6ba6ce9bf0d 100644 --- a/docs/license.html +++ b/docs/license.html @@ -2,7 +2,7 @@
-Disclaimer
+License and Copyright
+ +Disclaimer
Mesa is a 3-D graphics library with an API which is very similar to
@@ -42,7 +44,7 @@ library.
-
License / Copyright Information
+License / Copyright Information
The Mesa distribution consists of several components. Different copyrights @@ -82,7 +84,7 @@ SOFTWARE. -
Attention, Contributors
+Attention, Contributors
When contributing to the Mesa project you must agree to the licensing terms @@ -92,7 +94,7 @@ and their respective licenses.
-Mesa Component Licenses
+Mesa Component Licenses
Component Location License diff --git a/docs/lists.html b/docs/lists.html index 0b451a09c1c..399bd33be3f 100644 --- a/docs/lists.html +++ b/docs/lists.html @@ -2,7 +2,7 @@ -Mesa Mailing Lists +Mailing Lists @@ -68,14 +68,14 @@ kernels, see the -IRC
+IRC
join #dri-devel channel on irc.freenode.net
-OpenGL Forums
+OpenGL Forums
Here are some other OpenGL-related forums you might find useful: diff --git a/docs/llvmpipe.html b/docs/llvmpipe.html index fec698f6dc5..10faaa45635 100644 --- a/docs/llvmpipe.html +++ b/docs/llvmpipe.html @@ -2,7 +2,7 @@
-llvmpipe +Gallium LLVMpipe Driver @@ -14,7 +14,9 @@-Introduction
+Gallium LLVMpipe Driver
+ +Introduction
The Gallium llvmpipe driver is a software rasterizer that uses LLVM to @@ -28,7 +30,7 @@ It's the fastest software rasterizer for Mesa.
-Requirements
+Requirements
-
- @@ -112,7 +114,7 @@ It's the fastest software rasterizer for Mesa.
Building
+Building
To build everything on Linux invoke scons as: @@ -137,9 +139,9 @@ For Windows the procedure is similar except the target: -Using
+Using
-Linux
+Linux
On Linux, building will create a drop-in alternative for libGL.so into
@@ -157,7 +159,7 @@ or lib directory without the "-debug" suffix. -Windows
+Windows
On Windows, building will create @@ -192,7 +194,7 @@ any OpenGL drivers): -
Profiling
+Profiling
To profile llvmpipe you should build as @@ -206,7 +208,7 @@ This will ensure that frame pointers are used both in C and JIT functions, and that no tail call optimizations are done by gcc.
-Linux perf integration
+Linux perf integration
On Linux, it is possible to have symbol resolution of JIT code with Linux perf: @@ -228,7 +230,7 @@ the generated code annotated with the samples. Gprof2Dot.
-Unit testing
+Unit testing
Building will also create several unit tests in @@ -250,7 +252,7 @@ for later analysis, e.g.: -
Development Notes
+Development Notes
-
- @@ -272,7 +274,7 @@ for later analysis, e.g.:
Recommended Reading
+Recommended Reading
- diff --git a/docs/osmesa.html b/docs/osmesa.html index c20aaa9f808..bf5a49e82d6 100644 --- a/docs/osmesa.html +++ b/docs/osmesa.html @@ -45,7 +45,7 @@ The OSMesa interface may be used with any of three software renderers: There are several examples of OSMesa in the mesa/demos repository. -
Building OSMesa
+Building OSMesa
Configure and build Mesa with something like: diff --git a/docs/release-calendar.html b/docs/release-calendar.html index c0372544a55..6ae9e401c04 100644 --- a/docs/release-calendar.html +++ b/docs/release-calendar.html @@ -2,7 +2,7 @@
-Release calendar +Release Calendar @@ -14,7 +14,9 @@-Overview
+Release Calendar
+ +Overview
Mesa provides feature/development and stable releases. @@ -37,7 +39,7 @@ Take a look here if you'd like to nominate a patch in the next stable release.
-Calendar
+Calendar
diff --git a/docs/releasing.html b/docs/releasing.html index 2dbd03bc6f3..d4aa37a3681 100644 --- a/docs/releasing.html +++ b/docs/releasing.html @@ -2,7 +2,7 @@ -
Releasing process +Releasing Process @@ -15,7 +15,7 @@-Releasing process
+Releasing Process
-
- Overview @@ -31,7 +31,7 @@
Overview
+Overview
This document uses the convention X.Y.Z for the release number with X.Y being @@ -52,7 +52,7 @@ For example: -
Release schedule
+Release schedule
Releases should happen on Wednesdays. Delays can occur although those @@ -97,7 +97,7 @@ additional bug fix releases of the current stable branch.
-Cherry-picking and testing
+Cherry-picking and testing
Commits nominated for the active branch are picked as based on the @@ -223,7 +223,7 @@ system and making some every day's use until the release may be a good idea too.
-Staging branch
+Staging branch
A live branch, which contains the currently merge/rejected patches is available @@ -243,7 +243,7 @@ Notes: -
Making a branchpoint
+Making a branchpoint
A branchpoint is made such that new development can continue in parallel to @@ -293,7 +293,7 @@ Proceed to release -rc1.
-Pre-release announcement
+Pre-release announcement
It comes shortly after outstanding patches in the respective branch are pushed. @@ -445,7 +445,7 @@ Reason: The patch was reverted shortly after it was merged. -
Making a new release
+Making a new release
These are the instructions for making a new Mesa release. @@ -599,7 +599,7 @@ docs/release-calendar.html. Then commit and push: -
Announce the release
+Announce the release
Use the generated template during the releasing process. @@ -611,7 +611,7 @@ series, if that is the case.
-Update the mesa3d.org website
+Update the mesa3d.org website
As the hosting was moved to freedesktop, git hooks are deployed to update the @@ -619,7 +619,7 @@ website. Manually check that it is updated 5-10 minutes after the final
-giUpdate Bugzilla
+Update Bugzilla
Parse through the bugreports as listed in the docs/relnotes/X.Y.Z.html diff --git a/docs/systems.html b/docs/systems.html index b97e1f0a79e..654ab621657 100644 --- a/docs/systems.html +++ b/docs/systems.html @@ -2,7 +2,7 @@
-Supported Systems and Drivers +Platforms and Drivers @@ -14,7 +14,7 @@-Supported Systems and Drivers
+Platforms and Drivers
Mesa is primarily developed and used on Linux systems. @@ -66,9 +66,9 @@ and Unix-like operating systems -
+
+Deprecated Systems and Drivers -
In the past there were other drivers for older GPUs and operating