BrowserWorks / Waterfox

The official Waterfox 💧 source code repository
https://www.waterfox.net
Other
3.8k stars 337 forks source link

pls. create version of G4 for old and Atom-based PC #2327

Closed Yevgeny1 closed 2 years ago

Yevgeny1 commented 2 years ago

Some PC with Atom-based CPU don't have support of SSE4.2 . That' no old PC : In Atom* CPU support of SSE4.2 was added only in 2017 model's and all newer. But PC with Atom-based CPU without SSE4.2 was produced in 2017-2019 too. https://en.wikichip.org/wiki/intel/atom

pls. create version of G4 with SSSE3 min. cpu requirements. ( It's newer, than SSE2, and supported practically all CPU's in currently used PC.)

Mikhail-M12 commented 2 years ago

I can't change computer in my work. G4 doesn't run on Core 2 Duo E8200. SSE4.2 requirement makes me switch to Firefox:(((

InvisibleManX commented 2 years ago

@Mikhail-M12

Same here. Core 2 Duo that only supports SSE 4.1 (very close).

I'm really surprised at Alex's decision, because Firefox and Chrome, all still support even SSE 2

If G4 had these speed optimizations as a switchable option in settings, it would solve this issue easily. Or better: an automatic detection if CPU supports SSE 4.2 or not.

InvisibleManX commented 2 years ago

The full reasoning for this feature request:

The Main competition, Firefox and Chrome. Their recent versions support even SSE 2

Also, they all work on Windows 7 SP1 (I did hear rumors that Win 7 support will be dropping too, but I'm not sure).

Waterfox is a niche browser with a lot smaller userbase, and it surivived at offering advantages over its competitors. But such extreme limitations make no sense.

Though, if you make it an option to disable the need for SSE 4.2 (SSE 3 would be a good target), it would prevent losing some of the userbase to Waterfox's competitors.

Or even simpler: Waterfox could detect if CPU supports SSE 4.2 or not, and enable/disable the speed optimization without any user even knowing it's doing so.

Another example: I"ve seen major companies in recent years, including 2021 limiting their new software to SSE 3, which is reasonable. SSE 4.2 is just way too extreme to do it, especially when there are other alternatives around that still support SSE 2

Some very modern games sometimes have the same limitations, but it makes sense for games, because modern games will normally run well only on very modern computers which would support all that anyways.

I really think this should be seriously considered, before it's too late.

JodyThornton commented 2 years ago

I was even hopeful that (as a stop gap measure) the latest gathering of updates with G3 code could be released as a G3.2.7 version, in binary/installer form. That would give me time to migrate to something else at the end of the year.

InvisibleManX commented 2 years ago

To people who won't be able to run G4 Waterfox, due to their CPUs not supporting SSE 4.2

The only good alternative is to switch to Firefox ESR 91, disable all the spying and telemetry in it, adjust a few things in the interface so that they look closer to.

Just search on google for Firefox Extended Support Rlease and install the recent 91 ESR version. (Keep Waterfox G3 installed until you are sure you won't need anything from it and your profiles there.)

Locate your current profile folders fromwithin Waterfox and newly installed Firefox ESR by typing about:profiles in the URL field. I recommend creating shortcutes to those folders so that it's easier to access them during the following procedures.

What to do next:

1. Export a backup josn file for your bookmarks in Watefox, and then import them into your Firefox ESR. (their icons will be re-cached as you will be using them in Firefox).

2. Closer Firefrox and Waterfox, and then copy TWO files (key4.db and logins.json) from the Waterfox's profile folder, into the Firefox profile folder. It will transfer all your saved logins/passwords for all the sites you had in Waterfox.

3. In Firefox, type about:config in the URL field to access the advanced setttings (be careful there).

Find this preference there: toolkit.legacyUserProfileCustomizations.stylesheets If it's not found, add it as a Boolean type.

Switch its value to True by double clicking on its current value.

  1. Now fully close Firefox. And then go into the Firefox profile folder and create there a folder called chrome and then create (first, make file extensions visible in your OS's properties for viewing files in folders) a file userChrome.css .css should be the file's extension there. (You can do it by creating a Text File, and replacing its .txt part with .css and then editing it with the Notepad application.)

Copy paste this into that file:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* only needed once */

#pageActionButton {
  display: none !important;
}

/* Tighten up bookmark and drop-down and context and popup menu spacing */

menupopup:not(.in-menulist) > menuitem, 
menupopup:not(.in-menulist) > menu {
  padding-block: 4px !important;
  min-height: unset !important;
}

:root {
  --arrowpanel-menuitem-padding: 4px 8px !important;
}

/* Disable rounded tabs and playing sound text and reducing the tabs height */

.tab-background{border-radius: 0px 0px !important; margin-bottom: 0px !important;}

.tab-icon-sound-label {
    display: none !important;
}

#tabbrowser-tabs {--tab-min-height: 22px !important;}

/* Close Tabs to Left disabled */

#context_closeTabsToTheStart {
    display: none !important;
}

Then save the userChrome.css file and place it into the folder chrome you created in your Firefox's profile folder.

5. Disable all the spying and telemetry from Mozilla.

First, go into the Firefox's Settings > Privacy & Security then scroll down and find the section called "Firefox Data Collection and Use" and uncheck all of the checkboxes there. They all should be empty.

Then, type in the URL field: about:config to get to the advanced settings.

Find (or create a new Boolen type one, if it's not found) and switch to False the following preferences:

devtools.onboarding.telemetry.logged

browser.newtabpage.activity-stream.feeds.telemetry
browser.newtabpage.activity-stream.telemetry

browser.ping-centre.telemetry

toolkit.telemetry.bhrPing.enabled
toolkit.telemetry.enabled
toolkit.telemetry.firstShutdownPing.enabled
toolkit.telemetry.hybridContent.enabled
toolkit.telemetry.newProfilePing.enabled
toolkit.telemetry.reportingpolicy.firstRun
toolkit.telemetry.shutdownPingSender.enabled
toolkit.telemetry.unified
toolkit.telemetry.updatePing.enabled
toolkit.telemetry.archive.enabled

datareporting.healthreport.uploadEnabled
datareporting.policy.dataSubmissionEnabled

Then find (or create a new Boolen type one, if it's not found) and switch to True the following preference:

datareporting.sessions.current.clean

Finally, find the following preferences:

toolkit.telemetry.server browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint

Double-click on their URL values, then delete the URL (so it's empty there) and save the changes.

Now, close Firefox fully, and then run it again, and check it by typing in the URL field: about:telemetry

If you did everything right, all you will see on the left panel after that is "Home" and "Raw Payload", and it will also say among other text this: "Telemetry is collecting release data and upload is disabled."

Yevgeny1 commented 2 years ago

Though, if you make it an option to disable the need for SSE 4.2 (SSE 3 would be a good target), it would prevent losing some of the userbase to Waterfox's competitors. Or even simpler: Waterfox could detect if CPU supports SSE 4.2 or not, and enable/disable the speed optimization without any user even knowing it's doing so.

I think, it will be nice solution.

InvisibleManX commented 2 years ago

Well, we can close this feature request now. We got the final response about it from the developer here: https://github.com/WaterfoxCo/Waterfox/issues/2339#issuecomment-948424582

It's obvious from it, that it's not going to happen, sadly. I guess there are just not enough of us, who won't be able to run it.

JodyThornton commented 2 years ago

@InvisibleManX: I saw Alex's response. That's rather unfortunate. As I said, even releasing binaries for G3.2.7 would be a stop gap measure. Well, I suppose it's time to set up another browser.

JodyThornton commented 2 years ago

To people who won't be able to run G4 Waterfox, due to their CPUs not supporting SSE 4.2

The only good alternative is to switch to Firefox ESR 91, disable all the spying and telemetry in it, adjust a few things in the interface so that they look closer to.

@InvisibleManX:

Will this method allow tabs under address bar, the older Photon/Quantum UI, and single process like G3?

MrAlex94 commented 2 years ago

Everyone,

I know you are disappointed with the decision, but we sat and thought the best path forward. Below is a graph showing support for CPU instruction sets that Waterfox users have. The numbers are estimated and extrapolated from the update URL hits we get - making sure we don't seed out the incorrect update file to users.

bar-graph

As you can see, SSE4.2 support makes up around 95% of the user base. Waterfox is not going to stay in one place because of a minority of users.

The browser landscape is quite diverse - and I've always suggested to users that they use the browser that's best suited for them and there are some good options out there if you don't like what Waterfox is doing. But Waterfox has always been an opinionated piece of software. From choosing to be 64-Bit only back in 2011 to now focusing on modern CPUs in 2021 - we're not going to stay stuck in the past.

I do with Intel hadn't gimped SIMD extensions on Atom CPUs though, as I can appreciate not everyone has the luxury of having the higher end CPU models.

I will close this issue for now unless there has been a grave mistake in terms of users who don't have SSE4.2 support - but if anyone needs help or advice moving their data, don't hesitate to ask.

InvisibleManX commented 2 years ago

we're not going to stay stuck in the past.

I see.

Though, there was no need to stay in the past, just by keeping compatibility (just with lower performance) with older CPUs.

G4 was based on Firefox. So I don't think it's all that impossible or difficult to just keep it working as it is, if it detects older CPUs. Just a little "IF" block of code, and choosing to use newer instructions or older ones.

But it's irrelevant now I suppose.

InvisibleManX commented 2 years ago

To people without SSE 4.2 support by their CPUs

If you still want to try running G4 Waterfox, you can try looking into this direction, described on these pages:

https://steamcommunity.com/sharedfiles/filedetails/?id=2362590754 https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html

Apparently, there are possbilities to make your software think that your CPU supports more instructions, which of course won't be working as fast as they should, but with no alternatiev, it could be the only way to run that software in such case.

With a bit of research on the internet, I think it could work.

MrAlex94 commented 2 years ago

Just a little "IF" block of code, and choosing to use newer instructions or older ones.

Sadly that is not how it works - otherwise I would have done it.

The only compilers with CPU dispatching are Intel's C++ compiler and the PGI compiler. Both are incredibly difficult to integrate with the Firefox build system.

Mikhail-M12 commented 2 years ago

InvisibleManX won't be working as fast as they should

I have already tried sde external. G4 works. But memory consumption is ~10 times higher, speed is tens times lower. So, browser is totally unusable in practice.

UPD: I finally installed my unsigned bootstrapped addons in Firefox 91 ESR thanks to https://github.com/xiaoxiaoflood/firefox-scripts#instructions . Now switching to Firefox is not big trouble for me.

InvisibleManX commented 2 years ago

I have already tried sde external. G4 works. But memory consumption is ~10 times higher, speed is tens times lower. So, browser is totally unusable in practice.

Maybe something can be adjusted to make it work better?

Mikhail-M12 commented 2 years ago

MrAlex94 Sadly that is not how it works - otherwise I would have done it.

Now I better understand decision to drop support for old CPUs. It would be great if someone would create builds for old CPUs.

InvisibleManX Maybe something can be adjusted to make it work better?

I didn't find such options in sde and didn't find another emulator.

InvisibleManX commented 2 years ago

@MrAlex94

I just wanted to show you this thing from Chrome, who has A HUGE user base.

Their future plans:

https://www.tomshardware.com/news/chrome-stops-working-on-old-processors

Google also looked at the number of Chrome users running non-SSE3 capable processors and the population was small enough for them to make the change.

We don't know if this change will affect Chromium-based browsers like Edge, but it seems very likely that it will. Hope for older PCs isn't lost, however, as Mozilla Firefox has no current plans of making SSE3 a system requirement, so you can always fall back to that web-browser if needed.

So...

A huge Google company with a lot of resources to analyse the user base properly determined that it's time to limit their browser to at least SSE 3

If the users who don't have SSE 4.2 would be so unimportant, then Google would just do what you did, instead of going for SSE 3.

Just something to think about.

MrAlex94 commented 2 years ago

I just wanted to show you this thing from Chrome, who has A HUGE user base.

Yes, that's exactly the point. Chrome has an estimated ~2.65 billion users. 0.01% of that is still 2,650,000 users! The point is, even with potentially millions of users on older hardware that doesn't support SSE3, they're still moving ahead...

JodyThornton commented 2 years ago

So what is your userbase Alex? Do you have 2,650,000 to play with? Even if you're only losing five percent as you've alluded to, you still have too small of a base to tamper with, and you're further splintering the alternative browser market.

You're just being stubborn and digging in, when all you've done is alienated users with less than a month's warning. Even if there was an opportunity to move on with a sense of goodwill and a good feeling, you've killed any chance of that. Why would I speak well of anyone who never showed any flexibility to accommodate users?

Well, I tried Firefox ESR 91 according to InvisibleManX's instructions. It wasn't up to the customization level that G3 was. So I've moved on to a much lesser browser for now - Basilisk, but at least it works for now. I'll look at Vivaldi or Edge next year for different reasons.

A sad day for Gecko based browsers.

JohnEdwa commented 2 years ago

So what is your userbase Alex? Do you have 2,650,000 to play with? Even if you're only losing five percent as you've alluded to, you still have too small of a base to tamper with, and you're further splintering the alternative browser market.

He did post the graph above. If 900k have SSE4.2 support, that 5% would roughly be 50k Waterfox users, give or take, assuming the numbers are only for G3 users. If it includes Classic users as well, it would be less.

If Chrome had that same distribution, requiring SSE 4.2 would affect 132 million users, so obviously they cannot do that - Chrome is mainstream browser that has to work with as many hardware and software configurations as possible.

InvisibleManX commented 2 years ago

@JohnEdwa

If Chrome had that same distribution, requiring SSE 4.2 would affect 132 million users, so obviously they cannot do that - Chrome is mainstream browser that has to work with as many hardware and software configurations as possible.

It's understandable.

But, we also have Firefox, and its userbase is around 10% of Chrome's.

And they actually don't even think now about abandoning SSE 2 users.

Different developers have very different views and approaches apparently.

so obviously they cannot do that

Actually, Chrome can indeed do that. They won't get hurt much by that. It's Google after all.

They could easily abandon everyone below 4.2 , but they still don't try to do any extreme changes.