On 06/18/2018 07:05 PM, Kevin Kofler wrote:
Jeff Backus wrote:
> Hmm.. Yes, we've had discussions within the SIG re: window managers that
> support i586/i686, and KDE was on the list of WMs that no longer support
> our target system. Do these patches/hacks only apply to KDE or do they
> apply to Qt in general?
The absolute worst is QtWebEngine. Chromium dropped support for non-SSE2 x86
years ago, so I had to cumulatively revert a whole bunch of commits that
removed runtime SSE2 detection where it was present and added some more
unconditional SSE2 optimizations. And now V8 (the JavaScript engine that
Chromium relies on) dropped the x87 backend (i.e., the one using x87 rather
than SSE2 for floating-point operations, hence working on non-SSE2 x86
machines) for their JIT entirely (and there is no interpreter-only
fallback), so I am even stuck trying to port the x87 backend to each new Qt
branch (which uses a newer Chromium and thus a newer V8). This is a huge
effort, and nobody outside of Fedora cares about non-SSE2 anymore. Even
distros that claim to support non-SSE2 hardware just ship QtWebEngine as
SSE2 only. I haven't seen any other distro even picking up my patch, let
alone working on it. The Fedora Chromium, V8 and Node.js packagers also do
not care.
I suspect Firefox may also be sse2-only, at least indirectly from Rust.
I just checked the rustc target spec for i686-unknown-linux-gnu, and by
default it's targeting "pentium4". There is an i585-unknown-linux-gnu
which targets only "pentium" though.
But Firefox has been building with Rust on all arches for over a year
now, and apparently, nobody has noticed this in practice...