diff --git a/qgcresources.qrc b/qgcresources.qrc
index 66cea287df2c204088100b638f38a0b17b097140..5760508c963e66bd6ab159603a0c637366439d54 100644
--- a/qgcresources.qrc
+++ b/qgcresources.qrc
@@ -236,4 +236,7 @@
src/FirmwarePlugin/APM/apm.pdef.xml
+
+ resources/opengl/buglist.json
+
diff --git a/resources/opengl/buglist.json b/resources/opengl/buglist.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d7ed7a4a9b86b2705007b80ff228961c59dbce8
--- /dev/null
+++ b/resources/opengl/buglist.json
@@ -0,0 +1,48 @@
+{
+ "name": "QGroundControl OpenGL Driver Blacklist",
+ "version": "5.5",
+ "entries": [
+ {
+ "id": 1,
+ "description": "Desktop OpenGL is unreliable on some Intel HD laptops (QTBUG-43263, QTBUG-42240)",
+ "vendor_id": "0x8086",
+ "device_id": [ "0x0A16" ],
+ "os": {
+ "type": "win"
+ },
+ "driver_version": {
+ "op": "<=",
+ "value": "10.18.10.3277"
+ },
+ "features": [
+ "disable_desktopgl"
+ ]
+ },
+ {
+ "id": 2,
+ "description": "Desktop OpenGL is unreliable on some Intel Mobile GMA Devices",
+ "vendor_id": "0x8086",
+ "device_id": [ "0x2972", "0x2973",
+ "0x2992", "0x2993",
+ "0x29A2", "0x29A3",
+ "0x2982", "0x2983",
+ "0x2A02", "0x2A03", "0x2A12", "0x2A13",
+ "0x2E42", "0x2E43", "0x2E92", "0x2E93",
+ "0x2E12", "0x2E13",
+ "0x2E32", "0x2E33",
+ "0x2E22", "0x2E23",
+ "0x2A42", "0x2A43"
+ ],
+ "os": {
+ "type": "win"
+ },
+ "driver_version": {
+ "op": "<=",
+ "value": "8.15.10.2702"
+ },
+ "features": [
+ "disable_desktopgl"
+ ]
+ }
+ ]
+}
diff --git a/src/main.cc b/src/main.cc
index 91c48eb1fdf90b2ba899fbd94ff0bf6991e727e8..d77139a127c76d2516c8eff80c941b18023d7634 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -203,6 +203,9 @@ int main(int argc, char *argv[])
// hanging.
DWORD dwMode = SetErrorMode(SEM_NOGPFAULTERRORBOX);
SetErrorMode(dwMode | SEM_NOGPFAULTERRORBOX);
+
+ // Set our own OpenGL buglist
+ qputenv("QT_OPENGL_BUGLIST", ":/opengl/resources/opengl/buglist.json");
}
#endif
#endif // QT_DEBUG