[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