In current stable you have to override the blacklist for it to enable gpu acceleration anyway, so this is more of a feature request to investigate why this happens with dri3 but not with dri2. For non-working webgl this is probably a little bit more serious. On current google-chrome-unstable on a fresh profile with default settings gpu acceleration is enabled. When it is manually enabled via chrome://flags and checking "Override software rendering list", this has happened at least since one or two stable versions, probably always. Symptoms: $ google-chrome-unstable ATTENTION: default value of option force_s3tc_enable overridden by environment. ATTENTION: option value of option force_s3tc_enable ignored. [20081:20081:0724/093124:ERROR:command_buffer_proxy_impl.cc(153)] Could not send GpuCommandBufferMsg_Initialize. [20081:20081:0724/093124:ERROR:webgraphicscontext3d_command_buffer_impl.cc(236)] CommandBufferProxy::Initialize failed. [20081:20081:0724/093124:ERROR:webgraphicscontext3d_command_buffer_impl.cc(256)] Failed to initialize command buffer. this is repeated two times and chrome://gpu has these Log Messages: GpuProcessHostUIShim: The GPU process crashed! GpuProcessHostUIShim: The GPU process crashed! GpuProcessHostUIShim: The GPU process crashed! But with LIBGL_DRI3_DISABLE=1 google-chrome-unstable it works without issues. Ivy Bridge, xorg 1.16, xf86-video-intel with sna and mesa both from recent git.
It's more or less intel specific. With (dri3) offloading to a radeonsi GPU all the gpu stuff works. But directly running it on intel doesn't.
On different intel hardware I can confirm this bug. LIBGL_DRI3_DISABLE=1 fixed the problem, thanks to Haag for the fix. OpenSUSE Factory AMD64 Information [ 31.368] Current Operating System: Linux OpenSUSE.Linux 3.16.0-rc7-2-desktop #1 SMP PREEMPT Wed Jul 30 09:38:03 UTC 2014 (9b5a5f0) x86_64 Information [ 31.462] compiled for 1.16.0, module version = 2.99.914 Information X.Org X Server 1.16.0 GPU: Intel GM45 CPU: Pentium(R) Dual-Core CPU T4200 @ 2.00GHz
Chrome 38 beta crashes on start-up in i965_dri.so if dri3 is enabled with: sandy bridge, xserver 1.16, driver 2.99.916, mesa 10.2.7
Core was generated by `/usr/lib64/chromium-browser/chrome --type=gpu-process --channel=85383.0.1648497'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000032b4096f237 in brw_workaround_depthstencil_alignment () from /usr/lib64/dri/i965_dri.so (gdb) bt #0 0x0000032b4096f237 in brw_workaround_depthstencil_alignment () from /usr/lib64/dri/i965_dri.so #1 0x0000032b40911888 in brw_clear () from /usr/lib64/dri/i965_dri.so #2 0x0000007c4e294af9 in gpu::gles2::GLES2DecoderImpl::Initialize(scoped_refptr<gfx::GLSurface> const&, scoped_refptr<gfx::GLContext> const&, bool, gfx::Size const&, gpu::gles2::DisallowedFeatures const&, std::vector<int, std::allocator<int> > const&) () #3 0x0000007c4e2491ce in content::GpuCommandBufferStub::OnInitialize(base::FileDescriptor, IPC::Message*) () #4 0x0000007c4e24ab4e in content::GpuCommandBufferStub::OnMessageReceived(IPC::Message const&) () #5 0x0000007c4e236c15 in content::MessageRouter::RouteMessage(IPC::Message const&) () #6 0x0000007c4e243c9a in content::GpuChannel::HandleMessage() () #7 0x0000007c4b5cb0f3 in base::debug::TaskAnnotator::RunTask(char const*, char const*, base::PendingTask const&) () #8 0x0000007c4b58ab18 in base::MessageLoop::RunTask(base::PendingTask const&) () #9 0x0000007c4b58ada9 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&) () #10 0x0000007c4b58c56e in base::MessageLoop::DoWork() () #11 0x0000007c4b5c35eb in base::MessagePumpGlib::Run(base::MessagePump::Delegate*) () #12 0x0000007c4b59d9a4 in base::RunLoop::Run() () #13 0x0000007c4b5890cc in base::MessageLoop::Run() () #14 0x0000007c4e11bd3d in content::GpuMain(content::MainFunctionParams const&) () #15 0x0000007c4b538f97 in content::ContentMainRunnerImpl::Run() () #16 0x0000007c4b537a2b in content::ContentMain(content::ContentMainParams const&) () #17 0x0000007c4aff31fb in ChromeMain () #18 0x0000032b46b03f1b in __libc_start_main () from /lib64/libc.so.6 #19 0x0000007c4aff3079 in _start ()
Oh right, I had noticed that the gpu threads are segfaulting, but totally forgot that it could be relevant here. Ivy Bridge here: Core was generated by `/opt/google/chrome-unstable/chrome --type=gpu-process --channel=21942.4.5215851'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f84164044b8 in get_stencil_miptree (irb=0xf09fc2270b0) at brw_misc_state.c:225 225 if (irb->mt->stencil_mt) (gdb) bt full #0 0x00007f84164044b8 in get_stencil_miptree (irb=0xf09fc2270b0) at brw_misc_state.c:225 No locals. #1 0x00007f8416404551 in brw_workaround_depthstencil_alignment (brw=0xf09fd940030, clear_mask=50) at brw_misc_state.c:241 ctx = 0xf09fd940030 fb = 0xf09fea11200 rebase_depth = false rebase_stencil = false depth_irb = 0xf09fc22af20 stencil_irb = 0xf09fc2270b0 depth_mt = 0x0 stencil_mt = 0xf09fd9717c0 tile_x = 32767 tile_y = 2049073776 stencil_tile_x = 3849 stencil_tile_y = 4254335024 stencil_draw_x = 4271968768 stencil_draw_y = 3849 invalidate_depth = 255 invalidate_stencil = false tile_mask_x = 4254335024 tile_mask_y = 3849 #2 0x00007f84163a6ff3 in brw_clear (ctx=0xf09fd940030, mask=50) at brw_clear.c:235 brw = 0xf09fd940030 fb = 0xf09fea11200 partial_clear = false tri_mask = 4254335024 #3 0x00007f841603028b in _mesa_Clear (mask=17664) at ../../src/mesa/main/clear.c:226 bufferMask = 50 ctx = 0xf09fd940030 __func__ = "_mesa_Clear" __PRETTY_FUNCTION__ = "_mesa_Clear" #4 0x00007f842933836a in ?? () No symbol table info available. #5 0x0000000000000000 in ?? () No symbol table info available.
For the people only reading this bug report: In IRC keithp found the cause. With dri3 temporary files are created with O_TMPFILE. The chromium sandbox does not allow creating temporary files with O_TMPFILE. So another workaround for now is to use chromium/chrome with the --no-sandbox option (which will possibly reduce security). There's a corresponding bugreport at chromium that was not publicly visible before, but now is: https://code.google.com/p/chromium/issues/detail?id=415681#c9 Close this with NOTOURBUG/WONTFIX?
It's getting fixed in chromium, so no action is necessary for mesa: https://code.google.com/p/chromium/issues/detail?id=415681#c52 "who has the long-term fix almost ready." I suggest keeping this here open until chromium is actually fixed and then closing it.
Resolved upstream - their sandbox allows the creation of the necessary files now (at least in testing releases).
*** Bug 82793 has been marked as a duplicate of this bug. ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.