We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

Trang web này sẽ có chức năng hạn chế trong khi chúng tôi trải qua bảo trì để cải thiện trải nghiệm của bạn. Nếu một bài viết không giải quyết được vấn đề của bạn và bạn muốn đặt câu hỏi, chúng tôi có cộng đồng hỗ trợ của chúng tôi đang chờ để giúp bạn tại @FirefoxSupport trên Twitter và /r/firefox trên Reddit.

Tìm kiếm hỗ trợ

Tránh các lừa đảo về hỗ trợ. Chúng tôi sẽ không bao giờ yêu cầu bạn gọi hoặc nhắn tin đến số điện thoại hoặc chia sẻ thông tin cá nhân. Vui lòng báo cáo hoạt động đáng ngờ bằng cách sử dụng tùy chọn "Báo cáo lạm dụng".

Tìm hiểu thêm

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

  • 3 trả lời
  • 1 gặp vấn đề này
  • 1 lượt xem
  • Trả lời mới nhất được viết bởi 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?

Được chỉnh sửa bởi BlohoJo vào

Tất cả các câu trả lời (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.)

Được chỉnh sửa bởi BlohoJo vào

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.

Được chỉnh sửa bởi BlohoJo vào