Announcement

Collapse
No announcement yet.

Mozilla Firefox 53.0 Released, Drops Old Linux CPU Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by stevenc View Post
    Or maybe developers are too lazy to maintain both implementations - which are otherwise great to keep for side-by-side regression testing - it will just hurt later when they need that portable C implementation to support some trendy new non-x86 platform, but already they stopped maintaining it.
    Hi,

    I'm the developer who made the CFLAGS change. I highly doubt that weird non-IEEE 387 floating-point math is going to make a comeback as part of a trendy future architecture.

    Some reasons to drop non-SSE2 x86 as a tier-1 architecture (not necessarily in the order of importance):

    * When a Microsoft compiler bug practically forced Mozilla to drop non-SSE support on Windows, Mozilla dropped non-SSE2 support and Windows. (It didn't make sense to drop non-SSE support without dropping on-SSE to support.) Since SSE2 is part of x86_64 and macOS and Android have never shipped on non-SSE2 x86 hardware, this left 32-bit x86 Linux is the only tier-1 platform that still used non-IEEE 387 floating-point math. By making 387 floating-point math tier-3, Mozilla gives itself permission to no longer spend time tracking down 32-bit-Linux-only issues arising from floating-point behavior that differs from standard IEEE behavior.

    * Mozilla's Web Assembly compiler was not about to get support for floating-point operations on non-IEEE-compliant hardware, so even without the CFLAGS change, non-SSE2 32-bit x86 was about to become not fully supported.

    * The tier-1 32-bit x86 configuration as far as the Rust team is concerned includes SSE2. That is, Rust is primarily tested with SSE2 floating-point math and LLVM being allowed to do the other SSE2 things it likes to do. If we want to use a tier-1 Rust compiler configuration, Firefox as a whole requires SSE2 anyway, so there's no point in compiling the C++ parts for a non-SSE2 target.

    * For the near future, Rust can be expected to be bad at run-time selection of alternative code paths using different instruction set extensions. I am in the process of replacing some currently SSE2-accelerated C++ code with Rust code, so to avoid regressing performance the Rust code will need to use SSE2, too, but doing it conditionally at runtime in Rust would be messy. (C++ isn't great at this, either, in a portable way, but C++ has smaller compilation units than Rust, so having different compiler settings on a per-compilation unit basis results in more granularity in C++ than in Rust.)
    Last edited by hsivonen; 19 April 2017, 03:01 PM. Reason: s/foreseeable/near/ when describing future Rust

    Comment


    • #22
      Firefox experience on GNU/Linux with Nvidia blob driver is just horrible (no matter what DE etc), UI and scrolling is prone to lag even with 1 tab even on very modern desktop, my old laptop with i3 1.4Ghz and HD3000 does hell lot of better on i915 driver.

      Comment


      • #23
        I still have 2 computers with Pentium 4's in them, and on FF52 they are still reasonably fast.
        As long as you have more than 2GB of RAM, and a decent PCI GPU then a P4 is still perfectly usable in 2017.
        Just do not expect a P4 to be a gaming rig, or do professional video editing, or other very large loads.

        Comment


        • #24
          Originally posted by mzs.112000 View Post
          As long as you have more than 2GB of RAM, and a decent PCI GPU then a P4 is still perfectly usable in 2017.
          Pentium 4 has SSE2. Tier-1 support was dropped for CPUs older than P4.

          Comment


          • #25
            Originally posted by Adarion View Post
            Not happy about all this obsoleting hardware that might still be okay and doing the job. And yes, there is HW from that area that is not power hungry like crazy. But if you want to operate a few things from the old HW and you have any network connection you'll want to have an up-to-date web client SW. Here you don't want to use old versions, not because they're old but for security reasons and because some of those overscripted websites won't work on older browsers.
            Besides I wonder what the actual focus of Mozilla is now.
            I am. Its jut like when Arch decided to compile for i686 instead of i386. Its old hardware that firefox won't really run on, but it will support newer compile flags that will eek better performance out of old machines people use by using more modern CPU features. There is no reason to target hardware that came out before 2001.

            Comment


            • #26
              While this hardware is newer than the one the support is dropped: A Lenovo T400 with Intel GMA 4500MHD can perfectly fine be used for everyday office work as well as 1080p video watching if you use an external player like MPV with hardware acceleration turned on.

              Comment


              • #27
                Originally posted by atomsymbol

                In my opinion, one of the reasons why HW acceleration is a long-term issue in Linux is that Linus Torvalds is good at developing filesystems (ext4) and mediocre at designing robust GPU drivers.
                he is not personally doing either though, … ;-)

                Comment


                • #28
                  Originally posted by Holograph View Post

                  Speaking of strawman arguments...

                  I said that fewer distros should cater to such people, not that all support should be dropped from all software for older hardware. There's no reason that a Pentium 4 user and a Core (even Nehalem) architecture user need to be supported by the same distro.

                  I can understand disagreeing with that opinion as stated, but I think your wording's a bit strong.


                  Also, yes, I know the difference wouldn't be major, and I'm also aware of branch prediction when it comes to optimizations that are selected at run-time, and used frequently, such as in a loop. But, frankly, with such terrible performance to begin with, everything helps.
                  Here in Brazil (wich has a lot of people living in slums), were PC hardware is 2/3 times the price people in the USA pay, I am hard to find anybody using a PIII or PIV machine. Hardware die man, especially motherboards using cheap PSUs in a country with a bad electric grid.

                  If you want to buy dirt cheap, used hardware, is hard to find anything (in working condition) below the Core i era. So at last to me, here in Brazil, that argument of "but think of the poor" just don't hold water.

                  If people want to use old PCs, fine, more power to you brother. But just don't hold other people back because you think is cool use really old hardware, or is too cheap to buy a newer machine.

                  Comment


                  • #29
                    Originally posted by rene View Post

                    yeah, ironically just the week when I was bitten with my overoptmized portable Linux SSD wanting to run on old core2duo hardware myself ;-) https://www.youtube.com/watch?v=457zniNGVfU
                    And here I am believing that software should be optimized for the hardware it runs on. ie : running gentoo with march=native... Can't change the CPU without preparations.
                    I haven't done any testing/benchmarking, I admit that, but optimizing for the lowest common denominator always seemed a bit silly to me (why shouldn't software use AVX instructions on my machine which supports it?)

                    I'm the developer who made the CFLAGS change.
                    Thanks for that.
                    SSE2 is mandatory in AMD64, for low power hardware, there is Dillo

                    Comment


                    • #30
                      Originally posted by uid313 View Post
                      Still no Wayland support, no Servo engine, no image pasting, no <input type="date", "datetime", "time", "week" or "month".

                      Any more code written in Rust?
                      Stil no (multi)touchscreen support? Chromium has this already for years.

                      Comment

                      Working...
                      X