そもそもOpenGL周辺の知識がないので、メモがわりの記事となりますがすみません。
WSLでUbuntuを使っていていくつかのソフトウェア(ChimeraXと3dmodという研究用のソフトウェアです)でOpenGL errorが出た。
bashrcで何かの際に
export LIBGL_ALWAYS_INDIRECT=1
と設定していたのが問題のようだ。
下記を参考にして解決した。
https://github.com/microsoft/WSL/issues/5535
おこる症状としては
glxgears
を実行した際に(実行するにはsudo apt install mesa-utilsが必要)
Error: glXCreateContext failed
が起き、
sudo glxgears
で、ルート権限で実行すると、正常に歯車が回る。
さらに、
xeyes
では正常にウインドウが開いて動作する。(sudo apt install x11-apps)が必要。
先ほどのgithubの内容を完全にフォローしていないが、
.bashrcで
export LIBGL_ALWAYS_INDIRECT=0
で解決した。WSLのopenGLに関して、WGLg以前のWSL1, 2でGUIを使う記事が多く残っており、この場合はLIBGL_ALWAYS_INDIRECT=1としていたため、openGL errorを探していたときになかなか解決策に行き着かなかった。
参考までに
chimeraxでのエラーメッセージは
WARNING: WebEngineContext used before QTWebEngine::initialze() or OpenGL context creation failed
WARNING: QCLXContext: Failed to create dummy context
ERROR: Could not create OpenGL context
3dmodでは、正常に設定できているか確認して、LIBGL_ALWAYS_INDIRECT=1にしろとでてきて、余計に混乱した。