Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

Den här webbplatsen har begränsad funktionalitet medan vi utför underhåll för att förbättra din upplevelse. Om en artikel inte löser ditt problem och du vill ställa en fråga har vi vår gemenskap som väntar på att hjälpa dig på @FirefoxSupport på Twitter, /r/firefox på Reddit.

Sök i support

Akta dig för supportbedrägerier: Vi kommer aldrig att be dig att ringa eller skicka ett sms till ett telefonnummer eller dela personlig information. Rapportera misstänkt aktivitet med alternativet "Rapportera missbruk".

Läs mer

How to get Firefox to use software rendering for WebGL using MESA / llvmpipe ?

  • 3 svar
  • 1 har detta problem
  • 1 visning
  • Senaste svar av BlohoJo

more options

I have Firefox 54 64-bit running on a VPS (Windows Server 2008 R2, no graphics card).

I was wondering if I could get WebGL to work with software rendering? I have successfully gotten other OpenGL apps to work using MESA.

I am using this build of MESA: https://github.com/pal1000/mesa-dist-win/releases

It has both 32 and 64 bit binary builds in it.

I have searched using Google and read that Firefox used to support osmesa.dll via the "webgl.software_rendering" boolean config setting and the "webgl.osmesalib" string config setting. However, those settings are no longer there, and adding them manually does not work.

I have also read that Firefox should support llvmpipe, but again, if there were any about:config settings for this in previous versions of Firefox, they are no longer there. Dropping the 64 bit MESA opengl32.dll file into Firefox's program directory also does not work. (This is all that is typically needed in other applications.)

I do have the three config keys set to force WebGL:

webgl.force-enabled: true / layers.acceleration.force-enabled: true / gfx.direct2d.force-enabled: true

These settings do stay enabled when Firefox is restarted, but about:support still shows "Basic" for Graphics Compositing.

Is there ANY way I can get Firefox to use llvmpipe via the 64 bit MESA opengl32.dll in order to support WebGL software rendering? Or is there some other way to force software rendering for WebGL?

I have Firefox 54 64-bit running on a VPS (Windows Server 2008 R2, no graphics card). I was wondering if I could get WebGL to work with software rendering? I have successfully gotten other OpenGL apps to work using MESA. I am using this build of MESA: https://github.com/pal1000/mesa-dist-win/releases It has both 32 and 64 bit binary builds in it. I have searched using Google and read that Firefox used to support osmesa.dll via the "webgl.software_rendering" boolean config setting and the "webgl.osmesalib" string config setting. However, those settings are no longer there, and adding them manually does not work. I have also read that Firefox should support llvmpipe, but again, if there were any about:config settings for this in previous versions of Firefox, they are no longer there. Dropping the 64 bit MESA opengl32.dll file into Firefox's program directory also does not work. (This is all that is typically needed in other applications.) I do have the three config keys set to force WebGL: webgl.force-enabled: true / layers.acceleration.force-enabled: true / gfx.direct2d.force-enabled: true These settings do stay enabled when Firefox is restarted, but about:support still shows "Basic" for Graphics Compositing. Is there ANY way I can get Firefox to use llvmpipe via the 64 bit MESA opengl32.dll in order to support WebGL software rendering? Or is there some other way to force software rendering for WebGL?

Ändrad av BlohoJo

Alla svar (3)

more options

I tried using a DLL injector (https://github.com/master131/ExtremeInjector ), and was able to successfully inject the 64-bit MESA opengl32.dll into firefox.exe. I verified that it was hooked using Process Explorer (it made 6 threads but they never changed, even when trying to use WebGL). However, it made no difference... still no software WebGL, still in "Basic" Graphics Compositing. (I did try setting it to "auto" and started Firefox that way so that the injection happens immediately on startup.)

Ändrad av BlohoJo

more options

Did you contact the software creator for more help on what your doing?

more options

OpenGL has different implementations, the big three being Intel, Nvidia, and AMD. It also has a software implementation that can use the CPU rather than a graphics card. I linked to a software implementation. I am asking how to get Firefox to use it (llvmpipe).

https://www.mesa3d.org/intro.html https://mesamatrix.net/ https://en.wikipedia.org/wiki/Mesa_(computer_graphics)#Implementations_of_video_acceleration_APIs

Normally simply placing the software based opengl32.dll (either the x86 for 32 bit programs or the x64 for 64 bit) in the same directory as the .exe is enough to get the application to use the software based opengl32.dll driver instead of the hardware based one which is typically located in c:\windows\system32 in Windows.

That doesn't work with Firefox. Sometimes, if programs don't want to use the software based opengl32.dll driver, it can be forced using a .dll injector. That also doesn't work with Firefox.

Ändrad av BlohoJo