Force Qt to use GLES if desktop GL is not available

Some platforms like the VisionFive 2 don't have working desktop GL,
so they must use GLES to be able to render at all. Qt doesn't try
to fall back if it fails to find a compatible EGL config, so we must
do so ourselves.
This commit is contained in:
Cameron Gutman 2025-12-21 21:10:13 -06:00
commit 7edbede95d
3 changed files with 43 additions and 1 deletions

View file

@ -550,7 +550,9 @@ int main(int argc, char *argv[])
#endif
}
if (WMUtils::isRunningNvidiaProprietaryDriverX11() || qEnvironmentVariableIntValue("FORCE_QT_GLES")) {
if (WMUtils::isRunningNvidiaProprietaryDriverX11() ||
!WMUtils::supportsDesktopGLWithEGL() ||
qEnvironmentVariableIntValue("FORCE_QT_GLES")) {
// The Nvidia proprietary driver causes Qt to render a black window when using
// the default Desktop GL profile with EGL. AS a workaround, we default to
// OpenGL ES when running on Nvidia on X11.