Qt WebEngine Platform Notes
Target Platforms
Qt WebEngine does try to support all Supported Platforms of Qt. However, due to different requirements of Chromium this is not always possible. Known limitations are:
- Qt WebEngine currently supports only Windows, Linux, and OS X.
- On Windows, Qt WebEngine only supports Windows Vista or newer as target platform. Due to use of newer API in Chromium, Windows XP is not supported. WinRT is not supported, either.
Building Qt WebEngine from Source
The requirements for building Qt 5 modules from source are listed separately for each supported platform:
In addition, the following tools are required for building the Qt WebEngine module:
- Windows: Visual Studio 2013 or Visual Studio 2015
- Linux: Clang or GCC version 4.7 or later
- OS X: Xcode version 5.1 or later on OS X 10.9 or later
Pepper Plugin API Support
Qt WebEngine supports loading Pepper Plugin API (PPAPI) plugins. The plugins must be loaded manually using the Chromium command line syntax with the --register-pepper-plugins
argument. The argument value is a list of entries, separated by commas, that contain the file path and one or several MIME types, separated by semicolons:
<file-path-plugin1>;<mime-type-plugin1>,<file-path-plugin2>;<mime-type1-plugin2>;<mime-type2-plugin2>
For example:
--register-pepper-plugins="libppapi_example.so;application/x-ppapi-example"
The MIME type is important because it determines which embeds the plugin is used for.
This process has been automated for the Pepper Flash player plugin.
Pepper Flash Player Plugin Support
The Pepper Flash player plugin can be loaded automatically if it is installed in one of the following locations, depending on the platform:
- Windows
C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer*.dll C:\Windows\System32\Macromed\Flash\pepflashplayer*.dll
- OS X
/Library/Internet Plug-Ins/PepperFlashPlayer/PepperFlashPlayer.plugin
- Linux
/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so /usr/lib/PepperFlash/libpepflashplayer.so /usr/lib64/chromium/PepperFlash/libpepflashplayer.so
You can also load the Pepper Flash player from a specific location by using command line arguments:
--ppapi-flash-path=./libpepflashplayer.so
Audio and Video Codec Support
Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format only if the required proprietary audio and video codecs, such as H.264 and MPEG layer-3 (MP3), have been enabled. Proprietary codecs can be enabled by passing the following option to qmake:
qmake WEBENGINE_CONFIG += use_proprietary_codecs
Warning: When distributing proprietary codec libraries, you must acquire licenses for them.
FFmpeg is a cross-platform solution to record, convert, and stream audio and video. It can be configured for use with several codecs, which rises licensing issues during distribution with the codec libraries. For some codecs, open source implementations, such as OpenH264, are available.
Default QSurfaceFormat OpenGL Profile Support
If a new default QSurfaceFormat with a modified OpenGL profile has to be set, it should be set before the application instance is declared, to make sure that all created OpenGL contexts use the same OpenGL profile.
On OS X, if the default QSurfaceFormat is set after the application instance, the application will exit with qFatal(), and print a message that the default QSurfaceFormat should be set before the application instance.