Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.14.1
Description
In a VMware virtual machine with Nvidia Grid GPU passed through to the guest OS, Qt fails to detect device information and ends up disabling OpenGL support because vendor and device IDs are 0x0000 which matches the "Standard VGA" rule in the blacklist file.
However such system loads up opengl32.dll and works fine without that rule.
Perhaps part of the reason is that there are multiple display adapters as seen in Display Adapter:
Nvidia grid P40-4Q - PCI slot 34, bus 2, device 2 VMware SVGA 3D - PCI bus 0, device 15 VNC Mirror Drive
Without the rule that disables OpenGL support, this is what is outputted:
[QT]Debug: Basic wglCreateContext gives version 4.0 [QT]Debug: OpenGL 2.0 entry points available [QT]Warning: Error reading "path/to/nonexistentfile.json": Failed to parse data: "illegal value" at line 1 (offset: 0). [QT]Debug: GPU features: QSet() [QT]Debug: QWindowsOpenGLTester::supportedRenderers GpuDescription(vendorId=0x0, deviceId=0x0, subSysId=0x0, revision=0, driver: "", version=, """") 0 renderer: QFlags(0x1|0x2|0x4|0x8|0x20) [QT]Debug: Qt: Using WGL and OpenGL from "opengl32.dll" [QT]Debug: QOpenGLStaticContext::create OpenGL: "NVIDIA Corporation","GRID P40-4Q/PCI/SSE2" default ContextFormat: v4.5 profile: QSurfaceFormat::NoProfile options: QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions),SampleBuffers, Extension-API present Extensions: 383