I was trying to run a m-file on R2013b in Ubuntu 16.04. But i got the error and Matlab just hung:
libGL error: unable to load driver: r600_dri.solibGL error: driver pointer missinglibGL error: failed to load driver: r600libGL error: unable to load driver: swrast_dri.solibGL error: failed to load driver: swrast
The m-file tries to draw 3D plots of point clouds after reading ply files and processing them. My Matlab IDE completely froze and i had to use xkill to close it as nothing else worked.
The same code works normally in Windows without any extra configuration. By adding breakpoints and running one by one line, i found that the Matlab's plot3() function is giving trouble. I have previously done 2D plots using plot() function and it worked seamlessly in Ubuntu matlab. Both the files r600_dri.so and swrast_dri.so are in /usr/lib/x86_64-linux-gnu/dri.
What is the purpose of these shared object files? Why plot() does not give error and plot3() does? What does libGL error mean? And how to resolve it?
There are other places that try to address similar problems but they are in different context and difficult for me to extrapolate for my purposes. I would like an answer specific to my problem.
Most unexpectedly, i have also noted that this problem does not happen in R2016a because MATLAB selects its own graphics rendering engine as software opengl and sets it up automatically for its purpose.