Home | History | Annotate | Download | only in docs
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      2 <html lang="en">
      3 <head>
      4   <meta http-equiv="content-type" content="text/html; charset=utf-8">
      5   <title>Application Issues</title>
      6   <link rel="stylesheet" type="text/css" href="mesa.css">
      7 </head>
      8 <body>
      9 
     10 <div class="header">
     11   <h1>The Mesa 3D Graphics Library</h1>
     12 </div>
     13 
     14 <iframe src="contents.html"></iframe>
     15 <div class="content">
     16 
     17 <h1>Application Issues</h1>
     18 
     19 <p>
     20 This page documents known issues with some OpenGL applications.
     21 </p>
     22 
     23 
     24 <h2>Topogun</h2>
     25 
     26 <p>
     27 <a href="http://www.topogun.com/">Topogun</a> for Linux (version 2, at least)
     28 creates a GLX visual without requesting a depth buffer.
     29 This causes bad rendering if the OpenGL driver happens to choose a visual
     30 without a depth buffer.
     31 </p>
     32 
     33 <p>
     34 Mesa 9.1.2 and later (will) support a DRI configuration option to work around
     35 this issue.
     36 Using the <a href="http://dri.freedesktop.org/wiki/DriConf">driconf</a> tool,
     37 set the "Create all visuals with a depth buffer" option before running Topogun.
     38 Then, all GLX visuals will be created with a depth buffer.
     39 </p>
     40 
     41 
     42 <h2>Old OpenGL games</h2>
     43 
     44 <p>
     45 Some old OpenGL games (approx. ten years or older) may crash during
     46 start-up because of an extension string buffer-overflow problem.
     47 </p>
     48 
     49 <p>
     50 The problem is a modern OpenGL driver will return a very long string
     51 for the glGetString(GL_EXTENSIONS) query and if the application
     52 naively copies the string into a fixed-size buffer it can overflow the
     53 buffer and crash the application.
     54 </p>
     55 
     56 <p>
     57 The work-around is to set the MESA_EXTENSION_MAX_YEAR environment variable
     58 to the approximate release year of the game.
     59 This will cause the glGetString(GL_EXTENSIONS) query to only report extensions
     60 older than the given year.
     61 </p>
     62 
     63 <p>
     64 For example, if the game was released in 2001, do
     65 <pre>
     66 export MESA_EXTENSION_MAX_YEAR=2001
     67 </pre>
     68 before running the game.
     69 </p>
     70 
     71 
     72 
     73 <h2>Viewperf</h2>
     74 
     75 <p>
     76 See the <a href="viewperf.html">Viewperf issues</a> page for a detailed list
     77 of Viewperf issues.
     78 </p>
     79 
     80 
     81 </div>
     82 </body>
     83 </html>
     84