You are not logged in.

#1 2017-04-16 06:05:37

thediamondgames
Member
Registered: 2015-06-26
Posts: 26

Chromium Acceleration on Nvidia

Hello, there are some problems with Chromium not being able to have GPU acceleration. I set "Override software rendering" in flags. Also launched it with "--disable-gpu-sandbox --enable-native-gpu-memory-buffers" flags.

In "chrome://gpu/" it says that WebGL(2) are unavailable along with "Multiple Raster Threads: Unavailable".

Here is the problems tab

GPU process was unable to boot: GPU process launch failed.
Disabled Features: all
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Decode and encode before generateMipmap for srgb format textures on os except macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers

What really sticks to me is the driver information part

GL_VENDOR	nouveau
GL_RENDERER	Gallium 0.4 on NV120
GL_VERSION	4.1 (Core Profile) Mesa 13.0.1

which is a complete nonsense. I have libglvnd installed.

this is what glxinfo | grep OpenGL returns

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 980 Ti/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 378.13
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 378.13
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 378.13
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Log messages

[10662:10662:0416/084704.781707:ERROR:gl_context_glx.cc(187)] : Failed to create GL context with glXCreateContextAttribsARB.
[10662:10662:0416/084704.781761:ERROR:gpu_info_collector.cc(50)] : gl::init::CreateGLContext failed
[10662:10662:0416/084704.781771:ERROR:gpu_info_collector.cc(118)] : Could not create context for info collection.
[10662:10662:0416/084704.781791:ERROR:gpu_init.cc(86)] : gpu::CollectGraphicsInfo failed (fatal).
GpuProcessHostUIShim: The GPU process exited with code 1024.

I am running a custom kernel "4.9.20.r201703310823-1-grsec" with some grsec flags disabled.

pacman -Q | grep nvidia

lib32-nvidia-utils 378.13-3
lib32-opencl-nvidia 378.13-3
nvidia-grsec 378.13-9
nvidia-settings 378.13-1
nvidia-utils 378.13-6
opencl-nvidia 378.13-6

pacman -Q | grep mesa

lib32-mesa 17.0.3-1
lib32-mesa-demos 8.3.0-2
mesa 17.0.3-1
mesa-demos 8.3.0-2

Anyone have any ideas what can be wrong?

Offline

#2 2017-04-16 19:05:49

Ropid
Member
Registered: 2015-03-09
Posts: 1,069

Re: Chromium Acceleration on Nvidia

Things look very different here for me. It uses some hardware acceleration by default and it detects that it's nvidia and does not see it as nouveau.

I just installed Chromium to compare with what I normally see in Chrome. It looks like this right now in Chromium where I do not have configured anything:

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Hardware accelerated
VPx Video Decode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Chrome version	Chrome/57.0.2987.133
Operating system	Linux 4.10.10-1-ck-ivybridge
Software rendering list version	12.13
Driver bug list version	9.29
ANGLE commit id	unknown hash
2D graphics backend	Skia/57 ae9cc5d3588d52f4b371b55845704b25d88cf06d
Command Line Args	--flag-switches-begin --flag-switches-end

GL_VENDOR	NVIDIA Corporation
GL_RENDERER	GeForce GTX 680/PCIe/SSE2
GL_VERSION	4.5.0 NVIDIA 381.09

I use the linux-ck kernel, and version 381.09 nvidia drivers. Those nvidia drivers are the PKGBUILDs used by the normal Arch packages edited to download this different driver version.

I would try to see if maybe linux-grsec is causing this for you because of some security feature. You could compare results with the 'linux' package.

EDIT: Another thing I just remembered, maybe try setting "__GL_THREADED_OPTIMIZATIONS=0" in the environment. There was something about the 387.13 drivers having it enabled by default as the very first nvidia driver version to do that. This change was taken back with the 381.09 drivers because people reported issues.

Last edited by Ropid (2017-04-16 19:09:28)

Offline

Board footer

Powered by FluxBB