New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 785688 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Hardware acceleration disabled on non-blacklisted device (ACPI string mismatch)

Reported by jonathan...@gmail.com, Nov 16 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299

Example URL:
chrome://gpu

Steps to reproduce the problem:
1. Start Chrome on my device
2. Navigate to chrome://gpu
3. Note that hardware acceleration is disabled due to software_rendering_list ID 12
4. Open DXDiag, note that Driver Date is in 2017

What is the expected behavior?
Hardware acceleration is enabled.

What went wrong?
On my specific device, in CollectDriverInfoD3D, device_id (ACPI\VEN_xxxx&DEV_dddd&SUBSYS_aaannnnn) does not match any new_deviced_id values returned by CM_Get_Device_ID (only ACPI\xxxxdddd\0). This leaves primary_device==-1, the gpu_info fields are thus not filled in, and the empty device_date is interpreted as too old (thus blacklist ID 12).

Did this work before? No 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes

Chrome version: 62.0.3202.75  Channel: stable
OS Version: 10.0
Flash Version: 27.0.0.187

Contents of chrome://gpu: 
Note: To properly save this page, select the "Webpage, Complete" option in the Save File dialog.
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: Enabled
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: Hardware accelerated but at reduced performance
WebGL2: Unavailable
Problems Detected
Drivers older than 2009-01 on Windows are possibly unreliable: 72979, 89802, 315205
Disabled Features: flash_stage3d, gpu_compositing, panel_fitting, flash3d, gpu_rasterization, accelerated_2d_canvas, accelerated_video_decode, webgl2, accelerated_webgl, flash_stage3d_baseline, accelerated_video_encode
GPU rasterization should only be enabled on NVIDIA and Intel DX11+, and AMD RX-R2 GPUs for now.: 643850
Disabled Features: gpu_rasterization
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	11/15/2017, 10:10:11 PM
Chrome version	Chrome/62.0.3202.75
Operating system	Windows NT 10.0.16299
Software rendering list version	13.13
Driver bug list version	10.30
ANGLE commit id	e8ef2bc4bd01
2D graphics backend	Skia/62 e74b41c6c84638d5a9ee6d254a715bcd9e17c603-
Command Line	"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	0
In-process GPU	true
Passthrough Command Decoder	false
Supports overlays	false
Sandboxed	false
GPU0	VENDOR = 0x0000, DEVICE= 0x0000
GPU1	VENDOR = 0x0000, DEVICE= 0x0000
Optimus	false
Optimus	false
AMD switchable	false
Desktop compositing	Aero Glass
Diagonal Monitor Size of \\.\DISPLAY1	13.2"
Driver vendor	Google Inc.
Driver version	3.3.0.2
Driver date	2017/04/07
Pixel shader version	3.0
Vertex shader version	3.0
Max. MSAA samples	4
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	Google SwiftShader
GL_VERSION	OpenGL ES 2.0 SwiftShader
GL_EXTENSIONS	
Disabled Extensions	
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	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
R_16	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
Diagnostics
... loading ...

For triage, might I suggest Internals>GPU>Internals since the bug is most likely in src/gpu/config/gpu_info_collector_win.cc?

I recommend adding a special case for drivers.size()==1 && primary_device==std::numeric_limits<size_t>::max() that assumes whatever GPU was found is primary. If anything, ID 12 is decidedly unhelpful and a better message could be returned. I would be happy to share more privately.

Sadly, it'll be at least a week before I can get the dev environment set up and a patch submitted.
 
Passing --gpu-testing-driver-date=9-22-2017 to chrome.exe enables hardware acceleration.
Cc: kbr@chromium.org dalecur...@chromium.org
Components: -Internals>Media Internals>GPU>Internals
Thanks for the interesting report and debugging!

cc:kbr
This looks like it might be a sort of type confusion with the heavily overloaded idea of a device ID, not "ACPI string", so the bug title is somewhat wrong. I'll update this thread if I find out more.

Comment 4 by kbr@chromium.org, Nov 16 2017

Cc: zmo@chromium.org sunn...@chromium.org
This looks like the preliminary GPU info collected on Windows is using an incorrect algorithm.

zmo@, sunnyps@, could one of you work with this customer to try to get a dump of the PCI IDs on the system and see if there's a better way for Chrome to be doing its bus scan?

Comment 5 by fsamuel@google.com, Nov 17 2017

Owner: zmo@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 6 Deleted

Sign in to add a comment