2020-06-12 18:09:42 +00:00
|
|
|
Application Issues
|
|
|
|
==================
|
|
|
|
|
|
|
|
This page documents known issues with some OpenGL applications.
|
|
|
|
|
|
|
|
Topogun
|
|
|
|
-------
|
|
|
|
|
|
|
|
`Topogun <http://www.topogun.com/>`__ for Linux (version 2, at least)
|
|
|
|
creates a GLX visual without requesting a depth buffer. This causes bad
|
|
|
|
rendering if the OpenGL driver happens to choose a visual without a
|
|
|
|
depth buffer.
|
|
|
|
|
|
|
|
Mesa 9.1.2 and later (will) support a DRI configuration option to work
|
|
|
|
around this issue. Using the
|
|
|
|
`driconf <https://dri.freedesktop.org/wiki/DriConf>`__ tool, set the
|
|
|
|
"Create all visuals with a depth buffer" option before running Topogun.
|
|
|
|
Then, all GLX visuals will be created with a depth buffer.
|
|
|
|
|
|
|
|
Old OpenGL games
|
|
|
|
----------------
|
|
|
|
|
|
|
|
Some old OpenGL games (approx. ten years or older) may crash during
|
|
|
|
start-up because of an extension string buffer-overflow problem.
|
|
|
|
|
|
|
|
The problem is a modern OpenGL driver will return a very long string for
|
|
|
|
the ``glGetString(GL_EXTENSIONS)`` query and if the application naively
|
|
|
|
copies the string into a fixed-size buffer it can overflow the buffer
|
|
|
|
and crash the application.
|
|
|
|
|
|
|
|
The work-around is to set the ``MESA_EXTENSION_MAX_YEAR`` environment
|
|
|
|
variable to the approximate release year of the game. This will cause
|
|
|
|
the ``glGetString(GL_EXTENSIONS)`` query to only report extensions older
|
|
|
|
than the given year.
|
|
|
|
|
|
|
|
For example, if the game was released in 2001, do
|
|
|
|
|
2019-06-04 12:14:13 +00:00
|
|
|
.. code-block:: console
|
2020-06-12 18:09:42 +00:00
|
|
|
|
|
|
|
export MESA_EXTENSION_MAX_YEAR=2001
|
|
|
|
|
|
|
|
before running the game.
|
|
|
|
|
|
|
|
Viewperf
|
|
|
|
--------
|
|
|
|
|
2020-06-15 10:31:36 +00:00
|
|
|
See the :doc:`Viewperf issues <viewperf>` page for a detailed list of
|
2020-06-12 18:09:42 +00:00
|
|
|
Viewperf issues.
|