blob: ab08e9feea68449cb8ee619fda052c75a8f33c7a [file] [log] [blame]
Erik Faye-Lund4d066832020-06-12 20:09:42 +02001Application Issues
2==================
3
4This page documents known issues with some OpenGL applications.
5
6Topogun
7-------
8
9`Topogun <http://www.topogun.com/>`__ for Linux (version 2, at least)
10creates a GLX visual without requesting a depth buffer. This causes bad
11rendering if the OpenGL driver happens to choose a visual without a
12depth buffer.
13
14Mesa 9.1.2 and later (will) support a DRI configuration option to work
15around this issue. Using the
16`driconf <https://dri.freedesktop.org/wiki/DriConf>`__ tool, set the
17"Create all visuals with a depth buffer" option before running Topogun.
18Then, all GLX visuals will be created with a depth buffer.
19
20Old OpenGL games
21----------------
22
23Some old OpenGL games (approx. ten years or older) may crash during
24start-up because of an extension string buffer-overflow problem.
25
26The problem is a modern OpenGL driver will return a very long string for
27the ``glGetString(GL_EXTENSIONS)`` query and if the application naively
28copies the string into a fixed-size buffer it can overflow the buffer
29and crash the application.
30
31The work-around is to set the ``MESA_EXTENSION_MAX_YEAR`` environment
32variable to the approximate release year of the game. This will cause
33the ``glGetString(GL_EXTENSIONS)`` query to only report extensions older
34than the given year.
35
36For example, if the game was released in 2001, do
37
Erik Faye-Lundd6be9942019-06-04 14:14:13 +020038.. code-block:: console
Erik Faye-Lund4d066832020-06-12 20:09:42 +020039
40 export MESA_EXTENSION_MAX_YEAR=2001
41
42before running the game.
43
44Viewperf
45--------
46
Erik Faye-Lund9be0e2d2020-06-15 12:31:36 +020047See the :doc:`Viewperf issues <viewperf>` page for a detailed list of
Erik Faye-Lund4d066832020-06-12 20:09:42 +020048Viewperf issues.