Last Comment Bug 622127 - WebGL no longer works on Intel X driver
: WebGL no longer works on Intel X driver
Status: RESOLVED FIXED
: regression
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: Trunk
: x86_64 Linux
: -- normal with 2 votes (vote)
: ---
Assigned To: David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch)
:
Mentors:
Depends on: 632969
Blocks:
  Show dependency treegraph
 
Reported: 2010-12-30 09:54 PST by David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch)
Modified: 2012-01-17 06:23 PST (History)
9 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2010-12-30 09:54:12 PST
WebGL no longer works on my laptop with the Intel X driver.  In other words, bug 605992 has regressed.

Using nightlies, I found that it was working on the 2010-12-03 Linux nightly, the last day before vlad disabled WebGL on Linux.  However, WebGL has been re-enabled on Linux, and it's broken; in a debug build I see:

WARNING: Failed to create GLXContext!: file /home/dbaron/builds/mozilla-central/mozilla/gfx/thebes/GLContextProviderGLX.cpp, line 287

I'd guess the most likely cause of the regression is http://hg.mozilla.org/mozilla-central/rev/056814244ceb , but I haven't verified that yet.
Comment 1 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2011-02-07 10:58:05 PST
(In reply to comment #0)
> I'd guess the most likely cause of the regression is
> http://hg.mozilla.org/mozilla-central/rev/056814244ceb , but I haven't verified
> that yet.

Backing out the gfx/thebes/GLContextProviderGLX.cpp changes in that patch does in fact fix this (though of course I now have to use MOZ_GLX_IGNORE_BLACKLIST=1).
Comment 2 Benoit Jacob [:bjacob] (mostly away) 2011-02-07 11:00:33 PST
Ah, sorry. I have a patch kind of ready in bug 616416, will make it ready when I can. But of course intel drivers are blacklisted by default, as you note.
Comment 3 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2011-02-07 13:47:25 PST
Got X error: error_code=9 request_code=136 minor_code=3
Got X error: error_code=9 request_code=136 minor_code=7
(whole bunch of spew)
Got X error: error_code=9 request_code=136 minor_code=4
Got X error: error_code=9 request_code=136 minor_code=3
Got X error: error_code=9 request_code=136 minor_code=7
(a bit more)
Got X error: error_code=9 request_code=136 minor_code=4
Comment 4 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2011-02-07 13:52:34 PST
(In reply to comment #2)
> Ah, sorry. I have a patch kind of ready in bug 616416, will make it ready when
> I can. But of course intel drivers are blacklisted by default, as you note.

That patch doesn't fix it for me.
Comment 5 Tom Chiverton 2011-02-08 15:23:37 PST
I can make WebGL demos work with 4.0b11 on my Intel Kubuntu 10.10 box by doing the export trick.
I raised #632578 about the surprise WebGL not actually working unless you have one particular type of video card or go fiddling at the command line.

This is KDE4.6 from the Kubuntu backports PPA, Intel X drivers from x-org updates (so it's not quite stock, but version 2.13.901 rather than 2.12.something, but without the update, you can see individual tiles being painted in all X apps :-) ).
Comment 6 Benoit Jacob [:bjacob] (mostly away) 2011-02-08 18:32:47 PST
(replied to Tom on bug 632578)
Comment 7 Benoit Jacob [:bjacob] (mostly away) 2011-02-08 18:34:35 PST
(In reply to comment #3)
> Got X error: error_code=9 request_code=136 minor_code=3
> Got X error: error_code=9 request_code=136 minor_code=7
> (whole bunch of spew)
> Got X error: error_code=9 request_code=136 minor_code=4
> Got X error: error_code=9 request_code=136 minor_code=3
> Got X error: error_code=9 request_code=136 minor_code=7
> (a bit more)
> Got X error: error_code=9 request_code=136 minor_code=4

I guess there are a few useful questions here: why are we generating these errors? is my change the culprit?

Will look ASAP, but this isn't a 4.0 blocker so I may not prioritize it right now.
Comment 8 Tom Chiverton 2011-02-09 13:01:32 PST
Sadly, the OpenGL tests pass maybe 70% as far as it gets, then FireFox crashes. 
I suspect this means Intel needs to stay blacklisted for 4.0 release.
Comment 9 Tom Chiverton 2011-02-09 13:05:59 PST
Oops, here is the crash : https://crash-stats.mozilla.com/report/index/74f8860a-90ea-4083-b444-8ff9f2110209

I didn't bother with an empty profile or anything. It's clear WebGL, at least using the intel X driver, is dead for now, and Mozilla's intent is to launch with a black/white list of drivers that work/break <shrug>. 
So at least it might be possible to turn it on if it works later.

See you on the 4.1 beta :-/
Comment 10 timeless 2011-02-10 12:35:23 PST
Mozilla Crash Reports
Signature	i965_dri.so@0x244f0
UUID	74f8860a-90ea-4083-b444-8ff9f2110209
Time 	2011-02-09 12:54:43.361910
Uptime	255
Last Crash	2410499 seconds (4.0 weeks) before submission
Install Age	80223 seconds (22.3 hours) since version was first installed.
Product	Firefox
Version	4.0b11
Build ID	20110203140750
Branch	2.0
OS	Linux
OS Version	0.0.0 Linux 2.6.35-25-generic #44-Ubuntu SMP Fri Jan 21 17:40:48 UTC 2011 i686
CPU	x86
CPU Info	GenuineIntel family 6 model 15 stepping 13
Crash Reason	SIGSEGV
Crash Address	0x70
User Comments	
Processor Notes 	
EMCheckCompatibility	False
Bugzilla - Report this Crash
Crashing Thread
Frame 	Module 	Signature [Expand] 	Source
0 	i965_dri.so 	i965_dri.so@0x244f0 	
1 	i965_dri.so 	i965_dri.so@0xb64f2 	
2 	i965_dri.so 	i965_dri.so@0x100d06 	
3 		@0x14f6fc1
Comment 11 Benoit Jacob [:bjacob] (mostly away) 2011-02-10 12:38:36 PST
@ timeless, don't worry about this crash, the only way to hit this crash is to bypass the driver blacklist by defining an environment variable.
Comment 12 Karl Tomlinson (:karlt) 2011-02-10 15:51:10 PST
(In reply to comment #3)
> Got X error: error_code=9 request_code=136 minor_code=3
> Got X error: error_code=9 request_code=136 minor_code=7
> (whole bunch of spew)
> Got X error: error_code=9 request_code=136 minor_code=4

Error code 9 is BadDrawable

Request code 136 is an extension and mappings are variable.
If we assume the extension is GLX, then the requests are
X_GLXCreateContext, X_GLXQueryVersion, and X_GLXDestroyContext.
Comment 13 Jeff Gilbert [:jgilbert] 2011-12-16 11:55:42 PST
Retesting this on dbaron's laptop shows that the teapot demo works when WebGL is force-enabled, but disallows the webgl otherwise. ('...does not support WebGL')

Trying MapsGL froze the whole system.
Comment 14 Benoit Jacob [:bjacob] (mostly away) 2011-12-16 11:59:50 PST
about:support will tell you why it decided to blacklist this driver.
Comment 15 David Baron :dbaron: ⌚️UTC-7 (review requests must explain patch) 2011-12-16 13:55:47 PST
Adapter Description
Tungsten Graphics, Inc -- Mesa DRI Intel(R) Sandybridge Mobile GEM 20100330 DEVELOPMENT

Driver Version
2.1 Mesa 7.10.2

WebGL Renderer
Blocked for your graphics driver version. Try updating your graphics driver to version Mesa 7.10.3 or newer.

(This isn't the same laptop, but it's still Intel graphics running on Ubuntu... though a newer Ubuntu.)
Comment 16 Ryan S Kingsbury 2012-01-16 19:32:50 PST
I'm puzzled by the status of the support for Intel Mesa drivers and Webgl. The wiki page says that Webgl is enabled by default for Mesa >7.10.3
https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers#On_X11

However, my card is blacklisted even though I'm running Mesa 7.11.3
The graphics section of about:support says this:

===================================================================
Adapter DescriptionGLXtest process failed (waitpid failed): VENDOR
Tungsten Graphics, Inc
RENDERER
Mesa DRI Intel(R) Ironlake Desktop 
VERSION
2.1 Mesa 7.11.2
TFP
TRUE

WebGL RendererTungsten Graphics, Inc -- Mesa DRI Intel(R) Ironlake Desktop  -- 2.1 Mesa 7.11.2GPU Accelerated Windows0/1. Blocked for your graphics driver version. Try updating your graphics driver to version <Anything with EXT_texture_from_pixmap support> or newer.
===========================================================================

This is on ArchLinux x64 with the 3.1.9 kernel. 

I can get it working by force-enabling webgl and layers acceleration, but why am I having to do this? Is the Wiki page just wrong?  Is there a bug with Ironlake hardware that needs to be filed with the Mesa team?
Comment 17 Ryan S Kingsbury 2012-01-16 19:37:29 PST
Incidentally, if I run glxinfo | grep texture_from_pixmap I get the following:
====================
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, 
GLX_EXT_texture_from_pixmap
=====================

So it appears that my driver and hardware do support the EXT_texture_from_pixmap extension, contrary to what the about:support message says.
Comment 18 Joe Drew (not getting mail) 2012-01-16 19:54:05 PST
Benoit, maybe you can roll a try build with more debugging output in about:support?
Comment 19 Benoit Jacob [:bjacob] (mostly away) 2012-01-17 05:14:33 PST
Yeah, actually I am getting an intermittent 'waitpid failed' error on my own Linux/radeon machine, but only in Nightly, can't reproduce in local debug builds.
Comment 20 Benoit Jacob [:bjacob] (mostly away) 2012-01-17 05:17:13 PST
To be clear, my understanding is that this bug has been completely hijacked; dbaron's original bug is fixed (about:support doesn't report a X error in glxtest) and now he just has to upgrade to Mesa 7.10.3; but now we're discussing waitpid failures.
Comment 21 Ryan S Kingsbury 2012-01-17 05:23:12 PST
I should have mentioned that this occurs on Firefox 9 (stable channel)

Please let me know if you want me to open an new bug report; I didn't mean to hijack. The title of this bug still seems apt enough, but I don't know enough about graphics drivers to know whether this is something different or part of the same problem.

The frustration for me is that the driver is blacklisted even though it "shouldn't" be according to the only documentation I can find (the wiki)
Comment 22 Benoit Jacob [:bjacob] (mostly away) 2012-01-17 05:28:06 PST
Ryan, I would appreciate if you could open a separate bug report. I understand that it seemed very reasonable to use this one, no problem, but now we know that it's a separate bug.
Comment 23 Benoit Jacob [:bjacob] (mostly away) 2012-01-17 06:23:15 PST
Filed bug 718629 about the waitpid failures.

Closing this one.

Note You need to log in before you can comment on or make changes to this bug.