Kai Koehne

Qt WebBrowser 1.0

Published Monday July 18th, 2016
21 Comments on Qt WebBrowser 1.0
Posted in Dev Loop, Embedded, Qt WebEngine | Tags:

We have recently open sourced Qt WebBrowser!

Screenshot of the Qt WebBrowser.
Qt WebBrowser (codename Roadtrip) is a browser for embedded devices developed using the capabilities of Qt and Qt WebEngine. Using Chromium, it features up-to-date HTML technologies behind a minimal but slick touch-friendly user interface written in Qt Quick.

All basic browser features are supported: You can search for text (both in history and via Google). You can bookmark pages, navigate in the page history, and open multiple pages concurrently. Depending on the codecs available, full-screen video and audio playback should also just work. You can also enable a private browser mode that leaves no traces after the browser is closed.

So far the browser has been only shipped as part of the Qt for Device Creation demo, but we’re now releasing it also separately under GPLv3 and Commercial licenses. The browser serves as a testbed and demo for Qt and Qt WebEngine, but we see that it can also be used in your device solutions. So please talk to us if you have any kind of feedback, particularly feature requests! The preferred place is JIRA, but you can also just drop us a mail.

The browser is optimized for embedded touch displays (running Linux), but you can play with it on the desktop platforms, too! Just make sure that you have Qt WebEngine, Qt Quick, and Qt VirtualKeyboard installed (version 5.7 or newer). For optimal performance on embedded devices you should plan for hardware-accelerated OpenGL, and around 1 GiByte of memory for the whole system. Anyhow, depending on your system configuration and the pages to be supported there is room for optimization.

More details about the browser’s user interface and capabilities can be found in the documentation. The source code is hosted on code.qt.io.

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Dev Loop, Embedded, Qt WebEngine | Tags:


Morris says:

Thanks very much I appreciate this effort I think that this means of browsing is an excellent progress towards the future on this utilities.

Morris says:

By the way, how to install it? I cannot try any reference about the download file of this browser.

Kai Koehne Kai Koehne says:

There are no binaries at this point, you have to get the sources and compile it at your own.

You can run it on a desktop operating system, but it is rather meant for embedded devices running e.g. Linux. Since Qt WebEngine does not support Android or iOS the most popular mobile platforms are out.

Morris says:

I’m a simple user I thought it was possible to install it by deb rpm, or exe file in every different platform. thanks the same.

Kai Koehne Kai Koehne says:

No worries, I should have made it much clearer that this is not a finished browser for end user consumption at this point. Especially since this got picked up by some news sites …

Jasper says:

Would osx be feasable? I would like a simple clean browser. But most of them do not provide a osx binary.

Kai Koehne Kai Koehne says:

I don’t think releasing this for OS X would make much sense. It’s really designed for embedded/touch.

qyvlik says:


sunmi_kang says:


Cristi Parascan says:

Does it work on raspberry pi?

Kai Koehne Kai Koehne says:

Rasberry PI 3 is supported.

That being said, I just found a crash while loading certain pages on this exact device / Boot2Qt 5.7.0 🙁 Investigating …

Sky says:

Looks nice! Remind me Sailfish OS default web browser!
What about adblock feature? That’s the main feature people are looking for when they try another browser. Is it possible to install chrome plugin? Like uBlock Origin?

Kai Koehne Kai Koehne says:

Thanks! There’s no ad blocking supported right now. I filed an entry in the bug tracker for this.

Rodrigo Fernandez says:

Nice, but I pulled the source and tried to build using Qt 5.6 on OSX 10.11, but got the following error:

ld: framework not found QtWebEngine

BTW, I get the same error when trying to build the quicknanobrowser example.

Kai Koehne Kai Koehne says:

This means you don’t have Qt WebEngine installed.

How did you install Qt? If you used one of the official installers (offline or online one), make sure to check ‘Qt WebEngine’ component in the selection.

Rodrigo Fernandez says:

It was installed, but when I built one of our projects, it overrode the original libraries. After reinstalling Qt, it build successfully. Thanks for this awesome project, Kai.

Eric Ruei says:

This is a great news. We are looking for a chromium-based browser with full HTML5 and streaming video support on our embedded Linux platform.
What is the major difference between Qt WebBrowser 1.0 and the Qt WebEngineWidgits demo browser. I am able to get qtwebengine and qtwebchannel on QT 5.6 built through yocto build environment. The chromium-based browser does run on our embedded Linux 4.4 target platform, but “server’s certificate is not trusted” warning appears continuously while the same issue does not show with the webkitwidgets/browser. It looks like that something may be missing or not enabled at our target file system.

Kai Koehne Kai Koehne says:

As the name says the Qt WebEngineWidgets demo browser is built with Qt Widgets. It’s also designed for Desktop/mouse use.

Qt WebBrowser is built with Qt Quick, and designed for embedded/touch use. Feel free to try both, you’ll quickly see the differences 🙂

Regarding your certificate issues: Chromium, and therefore Qt WebEngine, gets the root certificates from system NSS. I’d probably start there, and investigate e.g. with certutil to see whether the NSS database contains the relevant root certificates.

Eric Ruei says:

Thanks for your response! We found that the nssdb is available under /etc/pki/nssdb and ~/.pki/nssdb. And then we found that the use_nss_certs was set to 0 due to the following code at src/core/config/linux.pri.

use?(nss) {
GYP_CONFIG += use_nss_certs=1
} else {
GYP_CONFIG += use_nss_certs=0

But we could not figure out how to enable nss here. Should webEngine work with use_openssl and use_openssl_certs = 1 on Embedded Linux platform?

Best regards,


Allan Jensen Allan Jensen says:

Yes, QtWebEngine will use openssl certs on embedded linux, it will also use it if it doesn’t find target nss libraries at build time. Look in tools/qmake/mkspecs/features/configure.prf for the auto configuration .

Gloub says:

Hi and thanks a lot for all this work.

Just a question, WebEngine can support microphone or any audio input in order to use all possibilities of WebAudio ? if yes, how ?..

Thank you again for your work

Commenting closed.

Get started today with Qt Download now