On some platforms, it is possible to choose between hardware (GPU-accelerated)
and software (CPU-based) OpenGL rendering through the use of the Mesa 3D
software implementation. The choice between hardware or software rendering
only affects the OpenGL graphics toolkits ("qt", "fltk").
Using software rendering can avoid rendering and printing issues due to the
imperfect OpenGL driver implementations of diverse graphic cards from different
vendors (notably integrated Intel graphics). The downside is that software
rendering may be considerably slower than hardware-accelerated rendering.
On Linux and MacOS systems that have a Mesa 3-D based driver, switching to
software rendering is done at Octave startup (or at least before any graphics
function has been called) by setting the environment variable
LIBGL_ALWAYS_SOFTWARE, e.g.,
setenv ("LIBGL_ALWAYS_SOFTWARE", "1").
On Windows, Octave is shipped with opengl32.dll, a Mesa 3-D based
software rendering library. When using the Windows installer for Octave, the
user has the option to select between "System OpenGL" and
"Software OpenGL" renderers. The OpenGL driver may also be switched
later using the "OpenGL Switcher" application from the Start menu
while Octave is closed. Alternatively, one can rename the following file while
Octave is closed:
octave-home\bin\opengl32.dll
where octave-home is the directory returned by
OCTAVE_HOME, i.e., the directory in which
Octave is installed (the default is
C:\Program Files\GNU Octave\Octave\Octave-version\mingw64).
Change the file extension to .bak for hardware rendering or to
.dll for software rendering.