Jump to content

Need help with Firefox

Go to solution Solved by LWM723,

Thanks @Emily123 for the excellent information. It works. I came across a command-line shortcut just put it in the same directory as the firefox executable and click or make a shortcut of it. I used notepad and saved it with .cmd extension. Here it is:
set
MOZ_FORCE_DISABLE_E10S=83.0
start FirefoxPortable.exe

I wonder what else can be done with environment variables.

I am running Firefox 83 on an older pc. The multi- processes are consuming too much RAM and making Firefox almost useless. I want to disable the multi-processes. I know it can be done as I'm running Slimbrowser(firefox 79) and it only has one process. I have changed the process amount in options to 1 and set browser.tabs.remote.force-disable to true and browser.tabs.remote.autostart to false and it's still running 4 or 5 processes with one tab open. Is there something else to be able to do this?

Link to comment
https://linustechtips.com/topic/1272799-need-help-with-firefox/
Share on other sites

Link to post
Share on other sites

On 11/24/2020 at 2:38 AM, LWM723 said:

I am running Firefox 83 on an older pc. The multi- processes are consuming too much RAM and making Firefox almost useless. I want to disable the multi-processes. I know it can be done as I'm running Slimbrowser(firefox 79) and it only has one process. I have changed the process amount in options to 1 and set browser.tabs.remote.force-disable to true and browser.tabs.remote.autostart to false and it's still running 4 or 5 processes with one tab open. Is there something else to be able to do this?

 

Mozilla removed the functionality to disable this from the settings from version 68 onwards.

 

You can disable e10s / multiple processes by creating this environment variable in Windows.

 

MOZ_FORCE_DISABLE_E10S=1

 

Run sysdm.cpl and then go to Advanced > Environment Variables.

 

Create a new User variable if you want it to only apply to your windows user account or a new System variable if you want it to apply to all users. Set the name as MOZ_FORCE_DISABLE_E10S and the value to 1

 

 

Link to comment
https://linustechtips.com/topic/1272799-need-help-with-firefox/#findComment-14245064
Share on other sites

Link to post
Share on other sites

3 hours ago, LWM723 said:

@Emily123
Thanks , but it didn't work. I'm using Firefox 83 Portable. Does this only wprk with installed versions? Is there any way to make it work with portable versions?

 

After doing some research I came across this entry on the Mozilla bug tracker. 

 

It seems as of Firefox version 81 they have changed the browser to now require the environment variable value to match the version number rather than a simple 0 or 1.

 

For your version of Firefox, Firefox 83, you need to create the environment variable with a value of 83.0 rather than 1.

 

MOZ_FORCE_DISABLE_E10S=83.0

 

You can edit the value for the environment variable by following the steps in my last post and clicking edit rather than new. You will have to update this every time the Firefox version number changes. You can find the version number by going to about:support You may need to reboot however simply restarting Firefox completely should work.

 

If you scroll down to 'Multiprocess Windows' you will now see that it has a value of 0/1. Interestingly it no longer says 'Disabled by environment' in the Multiprocess windows string. Going to about:telemetry#environment-data-tab and then the settings block should list the Property: e10sEnabled with a value of false.

 

I tested it out and it seems to work with the portable version. 50 Opened tabs with one Browser process. There's FirefoxPortable.exe but that's always going to be there as its the Portable Apps Launcher.

 

firefox_Byxsc7VtcL.thumb.png.7e19803f63a37909a1f446695fd75b4d.png

 

procexp64_UV5O3wLkZE.thumb.png.054d149b85dc566d8b4aaf3052dcd335.png

 

 

If you want this to work on another computer you will have to create the environment variable on there.

 

I don't have a great deal of knowledge on how the PortableApps versions of programs work but from what I understand its possible to build / compile a new portable version of Firefox portable using the PortableApps.com Launcher and then define the MOZ_FORCE_DISABLE_E10S= environment variable in launcher.ini before building the app. See here for documentation https://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/environment.html

 

This is something you would have to do every time the Firefox version number changes as Mozilla decided to change it from a simple 0 or 1 but from what I understand it would mean that it works everywhere and you don't have to set the environment variable in Windows.

 

I've not looked into doing that extensively but I don't mind doing the research and creating a guide or just distributing a portable app version that has multi-process disabled if there's enough interest.

 

It seems Mozilla has been continuously stripping away customisability and functionality from their browsers over the past few years. You can read the discussion on their developer platform about how they don't want people using these settings anymore. Combined with them Stripping out support for XUL/Legacy addons, Bundling extensions that mine user data and track them with the setting enabled by default and installing an adware extension as a promotion for a new series of Mr Robot without user consent its no longer a browser I use personally.

 

I switched to Waterfox a few years ago and haven't looked back. It's extremely customisable and allows access to all the settings in about:config. There's two versions now: Classic which has support for legacy extensions and web extensions and Current which is the most up to date and supports web extensions and some converted legacy ones. It also supports NPAPI plugins too. Both versions get the latest security patches. I'd strongly recommend checking it out as its both completely free and open source. https://www.waterfox.net/

 

 

 

Link to comment
https://linustechtips.com/topic/1272799-need-help-with-firefox/#findComment-14246188
Share on other sites

Link to post
Share on other sites

Thanks @Emily123 for the excellent information. It works. I came across a command-line shortcut just put it in the same directory as the firefox executable and click or make a shortcut of it. I used notepad and saved it with .cmd extension. Here it is:
set
MOZ_FORCE_DISABLE_E10S=83.0
start FirefoxPortable.exe

I wonder what else can be done with environment variables.

Link to comment
https://linustechtips.com/topic/1272799-need-help-with-firefox/#findComment-14249810
Share on other sites

Link to post
Share on other sites

16 hours ago, LWM723 said:

Thanks @Emily123 for the excellent information. It works. I came across a command-line shortcut just put it in the same directory as the firefox executable and click or make a shortcut of it. I used notepad and saved it with .cmd extension. Here it is:
set
MOZ_FORCE_DISABLE_E10S=83.0
start FirefoxPortable.exe

I wonder what else can be done with environment variables.
 

 

I knew you could temporarily set the environment variable that way but completely forgot that it would make more sense for a portable version.
 

Editing that file every time the version number changed didn't sound fun though so I thought maybe it could be automated 😁

 

I'm not completely up to speed with PowerShell so there may be an easier or better way to do this but this is the way I made work.

 

In retrospect maybe this isn't worth the effort but its interesting nonetheless. 

Save this as start.ps1 (or whatever you want - note the filename in the .cmd has to be the same) in the same directory as FirefoxPortable.exe

 

$pVer = (get-item ".\App\Firefox\firefox.exe").Versioninfo.ProductVersion
$env:MOZ_FORCE_DISABLE_E10S=$pVer
Start-Process -FilePath "FirefoxPortable.exe"

This gets the value of the ProductVersion property from the firefox browser executable into an object and then sets the Environment Variable to that. Finally it starts FirefoxPortable.exe

 

Save this as a .cmd

 

%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -ExecutionPolicy "Bypass" -Command "&{& '.\start.ps1'}"

 

Then you can double click the .cmd like you are now but save the time of having to edit the script each time the version number changes.

 

The reason for needing the .cmd to launch PowerShell is because for security reasons in Windows the default file association is set to notepad and the default execution policy for scripts is Restricted, which is why the -ExecutionPolicy "Bypass" is used for this one script.

 

Hope this is useful. 

Link to comment
https://linustechtips.com/topic/1272799-need-help-with-firefox/#findComment-14252329
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×