diff --git a/src/canvas3d.cpp b/src/canvas3d.cpp
index 514c14ab2eaa9dd079f08ece68e13e3e50ff487b..ff1608ae0b5fabf386a025cff9c7e8a27011f6c3 100644
--- a/src/canvas3d.cpp
+++ b/src/canvas3d.cpp
@@ -314,6 +314,10 @@ CanvasContext *Canvas::getContext(const QString &type, const QVariantMap &option
         }
 
         QSurfaceFormat surfaceFormat = m_glContextQt->format();
+#if defined(QT_OPENGL_ES_2)
+        surfaceFormat.setMajorVersion(2);
+        surfaceFormat.setMinorVersion(0);
+#endif
         surfaceFormat.setSwapBehavior(QSurfaceFormat::SingleBuffer);
         surfaceFormat.setSwapInterval(0);