3D preview not showing in Firefox

Easel 3D preview is not showing for me in Firefox 42.0. I have tried using a brand-new firefox profile with no Add-ons installed in order to rule out things like Adblock+, noscript, etc., but I have same result. The area is white, no indication that its even thinking about it.

I get the “spinning cube” at https://get.webgl.org/, so it looks like WebGL is enabled and working at a minimal level. I have also looked at previous similar issues on the forum for Chrome and FF on windows and so on, no solution. about:config tells me that webgl is enabled and all of its settings are default.

This is Firefox 42.0 on Ubuntu 14.04 LTS x86-64 with all updates applied.

Can someone help me troubleshoot?

Thanks!

Hi @ShortedNeuron,

What exactly are you seeing on the right-hand side? Do you see the Easel guy with 3D glasses? Or are you seeing a grid (representing the wasteboard), but no actual preview of the project on it?

Nothing… just empty white area. No grid, not even an outline of the area that the preview should be in.

I fired up the “Guided Tour” and a few steps in it shows a balloon saying “this is the preview area” or somesuch, but nothing there. My mouse icon turns to a hand over that area, but attempting to pan or use the scroll wheel also does nothing. Right click does nothing.

i have “webgl.disable” which is set to FALSE. That seems right.

I have also tried setting “webgl.force-enable” to TRUE, which doesn’t help either.

Hmmm sounds like it is trying to use webGL but it is for some reason not able to. Can you check the Web Inspector (here is how) console for error messages / warnings referring to webGL?

It looks like all white (or all black) is caused by WebGL losing the rendering context. On Firefox there is a flag in about:config called webgl.lose-context-on-memory-pressure. For me it is default to false, but if I set it to true I can get it to go all white. Can you check that flag?

Easel does allocate a fair amount of graphics memory, what kind of hardware are you running on?

My webgl.lose-context-on-memory-pressure is set to false also.

Ah, yes there’s some information in the console. The one that seems most relevant is at the bottom:

Initialized Boot storage easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized 2D canvas easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized editor viewport easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized keyboard bindings easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized machine settings easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized Post Processors easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
THREE.WebGLRenderer 68 vendor-1739cae8ec912e5be15d90a4a2f641b0.js:31948:2
Initialized 3D preview easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized status menu easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized toolbar easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized toolpath progress callbacks easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized coverage analyzer easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized walkthrough keyboard controls easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
THREE.WebGLProgram: Could not initialise shader. vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38723:4

gl.VALIDATE_STATUS false vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38724:1

gl.getError() 1282 vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38725:1

THREE.WebGLProgram: gl.getProgramInfoLog() Statically used varyings do not fit within packing limits. (see GLSL ES Specification 1.0.17, p111) vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38731:1
Initialized bits easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
'machine': Entering state 'connecting_to_local_sender'... easel-87c9ee3b3c75dc2ca829717987e27098.js:3141:16
Initialized current sender easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized materials easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized projects easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
Initialized fonts easel-87c9ee3b3c75dc2ca829717987e27098.js:23367:7
THREE.WebGLProgram: Could not initialise shader. vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38723:4
THREE.WebGLProgram() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38723
THREE.WebGLRenderer/this.initMaterial() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:36157
setProgram() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:36230
THREE.WebGLRenderer/this.renderBufferDirect() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:34492
renderObjects() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:35462
THREE.WebGLRenderer/this.render() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:35311
EASEL.threeDimensionalRenderer/render/<() easel-87c9ee3b3c75dc2ca829717987e27098.js:3563
nrWrapper() 5hsJ5NkPEzV3YPZVGgaSRA:5

gl.VALIDATE_STATUS false vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38724:1
THREE.WebGLProgram() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38724
THREE.WebGLRenderer/this.initMaterial() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:36157
setProgram() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:36230
THREE.WebGLRenderer/this.renderBufferDirect() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:34492
renderObjects() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:35462
THREE.WebGLRenderer/this.render() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:35311
EASEL.threeDimensionalRenderer/render/<() easel-87c9ee3b3c75dc2ca829717987e27098.js:3563
nrWrapper() 5hsJ5NkPEzV3YPZVGgaSRA:5

gl.getError() 1282 vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38725:1
THREE.WebGLProgram() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38725
THREE.WebGLRenderer/this.initMaterial() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:36157
setProgram() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:36230
THREE.WebGLRenderer/this.renderBufferDirect() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:34492
renderObjects() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:35462
THREE.WebGLRenderer/this.render() vendor-1739cae8ec912e5be15d90a4a2f641b0.js:35311
EASEL.threeDimensionalRenderer/render/<() easel-87c9ee3b3c75dc2ca829717987e27098.js:3563
nrWrapper() 5hsJ5NkPEzV3YPZVGgaSRA:5

THREE.WebGLProgram: gl.getProgramInfoLog() Statically used varyings do not fit within packing limits. (see GLSL ES Specification 1.0.17, p111) vendor-1739cae8ec912e5be15d90a4a2f641b0.js:38731:1

There is a bug filed for Firefox reporting a similar error, and that user is also on Ubuntu. That bug was reported on a different test scene, give it a try and see if you get the same errors as on Easel. The bug isn’t confirmed and was from a few versions ago, so might not be the same, but worth a try.

Try this: set the webgl.bypass-shader-validation flag to true, and try Easel and that other test scene to see if it makes a difference.

webgl.bypass-shared-validation = true did not have any effect. The other scene http://threejs.org/examples/#webgl_animation_cloth did not render, but after a full reboot of the computer, http://threejs.org/examples/#webgl_animation_cloth DID render. Another reboot, Easel still doesn’t want to play, but now pegs one CPU core at 100% for 30-60 seconds (rendering area is black during this time) then CPU goes down and I get same white rendering area. Looks like my video card just can’t do Easel. Perhaps Ubuntu or Firefox or both are contributing factors.

System a bit dated, AMD phenom II quad core, 12GB of RAM, and Nvidia 7600 GS with 256MB of video card RAM and NVidia’s linux drivers, not the open source ones. Is Easel known to run on such a configuration? Does anyone run Easel fairly trouble free on Ubuntu that could share their hardware config with me?

Thanks!