MATLAB Answers


Resolving low-level graphics issues in MATLAB

This post is a summary about how to resolve graphics issues which could potentially be caused due to old graphics hardware or outdated graphics drivers. These issues could crop up while creating 2-D or 3-D charts, using a Simulink model that contains scopes, of using UIs from a MathWorks toolbox. The steps mentioned in this article serve as debugging steps, as well as potential solutions for graphics-related issues, and should be tried out when experiencing unexpected behavior.




2 Answers

Answer by MathWorks Support Team on 6 Mar 2018
Edited by MathWorks Support Team on 6 Mar 2018
 Accepted Answer

You can work around many graphics issues by using the software version of OpenGL® built-into MATLAB instead of using your graphics hardware. In some cases, MATLAB automatically switches to software OpenGL, for example, if it detects known issues such as outdated drivers or graphics virtualization. Software OpenGL does not support some graphics features, such as graphics smoothing.
To determine if you are using hardware or software OpenGL, type 'opengl info'. The returned information contains the line Software: 'false' if you are using hardware OpenGL or Software: 'true' if you are using software OpenGL.
To switch from hardware to software OpenGL, start MATLAB from the command prompt or terminal on your system using this command:
matlab -softwareopengl
To set your preferences so that MATLAB always starts with software OpenGL on this computer, execute this command at the MATLAB command line:
These commands work only on Windows® and Linux® systems. Macintosh systems do not support software OpenGL. For more information about switching between hardware and software OpenGL, see the documentation for < opengl> and the Renderer property for figures.
For the best results with graphics, use graphics hardware that is compliant with OpenGL 2.1 or later. For more information about the graphics features that different versions of OpenGL support, see System Requirements for Graphics.
Graphics hardware vendors frequently provide updated graphics drivers that improve hardware performance. To help ensure that your graphics hardware works with MATLAB, upgrade your graphics drivers to the latest versions available.
Check your computer manufacturer website for driver updates, for example, Dell® or HP®. If no updates are provided, then check your graphics hardware vendor website, such as one of the vendors listed here. To determine your vendor, type opengl info and check the Vendor field.
Alternatively, you may be able to check your driver vendor and versions outside of MATLAB. On Windows systems, enter dxdiag into the Command Prompt, and look at the "Display" tab. Certain Linux distributions will allow you to use glxinfo in the Terminal to see OpenGL and driver information.
If you saved a setting to always start MATLAB with software OpenGL, then after updating your drivers, you can revert that setting by executing:
Then restart MATLAB.
If you cannot resolve the issues using the options described here, then you might have encountered a bug in MATLAB. Please contact MathWorks Technical Support and provide the following information:
  • Output of executing opengl info
  • Whether your code runs without error when using software OpenGL.
  • Whether your code runs without error on a different computer. Please provide the output of opengl info for all computers you have tested your code on.
  • Some error messages contain a link to a file with details about the graphics error you encountered. If a link to this file is provided, please include this file with your service request.
  • The full text of the error that appears. If a crash occurs, please provide the crash report generated by MATLAB.


Sign in to comment.

Answer by Shiwei Xu on 14 Nov 2017

Good. The probrlem is solved.


Sign in to comment.