New issue
Advanced search Search tips

Issue 749922 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Wrong primary GPU determined on dual GPU systems with QEMU/KVM guest

Reported by hoffer.j...@gmail.com, Jul 28 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36

Example URL:
chrome://gpu

Steps to reproduce the problem:
1. On a dual gpu desktop (ex integrated + dedicated). 
2. Passthrough/attatch dedicated card to QEMU/KVM guest.
3. Launch chromium on the host OS and go to chrome://gpu

Since chrome picks the wrong device, it enables and disables GPU options and workarounds incorrectly.

What is the expected behavior?
Since the OS's opengl config will decide what GPU to use anyway, chromium should get the GPU's manufacture and model from openGL:

const GLubyte *renderer = glGetString( GL_RENDERER );
const GLubyte *vendor = glGetString( GL_VENDOR );
const GLubyte *version = glGetString( GL_VERSION );
const GLubyte *glslVersion = glGetString( GL_SHADING_LANGUAGE_VERSION );

The particular code related to enumerating GPUs from PCI devices...

https://cs.chromium.org/chromium/src/third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp?l=87&rcl=fe48632f2f47f9513c0557c331a8f346ed92c82d

and determining the primary GPU:

https://cs.chromium.org/chromium/src/third_party/angle/src/gpu_info_util/SystemInfo.cpp?rcl=fe48632f2f47f9513c0557c331a8f346ed92c82d&l=134

What went wrong?
Chrome picks wrong primary GPU device.

Did this work before? No 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes

Chrome version: 60.0.3112.78  Channel: stable
OS Version: 4.11.9
Flash Version: Shockwave Flash 26.0 r0

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
CheckerImaging: Disabled
Flash: Software only, hardware acceleration unavailable
Flash Stage3D: Software only, hardware acceleration unavailable
Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable
Compositing: Software only, hardware acceleration unavailable
Multiple Raster Threads: Unavailable
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
WebGL: Unavailable
WebGL2: Unavailable
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_discard_framebuffer
disable_framebuffer_cmaa
force_cube_complete
init_gl_position_in_vertex_shader
init_vertex_attributes
pack_parameters_workaround_with_pack_buffer
scalarize_vec_and_mat_constructor_args
unpack_alignment_workaround_with_unpack_buffer
unpack_overlapping_rows_separately_unpack_buffer
use_virtualized_gl_contexts
Problems Detected
GPU process was unable to boot: GPU access is disabled in chrome://settings.
Disabled Features: all
Accelerated video encode is unavailable on Linux
Disabled Features: accelerated_video_encode
Program link fails in NVIDIA Linux if gl_Position is not set: 286468
Applied Workarounds: init_gl_position_in_vertex_shader
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Linux NVIDIA drivers don't have the correct defaults for vertex attributes: 351528
Applied Workarounds: init_vertex_attributes
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
MakeCurrent is slow on Linux with NVIDIA drivers: 449150, 514510
Applied Workarounds: use_virtualized_gl_contexts
NVIDIA fails glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
Framebuffer discarding can hurt performance on non-tilers: 570897
Applied Workarounds: disable_discard_framebuffer
Unpacking overlapping rows from unpack buffers is unstable on NVIDIA GL driver: 596774
Applied Workarounds: unpack_overlapping_rows_separately_unpack_buffer
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
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
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging

Version Information
Data exported	7/27/2017, 7:41:44 PM
Chrome version	Chrome/60.0.3112.78
Operating system	Linux 4.11.9-1-ARCH
Software rendering list version	13.8
Driver bug list version	10.93
ANGLE commit id	unknown hash
2D graphics backend	Skia/60 a20ae70af542208b06c21413f13c4c86269c0b84-
Command Line	/usr/lib/chromium/chromium --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=26.0.0.137 --flag-switches-begin --enable-gpu-rasterization --enable-quic --load-media-router-component-extension=1 --flag-switches-end
Driver Information
Initialization time	0
In-process GPU	true
Passthrough Command Decoder	false
Supports overlays	false
Sandboxed	false
GPU0	VENDOR = 0x10de, DEVICE= 0x1187 *ACTIVE*
GPU1	VENDOR = 0x8086, DEVICE= 0x1912
Optimus	true
Optimus	true
AMD switchable	false
Driver vendor	NVIDIA
Driver version	375.26
Driver date	
Pixel shader version	
Vertex shader version	
Max. MSAA samples	
Machine model name	
Machine model version	
GL_VENDOR	NVIDIA Corporation
GL_RENDERER	GeForce GTX 760/PCIe/SSE2
GL_VERSION	4.5.0 NVIDIA 375.26
GL_EXTENSIONS	
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Window manager	i3
XDG_CURRENT_DESKTOP	i3
GDMSESSION	i3
Compositing manager	No
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	2
System visual ID	0
RGBA visual ID	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Log Messages
GpuProcessHostUIShim: The GPU process exited with code 256.
GpuProcessHostUIShim: The GPU process exited with code 256.
 

Comment 1 by hdodda@chromium.org, Jul 28 2017

Labels: TE-Hardware-Dependency
Status: WontFix (was: Unconfirmed)
this is not media bug. this is not even a chrome bug. please open bug in buganizer
I guess it is actually a bug in ANGLE. I'll report the bug there.

Sign in to add a comment