Firefox refuses to use my nvidia GPU, it uses the intel integrated GPU instead

UNCONFIRMED
Unassigned

Status

()

Core
Graphics
P3
normal
UNCONFIRMED
9 months ago
7 months ago

People

(Reporter: Anonymous, Unassigned)

Tracking

53 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 attachment)

(Reporter)

Description

9 months ago
Created attachment 8868397 [details]
firefox.txt

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0
Build ID: 20170504105526

Steps to reproduce:

According to about:support, firefox is always using my integrated GPU (intel HD 4600) instead of my nvidia GPU (GTX 770m). GPU #2 (the nvidia card) is always shown as inactive and i can confirm via GPU-Z that the GPU never has any activity due to firefox.

I have set the nvidia control panel to run firefox.exe and the plugin container with my GPU, but it has no effect. Firefox always uses the integrated card instead. Right click->run with GPU does not work either.

I am already using the latest nvidia drivers as of the time of this ticket. It makes no difference.

This test site : http://alteredqualia.com/tmp/webgl-maxparams-test/ always shows my unmasked rendered as my integrated card, instead of my nvidia GPU. This is even with webgl.enable-privileged-extensions set to true.

My laptop (clevo p15sm) does not have any option in the BIOS to disable my integrated card or optimus, so that is not an option.

Strangely, I remember getting firefox to use my GPU for hardware acceleration purposes (although i had to force it on via about:config settings), but either an update stopped it working or I am remembering wrongly. I cannot remember which version may have had it working.


Actual results:

about:support log attached via file.


Expected results:

Firefox should be using my nvidia GPU instead of my intel integrated card.

Updated

9 months ago
Component: Untriaged → Graphics
Product: Firefox → Core

Comment 1

9 months ago
It's a long-standing issue with Firefox which is pretty bad to manage 2 GPUs on the same machine.
(Reporter)

Comment 2

