[Interest] What's up with Qt's graphic stack (6.2.1) (and WebEngine)?

Nils Jeisecke nils.jeisecke at saltation.com
Tue Nov 23 14:53:30 CET 2021


Hi list,

while checking out the status of Qt's graphics stack with very basic
QtQuick based applications I've made the following observations:

1. Windows 10 in VMWare Fusion: No window content is rendered for a
trivial QtQuick Hello World application. Running with
QT_D3D_ADAPTER_INDEX=1 helps, but this seems to activate the WARP
software renderer (QTBUG-78648).

2. Any QtQuick application using WebEngineView (QtWebEngineQuick) will
automatically select OpenGLRhi backend
(678076faeabd7e827abe31f72f4220af8d8f95ac):
QtWebEngineQuick::initialize does
QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGLRhi);

I've not found this restriction to be documented. OpenGL is not
available by default on Windows and drivers are notoriously bad.
RHI/D3D11 was supposed to be the solution for this, wasn't it?

Software Rendering is no longer an option since Chromium dropped the
old composer codepath (QTBUG-88695), at least if video rendering is
required.

So is it possible at all to build a QtQuick application that is
* running out-of-the-box in VMWare (Fusion) without relying on the
hack to select WARP?
* using hardware accelerated Chromium on Windows without OpenGL?

Nils

RHI_INFO output attached:

-----

RHI_INFO: Windows/VMWare Fusion

qt.scenegraph.general: Using QRhi with backend D3D11
  Graphics API debug/validation layers: 0
  QRhi profiling and debug markers: 0
  Shader/pipeline cache collection: 0
qt.scenegraph.general: threaded render loop
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
qt.rhi.general: DXGI 1.2 = true, FLIP_DISCARD swapchain supported = true
qt.rhi.general: Adapter 0: 'VMware SVGA 3D' (vendor 0x15AD device
0x405 flags 0x0)
qt.rhi.general:   using this adapter
qt.rhi.general: Adapter 1: 'Microsoft Basic Render Driver' (vendor
0x1414 device 0x8C flags 0x2)
qt.scenegraph.general: MSAA sample count for the swapchain is 1. Alpha
channel requested = no.
qt.scenegraph.general: rhi texture atlas dimensions: 2048x1024

----

RHI_INFO: Windows/QtWebEngineQuick

qt.scenegraph.general: Using QRhi with backend OpenGL
  Graphics API debug/validation layers: 0
  QRhi profiling and debug markers: 0
  Shader/pipeline cache collection: 0
qt.scenegraph.general: threaded render loop
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
qt.webenginecontext:

GLImplementation: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.1
Using Default SG Backend: yes
Using Software Dynamic GL: no
Using Angle: no


More information about the Interest mailing list