[Development] Using SSE/NEON in Qt 6
Kevin Kofler
kevin.kofler at chello.at
Thu Feb 6 18:13:37 CET 2020
Lisandro Damián Nicanor Pérez Meyer wrote:
> At least in Debian we do this for qtbase on i386, and have different
> versions of corelib and gui (the only ones which where directly affected
> by this).
FYI, QtWebEngine is pretty much unfixably screwed on non-SSE2. The last
version that was reasonably workable (still with heavy patching, mind you)
was 5.9:
https://src.fedoraproject.org/rpms/qt5-qtwebengine/blob/f25/f/qtwebengine-opensource-src-5.9.1-no-sse2.patch
After that, Chromium dropped the V8 x87 backend, and since V8 has no
interpreter fallback, the SSE2 one is the only option left. I was able to
forward-port the x87 backend to 5.10, with minimal, emulator-only testing
(WARNING: huge patch):
https://src.fedoraproject.org/rpms/qt5-qtwebengine/blob/f27/f/qtwebengine-everywhere-src-5.10.1-no-sse2.patch
Forward-porting that patch to current Chromium (anything ≥ QtWebEngine 5.11)
is a lot of work, you basically have to track all the changes to the
x86/SSE2 V8 backend and port them to the x87 backend included in the patch.
I stopped working on that when it became too much work for me and when
Fedora decided to drop support for non-SSE2 x86 anyway (though it officially
was only for Fedora ≥ 29, but QtWebEngine already stopped supporting it in
Fedora 28 updates).
Blame Google for that.
Kevin Kofler
More information about the Development
mailing list