9 months ago
(In reply to Loic from comment #1)
> It's a long-standing issue with Firefox which is pretty bad to manage 2 GPUs
> on the same machine.

Is anyone looking into it? I mean, other applications can use my GPU just fine, why not firefox?
Flags: needinfo?(hshih)
Whiteboard: [gfx-noted]
(Reporter)

Comment 3

9 months ago
aufen in the irc channel helped me to trouble shoot this. His laptop was abble to use his Nvidia GPU fine, mine refused to even after setting it to use the GPU in nvidia control panel. Right click -> run with nvidia GPU also failed to work.

Setting webgl.disable-angle to true was able to make it use the nvidia GPU however. I will see if there are any performance issues from this.
Flags: needinfo?(milan)

Comment 4

9 months ago
(In reply to Anonymous from comment #3) 
> Setting webgl.disable-angle to true was able to make it use the nvidia GPU
> however. I will see if there are any performance issues from this.

It doesn't work in my case, it disables all WebGL and doesn't use my GPU NVIDIA GeForce GT 550M instead of the IGP Intel HD Graphics 3000.
Just so that we're on the same page, I'm assuming you're in Nvidia control panel, and in the Manage 3D Settings->Program settings, you find Mozilla Firefox (firefox.exe) and set the preferred graphics processor to High-performance Nvidia processor.

And Firefox still ends up in Intel, and about:support graphics section shows Intel as the GPU#1, and Nvidia as the GPU#2. And Nvidia set up is:

Description: NVIDIA GeForce GTX 770M
Vendor ID: 0x10de
Device ID: 0x11e0
Driver Version: 22.21.13.8205
Driver Date: 5-1-2017

Nvidia has been known to block firefox from running on certain GPUs+driver combinations.

I'm also assuming a clean profile doesn't make a difference.
 
What happens if you rename firefox.exe to a different named executable and run it?
Flags: needinfo?(milan)
Flags: needinfo?(hshih)
(Reporter)

Comment 6

9 months ago
(In reply to Loic from comment #4)
> (In reply to Anonymous from comment #3) 
> > Setting webgl.disable-angle to true was able to make it use the nvidia GPU
> > however. I will see if there are any performance issues from this.
> 
> It doesn't work in my case, it disables all WebGL and doesn't use my GPU
> NVIDIA GeForce GT 550M instead of the IGP Intel HD Graphics 3000.

I just checked about:support and I can see that my nvidia GPU is still listed as "active : no". GPU-Z reports no activity for the GPU either, not sure why the webgl test page is telling me that its using the nvidia GPU.
(Reporter)

Comment 7

9 months ago
(In reply to Milan Sreckovic [:milan] from comment #5)
> Just so that we're on the same page, I'm assuming you're in Nvidia control
> panel, and in the Manage 3D Settings->Program settings, you find Mozilla
> Firefox (firefox.exe) and set the preferred graphics processor to
> High-performance Nvidia processor.
> 
> And Firefox still ends up in Intel, and about:support graphics section shows
> Intel as the GPU#1, and Nvidia as the GPU#2. And Nvidia set up is:
> 
> Description: NVIDIA GeForce GTX 770M
> Vendor ID: 0x10de
> Device ID: 0x11e0
> Driver Version: 22.21.13.8205
> Driver Date: 5-1-2017
> 
> Nvidia has been known to block firefox from running on certain GPUs+driver
> combinations.
> 
> I'm also assuming a clean profile doesn't make a difference.
>  
> What happens if you rename firefox.exe to a different named executable and
> run it?

Yes, I have set firefox.exe and plugin-container.exe to use the nvidia GPU in nvidia control panel. Firefox still uses the Intel HD4600. Right click -> run with high performance graphics processors also has no effect.

Clean profile makes no difference.

I tried renaming firefox.exe, but had mixed results with this. It doesn't seem to matter what i rename the .exe file to, task manager always reports it as firefox.exe. The one exception was when I tried testing with a new profile, which had multi processing on by default. In that case, renaming firefox.exe to something else showed that some of the processes were renamed in task manager, but some remained as firefox.exe.

I think Nical in the #gfx channel said that Firefox is built to use the same process name regardless of what the .exe is named, or something like that.
Flags: needinfo?(milan)
Yes, it would only work without multi-processing, you're right.  I'm surprised there are multiple processes if multi-processing is off though.
Flags: needinfo?(milan)
(Reporter)

Comment 9

9 months ago
(In reply to Milan Sreckovic [:milan] from comment #8)
> Yes, it would only work without multi-processing, you're right.  I'm
> surprised there are multiple processes if multi-processing is off though.

I think you misunderstood my reply.

With multi processing off : Renaming firefox.exe to anything else has no effect on the process name in task manager.

With multi procesisng on : Some of the processes in task manager are correctly renamed, some remain as firefox.exe.

I was just at the nvidia website to look for info, and they have a knowledgebase entry about firefox and optimus profiles.

https://nvidia.custhelp.com/app/answers/detail/a_id/3330/kw/optimus%20firefox

So the official stance from Nvidia on this is that as long as you set firefox to run with the nvidia GPU, it will, but clearly it is not working in my case...has anyone on the firefox team attempted to discuss this with Nvidia, as apparently this is a longstanding issue?
Flags: needinfo?(milan)
(In reply to Anonymous from comment #9)
> ...
> 
> So the official stance from Nvidia on this is that as long as you set
> firefox to run with the nvidia GPU, it will, 

This is what I'm seeing - when I force Nvidia, that's what I get.

> but clearly it is not working
> in my case...has anyone on the firefox team attempted to discuss this with
> Nvidia, as apparently this is a longstanding issue?

There has been no conversation on this that I'm aware of - we've only heard about this from you, but that could really just mean that the others are not telling us about it, or don't even know it's happening to them.

As far as the renaming, I also checked that.  You're right, in the default task manager view I still see Firefox, but when I go to the details tab, I see "randomname.exe" (what I renamed it to.)  Doesn't really matter - the weird thing is that you can't force it in the nvidia prefs.
Flags: needinfo?(milan)
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.