{% extends "styled.html" %} {% block content %}

# {{ title }}

Note this warning will only appear once. Use :open qute://warning/webkit to show it again at a later time.

You're using qutebrowser with the QtWebKit backend.

Unfortunately, QtWebKit hasn't seen a release (including security updates) since June 2017, and it also lacks various security features (process isolation/sandboxing) present in QtWebEngine.

Because of those security issues and the maintaince burden coming with supporting QtWebKit, support for it will be dropped in a future qutebrowser release. It's recommended that you use QtWebEngine instead.

## (Outdated) reasons to use QtWebKit

Most reasons why people preferred the QtWebKit backend aren't relevant anymore:

PDF.js support: This qutebrowser release comes with PDF.js support for QtWebEngine.

Missing control over Referer header: This qutebrowser release supports content.headers.referer for QtWebEngine.

Missing control over cookies: With Qt 5.11 or newer, the content.cookies.accept setting works on QtWebEngine.

Graphical glitches: The new values for the qt.force_software_rendering setting added in v1.4.0 should hopefully help.

Missing support for notifications: Those aren't supported yet in Qt, but support is planned to be added in Qt 5.13, released around May 2019.

Resource usage: This release adds the qt.process_model and qt.low_end_device_mode settings which can be used to decrease the resource usage of QtWebEngine (but come with other drawbacks).

Not trusting Google: Various people have checked the connections made by QtWebEngine/qutebrowser, and it doesn't make any connections to Google (or any other unsolicited connections at all). Arguably, having to trust Google also is a smaller issue than having to trust every website you visit because of heaps of security issues...

Nouveau graphic driver: You can use QtWebEngine with software rendering. With Qt 5.13 (~May 2019) it might be possible to run with Nouveau without software rendering.

Wayland: It's possible to use QtWebEngine with XWayland. Some users also seem to be able to run it natively with Qt 5.11, but currently, QUTE_SKIP_WAYLAND_CHECK=1 needs to be set in the environment to do so.

Instability on FreeBSD: Those seem to be FreeBSD-specific crashes, and unfortunately nobody has looked into them yet so far...

QtWebEngine being unavailable in ArchlinuxARM's PyQt package: QtWebEngine itself is available on the armv7h/aarch64 architectures, but their PyQt package is broken and doesn't come with QtWebEngine support. This has been reported in their forums, but without any change so far. It should however be possible to rebuild the PyQt package from source with QtWebEngine installed.

QtWebEngine being unavailable on Parabola: Claims of Parabola developers about QtWebEngine being "non-free" have repeatedly been disputed, and so far nobody came up with solid evidence about that being the case. Also, note that their qutebrowser package is orphaned and was often outdated in the past (even qutebrowser security fixes took months to arrive there). You might be better off chosing an alternative install method.

White flashing between loads with a custom stylesheet: This doesn't seem to happen with qt.process_model = single-process set. However, note that that setting comes with decreased security and stability, but QtWebKit doesn't have any process isolation at all.

{% endblock %}